feat(toolkit): add structured media authoring
ci/woodpecker/push/woodpecker Pipeline was successful
Lint and Build Checks / Lint, Test, and Build (push) Failing after 368h6m42s

This commit is contained in:
2026-06-24 11:29:32 -05:00
parent 52fb52a617
commit 47567589e4
56 changed files with 4222 additions and 686 deletions
+11 -6
View File
@@ -57,10 +57,12 @@ App.tsx
- `createPersistOptions` — shared persist middleware wiring
**Data content** lives under `src/data/`:
- `changelog.json` + `changelog.ts` — app Change Log entries, sorted newest-first in the UI
- `credits.json` + `credits.ts` — Toolkit Credits fallback/source content
- `legal.json` — policy content
- `toolkit/*.json` — empty array placeholders for future Toolkit resources until schemas stabilize
- `toolkit/changelog.json` — app Change Log entries, sorted newest-first in the UI
- `toolkit/credits.json` — Toolkit Credits fallback/source content
- `toolkit/legal.json` — policy content
- `toolkit/images.json` and `toolkit/audio.json` — Toolkit media records with upload-backed `fileName` references
- `toolkit/*.json` + `toolkit/index.ts` — seed data for gameplay/Toolkit resources and app content
- `types/index.ts` — shared interfaces for gameplay data, Toolkit resources, Changelog, Credits, Legal, and app content
**Settings** constants/helpers: `src/settings/gameSettings.ts`
Resolution presets include phone sizes plus a `browser` (unbounded) mode. Toolkit menu items are only shown when resolution is `browser`.
@@ -174,7 +176,8 @@ npm run test # Jest
Canonical list lives in `manifest.llm.json` → `knownGaps`. Current highlights:
- `docs/` is still a placeholder stub
- `wiki/` currently stores reference images and loose wiki/design assets
- Toolkit placeholder JSON files are empty arrays until schemas are requested
- Toolkit JSON files now contain starter data based on the current wiki schemas; Credits, Changelog, and Legal live under `src/data/toolkit/`
- Toolkit media uploads are written by the local socket server under `src/assets/images/uploads/` and `src/assets/music/uploads/`
## Notes for LLMs
- **Read `manifest.llm.json` for task routing** — use `taskRoutes` to pick the narrowest file set
@@ -184,6 +187,8 @@ Canonical list lives in `manifest.llm.json` → `knownGaps`. Current highlights:
- **Metro** bundles mobile; **Vite** bundles web/Electron renderer — not interchangeable
- **Navigation is Zustand-based** — do not add React Navigation unless explicitly requested
- **Persistence is platform-split** — extend `persistStorage.ts` / `persistStorage.web.ts`, not stores directly
- `src/data/AGENTS.md` contains extra rules for JSON content and Toolkit placeholders
- `src/data/AGENTS.md` contains extra rules for JSON content and Toolkit seed data
- Data consumers should import from `src/data/index.ts`; keep `src/data/types/` aligned with JSON schema changes
- Before committing or pushing meaningful deliverables, update `src/data/toolkit/changelog.json`; Husky bumps build metadata but does not write release notes
- iOS Pods and `node_modules/` are not committed; run `pod install` after pulling native dep changes
- `dist/` build artifacts are gitignored