Releases: kapuchai/homeplanr
Releases · kapuchai/homeplanr
Release list
homeplanr v0.13.0
0.13.0 tuning: user feedback round 4 — close the inter-storey facade gap
The slab between storeys is built from ROOM polygons (the walls' INNER
faces), so along the whole facade a SLAB_THICKNESS-tall slot stayed open
between the lower storey's wall tops and the upper storey's wall bottoms
— stacked walls read disconnected, and under realistic lighting interior
light leaked out through the band ("light passing through, visible
outside"). Every UPPER storey now renders a WallBaseBand: its wall
footprints + junction patches extruded down through the slab band
(z −SLAB_THICKNESS..0), closing the perimeter flush with the storey's
own walls. Setbacks still show the honest slab edge; single-storey
documents are untouched (band renders only above ground — baselines
green). Probe-verified under the evening sun: continuous facade, no slot.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
homeplanr v0.12.0
0.12.0 tuning 3: kitchen-sink basin z-fight — same-direction coplanar…
homeplanr v0.11.0
M9 (0.11.0): one-click FPS walk — user-feedback rework + cursor hide User feedback round 1: no floor pick, no look-mode/sensitivity settings — the Walk button alone must enter first-person with the cursor gone. - Walk click now enters DIRECTLY: entry spot = largest room's centroid (else scene centre) nudged clear via validateTeleport, and the click gesture itself calls attemptLock (WebKitGTK grants Pointer Lock only inside a user-activation handler). The 'arming' state is deleted from walkStore (WalkMode = off | walking); floor clicks teleport only in the invisible drag fallback. - appSettings/OptionsDialog: lookMode + lookSensitivity CUT — the 3D view section keeps Walk collision / Hide facing walls / Ceilings. pointerLock.attemptLock is single-arg (verdict-gated only). - Cursor fix (round 2): WebKitGTK hides the locked cursor only over the lock target, leaving the image frozen over the Walk button — body.pointer-locked now forces cursor:none app-wide while locked. walk.spec rewritten for direct entry; options.spec 3D section covers the surviving toggles; options-dialog baseline rebaselined (rows removed). CHANGELOG/RUNBOOK updated (state, invariant, gate 7, walkTitle string). Wall-hide fade polish deferred to 0.15.0 in the roadmap queue with recon (user: hide is sharp; WallHideMode reserves the 'fade' slot). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
homeplanr v0.10.0
M9 (0.10.0): release prep — version 0.10.0, CHANGELOG, RUNBOOK - Version 0.10.0 in package.json / tauri.conf.json / Cargo.toml(+lock). - CHANGELOG: door styles (sliding/double/balcony/passage/garage), window styles (full-height/panorama/arched), doors ajar in 3D, style cards in the mode-aware panel, flush placement, wall-to-wall opening drag, the styled ghost, and the inherited lint:colors fix. - RUNBOOK: State section for 0.10.0; new invariants (openingStyleSpec as the only lookup, absent-style-is-standard, reveal-width meaning, the opening ink twins, visual-only 3D leaves, flush-snap margin law); Top camera 180° roll noted in quirks; unit-test count 879. Gates at this commit: unit/typecheck/lint/lint:colors/build, full chromium e2e + walk isolated, visual baselines, dark-mode pass, native smoke on the release binary, AppImage bundled. Tag + publish follow the user checklist. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
homeplanr v0.9.0
0.9.0 Furniture & Catalog — schema v6: embedded image assets, wall ar…
homeplanr v0.8.0
M10 (0.8.0): release prep — version 0.8.0, CHANGELOG, RUNBOOK, roadmap - Version 0.8.0 in package.json / tauri.conf.json / Cargo.toml+lock. - CHANGELOG: room move/rotate/snap, per-side finishes + 4 new, 17 floor materials + grouped picker, room types + plan statistics, schema v5. - RUNBOOK: 0.8.0 state paragraph; new invariants (room rig tear/weld rules, roomPivot sharing, spec-fallback lookups for open registries, roomLabelLines twins, setRoomType seeding rule); test count. - ROADMAP: 0.8.0 implemented (awaiting user checklist → tag + publish); schema-batching status (v5 = finish split only; 0.9.0 assets → v6); v0.9.0.md bump reference fixed; v0.8.0.md gains the shipped-decisions record (door ownership user-confirmed, Ctrl override, arm rule, accepted cosmetic transients). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
homeplanr v0.7.0
M9 (0.7.0): release prep — version 0.7.0, CHANGELOG, RUNBOOK Gates (all green): 677 unit tests + typecheck + lint + lint:colors, 29/29 chromium e2e + 8 visual baselines, vite build, native smoke against the fresh 0.7.0 release binary (argv file-open, IPC title, plan render, real WebKitGTK screenshot — which also proved the legacy showDimensions→'walls' mapping on this box's real persisted profile), packaged AppImage cold start with a file argument + second-instance relay (exit 0, clean log), SVG/PNG/PDF exports eyeballed, dark-mode passes on plan + chrome. - version 0.7.0 in package.json / tauri.conf.json / Cargo.toml (+lock) - CHANGELOG 0.7.0 entry (area tool, dimension ladder, annotations visibility, interface scale, true-shape symbols, schema v4) - RUNBOOK: state section, unit-test count, new invariants (annotation visibility parity incl. selectAll; symbol footprint layer + two styling twins; --ui-scale rules) Tag v0.7.0 follows the user's checklist pass (session rule). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
homeplanr v0.4.0
Added
- Camera presets in 3D — Top / Front / Iso / Reset buttons refit the
view instantly (Top matches the 2D plan orientation); a one-time
"drag orbits · wheel zooms" hint shows until your first orbit - Walk mode collides with furniture — tables, sofas, and anything at
body or head height now block you (and teleports); rugs pass underfoot
and genuinely overhead shelves pass over - Export dialog (
File → Export…) — one place for PNG / SVG / PDF,
print scale presets (Fit, 1:50, 1:100, 1:200 — SVG/PDF at true physical
size, PNG at 150 DPI), grid toggle, and margin control - PDF export — true vector output on A4 / A3 / Letter, portrait or
landscape, with an optional title block (name · date · scale). If a fixed
scale doesn't fit the paper you're asked to fit, clip, or cancel — never
silently cropped - Bundled template plans —
File → New: Studio 25 m²and
New: 1-bedroom 45 m²start you from a furnished starter plan (fresh
untitled document each time) - Door swing preview — the door tool shows the leaf and swing arc
before you click, following the cursor's side of the wall - Real drag ghost — dragging or placing furniture previews the item's
actual plan symbol (with rotation/mirror) instead of a plain rectangle,
andR/Fupdate the ghost immediately - Resizable side panels — drag the splitters next to the catalog and
properties panels (double-click resets), or collapse either panel with
the chevron; sizes persist per device
Changed
- Cleaner catalog symbols — stacked parts no longer double-draw
(the office chair reads as a chair, not a fan); the same derived symbol
now also drives the drag ghost, editor, and exports through one shared
transform - Copy/paste is deterministic: pasting exactly over existing walls now
preserves the existing rooms (names, floors) and never conjures phantom
doors — pasted geometry always yields to what's already there - Splitting a painted wall keeps paint and finish on both halves
- Walk-mode teleport rejections say "That spot is blocked" (it can be
furniture now, not just walls) - Opening a file or template now zooms to fit the plan
- All interface text lives in one table (
src/i18n) — groundwork for
future translations; no visible change
Fixed
- Catalog cards no longer swallow clicks when the mouse moves 1px during
the click - Alignment guides use the wall-snapped orientation when a rotated item
snaps against a wall (previously they could misalign by ~0.4 m) - The File menu no longer shows the previous document's "Last saved" time
afterFile → New/ opening another file - WASD no longer walks the camera behind an open dialog in 3D
No file-format change — 0.3.0 files open unchanged (schema v3).
homeplanr v0.2.0
homeplanr v0.1.0
First release of homeplanr — a fast, local-first home planning app for Linux and Windows.
Highlights
- 2D floor-plan editor — click-click walls with live lengths and 0/45/90° assist, mitered joins, automatic room detection with areas, doors/windows that slide along walls, rich snapping (nodes, grid, alignment guides, back-against-wall capture with corner composition)
- 3D view — the same plan rendered live: openings cut into walls, glass and frames, soft shadows, per-room floor materials, fitted orbit camera
- 18-item furniture catalog — drag onto the plan or click-to-place; 2D symbols are derived from the 3D geometry, so both views always match
- Local-first
.homeplanrfiles — native dialogs, recents, unsaved-changes guards, and crash recovery (autosave survives a hard kill) - Deep undo/redo — every gesture is exactly one undo step
Install
- Debian/Ubuntu:
sudo apt install ./homeplanr_0.1.0_amd64.deb(recommended — ~10 MB) - Fedora/openSUSE:
sudo rpm -i homeplanr-0.1.0-1.x86_64.rpm - Any Linux: AppImage (~100 MB, self-contained) — needs FUSE 2 (
apt install libfuse2/pacman -S fuse2) or run with--appimage-extract-and-run - Windows:
homeplanr_0.1.0_x64-setup.exe— builds are unsigned; SmartScreen will warn: More info → Run anyway. First install fetches WebView2 if missing.
Known issues
- Touchpad pinch may zoom the whole window on Linux (WebKitGTK-level; wheel/Ctrl+wheel zoom works) — tracked for v0.2
- If the 3D view reports a WebGL failure on Linux, launch with
WEBKIT_DISABLE_DMABUF_RENDERER=1 - Furniture plan symbols are functional but will get visual polish in a future release
Built with Tauri 2, React 19, and three.js. MIT licensed. Windows artifacts are CI-smoke-tested (silent install + launch verification).