Files
houseplan-card/legacy/docs/implementation-plans/2026-08-05-open-spans-delete.md
T

1.8 KiB

Open spans + wall-centric Delete — Implementation Plan

For agentic workers: execute task-by-task; checkboxes track progress.

Goal: Partial virtual wall stretches (space.open_spans) + Delete operates on walls (close → merge/delete room), then ship v1.59.0-beta.6.

Architecture: Pure helpers in src/open-spans.ts; card wires two-click openwall and wall-centric delete; open_to remains the light-zone index derived from spans; legacy open_to-only configs expand to full sharedBoundary on read.

Tech Stack: TypeScript, Lit card, node:test, Playwright smokes, GitHub prerelease.

Spec: docs/superpowers/specs/2026-08-05-open-spans-delete-design.md

Global Constraints

  • Cursor openwall = crosshair (not pointer)
  • Openings forbidden on virtual; purge on open
  • Thickness clear on open; restore neighbour / DRAW_WALL_DEFAULT_CM on close
  • Delete: virtual→close; shared→confirm merge whole pair; outer/inside→confirm delete room
  • Version bump to 1.59.0-beta.6 for this ship

File map

File Role
src/open-spans.ts CRUD, legacy expand, snap/clamp, thickness+opening side effects, rekey/degrade
src/houseplan-card.ts Gestures, render cuts from spans, merge via existing dialog
src/styles.ts openwall crosshair
src/i18n/en.json, ru.json Toasts / titles
test/open-spans.test.mjs Unit
demo/smoke_openwall.mjs (+ hover/delete as needed) Browser
docs CHANGELOG/STATUS/ARCHITECTURE Ship notes

Tasks

  • Task 1: open-spans.ts + unit tests
  • Task 2: Wire _openPairs / openwall 2-click / openings refuse+purge
  • Task 3: Wall-centric Delete + merge confirm path
  • Task 4: Smokes, i18n, docs
  • Task 5: Bump beta.6, build, commit, tag, GitHub prerelease