sitetile: dialogue — width-aware name cap, whole-run Q&A demotion, quoteRunReport - #33
Merged
Merged
Conversation
…oteRunReport for the editing door An interview post written one quote block per question (`**SODAART:question**` over `**摩卡麵包:** answer`) rendered four of its fourteen questions as chat bubbles — question as the speaker label, answer as the bubble — and the other ten as quotations, on the same page. The 24-character speaker cap counts UTF-16 units and was calibrated on Latin names; in Chinese or Japanese, 24 units is a sentence. - The cap is a display width: an East Asian wide character is two columns, so 24 columns hold a name in either script and a sentence in neither. RE_TURN_HEAD keeps its literal unit cap (reef-mcp vendors it as a plain regex); the width check is a second gate. - A quote run is judged as one: a bold-headed block that is NOT a turn (over the cap, a list beneath it, nothing beneath it) beside blocks that are makes the run a list of same-shaped items — a Q&A, a series nav — and no block in it is a turn. A turn beside an ordinary quotation still mixes, as before. - quoteRunReport(body): per quote run, what the renderer would make of it (blocks, bold heads, turns, names, demoted) from the same classifier the renderer uses, so an editing tool can warn "these would be bubbles, these would not" without a second copy of the rule. - The run collector is factored out of bodyHtml (collectQuoteRun) unchanged; three tests added (width cap at/over the limit, Q&A demotion with the interview in miniature, report agreement with the rendered output). 193 pass.
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.
What happened
An interview post written one quote block per question (
**SODAART:question**over**摩卡麵包:** answer) rendered four of its fourteen questions as chat bubbles — question as the speaker label, answer as the bubble — and the other ten as quotations, on the same page. The 24-character speaker cap counts UTF-16 units and was calibrated on Latin names; in Chinese or Japanese, 24 units is a sentence.Change
RE_TURN_HEADkeeps its literal unit cap (reef-mcp vendors it as a plain regex); the width check is a second gate indialogueTurn.quoteRunReport(body)(new export): per quote run, what the renderer would make of it — blocks, bold heads, turns, names, demoted — from the same classifierbodyHtmluses, so the editing door can warn "these would be bubbles, these would not" without a second copy of the rule.collectQuoteRunis the run collector factored out ofbodyHtml, unchanged.Tests
Three added (width cap at/over the limit; Q&A demotion with the interview in miniature, plus the turn-beside-quotation shape that must keep mixing; report agreement with rendered output).
scripts/test.shall green, sitetile 193 pass.Follow-up in CVERInc/reef: re-vendor, and a
dialogue-shapewarning on save/create/verify built onquoteRunReport.https://claude.ai/code/session_014rHD92DiWFtyWLRApphqub