-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Releases: pascalorg/editor
v0.9.1 β Preset System, Rooms & Templates, Building Manipulation
ποΈ 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
Assets 2
v0.9.0 β In-World Handles, Render Modes & IFC Importer
ποΈ Pascal Editor v0.9.0 β In-World Handles, Render Modes & IFC Importer
This release ships the node-registry plugin architecture, in-world selection handles, a full IFC β Pascal importer, Solid/Rendered render modes, six roof accessories, a complete elevator system, and an expanded material library.
β¨ Features
- In-world selection handles β resize arrows and floorplan move handles for wall, door, window, stair, fence, elevator, column, shelf, roof segments, slab, and ceiling. New
NodeDefinition.handlesdescriptor andEditorApiIoC interface (#334) - Viewer render modes β Solid / Rendered toggle, surface-role clay materials, scene themes (light / dark), textured surfaces, edge + ink pass (#332)
- Six roof accessories β chimney, dormer, skylight, solar-panel, ridge-vent, box-vent as first-class
NodeDefinitionkinds with CSG roof cuts (#330) - IFC β Pascal converter β new
packages/ifc-converterpackage andapps/ifc-converterapp; imports IFCWALL dimensions and profile-typed columns (#324) - Elevator system β full floorplan overlay, cab door controls, runtime, first-person support, and viewer rebuild handling (#305, #307)
- Node registry & plugin architecture β
NodeDefinitionregistry, per-kindpackages/nodesstructure, plugin-authoring guide (#314) - Stair opening system β automatic stair-hole updates, spiral stair openings clamped at full sweep (#315)
- Material library β brick, stone, terrazzo, tile, parquet and wood textures; roofing and flooring catalog refactor (#315)
- Procedural column variants β editor copy/paste and wall junction planning improvements (#302)
- Wall-driven auto slab + ceiling sync β pause/resume primitive for programmatic batch edits (#336)
- Load Build verification dialog β gate destructive load behind a confirmation step (#320)
π Fixes
- MCP: templates now use string IDs for
SiteNode.children(#326, #325) - Fence tool handlers restored after null-guard regression (#318)
- IFC converter: broken Contributions GitHub URL (#335)
- Max panel height overflow (#304)
- Performance: lighter materials, reduced viewer rendering cost (#306)
π¦ Packages
| Package | Version |
|---|---|
@pascal-app/core |
0.9.0 |
@pascal-app/viewer |
0.9.0 |
@pascal-app/editor |
0.9.0 |
@pascal-app/mcp |
0.3.0 |
@pascal-app/ifc-converter |
0.1.0 β new package |
π Contributors
A huge thank you to our contributors for this release!
- @sudhir9297 β in-world selection handles, roof accessories, elevator system, column variants (#334, #330, #305, #302)
- @wass08 β viewer render modes, IFC converter, node registry, and many fixes (#332, #324, #314, #336, #320, #318, #307, #306, #304)
- @jelharou β MCP string-ID fix for
SiteNode.children(#326)
Full Changelog: v0.8.0...v0.9.0
Assets 2
v0.8.0 β Community Sync & MCP on npm
π Pascal Editor v0.8.0 β Community Sync & MCP on npm
This release brings our community-driven improvements into the open-source packages, and marks the first public npm release of @pascal-app/mcp β the Model Context Protocol server for Pascal.
π¦ New Package: @pascal-app/mcp
@pascal-app/mcp is now available on npm!
npm install @pascal-app/mcp
The MCP server exposes the Pascal scene graph to AI hosts (Claude Desktop, Cursor, and any MCP-compatible client) via the Model Context Protocol. It ships with:
- 19 MCP tools β scene querying, mutation, undo/redo, export, validation, and vision
- 4 MCP resources β current scene, summary, item catalog, and level constraints
- 3 MCP prompts β
from_brief,iterate_on_feedback,renovation_from_photos - stdio and Streamable HTTP transports
pascal-mcpCLI binary with--stdio,--http, and--sceneflags- Local
SqliteSceneStorebacked by built-in SQLite (Bun/Node), shared across MCP and the editor viaPASCAL_DATA_DIR/PASCAL_DB_PATH
β¨ Changes
- Item catalog schema β items now carry
source(library|community|mine) andisDraftfields, enabling the editor's Library / Community / Mine filter panel - Grid events β
GridEventgainsfaceIndexandobjectfields for more precise hit-testing - Material library β typed target-set constants (
WALL_TARGETS,STAIR_TARGETS, etc.) for the material paint mode - Stair system β overhauled renderer with improved geometry and material handling
- First-person controls β BVH collider improvements and more reliable character movement
- Guide system β updated snapping and measurement guides
- Scan system β improved point-cloud handling
- Shared elevation styles β new
styles/elevation.cssusable across apps - Build β hoisted platform-specific optional native packages at the root; TypeScript import type cleanup throughout
π Fixes
- CSG geometry disposal in wall generation (memory leak fix)
- Stair opening sync stability
- Wall curve and mitering edge cases
- Space detection improvements
π¦ Packages
| Package | Version |
|---|---|
@pascal-app/core |
0.8.0 |
@pascal-app/viewer |
0.8.0 |
@pascal-app/editor |
0.8.0 |
@pascal-app/mcp |
0.2.0 β first public release |
Assets 2
v0.7.0
π Pascal Editor v0.7.0
A major feature release with significant expansions to the door and window systems, a new column node, material paint mode, improved 2D editor, and MCP server support.
β¨ Features
- Expanded door system β garage door types, interior door variants, animated open/close, swing angles, frameless openings, dual-side handles, and first-person collider support (#292, #293)
- Expanded window system β multiple window types (casement, awning, bay, etc.), animated open/close, first-person window interaction, shape-specific settings, and bay caps (#292, #295)
- Column node β new procedural column type in core schema with full preset system: shaft profiles (straight, tapered, bulged), base/capital styles, fluting, spiral detail, and more (#292)
- Material paint mode β dedicated paint workflow for applying materials directly to scene elements with category-based compatibility (#271)
- Improved 2D floorplan editor β synchronized 2Dβ3D architecture, better interaction accuracy, reference floor overlay, side resizing handles, and feature parity across all element types (#277, #286)
- Precise item dimensions β static bounding boxes replace runtime mesh-based computation; grid-aligned placement with consistent footprints (#290)
- Spawn node β new spawn point node type in core schema with first-person and scene support
- Draggable level reordering β drag-and-drop floor ordering in the level selector (#286)
- Lower floor reference overlay β reference previous floor levels while editing (#286)
- Floorplan thumbnails β updated item catalog with floorplan images (#283)
- MCP server β new
@pascal-app/mcppackage exposing the Pascal scene graph to AI hosts (Claude Desktop, Cursor, etc.) via the Model Context Protocol (#264)
π Fixes
- WebGPU renderer race condition on Canvas remount and duplicate item scale loss (#284)
- Item surface placement and placement preview stability (#296)
- Floorplan player move and action menu anchoring
- First-person door toggles and colliders
- Curved wall and fence angle measurements
- Level duplication and node normalization
β οΈ Breaking Changes
FenceSystem,CeilingSystem,DoorSystem,ItemSystem,RoofSystem,SlabSystem,StairSystem,WallSystem,WindowSystemhave been moved out of@pascal-app/core(import from@pascal-app/vieweror@pascal-app/editorinstead)baseMaterialandglassMaterialremoved from@pascal-app/coreexportsSSGI_PARAMSremoved from@pascal-app/viewerexports (replaced byHoverStyle/HoverStyles)
π¦ Packages
@pascal-app/core@0.7.0@pascal-app/viewer@0.7.0@pascal-app/editor@0.7.0
π Contributors
A huge thank you to our community contributors!
- @sudhir9297 β door system, window system, column node, 2D editor improvements, and more
- @AdrianPerez3 β MCP server package
Full Changelog: v0.6.0...v0.7.0
Assets 2
v0.6.0
c0021ce π Pascal Editor v0.6.0
A major feature release with new building tools, material editing, and quality-of-life improvements.
β¨ Features
- Multi-surface material system β per-surface materials for walls, stairs, roofs with click-targeted 3D editing (#266)
- Automatic wall-room generation β closed wall loops auto-split and generate slabs (#255, #257)
- Stair-slab integration β stair-driven cutouts in slabs and ceilings
- Full curved fence support + endpoint move tools (#267)
- Grid snap toolbar controls
- Auto ceilings from wall loops
- 13 new material presets β granite, marble, parquet, wallpaper, wood varieties
π Fixes
- Robust undo/redo with nested history pause/resume β no more drag flooding
- WebGPU renderer init fixes, post-processing stability (#233, #234)
- Improved snapping across all geometry types
- Prevent crash when duplicating elements (#239)
- Fix editor furnish item initialization (#237)
- Move tools reliability improvements (#259)
- Thumbnails, placement, and responsiveness improvements
π¦ Packages
@pascal-app/core@0.6.0@pascal-app/viewer@0.6.0@pascal-app/editor@0.6.0
π Contributors
A huge thank you to our community contributors!
- @sudhir9297 β material system, wall-room generation, curved fences, stair cutouts, and more
- @b9llach β WebGPU renderer fixes and post-processing stability
- @RoshWarrier β editor initialization fix
- @nnhhoang β duplicate elements crash fix
- @wass08 β move tools fixes
Full Changelog: v0.5.1...v0.6.0
Assets 2
v0.5.1 β Stability fixes, thumbnails, and cut-out controls
Highlights
- add cut-out controls for slabs and ceilings (#224)
- improve thumbnails and reduce editor rerenders (#225)
- fix viewer post-processing recovery after duplicate scene mutations (#228)
- guard null selected item during item tool placement (#229)
Published packages
@pascal-app/core@0.5.1@pascal-app/viewer@0.5.1@pascal-app/editor@0.5.1
What's Changed
- feat(editor): add cut-out button to floating action menu for slabs and ceilings by @open-pascal in #224
- feat: improve thumbnails and reduce editor rerenders by @open-pascal in #225
- Feat/stairs fence update by @sudhir9297 in #226
- fix: recover viewer post-processing after duplicate scene mutations by @open-pascal in #228
- fix: guard null selected item during item tool placement by @open-pascal in #229
New Contributors
- @sudhir9297 made their first contribution in #226
Full Changelog: v0.5.0...v0.5.1
Assets 2
v0.5.0 β Move/Rotate Building & Relative Positioning
Architecture
- Building-relative coordinate system via
GridEvent.localPosition ToolManagerruns building-relative tools inside a building-local<group>- Placement coordinator adds
worldToBuildingLocalconversion for cursor positioning
Features
- Move/rotate building tool with grid snapping,
R/Trotation, andEsccancel - Floating building action menu with a move action for selected buildings
- Building helper overlay with keyboard shortcut hints
BuildingRenderernow applies persisted buildingpositionandrotation- Wall, slab, ceiling, stair, roof, zone, polygon editor, and placement flows now use building-local coordinates
- 2D floorplan rendering now follows building rotation correctly
Fixes
- Pointer-to-plan conversion now un-rotates correctly when a building is rotated
- 2D grid events now include
localPosition
Packages
@pascal-app/core@0.5.0@pascal-app/viewer@0.5.0@pascal-app/editor@0.4.0(unchanged)
Full Changelog: v0.4.0...v0.5.0
Assets 2
v0.4.0 β 2D/3D Decoupling, UX Parity, Crash Fixes
Architecture
useLiveTransformsstore β New lightweight Zustand store in@pascal-app/corethat holds ephemeral node positions during drag operations. Decouples the 2D floorplan panel from the 3D scene graph. The floorplan no longer imports from Three.js.- Enables future standalone 2D mode and bidirectional split-view editing.
Features
- 2D stair rendering with tread lines and direction arrows in the floorplan
- Item footprint rendering in floorplan with rotated bounding boxes and diagonal cross marks
- Selection highlight system β indigo/purple tint on selected meshes in 3D
- Delete tool UX β
Dkey shortcut, red material hover, floating trash cursor badge - Furnish mode (
Fkey) and Zone mode (Zkey) in the action bar - Upload + delete for guides/scans in view toggles
- Stair/stair-segment support in the floating action menu (select, duplicate, delete, move)
- Box-select now includes stair nodes (bounding box intersection)
- Slider precision adapts to modifier key step size (shift/alt)
- Editor layout redesign v2 with 3D box select
- Infinity dragging slider via PointerLock API
- Stair system, scene graph utilities, read-only mode
Bug Fixes
- Fix three-mesh-bvh crash from materialIndex overflow (Sentry EDITOR-M/B, 7,600 events)
- Camera controls null guards β prevents crash on setLookAt/getTarget/moveTo (Sentry EDITOR-G)
- Pointer lock feature detection for Facebook/Instagram in-app browsers (Sentry EDITOR-6)
- Suppress THREE.Clock deprecation warning from R3F 9.x
- Fix stair elevations syncing with floor slabs
- Release scene singletons on Editor unmount
- Wall-side item bounding box offset fix
Packages
@pascal-app/core@0.4.0@pascal-app/viewer@0.4.0@pascal-app/editor@0.4.0
Full Changelog: v0.3.3...v0.4.0
Assets 2
v0.3.3
Bug Fixes
Ceiling Transparency Fix (#205)
- Scenes created before v0.3.2 (before the material system) had opaque ceilings instead of the transparent grid pattern
- The ceiling renderer now uses
resolveMaterial()to always produce the correct transparent materials, regardless of whether a material config exists on the node
New Features
Export Scene β GLB, STL, OBJ (#203 by @thiago-lopes-dev)
- New
ExportSystemcomponent wires up the existing export buttons in the settings panel - Strips editor-only objects before export for clean output
- Supports GLB (binary glTF), STL, and OBJ formats
- Closes #197
Contributors
Thanks to our open source contributors! π
Assets 2
v0.3.2
What's new
Material System (#201 by @PMAT77)
- New
MaterialSchemawith presets (brick, concrete, wood, glass, metal, plaster, tile, marble) and custom properties - Material picker UI in all element panels (wall, ceiling, slab, door, window, roof)
- Fixes wall color resetting to white on camera move
- Material caching for performance
Walkthrough Mode (#173 by @Yashism)
- First-person street view mode with WASD + mouse look
- Sprint (Shift), vertical movement (Q/E), pointer lock
- Accessible from camera actions menu
- ESC to exit back to editor
Duplicate Project (#178 by @kleenkanteen)
- Clone any project with a single click
Editable Wall Length (#195 by @thiago-lopes-dev)
- Wall length slider in the properties panel
Counter-Clockwise Rotation (#184 by @nnhhoang)
- Press T to rotate selected nodes counter-clockwise
Wall & Slab Deletion (#180 by @nnhhoang)
- Delete walls and slabs via the floating action menu
Catalog Image Optimization (#189 by @korvixhq)
- Added sizes and loading props to catalog item images
Other
- Encourage screen recordings in PR and bug report templates (#202)
- Scene graph cloning utility
Contributors
Thanks to all our open source contributors for this release! π
@PMAT77 Β· @Yashism Β· @kleenkanteen Β· @thiago-lopes-dev Β· @nnhhoang Β· @korvixhq