sudhir
4483957a0d
Remove material pickers from side panels
2026-04-23 10:21:33 +05:30
sudhir
fb3de8debc
Refactor material paint preview handling
2026-04-22 18:16:20 +05:30
Sudhir Yadav
8fde99e7c9
Merge branch 'main' into feat/color-picker-tool
2026-04-22 17:57:26 +05:30
sudhir
1492e5bd0c
Add roof drag controls to the 2D floorplan
2026-04-22 17:24:58 +05:30
sudhir
a69591670d
Refactor floorplan wall visuals and shared plan helpers
2026-04-22 15:34:22 +05:30
sudhir
87dfdf1b38
Add paint hover previews to viewer
2026-04-22 10:52:35 +05:30
Pascal
4b5c3beadc
release: v0.6.0
...
Bump @pascal-app/core, @pascal-app/viewer, and @pascal-app/editor to 0.6.0.
Update cross-package peer/dev dependency versions.
2026-04-21 20:52:02 +00:00
sudhir
65399731f7
Enable material paint for fence slab and ceiling nodes
2026-04-21 15:19:46 +05:30
sudhir
b925cf1e7a
Show paint cursor on incompatible clicks
2026-04-21 15:11:46 +05:30
sudhir
5d75e29bc5
Add material paint mode with scrollable palette
2026-04-21 15:00:09 +05:30
sudhir
ec393b0c91
Use live snap settings in polygon editor and slab actions
2026-04-21 11:46:57 +05:30
sudhir
53720d664f
Align roof and slab dragging to snap targets
2026-04-21 11:41:31 +05:30
sudhir
8ae217502c
Add curved fence support
2026-04-21 11:26:49 +05:30
sudhir
5b5b80be61
Support fence endpoint moves and drafting snap
2026-04-21 11:18:54 +05:30
sudhir
ffa78f1344
Fix realtime undo updates for wall and fence moves
2026-04-21 11:12:04 +05:30
sudhir
8cf2df1483
Unify material target selection across wall stair and roof
2026-04-20 22:45:56 +05:30
sudhir
dd5b6e5e83
Fix slab material reload and wall curve step
2026-04-20 14:13:47 +05:30
sudhir
dfdeca4aae
Refine roof edit selection behavior and panel actions
2026-04-20 13:08:45 +05:30
sudhir
bbc351d3a4
Add roof material targets and UV mapping
2026-04-20 12:57:06 +05:30
sudhir
05002a7865
Allow stair side clicks to target side materials
2026-04-20 12:04:43 +05:30
sudhir
4f9b822e54
Add click-targeted stair materials and UV mapping
2026-04-20 12:01:23 +05:30
sudhir
71ddb7052b
Add two-sided wall material targeting
2026-04-20 11:18:20 +05:30
Adrian Perez
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
wass08
3fcb9cfb6b
fix stair building rotation
2026-04-17 17:32:25 -04:00
wass08
28bbf14836
fix perfs and broken undo stack by various move tools
2026-04-17 17:26:38 -04:00
Pascal
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
sudhir
f29946f27b
Add auto cutout toggle to stair panel
2026-04-17 22:29:44 +05:30
sudhir
4a97581b86
Fix stair placement to use local level height
2026-04-17 13:24:52 +05:30
sudhir
b314a8fbf8
Implement stair-driven slab hole cutouts
2026-04-17 13:13:02 +05:30
sudhir
0effda29fe
Support duplicating and moving new walls
2026-04-17 11:08:01 +05:30
sudhir
096f4c161a
Respect active grid snap for wall dragging and angle
2026-04-17 10:56:34 +05:30
sudhir
4edf45f7c9
Add auto ceilings and simplify ceiling selection affordances
2026-04-16 17:56:54 +05:30
sudhir
cb2ceba566
Add grid snap dropdown to viewer toolbar
2026-04-16 17:05:34 +05:30
sudhir
0e5a4d9fea
Improve ceiling selection and move preview visibility
2026-04-16 15:04:52 +05:30
sudhir
5010013701
Reorder toolbar toggles to group wall mode before grid snap
2026-04-16 14:08:32 +05:30
sudhir
162c5806a7
Add cycling grid snap control to the viewer toolbar
2026-04-16 13:34:42 +05:30
sudhir
a7b97caeb0
Add Alt-detach hints to wall endpoint move controls
2026-04-16 12:27:58 +05:30
sudhir
1cd71630bc
Add 3D wall endpoint move controls
2026-04-16 11:50:40 +05:30
sudhir
f563dd9763
Keep connected walls joined during endpoint drags
2026-04-16 11:43:24 +05:30
sudhir
b4bf196d31
Merge branch 'main' of github.com:sudhir9297/editor into feat/wall-room-creation
2026-04-16 09:49:29 +05:30
Huy Hoang
3d1005847b
fix: prevent crash when duplicating elements ( #239 )
...
- Guard _buildCache in merged-outline-node against stale/disposed
Object3D refs that cause TypeError on .id access during render
- Reset children array when duplicating roofs to prevent inconsistent
parent-child relationships (matching existing stair behavior)
- Use obj?.parent check in EditorOutlinerSync to ensure objects are
still in the scene graph before adding to outliner arrays
- Resume temporal state on parse failure to prevent undo/redo freeze
Closes #232
2026-04-15 17:25:03 -04:00
Roshan Warrier
e3ba4ab921
fix editor furnish item initialization ( #237 )
...
Co-authored-by: txhno <198242577+txhno@users.noreply.github.com>
2026-04-15 17:25:01 -04:00
sudhir
95f4c4e610
Merge branch 'main' of github.com:sudhir9297/editor into feat/wall-room-creation
2026-04-15 22:59:36 +05:30
Sudhir Yadav
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
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
sudhir
d1bef22701
Handle wall split attachment migration and child ids
2026-04-15 14:49:58 +05:30
sudhir
6190ba4bdc
feat: implement automatic wall-splitting and slab generation from closed wall loops
2026-04-15 14:18:09 +05:30
Pascal
f25806ee8f
release: v0.5.1
2026-04-14 05:01:30 +00:00
Pascal
cf7493985f
fix: guard null selected item during item tool placement ( #229 )
2026-04-14 00:48:59 -04:00
Sudhir Yadav
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