# @nice2dev/ui-3d — Changelog

All notable changes to the 3D model editor package.

## [Unreleased] — OmniVerk Professional Roadmap

### Planned — Spatial/CAD Integration (PRO-2)

- **Shared Object Model** — wspólne typy SpatialObject3D dla edytorów 2D i 3D
- **2D↔3D Extrusion** — automatyczna ekstruzja z floor plan do modelu 3D
- **3D→2D Projection** — rzutowanie 3D na plan piętra
- **Quick Switch** — przycisk "Edit in 2D/3D" z zachowaniem kontekstu
- **Split View Mode** — równoczesna edycja 2D/3D obok siebie
- **Cross-Editor Undo** — wspólny undo stack między edytorami

### Planned — Professional CAD Features (PRO-2.3)

- **Parametric Constraints** — wymiarowe ograniczenia (prostopadłość, równoległość)
- **Boolean Operations** — union, subtract, intersect z podglądem
- **Section Views** — przekroje z kreskowaniem
- **Drawing Sheets** — eksport technicznych rysunków (DXF/DWG/PDF)
- **BOM Generation** — automatyczne zestawienia materiałów

### Planned — BIM/AEC Features (PRO-2.4)

- **IFC Import/Export** — pełna obsługa Industry Foundation Classes
- **MEP Routing** — HVAC, hydraulika, elektryka
- **Clash Detection** — wykrywanie kolizji między systemami

---

## [1.0.1] — 2026-03-25

### Added (FAZA 7.3)

- **UV Editor** — texture mapping on 3D models
- **Node-based material editor** — visual shader creation (node graph)
- **Armature/Rig editor** — skeleton editing
- **Weight painting** — bone influence painting on vertices
- **Morph targets / blend shapes** — face animations
- **Map/Level/Terrain editor** — scene/map creation from 3D elements, save/load
- **Physics simulation** — Ammo.js / Rapier integration
- **Particle systems editor** — particle effect creation
- **Procedural geometry** — tree, terrain, building generation
- **VR/AR preview mode** — WebXR scene preview
- **Octree ray-casting** — faster collision detection for large scenes
- **WebGPU renderer** — Three.js r170+ WebGPU backend
- **Real-time shadows** — CSM, PCF soft shadows
- **Screen-space reflections (SSR)** — screen-space reflections
- **Ambient occlusion (SSAO/HBAO)** — ambient lighting
- **Render to PNG/EXR** — render export with transparency

### Tests

- 89 unit tests in 5 files: sceneGraph CRUD, transformMath, materialEditor, uvEditor, particleEditor
- E2E tests: wireframe preview, tabs, features, formats

---

## [1.0.0] — 2025-06-01

Initial production release — Blender-style 3D model editor powered by Three.js.

- Scene graph / hierarchy editor
- Transform gizmos (move, rotate, scale)
- Material editor (PBR, standard)
- Import: GLTF, GLB, OBJ, FBX, STL, 3DS
- Export: GLTF, GLB, OBJ, STL
- Light presets, environment maps
- Camera controls (orbit, fly, walk)

All notable changes to `@nice2dev/ui-3d` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

---

## [1.1.0] — 2026-06-16

### 🚀 Major Feature Release

CAD mode, Sims-style building mode, dance integration, and full editor decomposition.

### New Modes

- **CAD Mode** (`cadModeUtils.ts`) — precision engineering mode with snapping, measurement tools, constraints, dimensioning
- **Sims Building Mode** (`simsModeUtils.ts`) — room-based building with wall placement, floor plans, furniture snapping, grid alignment

### Dance Integration (`dance/`)

- **DanceBridge** — bridge layer for connecting pose data to 3D animations
- **DanceScoreEngine** — real-time dance scoring with hit detection and combo tracking
- **PoseDetector** — webcam-based human pose detection component for dance games

### Editor Sub-components

- **ModelEditorLeftPanel** — scene hierarchy and asset browser sidebar
- **ModelEditorMenuBar** — file/edit/view/tools menu bar
- **ModelEditorRightPanel** — properties inspector panel
- **ModelEditorSubComponents** — shared editor sub-components
- **ModelEditorTimeline** — keyframe animation timeline
- **ModelEditorToolbar** — toolbar with transform and tool selection
- **ModelEditorViewport** — 3D viewport with gizmos and selection
- **ModelViewer.module.css / ModelEditor.module.css** — CSS Modules styling

### Hooks

- `useModelEditor` — hook for editor state management (selection, tools, undo/redo)
- `useModelViewer` — hook for viewer state (camera, loading, materials)

### Utilities

- `modelEditorTypes.ts` — TypeScript types for all editor state and operations
- `modelEditorUtils.ts` — helper utilities (transforms, intersections, serialization)
- `editorShortcuts.ts` — keyboard shortcut definitions and handler registration

### i18n

- Added internationalization support (`core/i18n.tsx`) with translatable editor labels

---

## [1.0.0] — 2026-03-17

### 🧊 Initial Release

First stable release of `@nice2dev/ui-3d` — a Blender-style 3D model editor component for React.

### Features

- **Nice3DModelEditor** — full-featured 3D editor with scene tree, inspector, viewport
- **Nice3DModelViewer** — lighter read-only 3D viewer for embedding
- **Format support** — glTF, GLB, FBX, OBJ import/export
- **PBR Materials** — physically-based rendering with metallic-roughness workflow
- **Transform controls** — translate, rotate, scale gizmos
- **Camera** — orbit, pan, zoom with perspective/orthographic toggle
- **Lighting** — ambient, directional, point, spot light support
- **Scene hierarchy** — tree view with drag-and-drop reordering
