docs: changelog 2026-07-07 專案整理(階段一/二)+ index 三分類分層/avoid 七源/demo/19.7em
新增 changelog 2026-07-07「專案整理」條目(架構一致性:透明判定單一真相源+跨透明邊界避頭尾 +avoid 排除歸一;確認缺陷修復+清理;復驗後 lineedge 非缺陷/五處幂等不做之定性;文檔重整) +md-twin 同步。 index 同步:三分類「共用同一判定」改分層表述(isTransparent 為邏輯流單一真相源+未知行內採 嚴格白名單邊界;canSplit/lineedge 為獨立層)、透明列標「未列=邊界」、avoid 改七源+isAvoided 組合入口+skipTags 不含 code/kbd;修 19.5em→19.7em(與 main 一致);目視驗證補 demo/resize-check 與 demo/showcase 引用。changelog/index HTML 經 build.sh 重建。
This commit is contained in:
+51
-2
@@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>變更紀錄(Changelog)</title>
|
||||
<meta name="generated-at" content="2026-06-13">
|
||||
<meta name="generated-at" content="2026-07-07">
|
||||
<meta name="source" content="cjk-autospace · 變更紀錄">
|
||||
<!-- RUNTIME_CSS -->
|
||||
</head>
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="meta">
|
||||
<h1>變更紀錄(Changelog)</h1>
|
||||
<p class="subtitle">聚珍(Juzhen)/cjk-autospace 之版本變更紀錄。</p>
|
||||
<p class="timestamp"><time>2026-06-13</time> · <span>cjk-autospace · 變更紀錄</span></p>
|
||||
<p class="timestamp"><time>2026-07-07</time> · <span>cjk-autospace · 變更紀錄</span></p>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<!-- ACTIONS -->
|
||||
@@ -25,6 +25,32 @@
|
||||
<!-- BODY -->
|
||||
<p class="lede">聚珍(Juzhen)/cjk-autospace 變更紀錄。<a href="./index.html">← 回文檔</a></p>
|
||||
|
||||
<h2>專案整理:架構一致性 + 確認缺陷修復 + 文檔重整 <span class="badge accent">2026-07-07</span></h2>
|
||||
<p>四路並行審計(core/typeset+CSS/設置 API/文檔)後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂,並修四個審計缺陷中之確認項(另一證偽、一延後)。單元測試 116→121 全綠。</p>
|
||||
<h3>階段一 · 確認缺陷修復 + 清理</h3>
|
||||
<ul>
|
||||
<li><strong>jinze 冪等</strong>:二次 render(未 revert)曾產生巢狀 <code>jz-jinze</code>(違反 I6,實測 3→6)——守衛改判 <code>isJz(parent, PASS)</code>。</li>
|
||||
<li><strong>pill 自身 avoid 漏檢</strong>:<code>processPills</code> 補 <code>avoidsSelf</code>——自身命中 avoid(如 <code><code data-jz-skip></code>)之 pill 曾仍被補間隙。連帶:<strong><code>CODE</code>/<code>KBD</code> 自 <code>skipTags</code> 預設移除</strong>(已由 <code>pillSelector</code> 以 pill 涵蓋;再列 skipTags 違反三分類互斥、且會抹掉普通 <code>code</code> 之 pill 兩端間隙)。若把 <code>code</code> 移出 <code>pillSelector</code>,須自行加入 <code>skipTags</code>/<code>scope.avoid</code>。</li>
|
||||
<li>刪零引用死代碼(<code>createMarker</code>/<code>ANY_CJK</code>/<code>BD_ALL</code>/<code>BD_CLASS_NAMES</code>/<code>CreateOptions.attrs</code>);死旗標 <code>biaodian</code>/<code>emphasis</code>/<code>ruby</code> 補 <code>@reserved</code> 註記。</li>
|
||||
</ul>
|
||||
<h3>階段二 · 架構一致性</h3>
|
||||
<ul>
|
||||
<li><strong>透明判定單一真相源</strong>:<code>transparentInline</code> 提升為公開 <code>isTransparent</code>,邏輯文本流之遍歷原語(<code>collectRuns</code>/<code>adjacentLogicalChar</code>/<code>jiyaAdjacency</code>)共用之。<strong>未在 <code>styleInlines</code> 之未知行內標籤(如 <code><button></code>)採嚴格白名單、一律當邊界</strong>(用戶抉擇;透明須顯式登記)。分層澄清:結構切分安全 <code>canSplit</code>、行端物理版面 <code>lineedge</code> 各有正當之不同邊界、刻意不併入。</li>
|
||||
<li><strong>跨透明元素邊界避頭尾</strong>(修 #3):避頭類標點落於 <code><strong></code> 邊緣(<code>你好<strong>。世界</strong></code> 之句末點號位於 strong 首位)時,<code>forbiddenBreak</code> 經 <code>edgeCharEl</code> 穿越透明元素下探定位、render 沿透明邊緣上攀處理外層 parent,不再漏綁、誤置行首。</li>
|
||||
<li><strong>avoid 排除歸一</strong>:<code>isAvoided</code> 改單一組合入口(自身或祖先),免除「<code>avoidsSelf ‖ isAvoided</code>」易漏一半之誤用(階段一 pill 漏檢即此類)。</li>
|
||||
<li>小項:<code>scope.include</code> 型別去多餘 <code>| null</code>;<code>gapTrim</code> 補逐節點功能閘;<code>PASSES</code> 陣列補註執行序。</li>
|
||||
</ul>
|
||||
<h3>復驗後重新定性(不照單全收)</h3>
|
||||
<ul>
|
||||
<li><strong>lineedge 攀穿 isolate——非缺陷</strong>:<code>edgeRect</code> 為物理版面測量(<code>getClientRects</code>),isolate 斷的是邏輯 run/相鄰,物理行首行尾判定須跨 <code><mark></code> 找真實相鄰內容;初評誤判、已還原。</li>
|
||||
<li><strong>五處幂等收斂——評估後不做</strong>:各檢查不同位置關係(祖先/父/子),無單一 <code>isJz</code> 形狀可全覆蓋,強行歸一徒增風險。</li>
|
||||
</ul>
|
||||
<h3>文檔(本次)</h3>
|
||||
<ul>
|
||||
<li>README 新增「全部選項速查」表——突出被埋沒之 <code>lang.style</code>/<code>styleInlines</code>/<code>blockTags</code>/<code>skipTags</code>(標籤名陣列)/<code>skipAttribute</code>/<code>isSkipped</code>;三分類改分層表述、avoid 改七源+組合入口。</li>
|
||||
<li>ARCHITECTURE §3.1 <code>scope.avoid</code> 過時示例、§4.1 透明分層與 avoid 七源、§4.2 標點六子類(舊列 <code>bd-cop</code>/<code>bd-sep</code>/<code>quote</code> 與實作不符)修正。</li>
|
||||
</ul>
|
||||
|
||||
<h2>標點擠壓句界例外(句末點號接開類保留右空白) <span class="badge accent">2026-06-13</span></h2>
|
||||
<p>行內連續擠壓(機制 A)新增<strong>句界例外</strong>:句末點號(<code>。.!?</code>)後接開類引號/括號(<code>。「</code>/<code>?「</code>)時保留句末點號右側空白、僅收開類左側,全角式與開明式皆合占 <strong>1.5em</strong>(對稱於 <code>。」</code>)——下游回饋之語感修正。單元測試 113→116 全綠。</p>
|
||||
<h3>變更</h3>
|
||||
@@ -197,6 +223,29 @@
|
||||
<script type="text/markdown" id="md-source">
|
||||
# 變更紀錄(Changelog)— 聚珍(Juzhen)/cjk-autospace
|
||||
|
||||
## 專案整理:架構一致性 + 確認缺陷修復 + 文檔重整(2026-07-07)
|
||||
|
||||
四路並行審計後之兩階段整理。核心:消除「透明穿越」判定之兩套口徑分裂。測試 116→121 全綠。
|
||||
|
||||
### 階段一 · 確認缺陷 + 清理
|
||||
- jinze 冪等:二次 render 曾巢狀 jz-jinze(違反 I6,3→6)——守衛改判 isJz(parent, PASS)。
|
||||
- pill 自身 avoid 漏檢:processPills 補 avoidsSelf。連帶 CODE/KBD 自 skipTags 預設移除(已由 pillSelector 以 pill 涵蓋;再列 skipTags 違反三分類互斥、會抹掉普通 code 之 pill 間隙)。若把 code 移出 pillSelector 須自行加入 skipTags/scope.avoid。
|
||||
- 刪死代碼 createMarker/ANY_CJK/BD_ALL/BD_CLASS_NAMES/CreateOptions.attrs;死旗標 biaodian/emphasis/ruby 補 @reserved。
|
||||
|
||||
### 階段二 · 架構一致性
|
||||
- 透明判定單一真相源:transparentInline 提升為公開 isTransparent,邏輯文本流三原語(collectRuns/adjacentLogicalChar/jiyaAdjacency)共用之。未在 styleInlines 之未知行內標籤採嚴格白名單、一律當邊界(用戶抉擇)。分層:canSplit(切分安全)、lineedge(物理版面)各有正當之不同邊界、不併入。
|
||||
- 跨透明元素邊界避頭尾(修 #3):句末點號落於 <strong> 首位(你好<strong>。世界</strong>)時 forbiddenBreak 經 edgeCharEl 下探、render 沿透明邊緣上攀處理外層 parent,不再漏綁。
|
||||
- avoid 排除歸一:isAvoided 改組合入口(自身或祖先),免「avoidsSelf ‖ isAvoided」漏一半。
|
||||
- 小項:scope.include 去多餘 |null;gapTrim 補功能閘;PASSES 補註執行序。
|
||||
|
||||
### 復驗後重新定性(不照單全收)
|
||||
- lineedge 攀穿 isolate——非缺陷:edgeRect 為物理測量,須跨 mark 找真實相鄰;初評誤判、已還原。
|
||||
- 五處幂等收斂——不做:各檢查不同位置關係,無單一 isJz 形狀可全覆蓋,強行歸一徒增風險。
|
||||
|
||||
### 文檔
|
||||
- README 新增「全部選項速查」表(突出 lang.style/styleInlines/skipTags/skipAttribute/isSkipped);三分類改分層、avoid 改七源。
|
||||
- ARCHITECTURE §3.1 scope.avoid 過時示例、§4.1 透明分層、§4.2 標點六子類修正。
|
||||
|
||||
## 標點擠壓句界例外(句末點號接開類保留右空白)(2026-06-13)
|
||||
|
||||
### 變更
|
||||
|
||||
Reference in New Issue
Block a user