fix: the ghosts framed the card instead of stacking under it - #102
Merged
Merged
Conversation
Two geometry bugs, both from editing a growing stylesheet by string surgery. A stale .drift-ghost-1 / .drift-ghost-2 pair survived the edit that was supposed to replace it, so the base state kept the old 10/20px offsets while the keyframes and the reduced-motion override moved to 14/26px. Nothing failed. The surface just quietly rendered offsets nobody had chosen. And the ghosts were sized inset: 12% 4% OF THE DECK while the card was sized 34dvh, so they were a larger frame AROUND the card — visible above and below it, reading as a border artifact rather than paper underneath. The deck is now sized to the card and the ghosts sit at inset: 0, so they are exactly the card's box offset downward, which is what a stack is. Both ghost rules were also split in two — offsets in one place, animation two hundred lines away — which is what let half of them get updated. One rule each now. New guard: no selector may declare its base state twice in this stylesheet. That is the general form of the bug, and it caught the split ghost rules immediately. Attribute and media variants are exempt; they are legitimately repeated. typecheck clean; 765 tests passing, 0 failing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
dewpt | 2d79fba | Aug 23 2026, 11:24 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two geometry bugs, both from editing a growing stylesheet by string surgery.
A stale
.drift-ghost-1/.drift-ghost-2pair survived the edit that was supposed to replace it, so the base state kept the old 10/20px offsets while the keyframes and the reduced-motion override moved to 14/26px. Nothing failed — the surface just quietly rendered offsets nobody had chosen.And the ghosts were sized
inset: 12% 4%of the deck while the card was34dvh— so they were a larger frame around the card, visible above and below it, reading as a border artifact rather than paper underneath. The deck is now sized to the card and the ghosts sit atinset: 0, so they're exactly the card's box offset downward. Which is what a stack is.Both ghost rules were also split in two — offsets in one place, animation two hundred lines away — which is what let half of them get updated.
New guard
No selector may declare its base state twice in this stylesheet. That's the general form of the bug, and it caught the split ghost rules immediately. Attribute and media variants are exempt; they're legitimately repeated.
🤖 Generated with Claude Code