Repository navigation
mac: the composer, px for px against the lab - #297
Merged
Merged
Conversation
Every value read off workspace-lab.html and cited to its selector, after
Tyler said the app does not match the mockups and the js version felt better.
.cbox{padding:6px;background:var(--surface)} plus --shFloat's 0.5px ring;
#ta{font:15px/22px;padding:8px 10px 4px} to eight lines; .cbar{gap:4px;
height:34px;padding-left:2px} sitting directly under the field with no stack
gap; .mic and .send at 30 where .ib stays 28; .cap at 12; and .dest -- the
destination chip -- which did not exist.
The main offender was an inner field box: a rounded background inside the
composer's own, a card within a card, which §3 forbids and the lab does not
have. That and the stack gap are where the dead height came from.
One colour call, flagged for review: .send is --accent in the lab, near-black
ink, not the brand cyan the app used -- cyan at full strength is meant to say
only "your microphone is open". The mic's VOICE colours are untouched, since
Palette.swift says that language moves as its own change; only its resting
background moved to fill. ConchPalette.accent is the legacy orange, so the
send takes new ink/onInk entries rather than repurposing it.
Nothing pinned a single composer value before this, which is how it drifted.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SfEX6bfwCGXtThk1JRNmsE
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.
Tyler: "the main input box especially needs help — go px by px improving the mac app."
Every value below is read off
workspace-lab.html— the running prototype he compares against — and cited to its selector. I had been porting numbers out of §3's prose without opening the lab, which is how these drifted..cbox{padding:6px}.cbox{background:var(--surface)}raisedsurface--shFloat's 0.5 px ring#ta{font:var(--read)/22px}→ 15/22#ta{padding:8px 10px 4px}.cbar{gap:4;height:34;padding-left:2}.cbarsits directly under#ta.mic{width:30;background:var(--fill)}hoverfill.send{width:30;background:var(--accent)}.cap{font:500 12px}.dest{gap:5;font-size:12;color:var(--text3);margin-left:8}+ · mic · cap · dest · sp · recite · sendThe inner box was the main offender. The field had its own rounded background inside the composer's — a card within a card, which §3 forbids ("No other cards") and the lab doesn't have. That plus the stack gap is where the dead height came from.
One colour call, flagged
.sendin the lab is--accent— near-black ink, not the brand cyan the app used. I've matched the lab, because that's the reference you're comparing against, and because cyan at full strength is meant to say one thing only: your microphone is open. It reverts in one line if you'd rather keep cyan.I deliberately did not touch the mic's voice-state colours.
Palette.swiftsays that language "moves as its own change, to be seen and reacted to" — so only the mic's resting background changed (hover→fill, which is what--fillresolves to).ConchPalette.accentis the legacy orange, so the send uses newink/onInkentries mapped toConchColor.accent/onAccentrather than repurposing it.Guards
Nothing pinned a single composer value before this — which is exactly how it drifted from the lab. Every number above is now guarded and cited to its CSS selector.
Gate
bun test2302/0 exit 0 ·tsc --noEmitexit 0 · MacxcodebuildBUILD SUCCEEDED · iOSxcodebuildBUILD SUCCEEDED — and photographed on the real window at each step, with the camera fixed by #296 so the frames are the light appearance you actually see.🤖 Generated with Claude Code
https://claude.ai/code/session_01SfEX6bfwCGXtThk1JRNmsE