diff --git a/docs/changelog.html b/docs/changelog.html index 539aac0..99780d9 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -1,4 +1,4 @@ - +
@@ -374,9 +374,21 @@ the stretch, so Latin words stay intact and gaps stay even. Code / mono content (``, ``, ``, ``) opts out
- via the mono rule far above (text-align: revert added there). */
+ via the mono rule far above (text-align: revert added there).
+
+ `.callout`, `.block-body` are listed by CLASS: they are block prose
+ containers that hold DIRECT text in a `` (not ``), so the tag
+ list can't reach them. The juzhen typesetter DOES treat them as
+ paragraphs (kinsoku / widow binding applies via `level`), so without
+ this they'd bind punctuation yet render ragged-right — a visible
+ justify/kinsoku mismatch. `.marginalia` is DELIBERATELY excluded: it
+ opts into `text-align: start` via the mono rule below (narrow side
+ notes justify badly). Any new prose container carrying direct text in
+ a bare `
` must wrap its text in ``, be added here, or carry
+ `.justify`. */
:where(:lang(zh), :lang(ja), :lang(ko))
- :is(p, li, blockquote, td, dd, summary, figcaption, caption, .justify, .justify *)
+ :is(p, li, blockquote, td, dd, summary, figcaption, caption,
+ .callout, .block-body, .justify, .justify *)
{
text-align: justify;
text-justify: auto;
@@ -2545,6 +2557,20 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }
聚珍(Juzhen)/cjk-autospace 變更紀錄。← 回文檔
+塊級分類 CSS 鉤子 data-jz-block-level + 增量塊粒度契約 2026-07-16
+下游 HTML 模板消費端新一輪回饋兩項(建議七/說明八):resolved 分類之 CSS 可查鉤子(新功能、向下兼容),與增量 API 使用契約之文檔化。單元測試 140→145 全綠。
+建議七:resolved 分類寫回 DOM(levelMark pass)
+
+- 動機:消費端之段落級 CSS(首要 CJK 兩端對齊
text-align:justify)語義上應與段落級 pass(禁則/垂懸)作用於同一集合;level 判定原僅存內部快取、不寫回 DOM,消費端只能另立一份必然漂移之選擇器白名單(實例:.callout 綁了避頭尾卻仍散尾)。
+- 機制:新增 standalone pass
levelMark(order 10,恆開)——render 時對每個「直接承載可處理文本」之塊級元素寫 data-jz-block-level="paragraph|text",revert 全數移除(I6 之 data-jz-* 清單涵蓋)。消費端 [data-jz-block-level="paragraph"]{ text-align: justify } 即與聚珍共用單一真相源、永不漂移。
+- 純容器不標(body/ul/table…——直接文本僅空白):否則 body 恆被判 paragraph、justify 鉤子經繼承污染全頁。標記集合恰為段落級 pass 實際作用之塊集(collectRuns 對純容器收不到 run);avoid 子樹/pill 內部文本不計,未被處理之塊一致不標。
+- 輸入/輸出分離:作者輸入
data-jz-level 只讀不寫;輸出屬性本庫絕不讀取、亦不在 C2 觀察白名單(外部改動不觸發重處理);增量路徑 revert 即清、render 即重標,分類屬性變化自動刷新。是否對齊仍由消費端 CSS 決定(窄欄邊注可 opt-out),聚珍只供分類、不介入樣式。
+
+說明八:增量「塊粒度」契約(純文檔)
+
+- README/ARCHITECTURE §3.1 明載:增量更新須以塊為粒度——換塊內容、增刪塊、改分類屬性皆與全量重繪一致;不支持對聚珍已切分文本節點之外科式
characterData 直改(charify 以 fragment 替換原節點,render 前之舊引用已脫離文檔)——後處理排版器之固有限制、非缺陷,以塊為單位替換內容即可。
+
+
效能第二/三層:掃描/佈局提速 + 增量恢復(Tier3) 2026-07-12
承第一層(S2+S3)。本批含掃描/佈局提速與**增量恢復**(動態頁面局部變化免全樹重掃),全程獨立複驗+4 份真人撰寫真實文檔驗收。單元測試 130→140 全綠。
掃描 / 佈局提速
@@ -2816,6 +2842,19 @@ main > *:nth-child(n+6) { animation-delay: 0.46s; }