> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acondawayuno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Portfolio Assets and Content Cards

> Edit the 12 built-in chapters, add interactive custom chapters, and compose text, media, and links cards with bilingual content.

The Living Index 默认提供 12 个内置章节。它们的 TypeScript 数据是模板默认值，Content Studio 把你的个人内容作为 version 1 JSON 覆盖保存。

The Living Index starts with 12 built-in chapters. Their TypeScript data is the template default; Content Studio saves your personal content as version-one JSON overrides.

## Default built-in chapters / 默认内置章节

| ID            | Object                          |
| ------------- | ------------------------------- |
| `music`       | Gramophone and records / 留声机与唱片 |
| `fitness`     | Training equipment / 健身器材       |
| `reading`     | Bookshelf / 书架                  |
| `research`    | Research desk / 研究桌             |
| `making`      | Workbench / 原型工作台               |
| `photography` | Camera / 相机                     |
| `ritual`      | Tea table / 茶桌                  |
| `growth`      | Plant / 植物                      |
| `about`       | Mirror / 镜子                     |
| `travel`      | Postcard wall / 明信片墙            |
| `contact`     | Telephone / 电话                  |
| `future`      | Door / 门                        |

这些章节可以停用、重新激活或只替换视觉。停用不会删除代码定义、内容、placement 或 replacement 配置。

You can disable, reactivate, or visually replace these chapters. Disabling does not delete the code definition, content, placement, or replacement configuration.

## Edit through Content Studio / 通过 Studio 编辑

1. Open local `/?studio=1`.
2. Select **Digital assets**.
3. Choose Chinese or English.
4. Select a built-in or interactive custom asset.
5. Edit overview fields, metrics, and cards.
6. Click **Save to project**.

共享的 scene transform 与 behavior 不随语言切换。互动内容存放在对应语言容器中。

Shared scene transforms and behavior do not change with locale. Interactive content lives in the matching language container.

## Chapter fields / 章节字段

| Field          | Purpose                    |
| -------------- | -------------------------- |
| `objectLabel`  | Short room/index label     |
| `sectionTitle` | Detail-page heading        |
| `trait`        | Defining statement         |
| `teaser`       | Short preview              |
| `intro`        | Main chapter introduction  |
| `status`       | Current state              |
| `lastUpdated`  | Displayed update label     |
| `metrics`      | Up to 12 value/label pairs |
| `entries`      | Up to 24 content cards     |
| `note`         | Closing note               |

## Content cards / 内容卡片

Every built-in chapter and interactive custom asset uses the same card model:

```ts theme={null}
interface PortfolioEntry {
  id?: string;
  kind?: "text" | "media" | "links";
  width?: "standard" | "wide" | "full";
  eyebrow: string;
  title: string;
  body: string;
  meta: string;
  imageSrc?: string;
  imageAlt?: string;
  links?: Array<{
    label: string;
    url: string;
  }>;
}
```

<CardGroup cols={3}>
  <Card title="Text" icon="align-left">
    适合项目说明、经历、观点和短篇叙述。

    Best for project notes, experience, ideas, and short narratives.
  </Card>

  <Card title="Media" icon="image">
    在文字旁显示 Studio 上传的图片与 alt。

    Adds a Studio-uploaded image and alt text to the editorial copy.
  </Card>

  <Card title="Links" icon="link">
    每张卡最多包含四个 `http`、`https` 或 `mailto` 按钮。

    Includes up to four `http`, `https`, or `mailto` buttons.
  </Card>
</CardGroup>

`width` controls layout emphasis:

* `standard`: normal grid card;
* `wide`: wider editorial card;
* `full`: full-row feature.

## Mirror / About

The `about` chapter uses:

* `intro` as the personal bio;
* one shared portrait source;
* localized portrait alt text;
* up to 12 social links.

Supported social platforms include GitHub, LinkedIn, Instagram, X, YouTube, Bilibili, Weibo, Website, and Email. The page renders the corresponding icon automatically.

镜子页自动排版简介、个人照片和带平台 Logo 的链接按钮。

## Camera / Photography

Photography entries use stable IDs shared between Chinese and English. The ID connects:

```text theme={null}
localized entry
  ↕ same id
media.photography.sources[id]
  ↕
media.photography.spotlightId
```

Every photo remains in the gallery. Clicking one opens an instant-photo dialog with its description. Spotlight places one photo first and gives it a larger visual plus dedicated copy column.

所有照片都会保留在画廊。Spotlight 只是突出其中一张，而不是替代其他照片。

## Interactive custom assets / 自定义交互资产

An interactive custom asset stores localized content in:

```text theme={null}
scene.customAssets[].content.zh
scene.customAssets[].content.en
```

It receives a semantic-index entry, deep link, detail page, hover/click interaction, and derived camera focus. Decorative assets intentionally receive none of these.

Interactive 自定义资产会获得索引、深链接、详情页和键盘路径；decorative 资产不会。

## Direct TypeScript editing / 直接编辑 TypeScript

Use `app/portfolio-data.ts` and `app/portfolio-data-en.ts` when you are changing reusable framework defaults. Use Content Studio for personal overrides.

修改框架模板默认值时编辑 TypeScript；个人内容优先使用 Content Studio。

<Warning>
  JSON export/import does not contain uploaded image or GLB binaries. Import locally, restore referenced files, then use **Save to project** so the generated scene snapshot stays synchronized.

  JSON 导入/导出不包含图片或 GLB。迁移后必须在本地再次保存，保持生成场景源码同步。
</Warning>
