← Commit history

v1.9.15 — layout laws: no outer scrollbars ever, pretty scrollbars, gentle LED, header shows thread+desc (mp3 name in tooltip)

John Lauer ·4355ad603c ·3mo ago ·parent 7db303a
2 files changed +17−18
dev-skills/adom-tts-dev/SKILL.md+17−5
@@ -120,11 +120,23 @@ threads) and gets confused about WHO said WHAT. Two mechanisms, keep both: - Intermittent long-say failures with healthy `/health` → duration-correlated   proxy timeout: keep synth chunks small (≤360 chars, sequential) — don't raise   timeouts.-- UI changes: ralph-test headless (`--window-size=500,820` — headless Chrome-  clamps min width to 500, so probe `innerWidth`/`scrollWidth` in-page instead-  of trusting narrow screenshots). Media queries go LAST in the stylesheet.-  Exercise real event paths (`el.dispatchEvent(new Event('playing'))`) — the-  play/pause icon was broken for 9 versions because nothing fired the event.+- UI changes: ALWAYS ralph-test — render the page headless, LOOK at it, and+  run an overflow probe (walk every element's boundingRect vs viewport; report+  anything past the edge). Headless Chrome clamps min window width to 500, so+  for narrower widths embed the page in an iframe of the target width. Media+  queries go LAST in the stylesheet. Exercise real event paths+  (`el.dispatchEvent(new Event('playing'))`) — the play/pause icon was broken+  for 9 versions because nothing fired the event.+- LAYOUT LAWS (user-mandated, non-negotiable):+  1. The outermost html NEVER shows a horizontal scrollbar. Fluid layout does+     the work (`min-width:0` on flex children, ellipsize long text); the root+     also carries `overflow-x: clip` as a guarantee.+  2. Scrollbars are always styled — slim (7px), rounded, transparent track,+     subtle teal thumb. Never ship a default chunky scrollbar.+  3. Motion is GENTLE: no per-poll pulses/jumps (the LED breathes on a ~3s+     ease; it does not blink per heartbeat).+  4. The header shows the human WHO (thread) + WHAT (desc) — never a raw mp3+     filename except in a tooltip. - Don't churn the player while the user is listening. Diagnose from logs; the   system self-heals. Manual mid-playback intervention has itself caused   user-audible chaos.
page.json−13
@@ -12,7 +12,6 @@     "audio",     "demo",     "accessibility",-    "cli",     "open-source",     "mit"   ],@@ -65,17 +64,5 @@   ],   "install": {     "binary_name": "adom-tts"-  },-  "description": "Adom's shared text-to-speech CLI + Playground. Reads your AI answers back to you while driving, and renders perfectly-timed voiceover tracks for demo videos.",-  "dependencies": {},-  "scripts": {-    "install": "./install.sh",-    "uninstall": "./uninstall.sh"-  },-  "needs_sudo": false,-  "org": "adom",-  "author": {-    "name": "John Lauer",-    "email": "[email protected]"   } }\ No newline at end of file