81 Commits

Author SHA1 Message Date
Aymeric Rabot
441517424d
Feat/ux polish round2 (#123)
* Polish editor UI, radio, and state logic

Multiple UI and state updates across the editor and viewer:

- PascalRadio: Move radio play state into audio store (isRadioPlaying), update icons/behaviors (Volume2/VolumeX), remove autoplay UI, ensure pause/resume respects muted and radio playing state.
- use-audio: Add isRadioPlaying, setRadioPlaying and toggleRadioPlaying to store; initialize state accordingly.
- Action menu: Add layout/motion to container, refine transition, only show furnish/structure rows in build mode, tweak transition classes and hover/opacity behavior.
- Furnish/Structure tools: Simplify inactive styling, change click behavior to only select tools (no direct deselect), remove "click to deselect" tooltip text.
- Sidebar/Icon rail: Update logo link styling and image sizing; AppSidebar: add inline editable project title (optimistic local update + server update via updateProjectName), keyboard handling, and minor header layout changes.
- Site panel: Add visual tree/branch lines, replace some icons, reorganize levels list and provide an Add level button, adjust spacing and layout for property/levels sections.
- InlineRenameInput: Small height/spacing adjustments for inline inputs.
- use-editor: Reset mode to 'select' when switching phases, ensure reasonable default tools when entering build mode, simplify setStructureLayer to reset mode/tool and viewer selection.
- use-viewer: Improve selection hierarchy guard so children are only reset when not explicitly provided in updates.

These changes improve UX consistency, state predictability when switching modes, and add inline project renaming with optimistic update.

* Introduce isEditor mode and editor UX updates

Add an isEditor flag (Viewer prop + store) and wire it from the Editor to enable editor-specific behaviors. Ceiling system: show ceiling grids per-level (or when ceiling tool active) by walking node ancestry and respecting active level/selection. Zone renderer: only show site edge labels in editor and add inline editable zone names (with hover/edit UI and save/escape handling). Auto-name new walls/doors/windows (incremental counts scoped by level) and simplify default names shown in various panels/tree nodes. Sidebar/site-panel: reverse level rendering, adjust tree-line styling, auto-expand parents when descendants are selected, and refactor zone row actions (camera view/capture/clear). UI polish: updated action-menu button styles and ensure keyboard shortcut 'b' switches to build mode. Misc: various tree node and item selection/hover improvements and minor refactors to support the above.

* Fix sidebar flex layout and scrolling

Adjust sidebar panel flexbox classes to ensure headers/controls don't collapse and content areas scroll correctly. Changes include adding shrink-0, flex-1 and min-h-0 to BuildingItem and buildings list containers, restructuring the active building panel so LevelsSection/LayerToggle are fixed height while ContentSection gets an overflow-y-auto scroll area, and making the site header non-shrinking with conditional overflow for the main panel when phase === "site". Uses the cn helper for conditional classes.

* Fix TypeScript build errors with AnyNodeId indexing and type narrowing

Cast string-typed node IDs and parentIds to AnyNodeId when indexing
into the nodes Record, fix motion transition type literal, and remove
redundant mode check in setMode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 01:05:34 -05:00
wass08
01d4a28e56 fix scale not defined 2026-02-26 13:14:52 +09:00
wass08
ced76b0475 fix placement 2026-02-25 15:21:19 +09:00
wass08
b114e60df7 fix hinge + materials 2026-02-25 14:50:17 +09:00
wass08
27e4afb757 draft custom door 2026-02-25 13:28:42 +09:00
wass08
53ed21ba0b fixed ceiling item not selectable in viewer 2026-02-25 09:33:31 +09:00
wass08
8a0c7d31cc default scale top grid ceiling for viewer 2026-02-25 09:28:47 +09:00
wass08
c53f1f9679 ceiling system + reveal/hide 2026-02-25 08:59:04 +09:00
wass08
9b9398c5ff remove ceiling from depthcalc 2026-02-25 07:35:03 +09:00
wass08
14708c041a fix tools visibility 2026-02-24 16:09:03 +09:00
wass08
28b44fe92d fix zones 2026-02-24 12:46:27 +09:00
wass08
6581e25e9f handle better item scales 2026-02-23 11:11:22 +09:00
wass08
d15f601107 item scale 2026-02-23 10:59:42 +09:00
wass08
4572c36da5 threejs version upgrade #91 2026-02-20 16:17:56 +09:00
wass08
e8fcc840d5 surface placement 2026-02-18 16:26:17 +09:00
wass08
c0676f684e item surfaces 2026-02-18 16:06:23 +09:00
wass08
076faae7df window building 2026-02-18 10:41:12 +09:00
wass08
dd5f63df64 wall tool draft 2026-02-17 16:22:45 +09:00
wass08
13fd1848d1 polish catalog 2026-02-17 14:23:02 +09:00
wass08
a5dc766b1a adding default shadows even without ground 2026-02-17 13:12:31 +09:00
wass08
144a2bd18f camera controls enhancement 2026-02-17 08:52:58 +09:00
wass08
6f4ba92862 reduce a bit noise 2026-02-16 08:43:04 +09:00
wass08
251f73250b polish ceiling 2026-02-10 14:42:29 +09:00
wass08
01de83f628 loading asset handler 2026-02-10 13:40:49 +09:00
wass08
cba709cb81 bring back site edition + zindex fix 2026-02-09 16:11:50 +09:00
wass08
b80db63ca6 limit dpr 2026-02-09 15:33:07 +09:00
wass08
7454220e50 performance ssgi 2026-02-09 15:30:52 +09:00
wass08
8876776c0f hovered zones system 2026-02-09 14:25:36 +09:00
wass08
40e3ce8d84 site boundary editor 2026-02-05 15:07:49 +09:00
wass08
39f9f595d8 scene starting with site and not with building anymore 2026-02-05 14:42:46 +09:00
wass08
3579dccf9a fix opacity 3d scans 2026-02-05 10:22:06 +09:00
wass08
e776ce9849 cdn and packages building 2026-02-04 09:53:44 +09:00
wass08
4a7d096665 ssgi + ao 2026-02-03 15:50:28 +09:00
wass08
66463f3526 ssgi + ao 2026-02-03 15:50:09 +09:00
wass08
b27f44d685 wall cutout 2026-02-03 13:45:56 +09:00
wass08
05ce0323e2 gable-roof back 2026-02-02 14:48:36 +09:00
wass08
4f75c9b750 soft shadows & lighting 2026-02-02 14:22:21 +09:00
wass08
549bfb3f29 handle visible/invisible items 2026-02-02 10:33:36 +09:00
wass08
92cc1a9c2c fix selection 2026-01-30 09:34:26 +09:00
wass08
bda893fcf5 excellent selection 2026-01-30 09:01:17 +09:00
wass08
be6a766586 better selection-manager 2026-01-30 08:43:45 +09:00
wass08
8edcda1b75 default seleciton manager 2026-01-30 08:30:57 +09:00
wass08
498da300db export / load json 2026-01-30 07:48:52 +09:00
wass08
edb2b181c2 new items 2026-01-29 16:17:35 +09:00
wass08
9c185c4d33 fix slab detection for wall 2026-01-29 15:08:57 +09:00
wass08
916097733f text for zones 2026-01-29 14:52:15 +09:00
wass08
9501971c80 fix drag zone issue 2026-01-29 13:25:16 +09:00
wass08
f1a61350c7 roof 2026-01-29 12:52:35 +09:00
wass08
915eedcbce controls for camera / guides / scans / levels 2026-01-29 10:39:19 +09:00
wass08
f4125db6a8 control bar 2026-01-29 10:14:40 +09:00