Changelog
What changed in each SpaceForge milestone.
v0.22.0
2026-03-16New
- Added progressive low-zoom decluttering for rooms and editing chrome
Behaviour
- Very small rooms now hide label pills and use room-body selection as a fallback
- Small rooms hide resize handles before hiding more essential selection visibility
- Room area text now appears only when the room is large enough on screen to support it cleanly
- Selected rooms remain visibly selected even when low-zoom decluttering is active
Improvements
- Large zoomed-out layouts are now calmer and easier to read
- Editing chrome is reduced when it becomes too small to be useful
v0.21.0
2026-03-16Improvements
- Fit View now works more reliably for larger drawings
- Zoom-out limits now adapt to the size of the current drawing
- Larger layouts can zoom out farther without making small layouts feel lost in empty space
Behaviour
- Small or empty drawings retain a comfortable zoom floor
- Larger drawings can lower the effective minimum zoom when needed
- Manual zoom and Fit View now use compatible drawing-aware zoom bounds
v0.20.1
2026-03-16Improvements
- Improved editor toolbar layout on small screens
- Moved the export signature field into Editor Settings under Export
- Kept key toolbar actions reachable on mobile with simplified icon-first controls
- Reduced mobile toolbar width pressure by removing the inline signature field
Behaviour
- Settings is now reachable on small screens
- Export signature is now configured from Editor Settings rather than directly in the toolbar
v0.20.0
2026-03-16New
- Added a measurement font size setting in Editor Settings
Behaviour
- Measurement text can now be shown in Normal or Large size
- The setting affects:
- room area beneath the room label pill
- draw-time dimension overlays
- resize-time dimension overlays
Improvements
- Measurement text scaling now adjusts related spacing and offsets to keep overlays balanced
- Settings controls now stack more cleanly on mobile and expand appropriately in the drawer
v0.19.0
2026-03-16New
- Hold Alt/Option to temporarily invert the dimensions visibility setting
Improvements
- Dimensions visibility can now be temporarily revealed or hidden during drawing and resizing
- Added inline discoverability hint in Editor Settings for the temporary override
Behaviour
- Temporary override affects draw-time segment dimensions
- Temporary override affects draw-time width/height previews
- Temporary override affects wall resize dimensions
- Temporary override affects corner resize dimensions
- Room area beneath the room label pill remains visible
v0.18.0
2026-03-16New
- Added a dimensions visibility setting in Editor Settings
Behaviour
- Dimensions visibility now controls measurement overlays during room drawing
- Dimensions visibility now controls measurement overlays during wall resizing
- Dimensions visibility now controls measurement overlays during corner resizing
- Room area beneath the room label pill remains visible regardless of the dimensions visibility setting
Improvements
- Measurement overlay visibility is now centrally controlled through editor settings
- Separation clarified between persistent room label metadata and temporary measurement overlays
v0.17.0
2026-03-16New
- Editor settings foundation introduced
- Settings button added to the editor toolbar
- Responsive settings surface with a dialog on desktop and a drawer on mobile
Improvements
- Global button press feedback now uses a subtle 0.97 press scale
- Disabled buttons now show a
not-allowedcursor - Improved accessibility for editor dialogs
- Introduced a responsive dialog wrapper for future settings and help surfaces
Architecture
- Added an editor settings model to the Zustand store
- Integrated settings persistence with the editor snapshot system
v0.16.0
2026-03-14Live wall dimensions
Wall dimensions now appear during drawing and resize, giving clear live measurement feedback without cluttering the canvas.
- Added metric wall dimension calculation and formatting helpers
- Displayed live width and height dimensions while drawing rooms
- Displayed one live dimension during edge resize
- Displayed two live dimensions during corner resize
- Updated dimensions continuously from preview geometry before commit
- Matched dimension styling to the SpaceForge measurement system
- Polished placement, consistency, and readability across active drawing and resize interactions
v0.15.0
2026-03-14Room area display
Rooms now display their calculated floor area directly on the canvas, making SpaceForge more useful for quick planning and sketching.
- Added metric room area calculation and formatting
- Introduced JetBrains Mono for measurement-style text
- Displayed room area beneath the room name in canvas labels
- Hid area text automatically on very small rooms to avoid clutter
- Polished two-line label layout and measurement readability
- Updated room area live during resize
- Added subtle live emphasis for area feedback during active resize
v0.14.0
2026-03-14Reset camera
Added a reset-camera action that reframes the canvas around the current layout, making it easy to get back to a sensible view.
- Added reset-camera / fit-to-rooms action
- Framed all rooms using shared outer bounds with comfortable padding
- Added a smooth animated camera transition
- Made reset-camera interruption-safe during manual pan and zoom
- Added a toolbar control for quick access
- Improved no-rooms behaviour and reset-camera robustness
v0.13.0
2026-03-14Room deletion
The editor now supports deleting the selected room, completing the basic room-edit loop.
- Added delete action for the selected room
- Added keyboard deletion with Delete and Backspace
- Prevented accidental deletion while typing in editable fields
- Integrated delete with undo/redo and persisted history
- Polished delete affordance in the selected-room panel
- Cleaned up focus and panel state after delete, undo, and redo
v0.12.0
2026-03-14Persisted undo/redo history
Undo and redo history now survives refresh and browser restart, making the editor feel much more trustworthy during active work.
- Persisted undo/redo history alongside layout and camera state
- Restored history position and redo availability after refresh
- Preserved branch-after-undo behaviour across reloads
- Added bounded history persistence to prevent unbounded storage growth
- Improved hydration safety with explicit fallback behaviour
- Valid layout/camera now restore even if persisted history is invalid
- Added a narrow debug helper for clearing persisted editor state
v0.11.0
2026-03-13Transform feedback
- Move and resize now share one coherent transform feedback system
- Active transforms keep the selected room anchored while the snapped destination preview moves independently
- Resize interactions now show the same original reference and destination feedback language as move
Polish
- Committed transforms now settle into place with a quick eased animation and a brief fading destination glow
- Room labels now animate with the settling room instead of jumping to the final position
- Transform pacing, easing, and glow tuning were tightened to make move and resize feel more consistent
Quality
- Transform preview state now clears more reliably across quick repeats, cancel paths, and end-of-interaction cleanup
- No changes to geometry rules, persistence, export, or undo/redo semantics
v0.10.0
2026-03-13New
- You can now drag a room by its label to move the whole room
- Room movement is now fully grid-aligned, matching the editor's existing snap behaviour
- Active label drags now show a subtle ghost silhouette of the room's starting position
Improvements
- Clicking a room label still selects normally, with a small pointer threshold before drag begins
- Whole-room movement preserves room shape exactly while previewing the snapped destination live
- Each label drag still commits as one clean undoable move instead of multiple history entries
Quality
- Fixed a hydration mismatch on refresh when persisted editor state restored moved rooms on the client
- Move interaction feedback now clears cleanly on pointer up, cancel, blur, and missing-room failure paths
v0.9.0
2026-03-12Export
- PNG export framing now auto-fits to actual room layout bounds instead of the live viewport
- Added export framing polish for very small layouts to keep composition visually balanced
- Export centering and spacing are tuned to keep breathing room, including when signatures are present
Quality
- Export PNG is now disabled on empty canvases to prevent blank downloads
- Disabled export state now explains the requirement with a tooltip: "Draw a room before exporting."
Internal
- Added reusable layout-bounds utilities for export composition
- Introduced dedicated auto-fit export framing utility for content-based camera setup
v0.8.0
2026-03-12New
- Added contextual onboarding hints for drawing, selection, resize, undo, export, and panning
- Hints now persist dismissed and completed state locally
- Added a final panning hint with workspace navigation guidance
Improvements
- Hint cards now use stronger contrast and subtle enter/exit transitions
- Newly created rooms are selected immediately and ready for instant renaming
- Drawing mode now shows a crosshair cursor for clearer affordance
- Wall edge hover highlight and refined resize cursors improve resize discoverability
- Wall and corner snap previews now interpolate briefly for smoother drag feel
Export
- PNG exports now omit selection-specific UI for cleaner output
- Live editor selection state remains unchanged during export
v0.7.0
2026-03-11New
- Export layouts as PNG images
- Theme-aware exports for light and dark mode
- Clean export composition with intentional padding
- Optional "Designed by [name]" signature for exported images
Improvements
- Export grid is simplified for clarity and shareability
- Export images now feel cleaner than raw canvas screenshots
Internal
- Introduced a dedicated export composition pipeline
- Isolated PNG export utility for reuse
- Export rendering decoupled from live canvas rendering
v0.6.0
2026-03-11Major improvements
- Layouts now persist automatically in the browser
- Refreshing the page restores your layout
- Camera position and zoom are restored with the layout
- Autosave runs automatically during editing
- Autosave now flushes when the page is refreshed or closed
New
- Reset canvas action with confirmation dialog
Internal
- Versioned editor persistence layer
- Debounced autosave system
- Camera state synchronised with editor viewport
- Safe localStorage hydration with corruption protection
v0.5.0
2026-03-09- Added wall resize handles for selected rooms
- Added corner resize handles for faster room reshaping
- Resizing now snaps cleanly to the grid
- Room resizing can be undone and redone
- Improved handle hover states and resize cursors
- Sharpened room label rendering on the canvas
v0.4.0
2026-03-09- Added undo and redo support with a simple command history
- Undo and redo now cover completed rooms and room renaming
- Selection and deselection changes can now be undone and redone
- Added editor toolbar buttons for undo and redo with disabled states
- Added keyboard shortcuts: Cmd/Ctrl+Z, Shift+Cmd+Z, Ctrl+Shift+Z, and Ctrl+Y
v0.3.0
2026-03-09- Added room selection to the editor
- Added room names directly on the plan
- Added a simple panel to rename the selected room
- Improved the flow between selecting rooms and drawing new ones
- Made room selection feel more intentional and easier to control
v0.2.0
2026-03-09- Added the first room drawing flow
- You can now place snapped corners to create a rectangular room
- Added a live drawing preview while placing walls
- Added blue interactive editor visuals for drawing
- Added a manual light and dark theme switch
- Kept smooth pan and zoom controls while drawing
v0.1.0
2026-03-09- Set up the SpaceForge project foundation
- Added the first PixiJS editor canvas
- Rendered the first grid background
- Introduced light and dark mode foundations
- Started shaping the editor route and product structure