v0.9.0

kroko-ai/kroko-onnxv0.9.0May 27, 2026by Aymericr

AI Summary

This release features the node-registry plugin architecture, in-world selection handles, a full IFC to Pascal importer, Solid/Rendered render modes, an elevator system, and an expanded material library.

Key Highlights

  • In-world selection handles for various elements
  • IFC → Pascal converter package
  • Viewer render modes (Solid/Rendered toggle)
  • Elevator system with controls
  • Node registry and plugin architecture

New Features

  • In-world selection handles
  • IFC importer
  • Solid/Rendered render modes
  • Elevator system
  • Node registry architecture
  • Stair opening system
  • Material library expansion

Full Release Notes

## 🏗️ 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.handles` descriptor and `EditorApi` IoC interface ([#334](https://github.com/pascalorg/editor/pull/334))
- **Viewer render modes** — Solid / Rendered toggle, surface-role clay materials, scene themes (light / dark), textured surfaces, edge + ink pass ([#332](https://github.com/pascalorg/editor/pull/332))
- **Six roof accessories** — chimney, dormer, skylight, solar-panel, ridge-vent, box-vent as first-class `NodeDefinition` kinds with CSG roof cuts ([#330](https://github.com/pascalorg/editor/pull/330))
- **IFC → Pascal converter** — new `packages/ifc-converter` package and `apps/ifc-converter` app; imports IFCWALL dimensions and profile-typed columns ([#324](https://github.com/pascalorg/editor/pull/324))
- **Elevator system** — full floorplan overlay, cab door controls, runtime, first-person support, and viewer rebuild handling ([#305](https://github.com/pascalorg/editor/pull/305), [#307](https://github.com/pascalorg/editor/pull/307))
- **Node registry & plugin architecture** — `NodeDefinition` registry, per-kind `packages/nodes` structure, plugin-authoring guide ([#314](https://github.com/pascalorg/editor/pull/314))
- **Stair opening system** — automatic stair-hole updates, spiral stair openings clamped at full sweep ([#315](https://github.com/pascalorg/editor/pull/315))
- **Material library** — brick, stone, terrazzo, tile, parquet and wood textures; roofing and flooring catalog refactor ([#315](https://github.com/pascalorg/editor/pull/315))
- **Procedural column variants** — editor copy/paste and wall junction planning improvements ([#302](https://github.com/pascalorg/editor/pull/302))
- **Wall-driven auto slab + ceiling sync** — pause/resume primitive for programmatic batch edits ([#336](https://github.com/pascalorg/editor/pull/336))
- **Load Build verification dialog** — gate destructive load behind a confirmation step ([#320](https://github.com/pascalorg/editor/pull/320))

### 🐛 Fixes

- MCP: templates now use string IDs for `SiteNode.children` ([#326](https://github.com/pascalorg/editor/pull/326), [#325](https://github.com/pascalorg/editor/pull/325))
- Fence tool handlers restored after null-guard regression ([#318](https://github.com/pascalorg/editor/pull/318))
- IFC converter: broken Contributions GitHub URL ([#335](https://github.com/pascalorg/editor/pull/335))
- Max panel height overflow ([#304](https://github.com/pascalorg/editor/pull/304))
- Performance: lighter materials, reduced viewer rendering cost ([#306](https://github.com/pascalorg/editor/pull/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](https://github.com/sudhir9297) — in-world selection handles, roof accessories, elevator system, column variants ([#334](https://github.com/pascalorg/editor/pull/334), [#330](https://github.com/pascalorg/editor/pull/330), [#305](https://github.com/pascalorg/editor/pull/305), [#302](https://github.com/pascalorg/editor/pull/302))
- [@wass08](https://github.com/wass08) — viewer render modes, IFC converter, node registry, and many fixes ([#332](https://github.com/pascalorg/editor/pull/332), [#324](https://github.com/pascalorg/editor/pull/324), [#314](https://github.com/pascalorg/editor/pull/314), [#336](https://github.com/pascalorg/editor/pull/336), [#320](https://github.com/pascalorg/editor/pull/320), [#318](https://github.com/pascalorg/editor/pull/318), [#307](https://github.com/pascalorg/editor/pull/307), [#306](https://github.com/pascalorg/editor/pull/306), [#304](https://github.com/pascalorg/editor/pull/304))
- [@jelharou](https://github.com/jelharou) — MCP string-ID fix for `SiteNode.children` ([#326](https://github.com/pascalorg/editor/pull/326))

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