[ { "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 ] } ]