🏗️ Pascal Editor v0.9.1 — Preset System, Rooms & Templates, Building Manipulation
This release ships a first-class preset system, room presets & template scans, a deep building-manipulation overhaul (rotation, unified handles, tap-to-engage move), editor sound design, viewer shadow improvements, and a full dependency/security refresh. It also publishes the npm packages announced in v0.9.0 — everything lands on the registry as 0.9.1.
✨ Features
- Preset system — capture builds as presets with framing + zoom-limited thumbnails, browse them in a hierarchical function-tree with an icon-grid category bar, and place them with parameters, move tool, shadows, isolation, and a green/red validity box (#341, #344, #345, #349, #354, #357, #366)
- Rooms & templates — save furnished rooms as reusable presets; template scans feed the same workflow (#390)
- Building manipulation overhaul — whole-building rotation with world-grid alignment, alt-click single-wall selection, tap-to-engage move (#388); live floor-stacking previews, unified handle system + hit areas, NaN-safe node mutations (#375); persistent site boundary handles (#386); alignment guides + floor-plan/3D placement parity (#372); level-scoped alignment, reference-floor symbols & registry slab tool (#373)
- Studio mode & inspector UX — studio mode, consolidated Display + References controls (#364, #370); build sidebar + slimmed items panel for the standalone editor (#361); vertical icon rail + headless inspector footer slot (#350)
- Sound design — structure build start/end cues, menu hover/click SFX (#378); per-kind delete sounds incl. shelf items (#379, #381)
- Roof accessories — gutters, downspouts & vents with gizmos (#355)
- Viewer shadows — shadow frustum fitted to building geometry and centered on focus (#347, #348)
- Fence presets — tool-defaults seeding +
drawToolcapability (#346)
🐛 Fixes
- Camera ↔ floor-plan navigation sync, both directions (#387)
- Editor interaction, loading, walkthrough, and IFC cleanup (#385)
- Relative move grab offsets + fresh placement commits (#383)
- Stair openings, roof-segment grid snap, 3D box selection, unit-aware alignment guides (#380)
- Slab side walls render solid regardless of polygon winding (#377); outline polygon edit handles + vertex grab (#365)
- Null-safety hardening across placement, cursor groups, box-select, and container renderers (#313, #323, #333, #342, #359); legacy door nodes normalized against the schema (#303)
- Nodes test suite repaired under bun (#360); stale registry + stair-opening tests updated (#358)
🧰 Infrastructure
- CI: lint + typecheck workflow (#369)
- June 2026 dependency refresh — next 16.2.6 (12+ security advisories patched; 16.2.7 deliberately held back for a Turbopack dev route-matching regression), TypeScript 6.0.3 everywhere, single-three dedupe, dead-dependency removal (#389)
- Architecture: enforced layer boundaries — ceiling dispatch, store relocation, shared helpers (#382); MCP plan↔world coordinate convention documented (#356)
📦 Packages
| Package | Version |
|---|---|
@pascal-app/core |
0.9.1 |
@pascal-app/viewer |
0.9.1 |
@pascal-app/editor |
0.9.1 |
@pascal-app/mcp |
0.3.1 |
@pascal-app/ifc-converter |
0.1.1 |
The 0.9.0 versions announced in the previous release never reached npm — they ship here as 0.9.1.
🙏 Contributors
A huge thank you to our contributors for this release!
- @sudhir9297 — building-manipulation overhaul, alignment guides, level-scoped alignment & registry slab tool, layer-boundary architecture (#388, #372, #373, #382)
- @wass08 — rooms & templates, the preset-system wave, studio mode, sound design, shadow improvements, and many fixes (#390, #387, #385, #378, #364, #357, #354, #341)
- @anton-pascal — null-safety hardening wave across viewer, editor, and nodes (#303, #313, #323, #333, #342)
- @marcelgruber — MCP plan↔world coordinate convention docs (#356)
Full Changelog: v0.9.0...v0.9.1