Files
TheTree_mock/docs/traceability/original/historical_requirements_2026-09-22.json
Takeshi 5dde0c5ec2 Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
2026-09-30 23:52:24 +09:00

2006 lines
52 KiB
JSON

[
{
"id": "B-1.1",
"section": "1.1",
"requirement": "基本情報・Windows・2D・20〜30時間/50時間以上",
"status": "一部実装",
"evidence": [
{
"path": "project.godot",
"line": 1
},
{
"path": "export_presets.cfg",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [
"tests/ui/test_main_dashboard.gd"
],
"finding": "Windows export設定と2D画面あり。クリア時間、全エンド、図鑑完成の証拠なし。Windows配布ZIPは本ソースとの同一性未確認。",
"acceptance": "Windows実機起動と全ルートのプレイ時間計測",
"source_lines": [
2,
3,
4,
5,
6,
7,
8,
9,
10
]
},
{
"id": "B-1.2",
"section": "1.2",
"requirement": "地上/地下の二面性経営・観察介入・権威/富",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "scripts/progression/progression_service.gd",
"line": 1
}
],
"related_tests": [
"tests/mvp/test_runtime_content_progression.gd"
],
"finding": "ZoneとLayer、Rankはある。覗き・物語・高さと権威/深さと富の全効果は未接続。",
"acceptance": "両領域の経営差と介入を通しプレイで検証",
"source_lines": [
11,
12,
13,
14
]
},
{
"id": "B-1.3",
"section": "1.3",
"requirement": "建設→集客→収益→管理→拡張防衛",
"status": "一部実装",
"evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "scripts/defense/defense_service.gd",
"line": 1
}
],
"related_tests": [
"tests/mvp/test_runtime_operations_acceptance.gd",
"tests/s5/test_runtime_defense_cycle.gd"
],
"finding": "運営縦断と防衛基盤あり。脅迫・売買・全施設を含む原本のループは未完成。",
"acceptance": "原本に沿った建設から防衛までの受入シナリオ",
"source_lines": [
15,
16,
17,
18,
19,
20,
21,
22
]
},
{
"id": "B-1.4",
"section": "1.4",
"requirement": "二層・自律AI・渋滞・信仰と依存",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103
},
{
"path": "scripts/guest/guest_service.gd",
"line": 461
},
{
"path": "scripts/world/path_service.gd",
"line": 463
}
],
"related_tests": [
"tests/s3/test_runtime_path_traffic.gd"
],
"finding": "基礎システムあり。昇降機統合、依存の最終処理、Faithに連動する本編は不足。",
"acceptance": "二層/渋滞/信仰/依存の統合試験",
"source_lines": [
23,
24,
25,
26
]
},
{
"id": "B-1.5",
"section": "1.5",
"requirement": "世界観・主人公・7ヒロイン3運命",
"status": "未実装(対象内)",
"evidence": [
{
"path": "data/characters/mvp_unique_characters.json",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [],
"finding": "収録ユニークはアンリとライのみ。7ヒロインの本編・エンド実装を確認できない。",
"acceptance": "7名全員の加入・3ルートと主人公本編を確認",
"source_lines": [
27,
28,
29,
30
]
},
{
"id": "B-1.6",
"section": "1.6",
"requirement": "成人向けルートと経営的搾取",
"status": "一部実装",
"evidence": [
{
"path": "data/facilities/adult_private_room.tres",
"line": 1
},
{
"path": "scripts/events/event_service.gd",
"line": 1
}
],
"related_tests": [],
"finding": "成人向け営業と表現フィルタの基盤あり。原本指定のルート内容・覗き・脅迫・売買は未完成。",
"acceptance": "対象機能と分岐のシナリオ検証",
"source_lines": [
31,
32,
33,
34
]
},
{
"id": "B-2.1",
"section": "2.1",
"requirement": "グリッド・Y正負・支持・領域拡張",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103
},
{
"path": "scripts/construction/construction_service.gd",
"line": 56
},
{
"path": "scripts/progression/progression_service.gd",
"line": 1
}
],
"related_tests": [
"tests/s1/test_world_service.gd",
"tests/s1/test_construction_service.gd"
],
"finding": "座標、支持、Rank拡張あり。支持Component等の追加制約は原本の単純隣接と同等か要確認。",
"acceptance": "Y=0/±1、孤立/隣接、Rank前後の建設境界を検証",
"source_lines": [
36,
37,
38,
39
]
},
{
"id": "B-2.2",
"section": "2.2",
"requirement": "同座標Front/Back・半透明/ワイヤー表示",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [
"tests/s1/test_world_service.gd",
"tests/ui/test_main_dashboard.gd"
],
"finding": "二層データと切替は存在。描画は非選択層を除外し、指定の透過/ワイヤー比較はない。",
"acceptance": "同座標の2施設と非選択層表示を確認",
"source_lines": [
40,
41,
42,
43,
44
]
},
{
"id": "B-2.3",
"section": "2.3",
"requirement": "客エリアと景観/清潔/騒音の満足度効果",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_definition.gd",
"line": 1
},
{
"path": "scripts/facility/facility_service.gd",
"line": 46
},
{
"path": "scripts/guest/guest_service.gd",
"line": 461
}
],
"related_tests": [
"tests/s2/test_facility_service.gd"
],
"finding": "環境フィールドと施設状態あり。3環境値を空間計算して客満足へ結ぶ完全な処理は未確認。",
"acceptance": "環境値だけを変えた対照試験で満足度差を確認",
"source_lines": [
45,
46,
47
]
},
{
"id": "B-2.4",
"section": "2.4",
"requirement": "バックヤード・職員ドア・客通行禁止",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/facility_infrastructure_projector.gd",
"line": 41
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s1/test_runtime_infrastructure_integration.gd"
],
"finding": "通路と職員専用ドアは投影済み。リネンシュート・隠し扉など全設備はない。",
"acceptance": "客の跨層拒否、職員通行、全設備の動作を確認",
"source_lines": [
48,
49,
50
]
},
{
"id": "B-2.5",
"section": "2.5",
"requirement": "覗き部屋の配置制約・通路寸断・証拠収集",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [],
"finding": "対応施設、専用画面、記録係による収集ループなし。AuthorityのEvidenceは代替証拠にしない。",
"acceptance": "対象施設の裏限定建設と経路寸断、専用表示、証拠収集",
"source_lines": [
51,
52,
53
]
},
{
"id": "B-2.6",
"section": "2.6",
"requirement": "地上/地下の採光・マナ・遮音・隠蔽ボーナス",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/world_service.gd",
"line": 103
},
{
"path": "scripts/data/facility_definition.gd",
"line": 1
},
{
"path": "data/characters/mvp_species.json",
"line": 1
}
],
"related_tests": [],
"finding": "Zone/嗜好/隠蔽のデータはある。原本の4ボーナスの統合効果は未確認。",
"acceptance": "同条件でZoneだけを変える比較試験",
"source_lines": [
54,
55,
56
]
},
{
"id": "B-3.1a",
"section": "3.1a",
"requirement": "10秒=1時間、Pause/x1/x2/x3",
"status": "設計差異",
"evidence": [
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28
},
{
"path": "scenes/main/main.gd",
"line": 1232
}
],
"related_tests": [
"tests/run_tests.gd"
],
"finding": "実装は30秒=1時間、速度1/2/4。原本へ合わせる修正が必要。",
"acceptance": "10秒の入力で60分進行、x3受理・x4不受理を検証",
"source_lines": [
58,
59,
60
]
},
{
"id": "B-3.1b",
"section": "3.1b",
"requirement": "アクティブポーズ中も建設・指示",
"status": "一部実装",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s0/test_runtime_integration.gd",
"tests/ui/test_main_dashboard.gd"
],
"finding": "停止とCommandの基盤あり。全指示が時刻を進めず受理される原本受入を別途必要とする。",
"acceptance": "停止中建設/配置指示、時刻不変、再開後一度だけ反映",
"source_lines": [
58,
59,
60
]
},
{
"id": "B-3.2",
"section": "3.2",
"requirement": "4時間帯と朝下り/夕上り/夜行動",
"status": "一部実装",
"evidence": [
{
"path": "autoload/game_clock.gd",
"line": 1
},
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 25
},
{
"path": "scripts/guest/guest_service.gd",
"line": 461
}
],
"related_tests": [
"tests/mvp/test_operations_coordinator.gd"
],
"finding": "06/10/16/20時の区分は一致。各ラッシュと夜間関係イベントまでの統合は未完成。",
"acceptance": "時間帯境界と行動/混雑分布の受入",
"source_lines": [
61,
62,
63,
64,
65
]
},
{
"id": "B-3.3",
"section": "3.3",
"requirement": "昼夜シフト・体力0気絶・救護・通勤混雑",
"status": "一部実装",
"evidence": [
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
},
{
"path": "scripts/staff/shift_instance.gd",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s3/test_staff_service.gd",
"tests/s3/test_runtime_actor_cycle.gd"
],
"finding": "勤務・休憩・移動とfatigueがある。Stamina=0→救護搬送→目撃評判低下の一連処理なし。",
"acceptance": "06/18時交代と体力0救護の実経路試験",
"source_lines": [
66,
67,
68,
69
]
},
{
"id": "B-3.4a",
"section": "3.4a",
"requirement": "毎日00:00に決算レポート",
"status": "設計差異",
"evidence": [
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 25
},
{
"path": "scripts/core/simulation_kernel.gd",
"line": 28
}
],
"related_tests": [
"tests/mvp/test_runtime_operations_acceptance.gd"
],
"finding": "Clockの00時signalはあるが運営締めは06時。signalの存在を日次決算実装とみなさない。",
"acceptance": "23:59→00:00で一度締め、06時に再締めしない",
"source_lines": [
70,
71,
72
]
},
{
"id": "B-3.4b",
"section": "3.4b",
"requirement": "3回連続赤字でゲームオーバー",
"status": "設計差異",
"evidence": [
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 25
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s3/test_staff_payroll_operations.gd"
],
"finding": "判定は損益赤字でなくarrears_total>0の連続回数。現金余裕のある赤字と未払発生を区別する必要。",
"acceptance": "十分な現金+3日損失でもゲームオーバーになることを検証",
"source_lines": [
70,
71,
72
]
},
{
"id": "B-3.5",
"section": "3.5",
"requirement": "雨・嵐・マナの霧・流行ニュース",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/operations/operations_coordinator.gd",
"line": 25
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "scenes/main/main.gd",
"line": 1232
}
],
"related_tests": [],
"finding": "需要更新はあるが天候状態、天候効果、流行配信の対応処理なし。",
"acceptance": "雨の滞在延長、嵐の新規客0、霧効果、流行売上比較",
"source_lines": [
73,
74,
75
]
},
{
"id": "B-4.1",
"section": "4.1",
"requirement": "所持金/戦利品・四欲求・忍耐/清潔/依存",
"status": "一部実装",
"evidence": [
{
"path": "scripts/guest/guest_runtime.gd",
"line": 1
},
{
"path": "scripts/guest/guest_service.gd",
"line": 461
}
],
"related_tests": [
"tests/s3/test_guest_service.gd"
],
"finding": "財布/信用/依存/忍耐あり。欲求は6種へ拡張。汚れ伝播と戦利品の客固有循環は未完成。",
"acceptance": "原本4欲求と戦利品/清潔伝播を個別検証",
"source_lines": [
77,
78,
79,
80
]
},
{
"id": "B-4.2",
"section": "4.2",
"requirement": "最大欲求優先と距離/行列/価格選択",
"status": "設計差異",
"evidence": [
{
"path": "scripts/guest/guest_service.gd",
"line": 461
}
],
"related_tests": [
"tests/s3/test_guest_service.gd"
],
"finding": "距離・行列・価格を含むUtility方式。最高欲求を最優先する二段階選択は保証されず、品質/嗜好等も加算。",
"acceptance": "最高欲求と高品質の別施設が競合するケースで原本優先順位を検証",
"source_lines": [
81,
82,
83
]
},
{
"id": "B-4.3a",
"section": "4.3a",
"requirement": "A*とエレベーター待ち時間コスト",
"status": "実装確認",
"evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 463
}
],
"related_tests": [
"tests/s1/test_path_service.gd",
"tests/s1/test_path_congestion.gd"
],
"finding": "A*、待機コスト、容量付きQueueをService層で確認。建設統合は別行。",
"acceptance": "Service試験に加え施設建設から同経路を使用する受入",
"source_lines": [
84,
85,
86,
87
]
},
{
"id": "B-4.3b",
"section": "4.3b",
"requirement": "4種垂直移動のゲーム内利用",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 463
},
{
"path": "scripts/world/facility_infrastructure_projector.gd",
"line": 41
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s1/test_facility_infrastructure_projector.gd"
],
"finding": "EV基盤/定義は存在するがProjectorはUNSUPPORTED_VERTICAL_TOPOLOGYを返す。通常上下隣接辺も生成。階段/ワープの正式施設なし。",
"acceptance": "EV建設完了→乗降→容量待ち、通常上下歩行禁止、階段/ワープ差分を検証",
"source_lines": [
84,
85,
86,
87
]
},
{
"id": "B-4.3c",
"section": "4.3c",
"requirement": "重なり時速度50%低下",
"status": "設計差異",
"evidence": [
{
"path": "scripts/world/path_service.gd",
"line": 463
}
],
"related_tests": [
"tests/s1/test_path_congestion.gd"
],
"finding": "capacity/densityの可変倍率、最低0.25。重なりで一律0.5ではない。",
"acceptance": "2ユニット重なり等の境界で0.5になることを検証",
"source_lines": [
84,
85,
86,
87
]
},
{
"id": "B-4.4",
"section": "4.4",
"requirement": "依存Lv3退店拒否・装備売却・性別別破産",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/guest/guest_service.gd",
"line": 461
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [],
"finding": "依存値と予備費解放はあるが、原本指定の退店拒否・装備換金・暴動/拘束処理なし。",
"acceptance": "依存Lv3、財布0、装備あり/なしで終端処理を検証",
"source_lines": [
88,
89,
90
]
},
{
"id": "B-4.5",
"section": "4.5",
"requirement": "貴族/聖職者/エルフ/魔族のAI特性",
"status": "一部実装",
"evidence": [
{
"path": "data/characters/mvp_guest_classes.json",
"line": 1
},
{
"path": "data/characters/mvp_species.json",
"line": 1
},
{
"path": "scripts/guest/guest_service.gd",
"line": 461
}
],
"related_tests": [
"tests/mvp/test_mvp_content_catalog.gd"
],
"finding": "貴族の高予算/低忍耐、種族嗜好あり。聖職者の目撃即退店/風紀低下等は未確認。",
"acceptance": "種族/職業ごとに原本の特殊行動を発生させる",
"source_lines": [
91,
92,
93,
94,
95
]
},
{
"id": "B-5.1",
"section": "5.1",
"requirement": "一般雇用と奴隷の費用/耐性/売却区別",
"status": "設計差異",
"evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 1
},
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
}
],
"related_tests": [
"tests/s3/test_staff_service.gd"
],
"finding": "EmploymentKindはFREE_HIRE/ADULT_CONTRACT/UNIQUE。原本の奴隷区分と食費のみ/売買システムに一致しない。",
"acceptance": "原本区分ごとの費用・耐性・処分仕様の実装",
"source_lines": [
97,
98,
99
]
},
{
"id": "B-5.2",
"section": "5.2",
"requirement": "体力/ストレス/忠誠/技能/ランダム特性",
"status": "一部実装",
"evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 1
},
{
"path": "data/characters/mvp_staff_candidates.json",
"line": 1
}
],
"related_tests": [
"tests/s3/test_staff_service.gd"
],
"finding": "stress/loyalty/4技能、health/fatigueあり。固定候補20名でランダム特性生成はない。",
"acceptance": "原本パラメータ対応、生成seedと特性効果の試験",
"source_lines": [
100,
101,
102,
103
]
},
{
"id": "B-5.3",
"section": "5.3",
"requirement": "接客/裏方/救護/防衛等の職種",
"status": "一部実装",
"evidence": [
{
"path": "data/characters/mvp_staff_candidates.json",
"line": 1
},
{
"path": "scripts/staff/task_dispatcher.gd",
"line": 1
},
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
}
],
"related_tests": [
"tests/s3/test_staff_service.gd"
],
"finding": "役割タグとTask配賦はある。救護搬送/調教等の全職種業務は未確認。",
"acceptance": "全職種を配置し固有業務の完了を確認",
"source_lines": [
104,
105,
106,
107
]
},
{
"id": "B-5.4",
"section": "5.4",
"requirement": "シフト休息と気絶回収",
"status": "一部実装",
"evidence": [
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s3/test_runtime_actor_cycle.gd"
],
"finding": "シフトと非番fatigue回復あり。気絶者の救護班による裏ルート搬送不足。",
"acceptance": "夜跨ぎシフトと救護経路切断ケースを検証",
"source_lines": [
108,
109,
110
]
},
{
"id": "B-5.5",
"section": "5.5",
"requirement": "求人/市場/破産捕獲・退職金/売買価格",
"status": "一部実装",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
},
{
"path": "data/characters/mvp_staff_candidates.json",
"line": 1
}
],
"related_tests": [
"tests/s3/test_staff_payroll_operations.gd"
],
"finding": "候補雇用・退職/未払基盤あり。市場・捕獲・原本退職金・売却と忠誠リスクは不足。",
"acceptance": "各獲得/処分と台帳/忠誠の変化を確認",
"source_lines": [
111,
112,
113
]
},
{
"id": "B-6.1",
"section": "6.1",
"requirement": "ユニーク無料・高成長・解雇売却不可",
"status": "一部実装",
"evidence": [
{
"path": "data/characters/mvp_unique_characters.json",
"line": 1
},
{
"path": "scripts/staff/staff_runtime.gd",
"line": 1
}
],
"related_tests": [
"tests/mvp/test_mvp_content_catalog.gd"
],
"finding": "unique/unsellableとUNIQUE区分あり。全人物運用・成長上限・禁止操作のUI受入は不足。",
"acceptance": "7名の無料運用と解雇/売却拒否、成長試験",
"source_lines": [
115,
116
]
},
{
"id": "B-6.2",
"section": "6.2",
"requirement": "7ヒロインの指定固有効果とライバル",
"status": "設計差異",
"evidence": [
{
"path": "data/characters/mvp_unique_characters.json",
"line": 1
},
{
"path": "scripts/data/mvp_content_catalog.gd",
"line": 1
}
],
"related_tests": [
"tests/mvp/test_mvp_content_catalog.gd"
],
"finding": "アンリは売上+20%でなく忍耐減少倍率9000bp。フィーネ/トマリ/アメリア/リズ/ミミ/サツキ、リーゼンバルト/ソウの定義なし。",
"acceptance": "原本の全人物と各倍率/固有効果を対照試験",
"source_lines": [
117,
118,
119,
120,
121,
122,
123,
124,
125
]
},
{
"id": "B-6.3",
"section": "6.3",
"requirement": "基礎技能と業務EXP・Lv99",
"status": "一部実装",
"evidence": [
{
"path": "scripts/staff/staff_runtime.gd",
"line": 1
},
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
}
],
"related_tests": [],
"finding": "技能あり。EXP/Lv99成長ループなし。",
"acceptance": "業務EXP加算とLv99上限、保存復元",
"source_lines": [
126,
127,
128
]
},
{
"id": "B-6.4",
"section": "6.4",
"requirement": "配置パッシブ・任意発動・ルート別スキル",
"status": "一部実装",
"evidence": [
{
"path": "data/characters/mvp_unique_characters.json",
"line": 1
},
{
"path": "scripts/defense/defense_service.gd",
"line": 1
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
}
],
"related_tests": [],
"finding": "効果メタデータ/防衛/ルートロック基盤あり。原本の固有スキルとルート別習得は未完成。",
"acceptance": "配置/発動/ルート変更の各スキル効果を検証",
"source_lines": [
129,
130,
131,
132
]
},
{
"id": "B-6.5",
"section": "6.5",
"requirement": "24時間勤務警告・衣装補正・限定離脱",
"status": "一部実装",
"evidence": [
{
"path": "scripts/staff/staff_service.gd",
"line": 1100
},
{
"path": "scripts/defense/defense_service.gd",
"line": 1
}
],
"related_tests": [
"tests/s5/test_runtime_defense_cycle.gd"
],
"finding": "残業/捕虜状態等の基盤あり。衣装、専用警告、ヒロイン別バッドエンド変化はない。",
"acceptance": "24時間勤務と限定離脱/復帰、衣装補正を確認",
"source_lines": [
133,
134,
135
]
},
{
"id": "B-7.1",
"section": "7.1",
"requirement": "三感情・盾・決闘の3ルート運命",
"status": "一部実装",
"evidence": [
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
},
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15
}
],
"related_tests": [
"tests/s4/test_relationship_event_service.gd"
],
"finding": "盾とルートロックのService基盤。原本モデル/決闘/本編は未完成。",
"acceptance": "3ルート各1本の端から端までの試験",
"source_lines": [
137,
138
]
},
{
"id": "B-7.2",
"section": "7.2",
"requirement": "好感/淫乱/NTR・好感度=盾最大・淫乱軽減",
"status": "設計差異",
"evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15
},
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
}
],
"related_tests": [
"tests/s4/test_relationship_event_service.gd"
],
"finding": "metricsはtrust/respect/affection/fear/dependence。shield_maxは独立設定、Lust/NTRモデルではない。",
"acceptance": "原本3軸、好感=最大盾、淫乱による防御低下を検証",
"source_lines": [
139,
140,
141,
142,
143
]
},
{
"id": "B-7.3",
"section": "7.3",
"requirement": "同配置接触→盾破壊→NTR上昇→不可逆陥落",
"status": "一部実装",
"evidence": [
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
},
{
"path": "scripts/relationship/placement_risk_preview_service.gd",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s4/test_placement_risk_preview_service.gd",
"tests/s4/test_runtime_relationship_events.gd"
],
"finding": "攻撃Command/閾値Event/Previewはある。実配置接触の自動発生と原本NTR遷移は未統合。",
"acceptance": "同施設/同Shiftのみ接触し、盾破壊前後と不可逆境界を検証",
"source_lines": [
144,
145,
146,
147,
148
]
},
{
"id": "B-7.4",
"section": "7.4",
"requirement": "3種決闘・勝利追放/隷属/盾回復・敗北確定",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
},
{
"path": "scripts/defense/defense_service.gd",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [],
"finding": "防衛戦や一般Eventは決闘そのものではない。3種の決闘進行/結果処理なし。",
"acceptance": "3種類×勝敗の6ケースと不可逆な結果保存",
"source_lines": [
149,
150,
151,
152,
153
]
},
{
"id": "B-7.5",
"section": "7.5",
"requirement": "会話/デート/隔離・覗き・薬による各ルート",
"status": "一部実装",
"evidence": [
{
"path": "scripts/relationship/relationship_service.gd",
"line": 223
},
{
"path": "scripts/events/event_service.gd",
"line": 1
},
{
"path": "scenes/main/main.gd",
"line": 1232
}
],
"related_tests": [
"tests/s4/test_runtime_relationship_events.gd"
],
"finding": "盾回復API/選択肢はある。指定プレイヤー行動と原本ルート全体は未接続。",
"acceptance": "各行動の入口/消費/数値/ルート終端を確認",
"source_lines": [
154,
155,
156,
157
]
},
{
"id": "B-7.6",
"section": "7.6",
"requirement": "履歴・妊娠/父親・刻印立ち絵",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/relationship/relationship_state.gd",
"line": 15
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "該当状態・更新ループ・立ち絵差分の接続なし。",
"acceptance": "履歴と周期/父親判定、外見更新、保存復元",
"source_lines": [
158,
159,
160,
161
]
},
{
"id": "B-8.1",
"section": "8.1",
"requirement": "隣接/通路必須とLv拡張",
"status": "一部実装",
"evidence": [
{
"path": "scripts/construction/construction_service.gd",
"line": 56
},
{
"path": "scripts/data/facility_definition.gd",
"line": 1
},
{
"path": "scripts/facility/facility_service.gd",
"line": 46
}
],
"related_tests": [
"tests/s1/test_construction_service.gd"
],
"finding": "配置/接続検証とmax_level/upgrade_costsあり。通常UIからの施設LvUP全体は未確認。",
"acceptance": "Front/Back接続別とLvUP操作→コスト→解放",
"source_lines": [
163,
164,
165
]
},
{
"id": "B-8.2",
"section": "8.2",
"requirement": "表層全施設・飲食と厨房セット",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
},
{
"path": "scripts/facility/facility_service.gd",
"line": 46
},
{
"path": "scripts/inventory/inventory_service.gd",
"line": 1
}
],
"related_tests": [
"tests/s2/test_runtime_operations_cycle.gd"
],
"finding": "一般客室/食堂/浴場等あり。全施設は施設照合表参照。厨房在庫連携と真裏必須配置は別要件。",
"acceptance": "全施設の営業、厨房未接続時拒否/停止、VIP景観条件",
"source_lines": [
166,
167,
168,
169,
170
]
},
{
"id": "B-8.3",
"section": "8.3",
"requirement": "裏層全施設と特殊設備",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s1/test_runtime_infrastructure_integration.gd"
],
"finding": "待機室/倉庫/厨房/警備詰所あり。寮は拡張定義のみ。覗き/牢/炉等なし。",
"acceptance": "全設備の建設と専用効果",
"source_lines": [
171,
172,
173,
174
]
},
{
"id": "B-8.4",
"section": "8.4",
"requirement": "EV/階段/ワープ/通路/職員ドア",
"status": "一部実装",
"evidence": [
{
"path": "scripts/world/facility_infrastructure_projector.gd",
"line": 41
},
{
"path": "scripts/world/path_service.gd",
"line": 463
}
],
"related_tests": [
"tests/s1/test_runtime_infrastructure_integration.gd"
],
"finding": "通路/職員ドアは統合。垂直設備はB-4.3bの欠落。",
"acceptance": "客/職員権限と全垂直設備のゲーム内通行",
"source_lines": [
175,
176,
177
]
},
{
"id": "B-8.5",
"section": "8.5",
"requirement": "Lv解放の価格/食材/混浴/ハード/イカサマ設定",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_definition.gd",
"line": 1
},
{
"path": "scripts/facility/facility_service.gd",
"line": 46
},
{
"path": "scenes/main/main.gd",
"line": 1232
}
],
"related_tests": [
"tests/s2/test_facility_service.gd"
],
"finding": "Policy schema/Snapshot基盤はある。列挙設定のLv解放・編集UI・各効果は未完成。",
"acceptance": "Lv前後の操作解放と全Policyの収支/行動差",
"source_lines": [
178,
179
]
},
{
"id": "B-9.1",
"section": "9.1",
"requirement": "表金/裏金・マナ全館停止・資材",
"status": "一部実装",
"evidence": [
{
"path": "scripts/economy/economy_service.gd",
"line": 1
},
{
"path": "scripts/mana/mana_network_service.gd",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s2/test_ledger_backed_resources.gd",
"tests/s2/test_mana_network_service.gd"
],
"finding": "台帳/Gold/Materials/Mana供給あり。RuntimeはPLAYER_CASH単一口座と売上カテゴリで、表裏資金分離は未確認。優先供給/個別Brownoutは全館停止と別に照合が必要。",
"acceptance": "表裏収支分離とMana=0で全施設停止を受入",
"source_lines": [
181,
182,
183,
184
]
},
{
"id": "B-9.2",
"section": "9.2",
"requirement": "全収益/人件費/維持/仕入/借金/ランク税",
"status": "一部実装",
"evidence": [
{
"path": "scripts/economy/economy_service.gd",
"line": 1
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s2/test_runtime_operations_cycle.gd",
"tests/s3/test_staff_payroll_operations.gd"
],
"finding": "通常売上/賃金等は接続。taxes_and_interest=0の経路があり、脅迫/売買/銀行/上納金は不足。",
"acceptance": "列挙項目の全取引を日次レポートへ計上",
"source_lines": [
185,
186,
187,
188
]
},
{
"id": "B-9.3",
"section": "9.3",
"requirement": "受付/金庫/購買/闇銀行",
"status": "一部実装",
"evidence": [
{
"path": "data/facilities/reception.tres",
"line": 1
},
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/s2/test_facility_service.gd"
],
"finding": "受付あり。購買相当の売店は拡張定義。所持上限金庫、戦利品買取、融資/滞納襲来は未完成。",
"acceptance": "各施設の固有金融効果と破壊襲来を検証",
"source_lines": [
189,
190,
191,
192,
193
]
},
{
"id": "B-9.4",
"section": "9.4",
"requirement": "依存客の娯楽優先・信用超過の破産拘束",
"status": "一部実装",
"evidence": [
{
"path": "scripts/guest/guest_service.gd",
"line": 461
},
{
"path": "scripts/guest/guest_runtime.gd",
"line": 1
}
],
"related_tests": [
"tests/s3/test_guest_service.gd"
],
"finding": "依存75以上で生存予備費0、信用判定あり。信用超過→原本の代物弁済イベント/投獄なし。",
"acceptance": "依存境界の予算と信用超過から拘束までを検証",
"source_lines": [
194,
195,
196
]
},
{
"id": "B-10.1",
"section": "10.1",
"requirement": "宿泊施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
198,
199
]
},
{
"id": "B-10.2",
"section": "10.2",
"requirement": "飲食施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
200,
201
]
},
{
"id": "B-10.3",
"section": "10.3",
"requirement": "衛生/娯楽施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
202,
203
]
},
{
"id": "B-10.4",
"section": "10.4",
"requirement": "アングラ施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
204,
205
]
},
{
"id": "B-10.5",
"section": "10.5",
"requirement": "バックヤード施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
206,
207
]
},
{
"id": "B-10.6",
"section": "10.6",
"requirement": "特殊施設の寸法/層/ゾーン",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
208,
209
]
},
{
"id": "B-10.7",
"section": "10.7",
"requirement": "インフラ/防衛施設の寸法/層/ゾーン",
"status": "一部実装",
"evidence": [
{
"path": "scripts/data/facility_catalog.gd",
"line": 9
}
],
"related_tests": [
"tests/s0/test_definition_registry.gd"
],
"finding": "施設別表で個別照合。定義一致は営業/建設統合の完成を意味しない。",
"acceptance": "個別寸法・層・ゾーン・特殊効果の受入",
"source_lines": [
210,
211
]
},
{
"id": "B-11.1",
"section": "11.1",
"requirement": "資源/時間/天候/Rank・下部切替・スクロールズーム",
"status": "一部実装",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [
"tests/ui/test_main_dashboard.gd"
],
"finding": "資源/時刻/下部Front Back/建設UIあり。天候・上部Rankの常設表示とマップのパン/ズーム操作なし。",
"acceptance": "天候/Rank表示とホイールズーム/パン/層比較を実画面確認",
"source_lines": [
213,
214,
215,
216
]
},
{
"id": "B-11.2",
"section": "11.2",
"requirement": "Policy/ドラッグ配置・欲求/思考/感情グラフ/盾",
"status": "一部実装",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [
"tests/ui/test_main_dashboard.gd"
],
"finding": "施設状態と料金/人員の表示はある。編集/ドラッグ配置、ユニット詳細、3軸グラフはない。",
"acceptance": "指定インスペクター操作とリアルタイム数値表示",
"source_lines": [
217,
218,
219
]
},
{
"id": "B-11.3",
"section": "11.3",
"requirement": "カメラ入口・覗きアングル/撮影/介入",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "対応入力、画面、撮影と証拠連携なし。",
"acceptance": "カメラ入口から撮影/介入までの画面受入",
"source_lines": [
220,
221,
222
]
},
{
"id": "B-11.4",
"section": "11.4",
"requirement": "グリッド/接続警告・フキダシ/ログ・カットイン",
"status": "一部実装",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
},
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
}
],
"related_tests": [
"tests/ui/test_main_dashboard.gd"
],
"finding": "配置Previewと失敗理由、待機Badge、Event選択UIあり。指定フキダシ/接続線/重大カットインは不足。",
"acceptance": "指定3通知と決闘/侵食/防衛演出を確認",
"source_lines": [
223,
224,
225,
226
]
},
{
"id": "B-12.1",
"section": "12.1",
"requirement": "二面性・高精細ドットとアニメ立ち絵",
"status": "一部実装",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "背景/人物/施設アイコンあり。高精細アニメーション/本編立ち絵の製品品質は未達・目視未評価。",
"acceptance": "正式素材の全画面レビュー",
"source_lines": [
228,
229,
230
]
},
{
"id": "B-12.2",
"section": "12.2",
"requirement": "魔法レンズ風の波紋切替",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "layer_mode切替と再描画。波紋Shader/遷移なし。",
"acceptance": "表裏連続切替の波紋と操作応答を確認",
"source_lines": [
231,
232
]
},
{
"id": "B-12.3",
"section": "12.3",
"requirement": "SD各モーション・立ち絵破損/汚れ/刻印差分",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scenes/main/world_preview.gd",
"line": 230
},
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
}
],
"related_tests": [],
"finding": "静的Marker Atlasはあるが指定アニメ/立ち絵差分なし。",
"acceptance": "全モーションとルート差分の表示チェック",
"source_lines": [
233,
234,
235
]
},
{
"id": "B-12.4",
"section": "12.4",
"requirement": "表裏UIスキン・BGMクロスフェード・環境音/SE",
"status": "一部実装",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/main.gd",
"line": 1232
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "UIスキンと背景の層差はある。UI全体の黒鉄切替、音声資産/AudioStream接続は未確認。",
"acceptance": "表裏切替のUI全体と音響クロスフェードを実機確認",
"source_lines": [
236,
237,
238,
239
]
},
{
"id": "B-13.1",
"section": "13.1",
"requirement": "立ち絵/CG/差分",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "対象assetsに正式立ち絵/イベントCG一式なし。",
"acceptance": "資産一覧とゲーム内使用箇所を突合し実機レビュー",
"source_lines": [
241,
242,
243
]
},
{
"id": "B-13.2",
"section": "13.2",
"requirement": "SDモーション/エフェクト",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "静的actor markerをモーション完成として扱わない。",
"acceptance": "資産一覧とゲーム内使用箇所を突合し実機レビュー",
"source_lines": [
244,
245,
246
]
},
{
"id": "B-13.3",
"section": "13.3",
"requirement": "Lv1〜3表裏タイル/背景",
"status": "一部実装",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "背景と施設Atlasあり。全施設Lv別内外装なし。",
"acceptance": "資産一覧とゲーム内使用箇所を突合し実機レビュー",
"source_lines": [
247,
248
]
},
{
"id": "B-13.4",
"section": "13.4",
"requirement": "表裏スキン/感情/覗き素材",
"status": "一部実装",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "UI Skin Atlasあり。感情グラフ/専用覗きOverlay不足。",
"acceptance": "資産一覧とゲーム内使用箇所を突合し実機レビュー",
"source_lines": [
249,
250
]
},
{
"id": "B-13.5",
"section": "13.5",
"requirement": "BGM/環境/操作/成人向けSE/声",
"status": "未実装(対象内)",
"evidence": [
{
"path": "scripts/ui/visual_theme_profile.gd",
"line": 1
},
{
"path": "scenes/main/world_preview.gd",
"line": 230
}
],
"related_tests": [],
"finding": "assets内に音声拡張子、コードに音声再生接続を確認できない。",
"acceptance": "資産一覧とゲーム内使用箇所を突合し実機レビュー",
"source_lines": [
251,
252
]
},
{
"id": "B-14.1",
"section": "14.1",
"requirement": "2026/03〜08 プロトタイプ",
"status": "計画・未判定",
"evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "docs/IMPLEMENTATION_STATUS.md",
"line": 1
}
],
"related_tests": [],
"finding": "原本自身が「要修正」とする計画。現在の実装事実だけで予定達成/納期を判定しない。",
"acceptance": "本表の残課題からスコープ・工数・完了条件を再計画",
"source_lines": [
255
]
},
{
"id": "B-14.2",
"section": "14.2",
"requirement": "2026/09〜2027/02 アルファ",
"status": "計画・未判定",
"evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "docs/IMPLEMENTATION_STATUS.md",
"line": 1
}
],
"related_tests": [],
"finding": "原本自身が「要修正」とする計画。現在の実装事実だけで予定達成/納期を判定しない。",
"acceptance": "本表の残課題からスコープ・工数・完了条件を再計画",
"source_lines": [
256
]
},
{
"id": "B-14.3",
"section": "14.3",
"requirement": "2027/03〜08 ベータ/成人向け",
"status": "計画・未判定",
"evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "docs/IMPLEMENTATION_STATUS.md",
"line": 1
}
],
"related_tests": [],
"finding": "原本自身が「要修正」とする計画。現在の実装事実だけで予定達成/納期を判定しない。",
"acceptance": "本表の残課題からスコープ・工数・完了条件を再計画",
"source_lines": [
257
]
},
{
"id": "B-14.4",
"section": "14.4",
"requirement": "2027/09〜12 ポリッシュ",
"status": "計画・未判定",
"evidence": [
{
"path": "autoload/simulation_runtime.gd",
"line": 7593
},
{
"path": "docs/IMPLEMENTATION_STATUS.md",
"line": 1
}
],
"related_tests": [],
"finding": "原本自身が「要修正」とする計画。現在の実装事実だけで予定達成/納期を判定しない。",
"acceptance": "本表の残課題からスコープ・工数・完了条件を再計画",
"source_lines": [
258
]
}
]