sudhir
9838d2cd4f
Refactor elevator runtime into core
2026-05-13 01:56:06 +05:30
sudhir
b782ce9cf2
Merge branch 'main' into feat/elevator-system
...
# Conflicts:
# packages/editor/src/components/tools/item/move-tool.tsx
# packages/editor/src/components/tools/tool-manager.tsx
# packages/editor/src/components/ui/panels/panel-manager.tsx
# packages/editor/src/store/use-editor.tsx
# packages/viewer/src/components/renderers/site/site-renderer.tsx
# packages/viewer/src/components/viewer/ground-occluder.tsx
# packages/viewer/src/components/viewer/index.tsx
# packages/viewer/src/components/viewer/post-processing.tsx
2026-05-13 01:38:55 +05:30
sudhir
70c85d7760
Refine wall move previews and expose auto-slab planning
2026-05-12 12:15:45 +05:30
sudhir
be41511474
Fix wall move junction ownership
2026-05-11 23:46:57 +05:30
sudhir
92a9846193
Refactor elevator systems across core, viewer, and editor
2026-05-10 12:38:44 +05:30
sudhir
909f96ef09
Improve elevator floorplan resize and drag controls
2026-05-10 12:20:53 +05:30
sudhir
2480be91b1
Optimize elevator editing performance with live previews
2026-05-09 19:09:48 +05:30
sudhir
133d81e563
Refine window corner shape support
2026-05-07 13:34:16 +05:30
sudhir
eef19804d1
Merge branch 'main' into feat/door-improvement
...
# Conflicts:
# packages/core/src/events/bus.ts
# packages/viewer/src/systems/door/door-system.tsx
2026-05-07 10:40:51 +05:30
sudhir
cef3f24dad
Move door animations into viewer system
2026-05-07 10:11:25 +05:30
sudhir
f5f80d0f3f
Centralize door animation state and operation mapping
2026-05-05 17:23:48 +05:30
sudhir
848529acb0
Add column presets and procedural shaft controls
2026-05-04 16:38:52 +05:30
sudhir
23eec44714
Move render systems out of core
2026-05-01 15:07:47 +05:30
sudhir
3df3d12f46
Refactor guide UI state and slab rendering
2026-05-01 00:33:57 +05:30
sudhir
f375861439
Merge branch 'main' of github.com:sudhir9297/editor into feat/improvement-and-fixes
2026-04-30 22:59:10 +05:30
sudhir
411ae2e905
Refine 2D door swing rendering
2026-04-29 17:51:58 +05:30
Sudhir Yadav and GitHub
1c2746f538
Merge branch 'main' into feat/upgrade-and-bug-fix
2026-04-28 14:37:10 +05:30
sudhir
bead8796d2
Add spawn node support and refine stair and door cutouts
2026-04-28 14:26:24 +05:30
Aymeric Rabot
0711cad660
Merge remote-tracking branch 'origin/main' into feat/mcp-server
2026-04-27 17:22:14 -04:00
sudhir
275a42cc7f
Simplify paint material compatibility logic
2026-04-25 00:15:29 +05:30
sudhir
2876f39876
Refactor paint materials to use category-based compatibility
2026-04-23 12:48:50 +05:30
sudhir
ffa78f1344
Fix realtime undo updates for wall and fence moves
2026-04-21 11:12:04 +05:30
Adrian Perez and Claude Opus 4.7
e8d0b13ff5
feat(mcp,editor): Option A+B storage + 10 agent deliverables (Phase 7)
...
Ships the combined filesystem/Supabase storage adapter + MCP scene
lifecycle tools + Next.js API routes + editor /scene/[id] route, so
an MCP save is directly openable at /scene/<id> without any
injection hack. End-to-end verified: 10/10 e2e steps pass.
Storage (A1/A2/A3):
- SceneStore interface + error classes + slug helpers
- FilesystemSceneStore at $PASCAL_DATA_DIR (defaults XDG/~/.pascal)
with atomic writes, .index sidecar, optimistic locking
- SupabaseSceneStore with scenes + scene_revisions tables, RLS
migration SQL, mock-backed unit tests
- createSceneStore(env) auto-selects based on SUPABASE_URL +
SUPABASE_SERVICE_ROLE_KEY
MCP tools (A4, A8, A9, A10):
- save_scene / load_scene / list_scenes / delete_scene / rename_scene
- list_templates / create_from_template (3 seed templates:
empty-studio, two-bedroom, garden-house)
- generate_variants (7 mutation kinds, seeded RNG, save=true|false)
- photo_to_scene (vision sampling → scene graph → save)
Editor (A5, A6):
- /api/scenes + /api/scenes/[id] with RFC 7232 If-Match locking
- /scene/[id] and /scenes route pages with save button, SceneLoader
- Removed the window.__pascalScene dev injection hack
Security + UX edges (A7, A8):
- AssetUrl Zod validator: asset:// blob: data:image/ /path https:
(http://localhost for dev) + PASCAL_ALLOWED_ASSET_ORIGINS env
allowlist. Hardens scan.url, guide.url, item.asset.src,
material.texture.url, MaterialMaps.*Map
- Auto-frame camera on empty→non-empty scene transition
(camera-controls:fit-scene emitter event)
Shared utilities:
- rehydrateSiteChildren() extracted to packages/mcp/src/lib/ and
used by both create-from-template and generate-variants to work
around the SiteNode.children-as-objects vs. ids inconsistency
(CROSS_CUTTING §2)
- Storage + MCP subpath exports added to packages/mcp/package.json
(CROSS_CUTTING §4)
Tests: 293 pass / 0 fail across 40 files (was 142 pre-Phase-7).
Biome: clean.
Phase-7 e2e script at packages/mcp/test-reports/phase7-e2e.ts:
MCP HTTP + editor Next.js both point at $PASCAL_DATA_DIR =
/tmp/pascal-e2e, save_scene from MCP, GET /api/scenes/<id> from
editor server, /scenes list page renders all saved scenes, scene
page renders SceneLoader, delete_scene works.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-18 19:29:28 +02:00
b1709de44a
feat: curved wall and fixes ( #236 )
...
* feat: add polygon movement support to editor and implement dedicated move tools for walls, slabs, and ceilings
* feat: add uv2 attribute to ceiling and slab geometries for lightmap support
* Fix curved wall miters and align roof position sliders
* Fix wall measurement label and extension anchors
* Fix WebGPU renderer initialization order
* fix(editor): scope wall movement to the selected level
---------
Co-authored-by: Pascal <open@pascal.app >
2026-04-15 12:41:16 -04:00
Sudhir Yadav and GitHub
57df224948
feat: Add catalog-based material presets across structural nodes ( #231 )
...
* Add catalog-based material presets across structural nodes
* Fix material picker fallback and wall visible highlights
* Preserve wall materials in selection highlights
2026-04-15 12:16:35 -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
Pascal and GitHub
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
Pascal and GitHub
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
John Doe
9a0950dd90
style: reorder imports
2026-03-26 00:24:45 -04:00
John Doe
de9eb6fa78
feat: add scene graph cloning utility
2026-03-25 22:05:07 -04:00
f06f2fa1b1
feat: 2D editing — floorplan panel, measurements, command palette (v0.3.0)
...
* sync: port 2D editing features from monorepo (v0.3.0)
## New Features
### Floorplan Panel (7.5K LOC)
- Full 2D editing interface with wall drawing, measurement, and unit display
- Interactive floorplan view with pan/zoom, grid snapping
- Wall thickness visualization, door/window placement
- Zone and slab polygon editing
- Guide image overlay support
- Metric/imperial unit toggle
### Command Palette Overhaul
- Complete rewrite with new command registry system
- Keyboard shortcuts UI with ShortcutToken component
- Editor-specific commands (floorplan, measurements, camera focus)
- Improved search and action organization
### Wall Measurements
- Real-time wall length labels in 3D view
- Metric/imperial conversion
- Wall measurement UI component
### Enhanced Tools
- Wall drafting utilities (grid snapping, validation)
- Node action menu for quick operations
- Improved polygon editing for zones/slabs/sites
- Roof segment panel for granular roof control
## Package Changes
### @pascal-app/core@0.3.0
- New wall-footprint.ts: 2D wall footprint calculation
- Wall mitering exports for floorplan view
- camera-controls:focus event
- Space detection undo pause/resume
- Mark sibling nodes dirty on deletion (miter recalc)
### @pascal-app/viewer@0.3.0
- ErrorBoundary component for robust item rendering
- Broken item fallback UI
- Wall renderer: mark dirty on mount
- Ground occluder: only lowest level punches through
- Unit state (metric/imperial) in viewer store
### @pascal-app/editor@0.1.0
- 48 file changes (16 new, 32 modified)
- New stores: useCommandRegistry, usePaletteViewRegistry
- Tree node drag-and-drop system
- Level selection utilities
- Enhanced scene graph operations
## Apps/Editor
- GeistPixelSquare font for pixel-perfect UI
- Blueprint icon asset
- Updated layout and globals for font support
## Security
- Zero AI imports or internal package refs
- All monorepo-specific code excluded
- Clean audit: no API keys or secrets
## Testing
- Security audit passed ✅
- All AI/internal code excluded ✅
- Version bumps applied ✅
79 files modified, 16 files added
~2600 insertions, ~1400 deletions
* fix: lint cleanup — suppress intentional dep warnings, fix missing dep, remove stale ignores
- Add biome-ignore for 3 intentional useEffect reset patterns (levelId, selectedGuide, selectedId)
- Fix actual missing dependency: currentBuildingId in handleSiteEditShortcutSelect callback
- Remove 3 stale biome-ignore comments in r3f.d.ts (rule not active)
Build and lint pass clean.
* fix: type errors — polygon area guards, selection cast, readonly keywords, door guard
- ceiling-panel, slab-panel, ceiling-tree-node, slab-tree-node, zone-tree-node:
guard polygon[i]/polygon[j] array access before arithmetic (TS2532)
- scene.ts: introduce toViewerSelection() helper to cast persisted string IDs
to branded template literal types expected by useViewer.setSelection (TS2345)
- door-panel: guard early return when node is undefined in setSegmentHeightRatio (TS18048)
- editor-commands: remove 'as const' from inline command object, keywords is mutable string[] (TS2322)
All type checks pass. Build and lint clean.
---------
Co-authored-by: Anton Pascal <anton-pascal@users.noreply.github.com >
2026-03-24 19:48:11 +00: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
927ecba054
schema and interactive store
2026-03-06 13:06:33 +01:00
wass08
27e4afb757
draft custom door
2026-02-25 13:28:42 +09:00
wass08
076faae7df
window building
2026-02-18 10:41:12 +09:00
wass08
dd5f63df64
wall tool draft
2026-02-17 16:22:45 +09:00
wass08
6ec6a55b05
fix elevation issue
2026-02-10 10:04:14 +09:00
wass08
39f9f595d8
scene starting with site and not with building anymore
2026-02-05 14:42:46 +09:00
wass08
a15952055a
wall sides feed with floo fill algorithm
2026-02-03 12:03:03 +09:00
wass08
be6a766586
better selection-manager
2026-01-30 08:43:45 +09:00
wass08
8edcda1b75
default seleciton manager
2026-01-30 08:30: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
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
0e3130bd60
slab rendering + select
2026-01-27 07:37:06 +09:00
wass08
8940f70117
slab renderer
2026-01-27 07:32:46 +09:00
wass08
fb3cd3e34e
zones as nodes
2026-01-26 07:34:53 +09:00
wass08
3240266476
transient nodes
2026-01-23 11:13:11 +09:00