# 像素因果場論（PCFT / T₃ 補論四）補充
## 第一部分：遞歸格點細化的渲染正確性基座
## 第二部分：ASCII-Player 改造規格（本地 Agent MVP 交付）

**作者：Neo.K (許筌崴)**
**機構：EveMissLab (一言諾科技有限公司)**
**日期：2026年6月**
**文件性質：補論四之渲染正確性附論 ＋ 實驗載台工程規格**
**對應主文件：《像素因果場論》（T₃ 補論四），特別是 §6（因果場延伸）與 §6.5（遞歸格點細化）**

---

# 第一部分：渲染正確性基座（論文補充）

## S0. 補充動機

補論四 §6.5 將超解析度定義為遞歸過程：插入半整數格點 → 因果函數 φ̂ 從異色鄰居推算填值 → 解析度 ×2 → 遞歸。此機制隱含一個前提——存在一個數值正確的連續場可供推算——但補論四未指定該場應在何種數值基座上表示與運算。本補充補上這個基座，並劃定本框架可誠實宣稱的範圍。它不修改 §6.5 的機制，只指定機制賴以正確運行的坐標系。

## S1. 線性光公理

**公理 S1。** 連續因果場 F 定義於線性光空間（linear light），而非 gamma 編碼空間。

**說明。** 一般影像以 sRGB 儲存，sRGB 對輻射量施加了非線性傳遞函數（近似 γ≈2.2 的編碼）。此編碼是顯示與儲存的有損坐標，不是光的物理表示。F 所主張的「光影連續統」活在線性軸上——兩束光的疊加在線性空間是加法，在 sRGB 空間不是。

**命題 S1.1（填值空間正確性）。** 在 sRGB 空間對異色鄰居執行因果填值（任何加權平均或內插形式），會系統性扭曲邊界能量：中間調被壓暗，異色鏈的能量梯度被非線性壓縮。故 φ̂ 的推算必須在 F 被 decode 至線性空間後執行，輸出時再 encode 回顯示空間。

**推論 S1.2。** §6.5 演算法每一步「因果場填值」皆應註記為「於線性光空間執行」。此為單點正確性修正，其重要性高於後續所有色彩空間升級——基座軸選錯，遞歸從第一輪起即在被扭曲的數軸上累積誤差。

## S2. 動態範圍守恆

**命題 S2。** 8-bit 整數表示（每通道 256 階）在遞歸細化下會崩塌為帶狀偽影（banding），使 RSCD 因量化而非因機制失效。

**論據。** §6.5 為遞歸 ×2 過程，每輪在已填值上再插值再填補。每輪的捨入誤差在固定 256 階下累積，約於第三至第四輪（此深度為假設，待實測標定）開始出現可見階梯，連續統被框架自身的量化重新離散化。此非機制缺陷，而是表示精度缺陷。

**推論 S2.1（精度下界，假設）。** 設目標遞歸深度為 n，欲使量化不成為 RSCD 崩塌的主因，累積精度應 ≥ 某與 n 單調相關的下界（具體形式待標定，假設為線性於 n 的有效位元數增量）。實作上以浮點（Float32）或 ≥16-bit 累積，僅在落地顯示時降回 8-bit。

**註。** S1 與 S2 是正交的兩個瓶頸：S1 是軸選錯（gamma），S2 是軸上刻度不夠細（位元深度）。兩者皆與「顏色種類多寡」無關——這是「光譜太少」一語的精確分解：少的不是色目，是承載光的軸的維度與刻度。

## S3. φ̂ 的圖學定位

**命題 S3。** φ̂ 不是內容無關的固定重建核，而屬於內容自適應重建族（content-adaptive / edge-aware reconstruction），其導引信號為因果場結構，而非空間鄰近度。

**對照。** 雙線性、bicubic、Lanczos 等固定核重建對所有位置施加同一空間權重，不辨邊界，故在異色邊界處模糊。φ̂ 沿異色鏈推算，等價於以因果場為導引的引導式重建（guided / joint-bilateral 一族）。

**判別命題 S3.1。** φ̂ 與既有 guided upsampling 的差異，不在演算法骨架（同屬引導式重建），而在導引信號的來源：既有方法以高解析引導圖（如同場景的另一通道）為導引；φ̂ 以因果場 F 的異色二部結構為導引。此差異是本框架送審時的第一道必答題——「你這跟 guided upsampling 差在哪」——答案須鎖定於此：導引信號是因果場拓撲，非空間或跨通道鄰近。

## S4. 誠實宣稱邊界

**命題 S4。** 任何擷取所得的影像緩衝 S（相機、編碼、解碼之產物）已是真實光源場 F 的有損投影：已 gamma 編碼、已 tone-map、已裁剪入 LDR。故 S ≠ F。

**推論 S4.1（可證明範圍）。** 本框架可證、可量、可被審查者，為「因果填補相對於擷取場 S 的跨尺度 RSCD 保持」，而非「還原真實連續光源 F」。前者有 ground truth（S 自身在更高採樣密度下的值），後者無——因為 F 已在擷取階段被破壞。

**推論 S4.2（防線）。** 論文與 demo 不得宣稱「重建真實光源連續統」。一旦如此宣稱，一句「你的 ground truth 本身已非連續統」即可打穿全部結論。標的須釘死於 S4.1 的前者：本機制的當量是「優於幻覺生成的尺度一致性」，可被逐尺度誤差曲線證偽或證成；不是「上帝視角的光的重建」。

## S5. 與補論四的接點

