You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 90dfad5
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: plugins/Wzdhehe/html2video-for-mcode/CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@
8
8
-**Year-reading gate (plan-timings, zh/yue):** a clause whose effective spoken text (`say ?? text`) contains a four-digit year followed by 年 gets a warning that names the digit-by-digit broadcast form and hands over the ready-to-paste `say` value (`加 say:"二零二六年…"`). The gate is deliberately narrow — whether a number reads digit-by-digit or as an integer is intent (`2026年` digit-by-digit, `2026点` as an integer), so only the unambiguous year shape is gated and the rest of the number discipline lives in the docs (SKILL.md schema section + tts-and-timing.md, with all three reported examples).
9
9
-**Tests +1 → 274 in fifteen files:** the year gate (no-`say` named with the paste-ready form / with-`say` silent / `en` not over-warned / `say` passed through to timings verbatim and never invented for `say`-less clauses), and the smoke pipeline now runs `build-video --asr` on a `say`-bearing clause and asserts the checklist expects the spoken form while the srt keeps the display form (`say` must not leak into subtitles). Each guard red-proofed: disabling the year gate, dropping the `say` propagation, or reverting the checklist to `c.text` reddens exactly its own case.
10
10
- **Round-24 self-review corrections (same release):** the two-axis review of this increment found four real items in the fix itself, all closed here — ① **clause-start allocation weighted by the display form**: the audio speaks `say` ("82.3%" shows 5 chars, "百分之八十二点三" speaks 8), so time weights, per-clause `chars` and the pacing check now use `say ?? text` (subtitle-wrap geometry still uses `text` — the pill is on screen); the year-gate test now pins the weighted start against both candidate formulas. ② the year gate's regex only matched `19xx/20xx` while the comments claimed "four-digit year" — now any `\d{4}年` (1897 warns too). ③ the zh-guard used the layout metric `emPer===1` as a language proxy — replaced by an explicit `yearGate` flag on `zh`/`yue` (unknown-language fallback stays ungated). ④ two `evals.json` cases still taught the old "write the spoken form into the narration text" move (the EN number-swap line and the ASR-mismatch fix) — both now teach the `say` mechanism. Each correction red-proofed (weight reverted → weighted-start assert red; regex reverted → 1897 red; gate off → warn red).
11
+
- **Round-25 self-review corrections (same release, tests +1 → 275 in fifteen files):** five smaller items — ① **`check-timing`'s silence-to-clause alignment still used the display form**: `matchBoundaries` moved to `tools.mjs` as the single source and now counts pause punctuation on `say ?? text` (with `say`/`text` punctuation disagreeing, exact mode misaligned and `--calibrate` would write back wrong starts); unit-tested with a fixture where the two forms produce different methods/values. ② the year regex matched four digits **inside** longer digit runs ("12026年" sliced to "2026年" and suggested a digit-dropping `say`) — now digit-bounded on both sides, with a non-warn case pinned. ③ a self-referencing comment cited a line number that the same release had moved. ④ `LANG_CFG` now states `yearGate` explicitly on every branch and shares one `zh`/`yue` literal. ⑤ the `evals.json` ASR-mismatch case now says the `say` rewrite must actually change the pronunciation (九成二-style), not restate what TTS already says (百分之九十二 wouldn't fix the mishearing). Both behavioural corrections red-proofed (spoken-marks reverted → alignment test red; boundary reverted → the 12026 case red).
escapes including a **dangling** link that must be caught rather than skipped), `no-clobber` (refusing to overwrite), `endpoint-allowlist` (key never leaves the official
236
236
hosts — plus a local server that proves the gate sits before the request, and provider selection:
237
237
`mmx speech transcribe` default vs `--provider api` fallback, with an mmx-shim integration pair
0 commit comments