一版,一個檔案。 One page, one file.
每一個 pack 都是一份宣告式 JSON:寫明去哪裡取數據、抽哪幾個欄位、怎樣排版。沒有程式碼會在裝置上執行。下面每一張圖都是引擎真實渲染出來的 800 × 480 畫面,不是設計稿。
A pack is one declarative JSON file — where the data comes from, which fields to pull, how to lay them out. No code from a pack ever executes on the device. Every image below is a real 800 × 480 render, not a mockup.
在你的瀏覽器即場渲染Rendered live, right here
同一份 C++ 引擎編譯成 WebAssembly。按一下,它會在你的瀏覽器內從零畫出這一版 —— 用你此刻的時間,和裝置上出現的畫面逐格像素一致。
family-board — 家庭留言板 · 資料全部內嵌在 pack 之內,渲染時不需要任何網絡連接。
Pre-rendered by the native CLI target.
示範頁面Example packs
下面的截圖是用 reTerminal E1002(六色)畫的;如果你用 reTerminal E1001,裝置會把這些畫面用黑白畫出來。These previews are rendered on the six-colour reTerminal E1002 — a mono reTerminal E1001 draws the same pages in black and white.
引擎測試頁Engine conformance packs
這些不是用來看的頁面,而是用來考引擎的:每個 widget、每條路徑表達式、每個日期濾鏡都要在這裡畫得一模一樣。
自己整一個Make your own
交給 AI 寫Let an agent write it
規格本身就是寫給機器讀的,repo 也會自我導航。把任何編程助手指向 repo 根目錄,直接講出你想要的頁面。
$ cd yat && claude
> "寫一版顯示西貢 69 號小巴到站時間的 pack"
或者自己手寫Or write it by hand
docs/PACK-SPEC.md 是規範性參考,JSON Schema 會幫你捉錯。
tools/preview 可以將任何 pack 渲染成 PNG,完全不需要硬件。