mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
1.8 KiB
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.6for 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