Skip to content

v0.3.0 — 2D Editing

Choose a tag to compare

@anton-pascal anton-pascal released this 24 Mar 19:48
· 140 commits to main since this release
f06f2fa

What's new in v0.3.0

2D Floorplan panel

A full top-down drafting view for drawing and editing building layouts:

  • Draw walls with snap-to-grid at 0.5m increments
  • Place doors and windows directly on walls
  • Edit zone and slab polygons with vertex and midpoint drag handles
  • Pan, zoom, marquee selection, multi-select (⌘/Ctrl+click)
  • Wall endpoint dragging with junction miter recalculation
  • Overlay reference images as tracing guides
  • Dark/light theme support

Wall measurement labels

3D overlay labels that show wall lengths in the viewport. They follow the camera, respect your unit preference (metric/imperial), and account for wall miter geometry so measurements are accurate even at junctions.

Command palette rewrite

Rebuilt from scratch with a registry-based architecture:

  • useCommandRegistry and usePaletteViewRegistry stores for extensibility
  • Commands grouped by category (View, Edit, Navigate, Create)
  • Visual keyboard shortcut tokens
  • Navigable pages and full-screen modes

Wall footprint geometry

New getWallPlanFootprint() in core — generates miter-aware 2D polygons for walls, used by both the floorplan panel and measurement labels.

Other improvements

  • Node action menu — quick operations on selected scene nodes
  • Selection manager — improved multi-select with ⌘/Ctrl+click toggle
  • Camera focuscamera-controls:focus event centers the camera on a node's bounding box
  • Error boundary — broken item models show a fallback instead of crashing the viewer
  • Ground occluder fix — upper floor shadows no longer bleed through lower levels
  • Undo history — pauses correctly during batch operations (space detection, AI actions)
  • Dirty marking — siblings and parents marked dirty on deletion so wall miters recalculate

Packages

  • @pascal-app/core@0.3.0npm
  • @pascal-app/viewer@0.3.0npm

Install

npm install @pascal-app/core@0.3.0 @pascal-app/viewer@0.3.0

Numbers

95 files changed. +12,379 / −1,394 lines. No breaking changes.


Full Changelog: v0.2.0...v0.3.0