The drag replicas cast the shadow the pickup lift already promised

DragReplicaStyle spells the pathfinder's constant ambient shadow once
(black 16%, radius 2.5, y 1.5) and all three replica faces — card,
lane, trashed lane — wear it via one modifier; the ghost fans compose
from the same faces so every copy inherits it, dimmed by its own
opacity. 03 § Motion's "pickup lift (scale + shadow)" supplies the
scale from the system session but no shadow on the preview image — the
replica is the only place it can come from. BoardMetrics.replicaPadding
was already written to keep exactly this shadow from clipping and was
simply unused until now.

Drag-perf card 24397310.

Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
This commit is contained in:
2026-08-03 13:33:52 -04:00
parent 1ffb64913b
commit 43e6ad229e
4 changed files with 23 additions and 0 deletions
+1
View File
@@ -650,6 +650,7 @@ struct LaneView: View, Equatable {
.frame(width: replicaWidth, height: replicaHeight, alignment: .topLeading)
.background(RoundedRectangle(cornerRadius: cornerRadius).fill(.background))
.clipShape(RoundedRectangle(cornerRadius: cornerRadius))
.dragReplicaShadow()
}
/// The replica's size **the lane's own**, floored for a lane that has not measured itself yet