Area Data Systemization Assessment

這份文件記錄目前 plans/0001-world-map-area-rebuild.md 的完成度評估,以及「是否改成資料庫方式管理 area / skill / balance 資料」的結論。

Executive Summary

Completion Assessment For plans/0001-world-map-area-rebuild.md

已明確落地的部分

尚未完全做滿的部分

Current Runtime Reality

目前 repo 的現行 runtime source of truth 仍是 flat files,不是 database。

Area

Skill

這代表:如果直接改成 DB-first,真正要動到的不只是 authoring tooling,而是整個 loader contract 與 repo 的 review / diff 方式。

Assessment: Should We Move To Database Management?

結論:不建議目前直接改成資料庫作為 primary source of truth,但非常建議導入結構化中介資料層。

為什麼不建議直接 DB-first

為什麼仍然要做資料結構化

建議用三層模型,而不是直接把 DB 變成 loader input:

  1. Human-editable structured source
    • Git-friendly 的 Markdown / JSON / YAML
    • 作為 area / skill / balance 的 canonical authoring layer
  2. Generator / exporter
    • 把結構化資料投影成 runtime 需要的 flat files
  3. Legacy runtime files
    • 維持 area/*skill/*.ski 等目前 loader 真正吃的格式

對 area 的建議

對 skill 的建議

對資料庫的建議定位

如果未來真的要用 DB,建議把它放在以下角色,而不是當第一步:

換句話說,較合理的順序是:

structured files first -> export pipeline -> optional database later

不是:

database first -> 強迫 runtime / Git / review 全部改制

若採結構化 source layer,而不是直接 DB-first,仍可得到主要收益:

Suggested Next Priorities

若要開始做 systemization,建議優先順序如下:

  1. 先整理 skill 的 structured registry 與 .ski generator
  2. 再整理 per-area content schema,覆蓋 mob / obj / shp / res
  3. 補 balance audit / consistency report
  4. 最後再評估是否需要 SQLite 或其他 DB 當分析層

原因: