Land Finder file drops positionally, header release topmost
04's settled clauses were mostly shipped already — the create landing resolved through DropSlotMath.cardSlot with one nominal shadow per importable file — but a release on the lane header fell through to the card zones, which clamp inward, so a scrolled lane could propose behind the header stripe. FileDropZones now folds header, attach hit-test, and card-slot resolution into one pure seam asked in that order, the header answering topmost per the ruling; lane headers register their frames for it. FinderDrop.shadowCount names the floor-at-one rule. New tests pin the header boundary, a differential against cardSlot's own zones (same zones, not similar), and a store-level differential proving a file landing takes the very ranks a card move there takes. Claude-Session: https://claude.ai/code/session_01SR4XGjmBE16ZUYWpfFHXwY
This commit is contained in:
@@ -1704,7 +1704,14 @@ public final class BoardStore {
|
||||
}
|
||||
|
||||
/// Creates one card per file at `index` in `laneID`, each titled with its filename minus the
|
||||
/// extension and carrying that file as its attachment — the drop-on-empty-space half.
|
||||
/// extension and carrying that file as its attachment — the drop-into-a-lane half.
|
||||
///
|
||||
/// **`index` is the drop position, not the lane's end** (04-interactions.md ▸ Drag and drop,
|
||||
/// settled 2026-07-28): "created cards land at the drop position — resolved through the same
|
||||
/// card-grid zones an ordinary card drag uses … drops are positional everywhere, and
|
||||
/// append-at-bottom stays the creation *trio*'s rule, not the drop's". The gesture resolves it
|
||||
/// through `FileDropZones.landing`; the rank arithmetic below is `moveCards`', so a run landing
|
||||
/// between two siblings takes exactly the ranks a card drop there would have produced.
|
||||
///
|
||||
/// **Ordinary store writes, with no drop-only path**: a fresh GUID and an inserted rank per card
|
||||
/// (`Ranks.insertionRanks`, compacting and placing again when midpoint precision is exhausted,
|
||||
|
||||
Reference in New Issue
Block a user