docs: document iconify icons and object icon files

This commit is contained in:
2026-08-08 12:32:13 +08:00
parent 4f37dabbe7
commit fad784c03f
+13 -2
View File
@@ -80,7 +80,10 @@ tts-workshop/
│ ├── components/ │ ├── components/
│ │ ├── SearchResults.tsx │ │ ├── SearchResults.tsx
│ │ ├── ObjectTree.tsx # containment-tree sidebar │ │ ├── ObjectTree.tsx # containment-tree sidebar
│ │ ── viewers.tsx # viewer registry + default viewer │ │ ── viewers.tsx # viewer registry + default viewer
│ │ ├── objectIcons.tsx # class → icon mapping
│ │ ├── objectIconsData.ts # generated icon subset (do not edit)
│ │ └── objectIcons.test.ts
│ └── stores/ │ └── stores/
│ ├── searchStore.ts # zustand │ ├── searchStore.ts # zustand
│ └── modStore.ts # zustand │ └── modStore.ts # zustand
@@ -204,10 +207,16 @@ proxy API and `packages/extract` directly for analysis.
inspector pane for the selected object, and links to the raw save file. inspector pane for the selected object, and links to the raw save file.
- `components/SearchResults.tsx` — result grid + pagination. - `components/SearchResults.tsx` — result grid + pagination.
- `components/ObjectTree.tsx` — recursive tree sidebar; each entry shows a - `components/ObjectTree.tsx` — recursive tree sidebar; each entry shows a
class tag + display label, indented by depth. Clicking selects an object. class icon (hover for the class name) + display label, indented by depth.
Clicking selects an object.
- `components/viewers.tsx` — viewer registry (`registerViewer` / - `components/viewers.tsx` — viewer registry (`registerViewer` /
`resolveViewer`) plus a `DefaultViewer` that renders an object's fields; `resolveViewer`) plus a `DefaultViewer` that renders an object's fields;
custom per-class viewers can be registered later. custom per-class viewers can be registered later.
- `components/objectIcons.tsx` — maps TTS object classes to one or more MDI
icons (`iconsForObject`); unknown classes fall back to a help icon.
- `components/objectIconsData.ts` — generated by
`scripts/generate-object-icons.mjs`; registers only the used MDI icons with
Iconify's offline storage so the full set isn't bundled.
- `stores/searchStore.ts` / `stores/modStore.ts` — Zustand stores for search - `stores/searchStore.ts` / `stores/modStore.ts` — Zustand stores for search
and mod state. and mod state.
- `vite.config.ts` — dev proxy for `/search`, `/items`, `/health` → - `vite.config.ts` — dev proxy for `/search`, `/items`, `/health` →
@@ -248,6 +257,8 @@ packages/extract → flatten objects / extract refs / download assets
- `cheerio` — Workshop browse page scraping (backend only). - `cheerio` — Workshop browse page scraping (backend only).
- `zod` — validation. - `zod` — validation.
- `react`, `react-dom`, `react-router-dom`, `zustand` — frontend. - `react`, `react-dom`, `react-router-dom`, `zustand` — frontend.
- `@iconify/react`, `@iconify-json/mdi`, `@iconify/utils` — iconify icons for
object class tags (subset bundled via `scripts/generate-object-icons.mjs`).
- `vite`, `@vitejs/plugin-react`, `tailwindcss`, `@tailwindcss/vite` — frontend tooling. - `vite`, `@vitejs/plugin-react`, `tailwindcss`, `@tailwindcss/vite` — frontend tooling.
- `tsx`, `typescript`, `eslint`, `prettier` — tooling. - `tsx`, `typescript`, `eslint`, `prettier` — tooling.