[s]paceforge

Changelog

What changed in each SpaceForge milestone.

v0.22.0

2026-03-16

New

  • 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-16

Improvements

  • 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-16

Improvements

  • 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-16

New

  • 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-16

New

  • 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-16

New

  • 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-16

New

  • 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-allowed cursor
  • 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-14

Live 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-14

Room 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-14

Reset 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-14

Room 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-14

Persisted 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-13

Transform 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-13

New

  • 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-12

Export

  • 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-12

New

  • 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-11

New

  • 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-11

Major 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