sudhir
6df4b4895c
Add garage door types and animated door controls
2026-05-05 14:20:41 +05:30
sudhir
1490d280d4
Refine editor layer boundaries and selection handling
2026-05-05 13:26:39 +05:30
Pascal
1002a0a980
feat(editor): precise item dimensions — static bounding boxes, placement-math, remove item-mesh-metadata system
...
- Replace runtime mesh-based bounding-box computation with static dimension-based polygons for item footprints
- Add snapUpToGridStep() and getGridAlignedDimensions() to placement-math for grid-cell-aligned placement wireframes
- Add expandBoundsToGrid() to use-placement-coordinator for consistent wireframe snapping
- Add currentCursorRotationY to PlacementContext; preserve world orientation across item-surface transitions
- Fix item detach from surface: use worldToBuildingLocal() instead of event.localPosition to avoid coordinate-space jump
- Subscribe to useLiveTransforms in FloorplanPanel during placement so R/T keyboard rotation refreshes the 2D overlay immediately
- Fix FloorplanItemImage rotation (+180° to account for top-down camera capture orientation)
- Simplify spatial-grid-manager: single dimension-based getItemLocalBounds(), removes runtime mesh-metadata path
- Remove item-mesh-metadata system (compute-item-mesh-metadata, item-mesh-metadata-system, sync-request)
2026-05-04 19:35:41 +00:00
sudhir
762c9fc763
Refactor guide events and column placement handling
2026-05-04 23:06:23 +05:30
sudhir
46548c35e5
Fix curved wall and fence angle measurements
2026-05-04 11:29:01 +05:30
sudhir
23eec44714
Move render systems out of core
2026-05-01 15:07:47 +05:30
wass08
758f06454c
Rename mesh metadata polygon key to drop floorplan prefix
2026-04-28 07:31:52 -04:00
sudhir
a64d6b86cc
Fix floorplan preview update loop
2026-04-28 09:52:10 +05:30
sudhir
87dfdf1b38
Add paint hover previews to viewer
2026-04-22 10:52:35 +05:30
sudhir
bbc351d3a4
Add roof material targets and UV mapping
2026-04-20 12:57:06 +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
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
Pascal and GitHub
682e2a1a12
sync: backport monorepo PRs #240 #251 #253 ( #225 )
2026-04-13 11:24:13 -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
b4d9f3fbf6
fix: resolve type errors in export-system for tsc --build
...
- Cast scene.clone() to Scene for GLTFExporter compatibility
- Cast DataView.buffer to ArrayBuffer for STL Blob construction
- Add THREE import for Object3D type in traverse callback
2026-03-31 20:54:46 +00:00
Pascal and GitHub
3e05e5aa43
Merge pull request #203 from thiago-lopes-dev/main
...
feat: implement export scene system (GLB, STL, OBJ)
2026-03-31 16:51:51 -04:00
Thiago Löpes and GitHub
9056eb2f1d
Add files via upload
2026-03-30 17:39:37 -03:00
Developer
0be6d84c98
refactor: 完善材质系统相关代码
...
- 修复 node-actions.ts 中 forEach 返回值 lint 警告
- 更新材质 schema 定义和渲染器
- wall-cutout.tsx 材质颜色保留修复
2026-03-30 20:29:29 +08:00
Developer
d0cdeb2ac4
fix(viewer): 修复墙体材质切换后缩放旋转时颜色恢复问题
...
问题描述:
选中墙体并切换材质颜色后,在界面上进行缩放、旋转或移动操作时,
墙体实际渲染的颜色会恢复为原来的白色,但颜色选项卡显示仍为选中的颜色。
根本原因:
WallCutout 系统在每次相机移动时,直接使用固定的白色材质覆盖墙体材质,
完全忽略了用户在节点上设置的自定义材质。
修复内容:
- 为每个墙体创建独立的材质对象,支持用户自定义颜色
- 支持预设颜色(brick, concrete, wood 等)和自定义颜色属性
- 添加材质哈希值跟踪,检测材质变化并重新创建材质
- 提取 getWallHideState() 辅助函数,优化代码结构
- 添加预设颜色映射的类型安全改进,使用 as const 和 keyof 类型操作
2026-03-30 20:21:48 +08: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
202fc41f42
fade timescale for smooth item anims
2026-03-06 13:08:24 +01:00
wass08
8f65daa853
handling lights
2026-03-06 13:08:23 +01:00
wass08
54051b11fa
item system controls
2026-03-06 13:08:21 +01:00
wass08
c26c7da091
remove logs
2026-03-04 11:25:42 +01:00
wass08
add637e11c
pin for zones on hover
2026-03-04 11:13:20 +01:00
wass08
0f271985d8
take only building layers to the thumbnail
2026-03-02 10:01:22 +09:00
wass08
3894d7c8bf
fixing system orders for ensuring level calculation comes last
2026-02-23 09:08:15 +09:00
wass08
c58d5ab535
level height
2026-02-20 19:33:59 +09:00
wass08
8876776c0f
hovered zones system
2026-02-09 14:25:36 +09:00
wass08
e776ce9849
cdn and packages building
2026-02-04 09:53:44 +09:00
wass08
66463f3526
ssgi + ao
2026-02-03 15:50:09 +09:00
wass08
30653b49c9
wall cutout
2026-02-03 14:28:06 +09:00
wass08
b27f44d685
wall cutout
2026-02-03 13:45:56 +09:00
wass08
915eedcbce
controls for camera / guides / scans / levels
2026-01-29 10:39:19 +09:00
wass08
f4125db6a8
control bar
2026-01-29 10:14:40 +09:00
wass08
5de0818633
biome
2026-01-21 10:03:29 +09:00
wass08
60cb60fdaa
code organization
2026-01-16 09:46:19 +09:00