Commit Graph
31 Commits
Author SHA1 Message Date
sudhir 59779c5bf2 Use mesh bounds for item placement and floorplan 2026-04-27 09:57:05 +05:30
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
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 e2de931aa7 adjust fan anim 2026-03-06 13:08:23 +01:00
wass08 54051b11fa item system controls 2026-03-06 13:08:21 +01:00
wass08 927ecba054 schema and interactive store 2026-03-06 13:06:33 +01:00
wass08 01d4a28e56 fix scale not defined 2026-02-26 13:14:52 +09:00
wass08 6581e25e9f handle better item scales 2026-02-23 11:11:22 +09:00
wass08 d15f601107 item scale 2026-02-23 10:59:42 +09:00
wass08 e8fcc840d5 surface placement 2026-02-18 16:26:17 +09:00
wass08 c0676f684e item surfaces 2026-02-18 16:06:23 +09:00
wass08 01de83f628 loading asset handler 2026-02-10 13:40:49 +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 4f75c9b750 soft shadows & lighting 2026-02-02 14:22:21 +09:00
wass08 549bfb3f29 handle visible/invisible items 2026-02-02 10:33:36 +09:00
wass08 edb2b181c2 new items 2026-01-29 16:17:35 +09:00
wass08 2f0e976878 fix init code 2026-01-29 06:44:39 +09:00
wass08 4f20586ae9 shortcuts and deletion 2026-01-23 10:30:24 +09:00
wass08 cc9d9916b7 data persist 2026-01-23 09:56:06 +09:00
wass08 2cee38e295 adding items 2026-01-23 09:32:46 +09:00
wass08 5de0818633 biome 2026-01-21 10:03:29 +09:00
wass08 a217d0d3a6 drafting wall attach system 2026-01-19 07:59:06 +09:00
wass08 162c70552c item catalog draft 2026-01-17 15:40:04 +09:00
wass08 1b954d3416 events handlers 2026-01-16 11:42:10 +09:00
wass08 c0626662a8 event systems 2026-01-15 11:24:41 +09:00
wass08 0c07c482a5 registry / systems / renderer 2026-01-15 10:43:32 +09:00