Commit Graph

10 Commits

Author SHA1 Message Date
medievalshell ae9bc8bfce feat(utils): split-aware gamedata loader with tiered merge
Introduces loadGamedata(url, options?) and mergeGamedata(a, b) in
@nitrots/utils. The loader transparently accepts:

- a single-file URL (legacy) -> parsed as before
- a directory URL ending with '/' -> tier-merged from core/custom/seasonal,
  each tier driven by its own manifest.json5

Merge rules:

- arrays of objects sharing an id key (id, classname, name): merged by id,
  later layers overriding earlier ones
- arrays without an id key: concatenated
- plain objects: recursive merge per key
- anything else: later value wins

All gamedata consumers (FurnitureDataLoader, ProductDataLoader,
EffectAssetDownloadManager, AvatarRenderManager actions+figuredata,
LocalizationManager) are migrated to loadGamedata. Behaviour is unchanged
for single-file URLs, so existing deployments need no config changes;
opt-in to split mode by appending '/' to the URL once the layout is in
place.

README updated with the directory layout, merge table and programmatic
usage example. The companion CLI splitter that produces the core/ tier
from legacy files lives in the Nitro V3 client repo.
2026-05-18 21:19:54 +02:00
duckietm 31df26bd1b 🆕 Added support for JSON5 2026-05-18 16:14:38 +02:00
Lorenzune 7bf552824f Sync renderer safety push 2026-04-21 08:57:35 +02:00
duckietm 5b139dfef8 🆙 Update better error handeling 2026-03-19 09:40:49 +01:00
DuckieTM d864fe3018 🆙 Update Deps. + WiP 2025-03-15 14:54:10 +01:00
DuckieTM 70b1d232d5 🆙 Update dependencies 2025-03-09 10:39:43 +01:00
duckietm 14bf0fdcbd 🆙 Fix firework memory leak and update pixi.js 2024-09-13 08:04:35 +02:00
duckietm bd09ea8b25 🆙 added latest changes 2024-07-04 15:03:26 +02:00
duckietm d5a3a05c40 Updated the renderer V2 2024-04-25 11:35:50 +02:00
duckietm b3134ce50b Move to Renderer V2 2024-04-03 09:27:56 +02:00