Unify the trashed universe on the trash rows
02 rules the trashed side has exactly one definition: the set with trash rows — a card carrying its own deleted: under a tombstoned lane is in neither universe, so an anchor or selection can never survive on an item that renders nowhere. The membership rule now lives once, in Liveness.walk, and ItemReferenceSet.idUniverse, TrashModel.entries, paths, and emptyTrashTargets all derive from it — the old lane-OR-card logic that admitted subsumed cards to the trashed side is gone, and the two universes deliberately no longer partition the board. Put Back, Delete Immediately, and Empty Trash outcomes are unchanged: a tombstoned lane still moves and purges whole, its nested tombstones with it. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -1936,10 +1936,10 @@ public final class BoardStore {
|
||||
/// carrying their own `deleted:` stay tombstoned — and their rows reappear in the trash, which
|
||||
/// is exactly the two-step recovery the design settled on.
|
||||
///
|
||||
/// A card whose lane is itself tombstoned cannot be reached this way through the UI (it has no
|
||||
/// row — `TrashModel.entries`), but the path resolution admits it, and the outcome is the pure
|
||||
/// view's honest one: the key is removed, and the card still renders nowhere because its lane
|
||||
/// is still tombstoned. Putting the lane back then shows it.
|
||||
/// A card whose lane is itself tombstoned is **not reachable here at all**, by construction
|
||||
/// rather than by the UI happening not to offer it: it has no trash row, and the trashed side of
|
||||
/// `TrashModel.paths` is that row set exactly (`Liveness.walk`). Recovering it stays the two-step
|
||||
/// the design settled on — put the lane back, then put the card back from the row it regains.
|
||||
///
|
||||
/// The selection is deliberately left alone: the restored items flip liveness, and the reload's
|
||||
/// resolve rule ejects them from a `.trashed` set as a vanish — the same silent shrink an
|
||||
|
||||
Reference in New Issue
Block a user