Commit Graph
48 Commits
Author SHA1 Message Date
Sudhir YadavandGitHub 9ff657419c Merge branch 'main' into feat/upgrade-and-bug-fix 2026-04-29 10:49:11 +05:30
sudhir bead8796d2 Add spawn node support and refine stair and door cutouts 2026-04-28 14:26:24 +05:30
sudhir a64d6b86cc Fix floorplan preview update loop 2026-04-28 09:52:10 +05:30
sudhir e4f42e0ee5 Use bbox anchors for item dimension measurements 2026-04-27 10:49:20 +05:30
sudhir 59779c5bf2 Use mesh bounds for item placement and floorplan 2026-04-27 09:57:05 +05:30
PascalandGitHub 5c16aa4225 feat: improve thumbnails, placement, and editor responsiveness (#258)
* wip: backport monorepo PRs 278 280 281 283 284

* refactor(editor): align floorplan panel with monorepo split version
2026-04-17 15:14:40 -04:00
a205e4f778 Feat/stairs fence update (#226)
* feat: railing on the straight stairs and new fence

* feat: added spiral and curved stairs with bug fix for fence

* feat:fence are linked to each other ... so moving one move the other sharing the same coordinate

* fix: update stair railing logic to include front-side attachments for terminal landings

* Integrate fence rendering into the fence system

* fix: pass nodeId instead of undefined node to WallTreeNode and FenceTreeNode

TreeNode was passing `node` (undefined variable) instead of `nodeId` to
WallTreeNode and FenceTreeNode, causing a runtime ReferenceError.
Updated FenceTreeNode to accept nodeId and look up the node from the
scene store internally, consistent with all other tree node components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: update fence icon with new isometric design

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Aymeric Rabot <aymeric@pascal.app>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 23:31:57 -04:00
PascalandGitHub 0a46a9deb4 sync: comprehensive monorepo → editor parity (2D/3D decoupling, UX polish, crash fixes)
Squash merge of 3 commits:
1. useLiveTransforms store for 2D/3D decoupling + floorplan overhaul + Sentry crash fixes
2. Comprehensive 59-file sync bringing editor to full monorepo parity (selection highlights, delete tool, furnish/zone modes, keyboard shortcuts, all panels)
3. Missing files fix (materials.ts, merged-outline-node.ts, type fix)

75 files changed, ~6K additions.
2026-04-07 19:21:10 -04:00
PascalandGitHub d9965f487c fix: sync stair elevations with floor slabs (#216)
Mark stair nodes as dirty when slabs change so stairs properly stack on
top of floor slabs. StairSystem now computes slab-driven elevation by
sampling segment centers against the spatial grid.

Changes:
- spatial-grid-sync: mark stair nodes dirty on slab changes (same level)
- stair-system: syncStairGroupElevation + getStairSlabElevation compute
  Y offset from slab data; rotateXZ helper for world-space transforms
- stair-renderer: use position-x/position-z so the system controls Y
2026-04-06 12:02:57 -04:00
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