變更紀錄(Changelog)

聚珍(Juzhen)/cjk-autospace 之版本變更紀錄。

· cjk-autospace · 變更紀錄

聚珍(Juzhen)/cjk-autospace 變更紀錄。← 回文檔

效能第二/三層:掃描/佈局提速 + 增量恢復(Tier3) 2026-07-12

承第一層(S2+S3)。本批含掃描/佈局提速與**增量恢復**(動態頁面局部變化免全樹重掃),全程獨立複驗+4 份真人撰寫真實文檔驗收。單元測試 130→140 全綠。

掃描 / 佈局提速

增量恢復(第三層,向下兼容 API)

獨立複驗 + 真實文檔驗收

文檔(I1/I6 收緊)

效能第一層:掃描提速(category 記憶化 + orphan 葉塊預計算) 2026-07-11

下游效能訴求(掃描疑 O(n²))之第一層——無狀態、保行為、無公開 API 變更之確定收益。單元測試 129→130 全綠、輸出不變。

優化

亲驗與待議

splitTreeAfter 攀升對稱守衛(opaque 中間祖先不再被克隆肢解) 2026-07-11

下游 .selection-bar-message 病例:垂懸字(orphan)之段末實義字落於 opaque <button>(巢於可切 <span>)時,splitElementAt 僅驗頂層 span 可切;splitTreeAfter 逐層克隆「文本節點→top」祖先鏈時,中間 opaque button 從未複查即被克隆肢解(複製出 splitoff button、破壞互動元素)。firstTextlastText 守下潛(遇非可切回 null),攀升卻無對稱守衛——此即真正病根,下游 per-instance 迴避僅治標。

修復

逐元素標點樣式覆寫(data-jz-style/stylePolicy) 2026-07-11

下游需求:非段落/特定範圍元素用半角式(banjiao),段落用全角/開明。原標點樣式僅由 lang 決定(lang.policylang.style),無逐元素覆寫。新增與 data-jz-levellevel.text 同構之逐元素樣式機制(banjiao 渲染早已就緒、此為純路由,無新壓縮邏輯/CSS)。單元測試 121→127 全綠。

設置格式

專案整理:架構一致性 + 確認缺陷修復 + 文檔重整 2026-07-07

四路並行審計(core/typeset+CSS/設置 API/文檔)後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂,並修四個審計缺陷中之確認項(另一證偽、一延後)。單元測試 116→121 全綠。

階段一 · 確認缺陷修復 + 清理

階段二 · 架構一致性

復驗後重新定性(不照單全收)

文檔(本次)

標點擠壓句界例外(句末點號接開類保留右空白) 2026-06-13

行內連續擠壓(機制 A)新增句界例外:句末點號(。.!?)後接開類引號/括號(。「?「)時保留句末點號右側空白、僅收開類左側,全角式與開明式皆合占 1.5em(對稱於 。」)——下游回饋之語感修正。單元測試 113→116 全綠。

變更

範圍

行內元素三分類(KaTeX 肢解修復)+ v1 相容層移除 2026-06-12

下游問題六(KaTeX 公式被禁則綁定肢解)修復:確立行內元素三分類口徑(透明/隔離/整體),所有遍歷原語共用同一判定。v1 相容層隨最後一批消費端遷移完成而移除。單元測試 101→112 全綠。

修復(下游問題六)

新增:行內元素三分類(§4.1)

移除:v1 相容層

行內排版透明性修復 + 標點懸掛移除 2026-06-11

修復兩個下游 Bug(同源於「行內元素對排版透明」原則在各遍歷原語口徑不一)+三項同根隱患審計;並把上一輪「停用」之標點懸掛正式移除(負 margin 程式碼/CSS/型別一併刪)。單元測試 90→101 全綠。

修復

標點懸掛:實作後停用 → 正式移除

純 CSS 手段(負 margin/相對位移/零寬盒)經實測為機制級死路,已移除(負 margin 之 lineedge 程式碼/jz-hang-* CSS/LineEndModelineEndfeatures.hanging 一併刪)。行端僅餘半形擠壓(jz-half-le)。

功能分級 + 垂懸字(標點懸掛停用) 2026-06-09

ARCHITECTURE §6.5:功能分級、垂懸字(方案 C)落地工作良好;原計劃之標點懸掛經實測確認不可行、全面停用。共 90 單元測試全綠(含懸掛防逃逸覆蓋)。

新增

標點懸掛:實作後全面停用

原計劃之標點懸掛(行端標點凸出版心)經 headless + 真實瀏覽器實測確認純負 margin 機制不可行,已全面停用(hanging 選項仍被接受但無任何效果)。

工具

標點挤压一致性 2026-06-04

新增/修復

字符分類規則集 2026-06-04

新增

下游回饋修復批次 2026-06-03

聚焦 Peek.nvim 等下游回饋之原子透明與中西間隙正確性,皆以真實 Chromium 量測驗證(jsdom 之 TreeWalker/offset 失真,不可信)。

修復

變更

工具

v2 切片 1 · 增補 2026-06

切片 1 之上的修補與強化,聚焦標點半形對缺 halt 字型之支援,及下游回饋之邊界/分頁器修復。

新增

修復

已知限制

v2.0.0 切片 1 · 從零重寫

ARCHITECTURE.md 契約,從零重寫為「現代簡/繁中文網頁排版套件」。倉庫名 cjk-autospace 不變;公開 API 為 createJuzhen /全域 Juzhen;自訂元素前綴 jz-。v1 完整保留於 v1-autospace 分支。

新增

相對 v1 之改進

v1(cjk-autospace) · v1-autospace 分支

Pangu.js v7.2.1 風格之 CJK↔Latin 邊界自動間距 shim,工廠 createCjkAutospace(options).apply(root)