Commit Graph
39 Commits
Author SHA1 Message Date
ed6ed3f018 fix(editor): release scene singletons on Editor unmount (#214)
The spatial-grid manager, scene-store subscriptions, and the viewer
outliner's Object3D arrays are module-level singletons that previously
lived for the whole page lifetime. When an app unmounted the Editor
(e.g. navigating away from the 3D editor and back in an SPA host) they
retained references to the disposed Three.js scene graph, which caused
the app to freeze on re-entry as the stale data was replayed against a
fresh scene.

- initSpatialGridSync now returns the unsubscribe handle from its
  scene-store subscription so callers can detach it.
- initializeEditorRuntime becomes reversible: it wires up the spatial
  grid, space detection and SFX bus on mount and returns a teardown
  closure that detaches both store subscriptions, clears the spatial
  grid manager, and truncates the viewer outliner's selected/hovered
  arrays in place.
- The Editor component's runtime-init effect now returns that teardown,
  so the singletons are reset cleanly every time the Editor unmounts.
- initSFXBus is now idempotent via an internal guard so repeated
  Editor mounts do not stack duplicate mitt listeners.

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-05 23:37:30 -04:00
PascalandGitHub 0bd0cab533 feat: stair system, scene graph utilities, read-only mode, viewer state improvements (#210)
Stair system (full stack):
- New StairNode + StairSegmentNode schemas with flights, landings, L/U-shapes
- StairSystem: geometry generation with throttled per-frame updates
- Stair tool, edit system, panels, tree node, and renderers
- Event bus types, scene registry, and command palette entries

Scene graph utilities:
- cloneLevelSubtree: deep-clone a level with remapped IDs
- forkSceneGraph: clone + strip scan/guide nodes for project forking

Core improvements:
- Read-only mode on scene store (blocks create/update/delete when locked)
- readOnly guards on node-actions and collection actions
- Upload store for scan/guide file upload handling

Viewer state:
- previewSelectedIds for box-select live preview
- hoverHighlightMode (default/delete) for delete-mode hover outline
2026-04-05 01:20:43 -04:00
1d28e4208f sync: update core and viewer from monorepo (#143)
Major changes:
- Roof system rewrite with roof-segment support
- Scene store refactor
- Spatial grid improvements
- Item light system
- Post-processing and selection manager updates
- Perf monitor component

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 23:18:30 -04:00
wass08 f2501be2bf remove community 2026-03-13 09:07:46 +01:00
wass08 27e4afb757 draft custom door 2026-02-25 13:28:42 +09:00
wass08 20f5f7ab4a fix wall elevation with slab holes 2026-02-24 10:27:51 +09:00
wass08 d15f601107 item scale 2026-02-23 10:59:42 +09:00
wass08 16ba5bf9c6 fiix adjacent walls pushed up 2026-02-23 08:22:06 +09:00
wass08 dd5f63df64 wall tool draft 2026-02-17 16:22:45 +09:00
wass08 5d17fecf94 fix holes null 2026-02-16 12:19:58 +09:00
wass08 052efea2cb polished placements 2026-02-16 09:12:04 +09:00
wass08 13070a5630 ceiling holes 2026-02-16 08:59:28 +09:00
wass08 0797a828f8 fix build issues 2026-02-12 10:56:56 +09:00
wass08 cfa7b8bfc1 handle holes in spatial grid manager 2026-02-12 10:46:07 +09:00
wass08 39f9f595d8 scene starting with site and not with building anymore 2026-02-05 14:42:46 +09:00
wass08 5392d66bd6 handle better slab polygon detection 2026-02-02 11:35:44 +09:00
wass08 72a0e3952a slab panel 2026-02-02 11:17:47 +09:00
wass08 07dee4aefc rename items 2026-01-29 15:37:51 +09:00
wass08 9c185c4d33 fix slab detection for wall 2026-01-29 15:08:57 +09:00
wass08 f1a61350c7 roof 2026-01-29 12:52:35 +09:00
wass08 c94f661bf9 scans and ref image 2026-01-29 09:38:24 +09:00
wass08 e27028a29a working ceiling items 2026-01-28 06:55:56 +09:00
wass08 1a5bd11009 slab outset + wall pushing up 2026-01-27 19:33:30 +09:00
wass08 408fd8b87c slab polygons elevation 2026-01-27 19:20:01 +09:00
wass08 11aba2af36 draft item-system + elevation 2026-01-27 19:05:08 +09:00
wass08 e3e3602d91 ceiling 2026-01-27 09:25:40 +09:00
wass08 e49ba32d18 attach to wall side 2026-01-23 12:33:50 +09:00
wass08 aaadec8add fix default spatial grid 2026-01-23 11:31:14 +09:00
wass08 36b7117173 zone rendering 2026-01-22 11:44:04 +09:00
wass08 5de0818633 biome 2026-01-21 10:03:29 +09:00
wass08 980dd4c3dc level items 2026-01-20 08:39:14 +09:00
wass08 f59e12193d wall item checks 2026-01-20 07:56:40 +09:00
wass08 f3456aed42 can place on wall 2026-01-19 09:32:46 +09:00
wass08 69148705c6 check wall + clean attach/detach 2026-01-19 08:29:43 +09:00
wass08 159b61d22a showing what is placeable or not 2026-01-18 11:09:05 +09:00
wass08 35a479df15 can place draft 2026-01-18 11:03:48 +09:00
wass08 8bf933ed36 draft spatial grid 2026-01-18 10:54:02 +09:00
wass08 1b954d3416 events handlers 2026-01-16 11:42:10 +09:00
wass08 0c07c482a5 registry / systems / renderer 2026-01-15 10:43:32 +09:00