Files
lanework/WISHLIST.md
T
rzen 88364b20c0 Resolve the second design-review batch and drop the face carousel
Rulings written in place: the drop settle yields to the system drag session
(fly-to-slot deferred to WISHLIST #7) and the held proposal's home is the
app-wide DragSession — rendering the arrangement means rendering the card at
release (03, 02); folder drops refuse at hover with loss-row reporting, created
cards land positionally, N shadows, header resolves topmost, shadow-only
feedback (04); the banner vocabulary gains the warning-tone loss row class
(02); all user-initiated creation clears the search (04); loose files beside a
card's index.md relocate into attachments/ with notice — files-only carve-out,
paste normalizes at the boundary, the agent guide teaches it (01, 04, 08);
dropping a card on the shown trash deletes it, shadow pinned topmost (04);
query-emptied lanes keep their slot, the out-transition stays reachable, an
open rename survives the filter, pasteboard staleness accepted (04).

The face carousel does not carry over: the pathfinder's selection-keyed dual
presentation proved undesirable — one presentation per card, selection changes
styling never geometry; the attachment chip and the card window are the whole
media story (03, 01, 10, 11; the same-day carousel settlements superseded on
their Resolved cards).

Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
2026-07-28 07:22:48 -04:00

34 lines
3.8 KiB
Markdown

# Lanework — Feature Wishlist
> Ideas worth developing further, deliberately outside the current design scope. Items get recorded as they come; grooming happens later. The DESIGN/ documents hold the committed design — nothing here is committed.
## Items
### 1. "While you were away" digest
A human-facing digest of what changed on a board since the user last looked, derived from the git trail (commit messages already describe every settled change, agent and human alike). The read-ritual half of the masterplan pattern (DESIGN/08-agent-integration.md): agents file cards at near-zero friction all week; the digest is how the human catches up and stays honest about the plan. Sketch: on opening a board (or in the board popover), "since you last opened: 4 cards added by claude-code, 2 moved to Done" — clicking through highlights the affected cards. Requires git-enabled boards; another reason the git trail is the substrate of record.
### 2. In-app shortcut recorder pane
A Settings ▸ Shortcuts pane with a per-command recorder, writing the same `NSUserKeyEquivalents` mechanism the committed system-native remapping uses (DESIGN/04-interactions.md ▸ Configurable bindings) — so menus would keep showing effective bindings either way. Set aside as ceremony: System Settings ▸ App Shortcuts already covers remapping completely because every command is a menu item. Revisit only if users demonstrably don't find the system path.
### 3. Move cards to another lane before deleting a lane
An explicit "Move cards to…" action (context menu on a lane) that relocates a lane's cards to a chosen lane in one gesture. The old lane-delete confirmation dialog offered this as a delete intercept; the trash design replaced the dialog with a plain recoverable tombstone (DESIGN/04-interactions.md), so the relocation convenience — if ever wanted — should return as a deliberate standalone action, not a prompt.
### 4. Restore a card version from its History section
The card window's History section (DESIGN/05-card-window.md) is read-only in v1. A per-row "Restore this version" would forward-restore the card folder at that commit (a new commit — "Restore card 'X'" — never a rewrite, per DESIGN/06-history-undo.md). Needs design: attachments at the old version, versions that lived in another lane, interaction with the trash and the undo stack.
### 5. Lane history
Per-lane commit trail, the lane sibling of the card History section. Undecided whether it's wanted at all (a lane's own commits — rename, restyle, resize, reorder — are sparse; most of what changes "in" a lane belongs to its cards) and where it would surface, since lanes have no window.
### 6. EchoLedger-synthesized foreign undo (base edition)
Narrow base Lanework's honest gap vs Pro — foreign/agent edits aren't ⌘Z-able without git (DESIGN/13-native-undo.md ▸ Out of scope). The EchoLedger already classifies every foreign diff for announcements; it could synthesize inverse operations and push foreign steps onto the native stack, making an agent's edit undoable in base too. Real design needed: ordering against app steps, attribution in menu titles, user expectations when undoing work they didn't do, interaction with the staleness rules.
### 7. Custom fly-to-slot drop animation
Drags run as system `NSItemProvider` sessions (cross-board transfer, the copy badge), so a successful drop's replica gets AppKit's brief fade — not the fly-to-slot settle DESIGN/03 originally imagined; 03 resettled the drop as the board's (the held overlay renders the arrangement instantly at release). Reclaiming the literal fly-to-slot needs an `NSDraggingSession` bridge: mask the system fade, fly a shadow-window replica to the slot frame, hide the landed item during flight — a compositing dance that must stay correct across masonry reflows and multi-item drags. Fund only if the system fade ever reads as cheap in practice.