v0.9.1

medusajs/medusav0.9.1Jun 10, 2026by Aymericr

AI Summary

Introduced a first-class preset system, room templates, and a deep overhaul of building manipulation including rotation, unified handles, and studio mode.

Key Highlights

  • Added preset system with hierarchical browsing and thumbnails
  • Added rooms & templates for saving furnished rooms
  • Overhauled building manipulation with rotation and unified handles
  • Added studio mode and consolidated Display controls
  • Improved viewer shadows and editor sound design

New Features

  • Preset system
  • Rooms & templates
  • Building manipulation overhaul
  • Studio mode
  • Sound design
  • Viewer shadows
  • Fence presets

Full Release Notes

## πŸ—οΈ 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](https://github.com/pascalorg/editor/pull/341), [#344](https://github.com/pascalorg/editor/pull/344), [#345](https://github.com/pascalorg/editor/pull/345), [#349](https://github.com/pascalorg/editor/pull/349), [#354](https://github.com/pascalorg/editor/pull/354), [#357](https://github.com/pascalorg/editor/pull/357), [#366](https://github.com/pascalorg/editor/pull/366))
- **Rooms & templates** β€” save furnished rooms as reusable presets; template scans feed the same workflow ([#390](https://github.com/pascalorg/editor/pull/390))
- **Building manipulation overhaul** β€” whole-building rotation with world-grid alignment, alt-click single-wall selection, tap-to-engage move ([#388](https://github.com/pascalorg/editor/pull/388)); live floor-stacking previews, unified handle system + hit areas, NaN-safe node mutations ([#375](https://github.com/pascalorg/editor/pull/375)); persistent site boundary handles ([#386](https://github.com/pascalorg/editor/pull/386)); alignment guides + floor-plan/3D placement parity ([#372](https://github.com/pascalorg/editor/pull/372)); level-scoped alignment, reference-floor symbols & registry slab tool ([#373](https://github.com/pascalorg/editor/pull/373))
- **Studio mode & inspector UX** β€” studio mode, consolidated Display + References controls ([#364](https://github.com/pascalorg/editor/pull/364), [#370](https://github.com/pascalorg/editor/pull/370)); build sidebar + slimmed items panel for the standalone editor ([#361](https://github.com/pascalorg/editor/pull/361)); vertical icon rail + headless inspector footer slot ([#350](https://github.com/pascalorg/editor/pull/350))
- **Sound design** β€” structure build start/end cues, menu hover/click SFX ([#378](https://github.com/pascalorg/editor/pull/378)); per-kind delete sounds incl. shelf items ([#379](https://github.com/pascalorg/editor/pull/379), [#381](https://github.com/pascalorg/editor/pull/381))
- **Roof accessories** β€” gutters, downspouts & vents with gizmos ([#355](https://github.com/pascalorg/editor/pull/355))
- **Viewer shadows** β€” shadow frustum fitted to building geometry and centered on focus ([#347](https://github.com/pascalorg/editor/pull/347), [#348](https://github.com/pascalorg/editor/pull/348))
- **Fence presets** β€” tool-defaults seeding + `drawTool` capability ([#346](https://github.com/pascalorg/editor/pull/346))

### πŸ› Fixes

- Camera ↔ floor-plan navigation sync, both directions ([#387](https://github.com/pascalorg/editor/pull/387))
- Editor interaction, loading, walkthrough, and IFC cleanup ([#385](https://github.com/pascalorg/editor/pull/385))
- Relative move grab offsets + fresh placement commits ([#383](https://github.com/pascalorg/editor/pull/383))
- Stair openings, roof-segment grid snap, 3D box selection, unit-aware alignment guides ([#380](https://github.com/pascalorg/editor/pull/380))
- Slab side walls render solid regardless of polygon winding ([#377](https://github.com/pascalorg/editor/pull/377)); outline polygon edit handles + vertex grab ([#365](https://github.com/pascalorg/editor/pull/365))
- Null-safety hardening across placement, cursor groups, box-select, and container renderers ([#313](https://github.com/pascalorg/editor/pull/313), [#323](https://github.com/pascalorg/editor/pull/323), [#333](https://github.com/pascalorg/editor/pull/333), [#342](https://github.com/pascalorg/editor/pull/342), [#359](https://github.com/pascalorg/editor/pull/359)); legacy door nodes normalized against the schema ([#303](https://github.com/pascalorg/editor/pull/303))
- Nodes test suite repaired under bun ([#360](https://github.com/pascalorg/editor/pull/360)); stale registry + stair-opening tests updated ([#358](https://github.com/pascalorg/editor/pull/358))

### 🧰 Infrastructure

- CI: lint + typecheck workflow ([#369](https://github.com/pascalorg/editor/pull/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](https://github.com/pascalorg/editor/pull/389))
- Architecture: enforced layer boundaries β€” ceiling dispatch, store relocation, shared helpers ([#382](https://github.com/pascalorg/editor/pull/382)); MCP plan↔world coordinate convention documented ([#356](https://github.com/pascalorg/editor/pull/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](https://github.com/sudhir9297) β€” building-manipulation overhaul, alignment guides, level-scoped alignment & registry slab tool, layer-boundary architecture ([#388](https://github.com/pascalorg/editor/pull/388), [#372](https://github.com/pascalorg/editor/pull/372), [#373](https://github.com/pascalorg/editor/pull/373), [#382](https://github.com/pascalorg/editor/pull/382))
- [@wass08](https://github.com/wass08) β€” rooms & templates, the preset-system wave, studio mode, sound design, shadow improvements, and many fixes ([#390](https://github.com/pascalorg/editor/pull/390), [#387](https://github.com/pascalorg/editor/pull/387), [#385](https://github.com/pascalorg/editor/pull/385), [#378](https://github.com/pascalorg/editor/pull/378), [#364](https://github.com/pascalorg/editor/pull/364), [#357](https://github.com/pascalorg/editor/pull/357), [#354](https://github.com/pascalorg/editor/pull/354), [#341](https://github.com/pascalorg/editor/pull/341))
- [@anton-pascal](https://github.com/anton-pascal) β€” null-safety hardening wave across viewer, editor, and nodes ([#303](https://github.com/pascalorg/editor/pull/303), [#313](https://github.com/pascalorg/editor/pull/313), [#323](https://github.com/pascalorg/editor/pull/323), [#333](https://github.com/pascalorg/editor/pull/333), [#342](https://github.com/pascalorg/editor/pull/342))
- [@marcelgruber](https://github.com/marcelgruber) β€” MCP plan↔world coordinate convention docs ([#356](https://github.com/pascalorg/editor/pull/356))

**Full Changelog**: https://github.com/pascalorg/editor/compare/v0.9.0...v0.9.1