ui/ — 3D 圖形界面

嵌入式 HTTP server + 3D graph visualization
目錄:src/ui/(httpd.c + http_server.c + layout3d.c + config.c)

大方向

ui/ 是「--ui 變體」的內建 3D 圖形界面:一個嵌入式 HTTP server 服務前端(graph-ui/,React + three.js),提供 localhost:9749 的互動知識圖譜瀏覽器。UI 由共享 daemon 擁有——並行 session 不會開重複的 HTTP server。


1. HTTP server

httpd.c · http_server.c ui/嵌入式 HTTP server:靜態資源 + JSON API。

提供前端 bundle(embedded assets)與圖資料 API(節點/邊/社群、搜尋、POST /api/index)。上游特別註明 HTTP server 是第一方實作——沒有用第三方 HTTP library。

2. 3D 佈局

layout3d.c ui/3D 力導向佈局的圖側計算。

前端用 three.js 渲染,但節點的初始 3D 座標由 C 側算好(layout3d.c),前端直接吃座標做 physics。跨 repo 時用 multi-galaxy 佈局呈現不同 repo 的「星系」。

3. 設定與嵌入

config.c · embedded_assets.h ui/UI 設定與前端 bundle 嵌入。

config.cui_enabled / ui_port(存在 cache 的 config.json);embedded_assets.h 把建置好的 graph-ui 前端編進二進位(非 --with-ui 的 lean build 用 embedded_stub.c)。

看完這頁你應該能說出:UI 是嵌入式 HTTP server + 前端、3D 座標由 C 側預算好、UI 由 daemon 共享避免重複 server、以及 lean vs ui 兩種 build 的差別。