This release is about reuse. You build something once — a wall finish, a furnished corner, a whole room — and Pascal now gives you the tools to capture it, keep it, and place it again.
A real preset system
Presets grew from a handful of hardcoded door and window options into a first-class system. You can capture what you have built as a preset, browse your collection in a hierarchical items tree, and place presets back into any project with proper placement previews, parameters, and shadows.
The catalog UI got rebuilt around it: an icon-grid category bar, a slimmer action bar, a paint panel, and a vertical icon rail that keeps the canvas in focus. Placement shows a green/red validity box, and presets stay in sync with the tool you are holding.
Rooms and templates
Rooms are now something you can save and reuse. Furnish a bedroom once, save it as a room preset, and drop it into the next project. Template scans feed the same pipeline, so a captured space can become a starting point instead of a reference you rebuild by hand.
Moving buildings should feel this good
Manipulation got a deep pass this cycle:
- Rotate an entire building, with world-grid alignment so things stay square
- Alt-click to select a single wall out of a connected run
- Tap once to engage move, instead of dragging from the exact right pixel
- Live previews when stacking floors, with a unified handle system across every node kind
- Persistent site boundary handles, alignment guides, and floor-plan/3D placement parity
- Camera and floor plan navigation finally stay in sync, in both directions
The editor makes sound now
Building has audio feedback: structure build start and end cues, menu hover and click sounds, and distinct delete sounds — yes, deleting a shelf item sounds different from deleting a wall. It is subtle, and it makes the editor feel alive.
Under the hood
We refreshed the entire dependency stack across the workspace (including the June Next.js security advisories), aligned the toolchain on TypeScript 6, added a lint + typecheck CI gate to the open-source repo, and hardened the editor's layer boundaries. Boring on purpose — this is the work that keeps everything else fast to ship.
v0.9.1 on npm
The open-source packages are published: @pascal-app/core, @pascal-app/viewer, and @pascal-app/editor at 0.9.1, with @pascal-app/mcp 0.3.1 and @pascal-app/ifc-converter 0.1.1 alongside. The full notes live in the GitHub release.
None of this ships without the people building in public with us. Special thanks this release to @sudhir9297 for the manipulation overhaul, @wass08 for presets, rooms, and sound design, @anton-pascal for a wave of null-safety hardening, and @marcelgruber for documenting the MCP coordinate conventions.