Skip to content

fix(dialogue): the new character lines fit their bubbles; the lore book stops claiming its quotes are bubble lines - #256

Merged
KbWen merged 1 commit into
mainfrom
fix/dialogue-bubble-fit
Oct 11, 2026
Merged

KbWen merged 1 commit into
mainfrom
fix/dialogue-bubble-fit

Conversation

@KbWen

@KbWen KbWen commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Post-merge review of the Gemini wave (#254, #255) before cutting v1.6.11.

What was wrong

  • Every bubble line feat(dialogue): deepen character personalities, dialogue pools & lore book (AVO-161) #254 added was cut off. Bubble text has a 140 px budget (BUBBLE_TEXT_BUDGET). Measured with canvas measureText in the bubble's font (500 11px 'Segoe UI'): 40/40 new en lines and 38/40 new zh-TW lines exceeded it, so the office showed "日誌不會騙人,它只是…" / "rules are not barriers, but…". Pre-existing pools: 60/230 en, 12/230 zh.
  • The lore book over-claimed. docs/CHARACTER_LORE.md and spec AC-2 said its quoted lines were "100% aligned" with the dialogue pools; 1 of 58 is.
  • Dead code in the capture script. It staged fabricated bubbles via window.__office_store / setAgentBehavior, neither of which exists; the committed PNG shows the real idle office.

Fix

#255 (HTTPS polling/SSE) reviewed and kept as is: the URLs are relative, so the removed "mixed content" guard never applied. Static HTTPS hosts fall into the existing 404 backoff and SSE give-up.

Evidence

  • npx vitest run: 152 files, 2719 passed (4 consecutive clean runs; 1 unreproduced one-off failure seen earlier in the session)
  • npm run build OK · bundle-budget PASS (+2.83%) · pack-smoke PASS · npm audit 0
  • validate.sh: 0 FAIL · check_ssot_caps 10/10, 30/30 · check_audit_chain intact

🤖 Generated with Claude Code

…ok stops claiming its quotes are bubble lines

Every bubble line added by #254 (AVO-161 Wave B) was wider than the 140px
bubble text budget: measured in the bubble's own font, 40/40 en and 38/40
zh-TW lines rendered cut off mid-thought. All 80 are rewritten shorter in
the same voice (max 128px en / 110px zh), owner-approved from a rendered
before/after.

- tests/bubbleTextFit: ratchet caps cut-off pool lines at 58 en / 14 zh-TW
  (red on the #254 pools, green after).
- docs/CHARACTER_LORE.md + spec AC-2: only 1 of 58 quoted lore lines is a
  real pool line; the book now says its quotes are flavor text.
- capture-office-lore-preview: drop dead block that tried to stage fake
  bubbles through a store handle that does not exist.
- Closure: work-log archive + INDEX chain entry + Ship History; rotate 3
  Ship History entries and 1 Spec Index line (caps were 12/10, 31/30).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@KbWen
KbWen merged commit 23fbebd into main Oct 11, 2026
8 checks passed
@KbWen
KbWen deleted the fix/dialogue-bubble-fit branch October 11, 2026 00:09
KbWen added a commit that referenced this pull request Oct 11, 2026
… get a little more personality (#257)

Cuts #254, #255 and #256 as v1.6.11 (patch). No app code: package.json and
both package-lock.json root version fields 1.6.10 -> 1.6.11, the CHANGELOG
narrative, the Ship History entry (+1 rotation) and the release work-log
archive + INDEX chain entry.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant