Commit Graph
64 Commits
Author SHA1 Message Date
hypercross 4f37dabbe7 feat(web): add iconify tag icons for object classes
Replace the text class tag in the tree and inspector with one or more
MDI icons (hover shows the class name). Bundle only the used icons via
a generator script instead of the full set.
2026-08-08 12:32:11 +08:00
hypercross 3b66e82b67 feat(web): make object tree collapsible and collapsed by default 2026-08-08 12:27:23 +08:00
hypercross f126bf7993 fix(web): dedupe tree keys and guard against circular JSON
Key tree nodes by their index path instead of GUID, since TTS saves can
contain duplicate GUIDs. Skip the Parent back-reference in the default
viewer and stringify with a circular-reference guard.
2026-08-08 12:23:48 +08:00
hypercross 08c767f399 docs: update architecture and plan for tree inspector UI
Record the viewer-registry decision and refresh the extract/web
descriptions and repo layout.
2026-08-08 12:19:47 +08:00
hypercross a8e84c8b9d feat(web): replace flat lists with tree sidebar and object inspector
Add a containment-tree sidebar with class tags and display labels, plus
an inspector pane backed by a viewer registry with a default viewer.
Custom per-class viewers can be registered later.
2026-08-08 12:19:43 +08:00
hypercross d8a698986a feat(extract): build containment tree and traverse all containers
Add buildTree to mirror how TTS nests objects, with a display label
(Nickname or class Name). Generalize traverseMod to descend into any
object with ContainedObjects, not just bags, and add Nickname to
TTSObject.
2026-08-08 12:19:39 +08:00
hypercross e2d87df1a4 chore: add script to dump TTS saves as JSON
Resolves the authoritative file_url via the Steam Web API, validates
the download is a BSON document, and writes the deserialized save to
scripts/dumps/<id>.json. Dumps are gitignored.
2026-08-08 11:59:43 +08:00
hypercross f7a6eb6ee1 feat: allow loading mods without a Steam API key
Add fetchModFromUrl/fetchModFileFromUrl and accept a fileUrl query param on /items routes so the frontend can download saves directly from a search result's file_url, with no key required.
2026-08-08 11:32:57 +08:00
hypercross 4ffe858c36 fix: make STEAM_API_KEY optional so the proxy starts without it
The proxy now boots without a key; /items routes still return 500 when a key is required but missing.
2026-08-08 11:28:58 +08:00
hypercross 7c812a109c feat: add React frontend with search and mod pages
Add apps/web (Vite + React Router + Tailwind v4 + Zustand) with a search page and a mod page that analyzes saves via @tts/extract. Document the frontend in the README and docs.
2026-08-08 11:22:09 +08:00
hypercross b32cb53c67 test: add proxy route and env tests
Cover health, search, and items routes via Hono's app.request, plus env validation.
2026-08-08 11:15:42 +08:00
hypercross 92f11db415 test: add vitest unit tests across packages
Cover shared zod schemas, extract traversal/refs/downloads, and tts filename/error handling. Document the test setup in the README and docs.
2026-08-08 11:13:14 +08:00
hypercross 1de559c321 feat: scaffold workspace with search, fetch, and extract packages 2026-08-08 10:43:00 +08:00
hypercross 405602a943 docs: add architecture and decisions documentation 2026-08-08 10:26:37 +08:00