docs(research/退役批): design/research 全目录退役落地——中间文档唯一暂存地收敛为 reports/(用户 2026-10-20 令「design/ 只放持久化设计文档,过程件一律出 design/」的执行补完,2026-10-21 会话复述确认)
八件受版文件 git mv 进 reports/(一律先迁不删,删除归后续批或用户点名):提案三件(冒险前资源配比预设/效果引擎无状态化/武器锻造系统)、审计两件(代码术语审计/单测与验收门禁标准测试审计)、美术审计两件(cursor 会话存档 md + canvas 转 HTML 渲染件)、需求澄清-营地交互重做;未入库的 UI预览demo 三路对照件只搬盘不入库。 GDD 落文:锻造工坊.md「满级特效扩展位」节收下七条候选池(长剑破甲/长剑暴击面扩大/长枪先手连击/法杖开局魔法矢/轻甲灵巧/重甲反震/魔法护甲护盾),按现役 EFFECT_KINDS 与 settlement.tres:51/52 逐条复核实现代价分档,效果类型闭集口径取正文现行 31 种、不抄过程稿旧记 24 种;候选池定性为备用清单非承诺清单。 引用面换代 08(playnote 之外两处 ../research/ 改 ../../reports/)、待办清单四处、reports 八张卡片(跨目录前缀改同目录)、art-assets-checklist 与 sim-data/README 两处既存死指改「沿革查 git 提交史」、content-archive 出处句标注该目录已退役。迁入件内部相对链接随迁移重基准(../gdd/ → ../design/gdd/,playnote 与待办清单改回仓库根),并订正上一批遗留错误:两张迭代 30 卡片的 playnote 链接原写 ../../playnote.md(从 reports/ 出发指到仓库外),现改 ../playnote.md。 规则与机检:doc-conventions §11「暂存地非档案库」行改为单暂存地+禁在 design/ 下设过程件目录+图像载体与报告渲染件口径分列(禁图留 artwork/ 沿用 2026-09-27 用户裁;.html/.json 允许作为报告的一种=2026-10-21 用户裁,原「只放 .md」句系 10-17 建目录时顺带照搬、无单独点头记录);AGENTS Project Layout 两行同步;reports/README 补「设计讨论段过程稿」命名行。repo_structure_audit:DESIGN_SUBDIRS 去 research、RETIRED 加 design/research;doc_ref_audit 排除面清空(design 全树入扫描面);doc_term/doc_link 扫描域注释换代;三件样张脚本 OUT_REPORT 改落 reports/ 并补 os.makedirs(改前只对 OUT_PNG 建目录,目录缺失即 FileNotFoundError)。 变异验证:重建 design/research 并放文件 → 结构闸退出码 1、同时报「退役路径再现」与「子目录越界」两条;design/ 内放两条指向不存在文件的引用 → 引用可核机检报「路径不存在」红项 2(该闸暂未注册进闸壳,无基线记录必判变化);清场后结构闸 PASS。
This commit is contained in:
1 parent
e364814294
commit
f958a03f51
33 files changed
+147
-59
No files matched your search
@@ -23,7 +23,7 @@ r"""doc_link_audit.py — design 文档链接健康检查
|
||||
python tools/doc_link_audit.py <file.md> ... # 只扫指定文件
|
||||
python tools/doc_link_audit.py --json # 机器可读
|
||||
|
||||
口径:只扫 design/gdd/——design/art、design/research
|
||||
口径:只扫 design/gdd/——design/art、reports/
|
||||
(历史素材/提案)不在扫描域,但作为链接目标被校验。排除 ``` 围栏代码块与 ; 开头注释行。
|
||||
"""
|
||||
import argparse
|
||||
|
||||
@@ -8,7 +8,7 @@ r"""doc_ref_audit.py — 文档内代码引用可核检查(机检)
|
||||
账面就与现实脱节而无人知(2026-10-21 迭代 32 收尾时实测抓到两例)。
|
||||
|
||||
扫描面:`design/` 现行文档树 + 四份根文件(`待办清单.md`/`体验验证清单.md`/`roadmap.md`/`AGENTS.md`)。
|
||||
排除面:`reports/` 与 `design/research/`——两处是中间文档暂存地(doc-conventions 第 11 节),
|
||||
排除面:`reports/`——中间文档唯一暂存地(doc-conventions 第 11 节;`design/research/` 已于 2026-10-21 退役),
|
||||
入内文件按「吸收即死」退役,历史件不回溯改,故不入本闸判据。
|
||||
|
||||
自检二道(防假绿):扫描文件数为零 ⇒ FAIL;抽取到的引用数为零 ⇒ FAIL。
|
||||
@@ -36,7 +36,7 @@ from pathlib import Path
|
||||
REPO = Path(__file__).resolve().parents[1]
|
||||
|
||||
SCAN_DIRS = ["design"]
|
||||
SCAN_EXCLUDE_DIRS = ["design/research"]
|
||||
SCAN_EXCLUDE_DIRS = [] # design/ 下已无过程件目录(research 于 2026-10-21 退役),全树入扫描面
|
||||
ROOT_FILES = ["待办清单.md", "体验验证清单.md", "roadmap.md", "AGENTS.md"]
|
||||
|
||||
# 引用形态:路径或文件名 + 扩展名 + 半/全角冒号 + 行号。反引号可包在中间或外面,
|
||||
|
||||
@@ -16,7 +16,7 @@ r"""doc_term_audit.py — GDD 退役术语扫描(半自动)
|
||||
|
||||
口径:扫 design/gdd/ 与 design/art/ 两处文档域 + 四份根文件(`待办清单.md`/`体验验证清单.md`/
|
||||
`roadmap.md`/`AGENTS.md`,2026-10-21 迭代 32 卡①反哺批扩面,用户裁;根文件同属现行文本)
|
||||
——design/research(历史提案)与 reports/(中间文档)不在扫描域;
|
||||
——reports/(中间文档唯一暂存地)不在扫描域;design/ 全目录已无过程件目录(research 于 2026-10-21 退役);
|
||||
词表扩充 = 改 RETIRED_TERMS(受 doc-conventions §4 词表冻结约束:唯一入口=用户实读反馈并经用户裁决)。
|
||||
"""
|
||||
import argparse
|
||||
|
||||
@@ -45,7 +45,7 @@ def asset_root(*parts):
|
||||
|
||||
|
||||
OUT_PNG = os.path.join(ROOT, "artwork", "mockups", "level-map-sheet-v1-2026-09-28.png")
|
||||
OUT_REPORT = os.path.join(ROOT, "design", "research", "level-map-sample-v1-机检报告-2026-09-28.md")
|
||||
OUT_REPORT = os.path.join(ROOT, "reports", "level-map-sample-v1-机检报告-2026-09-28.md")
|
||||
T_FONT_PATH = asset_root("artwork", "ui-reuse-2026-09-23",
|
||||
"4-字体", "fusion-pixel-12px(OFL)", "fusion-pixel-12px-proportional-latin.ttf")
|
||||
ZH_FONT = r"C:\Windows\Fonts\msyh.ttc"
|
||||
@@ -572,6 +572,7 @@ def main():
|
||||
canvas.convert("RGB").save(OUT_PNG)
|
||||
print("saved:", OUT_PNG)
|
||||
|
||||
os.makedirs(os.path.dirname(OUT_REPORT), exist_ok=True)
|
||||
with open(OUT_REPORT, "w", encoding="utf-8") as f:
|
||||
f.write("# 关卡画面样张 v1 机检报告(2026-09-28,M-2 迭代 4 T1)\n\n")
|
||||
f.write("生成:`python tools/render_level_map_sheet.py`;闸形 A(M-1 迭代 2 先例)——断言集从 level-map.md AC + art-bible 硬指标直接推导,全过即冻结落码;气质终审 = 批末用户目检(=M-2 出口闸)。\n\n")
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
换皮对照 / S4 图例。内容清单 = art-bible §1.4(九组,缺项即无效)。
|
||||
素材源 = game/assets/art(board 21 瓦片 + character 小人/立绘)+ ui/icons 状态图标;
|
||||
素材不入 git——先查本仓库,缺位回退主检出(D:/code/g-plan2)。
|
||||
词表事实源 = design/research/board-tile-vocab-plan-a-2026-09-26.md;画法参数事实源 =
|
||||
design/research/画法参数四源对照表-2026-09-26.md(四源对表先行产物)。
|
||||
词表事实源 = board-tile-vocab-plan-a-2026-09-26.md(已出盘,沿革查 git 提交史);画法参数事实源 =
|
||||
画法参数四源对照表-2026-09-26.md(四源对表先行产物,已出盘,沿革查 git 提交史)。
|
||||
输出 = artwork/mockups/sample-batch-v2-2026-09-28.png(文件名带版本与日期,防重渲染覆盖)
|
||||
+ 机检报告(中间产物,吸收即死不入 git——doc-conventions §11)。
|
||||
用法:python tools/render_sample_sheet.py
|
||||
@@ -52,7 +52,7 @@ BOARD_DIR = ("game", "assets", "art", "board")
|
||||
CHAR_DIR = ("game", "assets", "art", "character")
|
||||
ICON_DIR = ("game", "assets", "ui", "icons")
|
||||
OUT_PNG = os.path.join(ROOT, "artwork", "mockups", "sample-batch-v2-2026-09-28.png")
|
||||
OUT_REPORT = os.path.join(ROOT, "design", "research", "sample-v2-机检报告-2026-09-28.md")
|
||||
OUT_REPORT = os.path.join(ROOT, "reports", "sample-v2-机检报告-2026-09-28.md")
|
||||
T_FONT = asset_root("artwork", "ui-reuse-2026-09-23",
|
||||
"4-字体", "fusion-pixel-12px(OFL)", "fusion-pixel-12px-proportional-latin.ttf")
|
||||
ZH_FONT = r"C:\Windows\Fonts\msyh.ttc"
|
||||
@@ -984,6 +984,7 @@ def main():
|
||||
print("saved:", OUT_PNG)
|
||||
|
||||
# 机检报告
|
||||
os.makedirs(os.path.dirname(OUT_REPORT), exist_ok=True)
|
||||
with open(OUT_REPORT, "w", encoding="utf-8") as f:
|
||||
f.write("# 样张 v2 机检报告(2026-09-28,M-1 迭代 2 T1)\n\n")
|
||||
f.write("生成:`python tools/render_sample_sheet.py`;断言事实源 = 画法参数四源对照表-2026-09-26.md §6 + 迭代 2 立体/密度扩展。\n\n")
|
||||
|
||||
@@ -29,8 +29,8 @@ v3.0 口径(方向稿=目检先行闸,冻结归机检):
|
||||
换皮对照 / S4 图例。内容清单 = art-bible §1.4(九组,缺项即无效)。
|
||||
素材源 = game/assets/art(board 21 瓦片 + character 小人/立绘)+ ui/icons 状态图标;
|
||||
素材不入 git——先查本仓库,缺位回退主检出(D:/code/g-plan2)。
|
||||
词表事实源 = design/research/board-tile-vocab-plan-a-2026-09-26.md;画法参数事实源 =
|
||||
design/research/画法参数四源对照表-2026-09-26.md(四源对表先行产物)。
|
||||
词表事实源 = board-tile-vocab-plan-a-2026-09-26.md(已出盘,沿革查 git 提交史);画法参数事实源 =
|
||||
画法参数四源对照表-2026-09-26.md(四源对表先行产物,已出盘,沿革查 git 提交史)。
|
||||
输出 = artwork/mockups/sample-batch-v3-final-2026-09-30.png(v3.5 冻结口径的正式产物)
|
||||
+ 机检报告(中间产物,吸收即死不入 git;断言定值=A3b Δ≥30/A4 尺寸基线)。
|
||||
用法:python tools/render_sample_sheet_v3.py
|
||||
@@ -60,7 +60,7 @@ BOARD_DIR = ("game", "assets", "art", "board")
|
||||
CHAR_DIR = ("game", "assets", "art", "character")
|
||||
ICON_DIR = ("game", "assets", "ui", "icons")
|
||||
OUT_PNG = os.path.join(ROOT, "artwork", "mockups", "sample-batch-v3-final-2026-09-30.png")
|
||||
OUT_REPORT = os.path.join(ROOT, "design", "research", "sample-v3-final-机检报告-2026-09-30.md")
|
||||
OUT_REPORT = os.path.join(ROOT, "reports", "sample-v3-final-机检报告-2026-09-30.md")
|
||||
T_FONT = asset_root("artwork", "ui-reuse-2026-09-23",
|
||||
"4-字体", "fusion-pixel-12px(OFL)", "fusion-pixel-12px-proportional-latin.ttf")
|
||||
ZH_FONT = r"C:\Windows\Fonts\msyh.ttc"
|
||||
@@ -1149,6 +1149,7 @@ def main():
|
||||
print("saved:", OUT_PNG)
|
||||
|
||||
# 机检报告
|
||||
os.makedirs(os.path.dirname(OUT_REPORT), exist_ok=True)
|
||||
with open(OUT_REPORT, "w", encoding="utf-8") as f:
|
||||
f.write("# 样张 v3 机检报告【冻结】(2026-09-30 批 A——v3.5 用户验收态断言定值落锁;气质终审已由 2026-09-29 用户验收豁免,台账 281)\n\n")
|
||||
f.write("生成:`python tools/render_sample_sheet_v3.py`;v3.5 冻结口径:格底分档(世界底层档 L≈0.10,带 0.08–0.14)/亮墨直画三档/色牌后备/物件级装饰/B 区舞台;断言定值=A3b 图底分离 Δ≥30(实测 38)+A4 尺寸基线(立绘 46×48/小人源 32×32 硬等);F6 沿用 v3.4 双明度带口径 Δ≥18。\n\n")
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
3. 图像白名单(图只许在 artwork/ game/assets/ design/art/references/ design/engineering/architecture/ game/tests/golden/)
|
||||
4. 退役路径守卫(production/ docs/ tests/ qa-data/ design/registry/ design/qa/ 旧路径再现 = FAIL)
|
||||
5. design/ 一级子目录白名单(防临时新目录)
|
||||
6. design/art/ 内容白名单(只许 .md 与 references/;审计报告属中间文档归 design/research/)
|
||||
6. design/art/ 内容白名单(只许 .md 与 references/;审计报告属中间文档归 reports/)
|
||||
|
||||
用法: python tools/repo_structure_audit.py # 全查,FAIL 时 exit 1
|
||||
python tools/repo_structure_audit.py --json # 机器读输出
|
||||
@@ -36,13 +36,13 @@ IMAGE_EXTS = {".png", ".jpg", ".jpeg", ".webp", ".gif", ".svg", ".pxo", ".psd",
|
||||
IMAGE_PREFIXES = ("artwork/", "game/assets/", "design/art/references/", "design/engineering/architecture/",
|
||||
"game/tests/golden/")
|
||||
# 4) 退役路径(目录或文件任一再现即 FAIL)
|
||||
RETIRED = ["production", "docs", "tests", "qa-data", "design/registry",
|
||||
RETIRED = ["production", "docs", "tests", "qa-data", "design/registry", "design/research",
|
||||
"design/art/candidates", "production/mockups",
|
||||
"design/ux", "game/tools", "design/qa"]
|
||||
# 5) design/ 一级子目录白名单(防 ad-hoc 新目录)
|
||||
DESIGN_SUBDIRS = {"art", "engineering", "gdd", "research", "content-archive"}
|
||||
DESIGN_SUBDIRS = {"art", "engineering", "gdd", "content-archive"}
|
||||
# 6) design/art/ 内容白名单——美术只放 .md 文档与 references/ 参考图;
|
||||
# 审计报告属中间文档,按 doc-conventions §11 落 design/research/,禁驻 art/
|
||||
# 审计报告属中间文档,按 doc-conventions §11 落 reports/,禁驻 art/
|
||||
ART_EXTS = {".md"}
|
||||
ART_SUBDIRS = {"references"}
|
||||
|
||||
|
||||
Reference in new issue
Block a user