isle.pizza/src/lib
Christian Semmler 3116ac1c7f
Some checks failed
Build / build (push) Has been cancelled
Buildings editor (#26)
* Building editor

Add a Buildings tab to the Save Game Editor that lets users browse
all 16 buildings, preview them in 3D, and customize their properties
(sound, move, mood, variant) by clicking, matching the original game
behavior per character.

- Parse 16 buildings + nextVariant from save files instead of skipping
- Add serializer methods to patch building fields in-place
- Create BuildingRenderer (extends AnimatedRenderer) for 3D preview
  with click animations from SNDANIM.SI
- Create BuildingEditor component with per-character click behavior
  (Pepper: variants, Mama: sounds, Papa: moves, Laura: moods)
- Extract 18 building animations and 2 building sounds into asset bundle
- Fix centerAndScaleModel to account for scale in position offset

* Add Building Editor to February 2026 changelog

* DRY up renderer hierarchy: extract shared logic into base classes

Move duplicated animation tree utilities (findAnimatedNode,
evaluateNodeChain, findNodePath, evaluateLocalTransform),
click animation (queueClickAnimation, playQueuedAnimation,
buildRotationTracks), and raycast hit testing (getClickedMesh)
from PlantRenderer and BuildingRenderer into AnimatedRenderer.

Add loadTextures() and createMeshMaterial() helpers to BaseRenderer,
replacing identical texture-loading loops and material-creation code
across all four renderers.

PlantRenderer: 279 → 73 lines (-74%)
BuildingRenderer: 245 → 57 lines (-77%)
2026-02-14 19:35:52 +01:00
..
config Organize public assets (#22) 2026-02-08 00:01:45 +01:00
save-editor Buildings editor (#26) 2026-02-14 19:35:52 +01:00
Accordion.svelte Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
BackButton.svelte Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
CanvasWrapper.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00
Carousel.svelte Plant editor (#25) 2026-02-14 18:22:28 +01:00
ConfigToast.svelte Add save game editor (#12) 2026-02-01 00:28:16 +01:00
ConfigurePage.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00
Controls.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00
DebugPanel.svelte Add complete animation list and fix select styling in debug panel 2026-01-11 19:28:45 -07:00
EditorTooltip.svelte Actor editor (#24) 2026-02-14 02:29:55 +01:00
FreeStuffPage.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00
GoodbyePopup.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00
ImageButton.svelte Test CI 2026-01-11 19:51:08 -07:00
NavButton.svelte Feature/vehicle part editor (#14) 2026-02-02 02:08:12 +01:00
ReadMePage.svelte Buildings editor (#26) 2026-02-14 19:35:52 +01:00
ResetButton.svelte Feature/vehicle part editor (#14) 2026-02-02 02:08:12 +01:00
SaveEditorPage.svelte Buildings editor (#26) 2026-02-14 19:35:52 +01:00
TopContent.svelte Improve Lighthouse LCP and accessibility scores (#23) 2026-02-08 00:43:07 +01:00
UpdatePopup.svelte Organize public assets (#22) 2026-02-08 00:01:45 +01:00