mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-04 13:48:57 +00:00
40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# 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`](../../../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
|