chore: W1 项目骨架 — 基线 v1.0 架构落盘(Godot 4.7.2 / gl_compatibility)
架构基线:docs/architecture/2026-10-19-F-architecture.md(v1.0) 范围:WRATH OF THE DEAD《怨返》单人挂机 · GDScript · 1280×720 · 12 班底数据驱动 - 骨架:project.godot(4.7 + GL Compatibility)、架构 §2.1 完整目录树(含占位说明)、 .gitignore/.gitattributes(LF 纪律)、README.md、CLAUDE.md、export_presets.cfg 占位、 pipeline/README.md(3ds Max 侧契约) - 数据管线段 1:data/sheets/generators.csv(GDD §3.1 十二班底逐值抄录) + data/schema/generators.schema.json(v0)+ src/tools/sheet_importer.gd (import_all/import_sheet/validate + ImportReport + .tres stub + 行号/列名/原因失败策略) + src/tools/import_main.gd(CI CLI 入口)+ data/build/generators.json(字节级确定性产物) - 探针:P1(SCREEN_TEXTURE/CanvasLayer 排序)与 P3(NoiseTexture2D seamless)场景代码与 截图/统计工具;实测手册与结论模板在工作区 docs/engineering/(随仓库外文档树) - CI:数据门激活(import_all + schema validate + build 漂移门);单测/sim/导出 W3+ 注释占位; 4.7.2 headless CLI 行为标注待本机验证 待用户侧:P1/P3 实测回填结论;P6 字体许可 / P7 GPU 实测;look-dev 游魂初版(Max 侧)
This commit is contained in:
commit
856326a766
42 files changed
+1814
No files matched your search
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"sheet": "generators",
|
||||
"schema_version": 0,
|
||||
"columns": [
|
||||
"id",
|
||||
"display_cn",
|
||||
"display_en",
|
||||
"base_cost",
|
||||
"cost_ratio",
|
||||
"base_rate",
|
||||
"unlock_hall",
|
||||
"unlock_gate",
|
||||
"sprite_row"
|
||||
],
|
||||
"rows": [
|
||||
{
|
||||
"id": "gen_01_youhun",
|
||||
"display_cn": "游魂",
|
||||
"display_en": "Wandering Souls",
|
||||
"base_cost": 15,
|
||||
"cost_ratio": 1.13,
|
||||
"base_rate": 0.1,
|
||||
"unlock_hall": "none",
|
||||
"unlock_gate": "none",
|
||||
"sprite_row": "res://assets/sprites/units/gen_01_youhun"
|
||||
},
|
||||
{
|
||||
"id": "gen_02_yinbing",
|
||||
"display_cn": "阴兵",
|
||||
"display_en": "Ghost Soldiers",
|
||||
"base_cost": 120,
|
||||
"cost_ratio": 1.14,
|
||||
"base_rate": 1,
|
||||
"unlock_hall": "none",
|
||||
"unlock_gate": "none",
|
||||
"sprite_row": "res://assets/sprites/units/gen_02_yinbing"
|
||||
},
|
||||
{
|
||||
"id": "gen_03_guizu",
|
||||
"display_cn": "鬼卒班",
|
||||
"display_en": "Ghost Constables",
|
||||
"base_cost": 1200,
|
||||
"cost_ratio": 1.15,
|
||||
"base_rate": 8,
|
||||
"unlock_hall": "hall_01_qinguang",
|
||||
"unlock_gate": "up_gate_guizu",
|
||||
"sprite_row": "res://assets/sprites/units/gen_03_guizu"
|
||||
},
|
||||
{
|
||||
"id": "gen_04_biliao",
|
||||
"display_cn": "勾魂笔僚",
|
||||
"display_en": "Death-Scribe Clerks",
|
||||
"base_cost": 12000,
|
||||
"cost_ratio": 1.15,
|
||||
"base_rate": 50,
|
||||
"unlock_hall": "hall_02_chujiang",
|
||||
"unlock_gate": "up_gate_biliao",
|
||||
"sprite_row": "res://assets/sprites/units/gen_04_biliao"
|
||||
},
|
||||
{
|
||||
"id": "gen_05_tangpu",
|
||||
"display_cn": "孟婆汤铺",
|
||||
"display_en": "Meng Po's Soup Stall",
|
||||
"base_cost": 120000,
|
||||
"cost_ratio": 1.16,
|
||||
"base_rate": 400,
|
||||
"unlock_hall": "hall_03_songdi",
|
||||
"unlock_gate": "up_gate_tangpu",
|
||||
"sprite_row": "res://assets/sprites/units/gen_05_tangpu"
|
||||
},
|
||||
{
|
||||
"id": "gen_06_nanmin",
|
||||
"display_cn": "枉死城难民团",
|
||||
"display_en": "Refugee Camp of the Wrongfully Dead",
|
||||
"base_cost": 1200000,
|
||||
"cost_ratio": 1.16,
|
||||
"base_rate": 3000,
|
||||
"unlock_hall": "hall_04_wuguan",
|
||||
"unlock_gate": "up_gate_nanmin",
|
||||
"sprite_row": "res://assets/sprites/units/gen_06_nanmin"
|
||||
},
|
||||
{
|
||||
"id": "gen_07_shuban",
|
||||
"display_cn": "阴律司书办",
|
||||
"display_en": "Clerks of the Nether Court",
|
||||
"base_cost": 12000000,
|
||||
"cost_ratio": 1.17,
|
||||
"base_rate": 24000,
|
||||
"unlock_hall": "hall_05_yama",
|
||||
"unlock_gate": "up_gate_shuban",
|
||||
"sprite_row": "res://assets/sprites/units/gen_07_shuban"
|
||||
},
|
||||
{
|
||||
"id": "gen_08_bingfang",
|
||||
"display_cn": "幽都兵坊",
|
||||
"display_en": "Armory of the Dark Capital",
|
||||
"base_cost": 120000000,
|
||||
"cost_ratio": 1.17,
|
||||
"base_rate": 180000,
|
||||
"unlock_hall": "hall_06_biancheng",
|
||||
"unlock_gate": "up_gate_bingfang",
|
||||
"sprite_row": "res://assets/sprites/units/gen_08_bingfang"
|
||||
},
|
||||
{
|
||||
"id": "gen_09_wodi",
|
||||
"display_cn": "十殿卧底",
|
||||
"display_en": "Sleeper Agents in the Ten Courts",
|
||||
"base_cost": 1200000000,
|
||||
"cost_ratio": 1.18,
|
||||
"base_rate": 1400000,
|
||||
"unlock_hall": "hall_07_taishan",
|
||||
"unlock_gate": "up_gate_wodi",
|
||||
"sprite_row": "res://assets/sprites/units/gen_09_wodi"
|
||||
},
|
||||
{
|
||||
"id": "gen_10_xingzhe",
|
||||
"display_cn": "轮回裂隙行者",
|
||||
"display_en": "Rift Walkers of the Wheel",
|
||||
"base_cost": 12000000000,
|
||||
"cost_ratio": 1.18,
|
||||
"base_rate": 11000000,
|
||||
"unlock_hall": "hall_08_dushi",
|
||||
"unlock_gate": "up_gate_xingzhe",
|
||||
"sprite_row": "res://assets/sprites/units/gen_10_xingzhe"
|
||||
},
|
||||
{
|
||||
"id": "gen_11_yinhun",
|
||||
"display_cn": "六道引魂人",
|
||||
"display_en": "Soul Guides of the Six Paths",
|
||||
"base_cost": 120000000000,
|
||||
"cost_ratio": 1.19,
|
||||
"base_rate": 85000000,
|
||||
"unlock_hall": "hall_09_pingdeng",
|
||||
"unlock_gate": "up_gate_yinhun",
|
||||
"sprite_row": "res://assets/sprites/units/gen_11_yinhun"
|
||||
},
|
||||
{
|
||||
"id": "gen_12_tianzi",
|
||||
"display_cn": "幽冥天子",
|
||||
"display_en": "Emperor of the Netherworld",
|
||||
"base_cost": 1200000000000,
|
||||
"cost_ratio": 1.2,
|
||||
"base_rate": 650000000,
|
||||
"unlock_hall": "none",
|
||||
"unlock_gate": "up_gate_tianzi",
|
||||
"sprite_row": "res://assets/sprites/units/gen_12_tianzi"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "generators.schema.json",
|
||||
"title": "generators 表 schema v0(十二班底发生器,数值抄录自 GDD §3.1)",
|
||||
"description": "架构 §3.2 CSV 规范落盘。数值列禁千分位;引用列填目标 ID 或 none;ID 一旦分配永不重编号。v0 仅做单表校验:unlock_hall/unlock_gate 引用的 halls.csv / upgrades.csv 目标表 W2 落盘,届时激活跨表引用完整性校验。",
|
||||
"x-supported-keywords": [
|
||||
"type", "properties", "required", "items", "enum", "pattern",
|
||||
"minimum", "maximum", "minLength", "minItems", "maxItems",
|
||||
"additionalProperties", "const"
|
||||
],
|
||||
"x-unique": ["id"],
|
||||
"type": "object",
|
||||
"required": ["sheet", "schema_version", "columns", "rows"],
|
||||
"properties": {
|
||||
"sheet": { "const": "generators" },
|
||||
"schema_version": { "const": 0 },
|
||||
"columns": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" },
|
||||
"minItems": 9
|
||||
},
|
||||
"rows": {
|
||||
"type": "array",
|
||||
"minItems": 12,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id", "display_cn", "display_en", "base_cost",
|
||||
"cost_ratio", "base_rate", "unlock_hall", "unlock_gate", "sprite_row"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^gen_[0-9]{2}_[a-z0-9]+$",
|
||||
"description": "稳定字符串 ID;永不重编号、永不复用(年更=加行)"
|
||||
},
|
||||
"display_cn": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "简体名(GDD §3.1 班底名)"
|
||||
},
|
||||
"display_en": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"description": "英文名——W1 工程侧临时译名,待文策渊按 GDD §8.4 glossary 口径确认后回填"
|
||||
},
|
||||
"base_cost": {
|
||||
"type": "number",
|
||||
"minimum": 1,
|
||||
"description": "C0(GDD §3.1);整数写法,禁千分位与 K/M/B/T 后缀"
|
||||
},
|
||||
"cost_ratio": {
|
||||
"type": "number",
|
||||
"minimum": 1,
|
||||
"maximum": 2,
|
||||
"description": "r(1.13→1.20,GDD §3.1)"
|
||||
},
|
||||
"base_rate": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"description": "rate/s(GDD §3.1);阴德/秒"
|
||||
},
|
||||
"unlock_hall": {
|
||||
"type": "string",
|
||||
"pattern": "^(none|hall_[0-9]{2}_[a-z]+)$",
|
||||
"description": "殿门闸门 ID(halls.csv 行 ID)或 none"
|
||||
},
|
||||
"unlock_gate": {
|
||||
"type": "string",
|
||||
"pattern": "^(none|up_gate_[a-z0-9_]+)$",
|
||||
"description": "路引闸门 ID(upgrades.csv 行 ID)或 none;gen_12 的敕封前置(宿慧≥60 且转世≥2)属 upgrades.csv 行内规则,W2 建模"
|
||||
},
|
||||
"sprite_row": {
|
||||
"type": "string",
|
||||
"pattern": "^res://assets/sprites/[a-z_]+/[a-z0-9_]+$",
|
||||
"description": "★ ADR-3:唯一允许的逐资产代码 = sprite 路径前缀(Max 侧命名 <unit_id>_<l|r>_<frame>.png)"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
id,display_cn,display_en,base_cost,cost_ratio,base_rate,unlock_hall,unlock_gate,sprite_row
|
||||
gen_01_youhun,游魂,Wandering Souls,15,1.13,0.1,none,none,res://assets/sprites/units/gen_01_youhun
|
||||
gen_02_yinbing,阴兵,Ghost Soldiers,120,1.14,1,none,none,res://assets/sprites/units/gen_02_yinbing
|
||||
gen_03_guizu,鬼卒班,Ghost Constables,1200,1.15,8,hall_01_qinguang,up_gate_guizu,res://assets/sprites/units/gen_03_guizu
|
||||
gen_04_biliao,勾魂笔僚,Death-Scribe Clerks,12000,1.15,50,hall_02_chujiang,up_gate_biliao,res://assets/sprites/units/gen_04_biliao
|
||||
gen_05_tangpu,孟婆汤铺,Meng Po's Soup Stall,120000,1.16,400,hall_03_songdi,up_gate_tangpu,res://assets/sprites/units/gen_05_tangpu
|
||||
gen_06_nanmin,枉死城难民团,Refugee Camp of the Wrongfully Dead,1200000,1.16,3000,hall_04_wuguan,up_gate_nanmin,res://assets/sprites/units/gen_06_nanmin
|
||||
gen_07_shuban,阴律司书办,Clerks of the Nether Court,12000000,1.17,24000,hall_05_yama,up_gate_shuban,res://assets/sprites/units/gen_07_shuban
|
||||
gen_08_bingfang,幽都兵坊,Armory of the Dark Capital,120000000,1.17,180000,hall_06_biancheng,up_gate_bingfang,res://assets/sprites/units/gen_08_bingfang
|
||||
gen_09_wodi,十殿卧底,Sleeper Agents in the Ten Courts,1200000000,1.18,1400000,hall_07_taishan,up_gate_wodi,res://assets/sprites/units/gen_09_wodi
|
||||
gen_10_xingzhe,轮回裂隙行者,Rift Walkers of the Wheel,12000000000,1.18,11000000,hall_08_dushi,up_gate_xingzhe,res://assets/sprites/units/gen_10_xingzhe
|
||||
gen_11_yinhun,六道引魂人,Soul Guides of the Six Paths,120000000000,1.19,85000000,hall_09_pingdeng,up_gate_yinhun,res://assets/sprites/units/gen_11_yinhun
|
||||
gen_12_tianzi,幽冥天子,Emperor of the Netherworld,1200000000000,1.20,650000000,none,up_gate_tianzi,res://assets/sprites/units/gen_12_tianzi
|
||||
|
Reference in new issue
Block a user