- §6.1–6.4 的 φ 估算敘述，應補註 φ̂ 的引導式重建族歸屬（S3），使其對接既有圖學基元而非懸空自創。
- §6.5 演算法框架的每一步填值，應補註「於線性光空間、浮點精度執行」（S1.2、S2.1）。
- §7（與現有超解析度技術對比）應補入 S4 的宣稱邊界，將本框架的優越性主張限定於「相對於擷取場的尺度一致性」，避免與生成路線在「細節真實性」上做不可證的比較。

---

# 第二部分：ASCII-Player 改造規格（本地 Agent MVP）

> 本部分為工程交付規格，供本地 agent 實作 MVP。標的為將開源專案 ASCII-Player 的 Direct 播放器改造為 PCFT §6.5 遞歸格點細化的可視化暨可證偽測試台。第一部分的 S1–S4 為本規格的正確性約束。

## P0. 標的與既有基礎

改造對象：`ASCII-Player-Direct.html`（Burger Studio，授權允許個人與商業使用，免署名；僅禁轉售圖示／本體包本身）。

既有可用基礎（已驗）：
- 管線已將來源（影片／圖片／相機）繪入隱藏 `<canvas>`，並以 `ctx.getImageData` 取得**全解析度幀緩衝 `imageData.data`**（RGBA，每像素）。此即擷取場 S，是 §6.5 的源場與 ground truth。
- 「壓縮程度」滑桿（`compression`，`for i += compression`）即格點尺寸，為現成的「格子放大縮小」旋鈕。
- 9 色 emoji 量化為顯示層；本改造將其自細化路徑剝離，僅保留為可選顯示模式。

## P1. 改造後核心管線

```
1. 取源：S = getImageData(canvas)            // sRGB 8-bit RGBA
2. 入軸：S_lin = sRGB→linear(S)               // Float32，線性光（S1）
3. 粗格層 L0：對 S_lin 以初始 cell size c0 做 box-filter 下採樣
4. 遞歸細化 for k = 0..n-1：
     a. 在 L_k 格點間插入半整數格點（奇偶索引分裂）
     b. 對每個新格點，φ̂ 填值：
          - 找異色鄰居（二部結構，已填值）
          - 引導式重建，導引 = 因果場結構（S3）
          - 全程 Float32 線性光累積（S2）
     c. L_{k+1} = L_k ∪ 新格點；解析度 ×2
     d. 計算並記錄本輪度量 M_k（見 P3）
5. 落地：L_n → linear→sRGB → 顯示（emoji／灰階／像素塊任一）
```

## P2. 兩種運行模式（對應岔路 A/B）

- **測試模式（thesis，MVP 重點）**：步驟 4b 的導引讀取 S_lin（擷取場）作為 ground-truth 引導，逐輪量 M_k 對照內插 baseline。此模式產出可證偽的數字——證成或證偽「因果填補 vs 幻覺／內插」。
- **盲放大模式（blind）**：步驟 4b 僅用已填格點、不看 S_lin，為真實超解析度用例。次要，MVP 可後置。

> 注意（S1 第一部分結論）：盲模式若退化為「在量化格子間內插」即岔路 A，證不出東西。MVP 先做測試模式。

## P3. 度量

- 逐輪度量 M_k：本輪填補結果與 S_lin 在對應尺度下的一致性。MVP 以 PSNR／SSIM（於線性空間計算）為 proxy，並設 bilinear 上採樣為 baseline 對照組。
- M_k 為**假設度量**，待主論文 RSCD 之正式定義對齊後替換。MVP 階段只需 M_k 能分辨「因果填補曲線」與「bilinear baseline 曲線」是否顯著分離。
- 輸出：逐輪誤差曲線（因果 vs baseline）疊圖，與逐輪格點分裂填滿的可視化。

## P4. MVP 驗收標準

1. 線性光管線正確：sRGB→linear→sRGB round-trip 在無細化時偏差為 0（gamma 無偏，S1）。
2. 浮點累積：遞歸 ≥4 輪後無可見 banding（S2）。
3. 可證偽性：測試模式下，因果填補的逐輪 M_k 曲線**顯著優於** bilinear baseline；若不顯著，則本 MVP 已證偽當前 φ̂ 實作（或機制本身），此為有效負結果，須如實呈現，不得調參掩蓋。
4. 可視化：逐輪格點分裂與填滿過程可見，便於檢視因果場是否沿異色邊界正確延伸。

## P5. 非目標（MVP scope cut）

- 不實作 RSCD 的完整形式定義（沿用主論文，MVP 用 P3 proxy）。
- 不做多波長／光譜表示（第一部分 S 升級項，非前置）。
- 不做 HDR tone-map 反演（受 S4 限制，超出可證範圍）。
- 不上 GPU；MVP 以 CPU／純 JS 實作，慢無妨，正確性優先於速度。

## P6. Agent 最小起手序

1. Fork `ASCII-Player-Direct.html`，抽出 `refreshScreen` 的取源段，接上 P1 步驟 1–2（linear float round-trip），先單獨驗 P4.1。
2. 實作 P1 步驟 3–4 的遞歸迴圈與奇偶索引格點分裂，Float32Array 承載，驗 P4.2。
3. 接 P2 測試模式與 P3 度量，產出對照曲線，驗 P4.3、P4.4。
4. emoji／灰階顯示降為可切換的落地選項，與細化路徑解耦。

---

**文件性質**：渲染正確性補充 v0.1 ＋ 載台改造規格 v0.1
**對應主文件**：《像素因果場論》T₃ 補論四 §6 / §6.5
**作者**：Neo.K (許筌崴)，EveMissLab，台灣

*補論四說的是格點如何越填越滿，本補充說的是填之前要先把軸鋪對：光活在線性的軸上，刻度要細到遞歸吃不光，而你手上的影像，從來不是光本身，只是光留下的一張收據。據著收據可以驗算它自己，但別把收據當成那束光。先認清能證明什麼，再讓格點去填它。*
