# 第三堂工程選讀｜來源、實作與驗證邊界

原作：[Leonxlnx／Athenaion](https://github.com/Leonxlnx/athenaion)。本課保存並參考的來源版本為 `9b8bd23b39c458a50fb1201037360047781c45b5`，以下原始文件連結固定在這個版本。

這份選讀供想進一步理解實作的讀者查閱。跟做主線不需要背 API、鏡頭座標或一整份工程提示詞。

## 先分清楚四種圖

- 原作參考圖：作者放在 [refs](https://github.com/Leonxlnx/athenaion/tree/9b8bd23b39c458a50fb1201037360047781c45b5/refs) 的九張 AI 生成參考圖。它們是作者用來對照的目標圖片。
- 原作輸出圖：作者放在 [media](https://github.com/Leonxlnx/athenaion/tree/9b8bd23b39c458a50fb1201037360047781c45b5/media) 的場景成果，例如不同鏡頭與參考／成果並排圖片。它們是原作的輸出，不能改稱本課渲染成果。
- 本課構圖草圖：本課另外設計的示意圖，說明主建物、山丘、水面與遠景的前後關係。它不是原作第十張參考圖，也不是原作的工作檔。
- 本課輕量示例：本課另外製作、可在網頁操作的小型場景，展示三個製作階段、兩種光線、三個視角、暫停與 PNG 匯出。它不包含原作完整世界與離線渲染流程。

## 各文件可以支持什麼

### README：作者如何介紹成果

[固定版本 README](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/README.md) 介紹全程序生成的古希臘場景、參考圖、各部分內容，以及預覽、烘焙與渲染指令。

文件列出的工具型號、製作時間、代理數量、物件數量、成本等，均屬作者自述。它們不能直接換算成本課學員的預期花費，也不能用來保證換一個工具就能得到相同成果。本課重點不依賴這些數字。

### PROMPT：合併整理後的要求

[固定版本 PROMPT](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/docs/PROMPT.md) 自述把那次製作的全部訊息整理合併為一份。可以據此討論整體目標、程序生成限制、參考圖對照與先圖後影片的順序。

它不能證明實際每次訊息的順序、每一輪工具輸出、失敗次數或中途決策。本課的短指令是教學重寫，並非冒充作者的真實聊天。

### ART_BIBLE：把畫面感受整理成可檢查方向

[固定版本 ART_BIBLE](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/docs/ART_BIBLE.md) 包含光線、遠景、建築、植物、材質與鏡頭的描述。可以支持「建立共用美術方向」這個方法。

本課把它縮成「主角、前後層次、色彩」三個問題。這個縮寫是教學安排，不代表三行文字已涵蓋原作全部規範。

### CONTRACT：讓各部分接得起來

[固定版本 CONTRACT](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/docs/CONTRACT.md) 定義模組接口、共用地形與配置資料、材質處理、品質等級、檔案責任與整合檢查。

可借用的原則是：共用位置集中管理；修改責任清楚；每部分先能單獨檢查；整合後再看完整畫面。初學者用一個 AI 對話分步處理也適用，不必先配置多人或多代理系統。

### COMPOSITION：構圖需要保存與修正

[固定版本 COMPOSITION](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/docs/COMPOSITION.md) 記錄不同鏡頭、物件位置與多輪取捨。有些調整改善一個鏡頭，卻可能影響其他鏡頭，因此需要一起檢查。

本課先用命名鏡頭、同角度截圖與一次修一項來練習這個觀念，不要求重做原作的相機推算工具。

## 本課示例負責什麼

本課獨立示例以瀏覽器即時預覽為目標，操作範圍如下：

- 主建物 → 地形與水面 → 植物與瀑布，分階段觀察新增內容。
- 清晨／夕陽兩種光線方向，協助比較亮面、陰影和氣氛。
- 全景／主體／水邊三個固定視角，協助用相同條件比較。
- 暫停動畫，協助觀察動態物件與輸出當下畫面。
- 匯出目前畫布為 PNG，保存本輪練習結果。

示例水面、植物和瀑布為輕量表現；它不提供原作的全世界幾何生成、寫實雕像、完整城市、多層霧氣、全套材質及高品質離線輸出。圖像輸出也不代表已執行原作渲染器。

## 為什麼保存鏡頭

相機位置、看向的位置和視角範圍，會一起決定畫面中的比例與遮擋。如果同時改場景和相機，很容易把「鏡頭移近」誤以為「建物比例修正」。

保存命名鏡頭，讓修改前後回到相同視角。比較動態場景時，還要盡量固定動畫時間。切換光線後另存一組比較圖，不把兩種氣氛混在一起評估。

自己的專案若要進一步做截圖驗證，可以請 AI 保存：階段、鏡頭名稱、光線方向、動畫時間、畫布尺寸與專案版本。這些資訊不必都顯示在畫面上，但應能追溯是哪次設定。

## 即時預覽、靜態輸出與影片分別驗收

即時預覽先檢查載入、旋轉、按鈕、尺寸與操作速度。它回答「是否能在這台裝置互動」。

PNG 輸出檢查當前畫面、裁切、明暗和細節。它回答「這個鏡頭的圖片是否可以保存和使用」。本課 PNG 取自目前畫布，不能因為檔名是高畫質，就認定它完成額外採樣或離線後製。

影片還要檢查運鏡連續性、穿模、動態時間、逐格品質、編碼與聲音。原作另有離線渲染工具與畫面處理流程。重跑它需要先確認實際環境、依賴、生成資料和資源需求，完成渲染後再檢查輸出；看過 README 或安裝完成都不等於重跑驗證。

## 將短指令交給 AI 時的補充方式

先給目標，不需要一開始列出所有實作方法。當 AI 確實需要決策時，再依問題補充。例如：

```text
如果你需要我決定畫面方向，先給兩個簡單選項，說明差異。
```

```text
這一輪只改入口前面的樹。請保留相機、光線和已完成的建物。
```

```text
改完請用同一個鏡頭輸出比較圖，並說明還有哪些部分沒驗證。
```

若 AI 一次動到太多部分，請它先整理修改清單，再回到最近可運作的版本。把問題縮小，比加入更多形容詞更容易知道下一步要做什麼。

## 來源與授權

原專案在這個版本使用 [MIT LICENSE](https://github.com/Leonxlnx/athenaion/blob/9b8bd23b39c458a50fb1201037360047781c45b5/LICENSE)。引用原作程式或圖片時，應保留專案來源、作者與原授權文字；本課引用素材的保存清單由課程資產紀錄管理。

原作展示影片的配樂另外有作者與授權註記，README 也說明音樂不屬於 repository 的內容。本課不因為程式採 MIT 就把配樂一併視為可任意使用；本課教學影片的旁白與畫面素材另行管理。

本課未把原作展示影片、參考圖或作者輸出圖，當成學員輸入短指令後的實測紀錄。課程中可操作、可匯出的部分，限本課獨立輕量示例；具體執行結果以發布時的驗證紀錄為準。
