chat look: the three-doors mock-up (stacked on pose-catalogue + brand; do not merge) #16

Closed
void wants to merge 0 commits from void/three-doors-look into main
Member

Target: https://chat.gamecult.org/mockups/three-doors/ (source read: navy #07111a, Nunito, orange own bubble, Mind sprite beside bubble, phone float with shape-margin, staggered pop-in, reduced motion off).

Stack. Branch = main 68f10ce4 + merge of void/pose-catalogue (which carries void/pose-bubble; there is no open PR for pose-bubble itself: #9 is resume-sync) + merge of void/brand (#11) + one commit (30436906). Until #10/#11 merge, this diff shows their content too.

This commit. Bubble layout: portrait 124px beside the bubble (desktop); on <=700px it floats inside the bubble, overhanging the top edge, text wrapping its alpha silhouette (shape-outside, shape-margin 7px, threshold .35, fade mask); Minds alternate sides per Mind; name becomes a pill on phones. Bubble corner 6px/22px. Own messages: right-aligned, Primary container, no avatar. Entrance: portrait pop + bubble rise, staggered 300ms (cap 900ms), once per event id, only under prefers-reduced-motion: no-preference. Nunito Variable (@fontsource-variable/nunito, OFL) in the GameCult theme only. package name and README now Ratatoskr; Cinny credit, AGPL notice and About credit kept.

Chat default stays simple. No scene code is imported by this change; backgroundScene.tier stays off.

Checks (TMPDIR copy): vitest 157/157 (3 new: entrance); vite build ok; tsc error set identical to base (806 matrix-js-sdk type errors present before). Preview: https://minds.gamecult.org/void/ratatoskr-three-doors/ (log in, Settings > General > Pose Portraits on).

Gaps. Not visually verified: no browser here, only built-CSS greps. Layout is untested by DOM tests (vitest env is node). Pose Portraits is still opt-in; the look needs it on. cinny_* localStorage keys and the in.cinny.* event type left (renaming logs everyone out / breaks interop). CONTRIBUTING.md, HACKING.md, contrib/ confs, CINNY_BASE still say Cinny. Pose PNGs are ~0.4MB each (39MB set), no webp. No spark/ring flourishes. Mobile name pill is untested against long names. Time tag is not styled like the mock. Folds Text weights unchanged.

🤖 Generated with Claude Code

Target: https://chat.gamecult.org/mockups/three-doors/ (source read: navy #07111a, Nunito, orange own bubble, Mind sprite beside bubble, phone float with shape-margin, staggered pop-in, reduced motion off). **Stack.** Branch = main 68f10ce4 + merge of void/pose-catalogue (which carries void/pose-bubble; there is no open PR for pose-bubble itself: #9 is resume-sync) + merge of void/brand (#11) + one commit (30436906). Until #10/#11 merge, this diff shows their content too. **This commit.** Bubble layout: portrait 124px beside the bubble (desktop); on <=700px it floats inside the bubble, overhanging the top edge, text wrapping its alpha silhouette (shape-outside, shape-margin 7px, threshold .35, fade mask); Minds alternate sides per Mind; name becomes a pill on phones. Bubble corner 6px/22px. Own messages: right-aligned, Primary container, no avatar. Entrance: portrait pop + bubble rise, staggered 300ms (cap 900ms), once per event id, only under prefers-reduced-motion: no-preference. Nunito Variable (@fontsource-variable/nunito, OFL) in the GameCult theme only. package name and README now Ratatoskr; Cinny credit, AGPL notice and About credit kept. **Chat default stays simple.** No scene code is imported by this change; backgroundScene.tier stays off. **Checks (TMPDIR copy):** vitest 157/157 (3 new: entrance); vite build ok; tsc error set identical to base (806 matrix-js-sdk type errors present before). Preview: https://minds.gamecult.org/void/ratatoskr-three-doors/ (log in, Settings > General > Pose Portraits on). **Gaps.** Not visually verified: no browser here, only built-CSS greps. Layout is untested by DOM tests (vitest env is node). Pose Portraits is still opt-in; the look needs it on. cinny_* localStorage keys and the in.cinny.* event type left (renaming logs everyone out / breaks interop). CONTRIBUTING.md, HACKING.md, contrib/ confs, CINNY_BASE still say Cinny. Pose PNGs are ~0.4MB each (39MB set), no webp. No spark/ring flourishes. Mobile name pill is untested against long names. Time tag is not styled like the mock. Folds Text weights unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
pose-aware chat bubble behind a Pose Portraits setting
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
6411266092
Reads org.gamecult.pose from event content for senders that are known
Minds; unknown or missing labels fall back to neutral. Portrait sits
beside the bubble on wide screens and stacks above it on phones.
84 downscaled webp portraits (7 Minds x 12 poses, ~415 KB).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
poses: read labels only from the catalogue; add a client-status pose line
Some checks failed
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
CLA Assistant / CLAssistant (pull_request_target) Failing after 1s
a1101e90a6
The client's own SHARED_POSES/MIND_POSES lists and the committed webp art are gone.
catalogue.json (cast-art poses/catalogue.json, synced by npm run sync:poses) is the
only list of Minds, labels and art paths. RoomViewPoseStatus draws "Ratatoskr:
<Mind> is <pose>, since HH:MM" from the loaded timeline; it is never sent to a room.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
brand: Ratatoskr replaces Cinny in the user-facing surface
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
9e12f6cbe4
Squirrel logo, favicons and app icons generated from shapes by scripts/gen-brand.mjs;
titles, meta, manifest, device names, welcome, auth, splash and About are Ratatoskr.
About, the auth footer and the welcome page credit Cinny (AGPL-3.0) with source links.
LICENSE and notices untouched; storage keys and protocol names are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
chat look: the three-doors mock-up in the bubble layout
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
NPM Lockfile Changes / lockfile_changes (pull_request) Has been cancelled
3043690657
Pose portrait beside the bubble on wide screens and floating inside it on phones with
shape-outside; asymmetric bubble corner; own messages right-aligned in the accent colour;
first-appearance pop and rise, staggered, off under prefers-reduced-motion; Nunito in the
GameCult theme; package name and README move to Ratatoskr, Cinny credit and AGPL notice kept.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Member

Closing: landed in dev's history (head is an ancestor of dev 64edacac, brought in through the preview-all merges), and the look was then replaced by Meta's no-chrome look (#65, 57120689/fcabaee5). Nothing left to merge.

Closing: landed in dev's history (head is an ancestor of dev 64edacac, brought in through the preview-all merges), and the look was then replaced by Meta's no-chrome look (#65, 57120689/fcabaee5). Nothing left to merge.
void closed this pull request 2026-11-10 17:19:00 +00:00
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
NPM Lockfile Changes / lockfile_changes (pull_request) Has been cancelled

Pull request closed

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!16
No description provided.