Poses nest into the chat bubble corner (desktop and phone) #72

Open
void wants to merge 1 commit from void/pose-in-bubble into dev
Member

Poses nest into the chat bubble's corner on desktop and phone alike.

Before (CSS reading): desktop portrait absolutely positioned left of the bubble, outside it; phone portrait floated with a -82px top margin, straddling the top edge, tail hanging past it, faded by a bottom mask, with a header band above the bubble to hold the overhang.

After: the sprite is a float inside the bubble's top corner (left; right for the odd-indexed Minds, as before), margins pull it into the 12px padding on top, bottom and outer side, and overflow: clip on the bubble makes the bubble edge the crop (rounded corner included). Text wraps the silhouette (shape-outside, traced over the cropped view), the bubble grows to the sprite, nothing hangs outside. Sprite width 190px desktop, min(38vw,160px) phone.

Crop: pure nestView (pose/nest.ts, exact-value tests) crops half of the room between a safe box and the image edge on the corner's side and the top, never the far side or bottom. Aqua's 15 measured safe boxes (handoff aqua-pose-crop-boxes-20261110) are in safeBoxes.json; other Minds' art has no measured box, so its alpha bounds are traced on load (all transparent margin may go).

Cut: BubbleRowPose/Portrait, BubbleColumnPose, BubbleHeaderPose(+Alt), the overhang band, the -82px margins, the bottom mask, the phone-only name-wrap rules, the alt prop of BubbleLayout.

Verified: vitest (612 pass; the 6 footerBand.test.ts failures also fail on clean dev here: esbuild cannot parse a package.json outside the repo), prettier and eslint clean on changed files, tsc clean for message/pose and message/layout.

Not verified: nothing was rendered (no browser on this host). Unseen: how the crop looks on a real bubble, the bust's flat bottom cut when text is taller than the sprite (the old fade is gone), Aqua's boxes in client (she marks them unchecked), the left-corner crop, shape-outside tracing offsets, continuation (pose-less) bubbles now starting at row start. Before/after renders to come from Self on Starfire.

🤖 Generated with Claude Code

Poses nest into the chat bubble's corner on desktop and phone alike. **Before (CSS reading):** desktop portrait absolutely positioned left of the bubble, outside it; phone portrait floated with a -82px top margin, straddling the top edge, tail hanging past it, faded by a bottom mask, with a header band above the bubble to hold the overhang. **After:** the sprite is a float inside the bubble's top corner (left; right for the odd-indexed Minds, as before), margins pull it into the 12px padding on top, bottom and outer side, and `overflow: clip` on the bubble makes the bubble edge the crop (rounded corner included). Text wraps the silhouette (shape-outside, traced over the cropped view), the bubble grows to the sprite, nothing hangs outside. Sprite width 190px desktop, min(38vw,160px) phone. **Crop:** pure `nestView` (pose/nest.ts, exact-value tests) crops half of the room between a safe box and the image edge on the corner's side and the top, never the far side or bottom. Aqua's 15 measured safe boxes (handoff `aqua-pose-crop-boxes-20261110`) are in `safeBoxes.json`; other Minds' art has no measured box, so its alpha bounds are traced on load (all transparent margin may go). **Cut:** BubbleRowPose/Portrait, BubbleColumnPose, BubbleHeaderPose(+Alt), the overhang band, the -82px margins, the bottom mask, the phone-only name-wrap rules, the `alt` prop of BubbleLayout. **Verified:** vitest (612 pass; the 6 `footerBand.test.ts` failures also fail on clean dev here: esbuild cannot parse a package.json outside the repo), prettier and eslint clean on changed files, tsc clean for message/pose and message/layout. **Not verified:** nothing was rendered (no browser on this host). Unseen: how the crop looks on a real bubble, the bust's flat bottom cut when text is taller than the sprite (the old fade is gone), Aqua's boxes in client (she marks them unchecked), the left-corner crop, shape-outside tracing offsets, continuation (pose-less) bubbles now starting at row start. Before/after renders to come from Self on Starfire. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Poses nest into the bubble corner on desktop and phone
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m59s
e8b7bdf7bb
The sprite floats in the bubble's top corner (left, or right for the Minds that alternate),
pulled out into the padding on three sides so the bubble edge crops it; text wraps its
silhouette and the bubble grows to hold it. The crop comes from nestView (pure, tested) over
Aqua's measured safe boxes; art without one uses its alpha bounds. Removes the outside-the-bubble
desktop portrait, the phone overhang band, the -82px margin, the bottom mask and the pose header pill rules.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m59s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin void/pose-in-bubble:void/pose-in-bubble
git switch void/pose-in-bubble
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!72
No description provided.