Files
TheTree_mock/docs/qa/P1_BUSINESS_MANAGEMENT.md

55 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P1 料金・営業設定と照合処理の軽量化
更新日: 2026-09-09。承認済みPLAY-05を通常UIへ接続した記録。規則と保存互換は [D-034](../DESIGN_DECISIONS.md)。
## 操作と挙動
左の「営業」から施設を選び、5段階の価格と営業/休業を設定する。変更は確定ボタンでCommandとして適用し、停止中にも操作できる。時間が進んでいるときの予約Command、重複送信防止、施設ごとの下書き、途中保存からの復元を扱う。受付・裏方施設は開閉のみ操作する。
価格の変更は次の受付から有効。受付時の見積を行列・サービス・決済まで保持する。高い価格は同じ客の予算判定・選択Utilityを下げ、価格による満足補正も適用する。休業時は待機客が予約した料理を解放して別の施設を探し、開始済みのサービスは完了する。厨房の調理と新たな積込は休業中に停止する。積込済みの荷物は納品先の営業状態に従って配送し、消費期限は休業中も進む。休業中も給与は発生する。
新設時の標準料金は客室120G・食堂25G、受付0G。食堂45分、受付20分。既存保存の非受付施設は保存された基準値を引き継ぐため、旧施設では異なる料金が表示されることがある。旧受付でも次の見積から無料になり、過去の売上や既存の見積を変更しない。
```sh
make test-business
make test-ui
make test-perf
THE_TREE_BUSINESS_ACCEPTANCE=1 godot --headless --path . --script res://tests/supply/test_normal_supply_chain.gd
make capture-business
make preview-business
```
`preview-business` は通常5,000G/資材50から建てた供給可能な宿を初日12:20で開く。Spaceで再開し、「営業」で料金、「商品」で供給、「帳簿」で決算を確認できる。試遊では通常保存・読込・自動保存を無効にする。単体試験の財布・在庫fixtureと、通常予算からの通し受入は区別する。
## 検証結果
| 対象 | 結果 |
|---|---|
| 価格5段階・丸め・見積固定・Policy保存・Guest退列 | 91項目 PASS |
| Runtime料金・客の候補Utility・決済・営業・ディスク保存復元 | 48項目 PASS |
| 実Tickの休業順・忍耐1・グループ遷移上限・予約解放・時間指定 | 57項目 PASS |
| 配車後の荷元休業・再開配送・積込後の配送継続を含む物流 | 97項目 PASS |
| 営業UI・下書き・重複防止・未実行Commandのディスク復元 | 55項目 PASS、1280×720で客室と倉庫を目視確認 |
| Digest v1バイト一致・変更検知・型・衝突・上限・拒否条件 | 71項目 PASS |
| 新料金での通常最小宿・翌朝給与・保存復元 | 35項目 PASS、宿泊売上480G・給与120G・未払0・営業利益180G |
既存回帰は構成ターゲットを分割して完了。S0は7本438項目、S1/S4/S5/S6/MVP/受入/性能は28本3,100項目、S2/S3は13本982項目。厨房140・供給保存移行20・供給管理84、既存UIのpixel238・dashboard121・staff44・supply37も合格した。新営業系と `make check` も成功終了。各欄には重複対象があるため単純合計を総テスト数として扱わない。
単日最小宿は初期5,000G、受付1・客室2・通路7・受付係1人の通常操作による別シナリオ。終了残金3,840G、受付売上0G。建設1,340G、契約金180G、給与120G、宿泊480Gの実記帳を確認した。
通常供給3営業日は **49項目・失敗0、終了コード0**。通常5,000G/資材50から建設・採用・配属し、原料を120個/360G仕入れた。自然来客のみで食堂3,000G・宿泊1,200G、受付0Gを記帳し、原料配送30便・料理配送75便を完了した。毎日給与645G、3日すべて未払0・照合差0。終了残金2,895G、資材4。初日の営業利益-555Gには5人分の契約金1,030Gを含み、2・3日目はそれぞれ+715Gだった。
配送途中の専用ディスクSave/Loadと5分の完全状態再生一致、最終Snapshot復元も合格した。経済変更後も無料補充や受付収益に頼らず続けられる基準手順を確認した結果であり、あらゆる価格設定での黒字を保証するものではない。
実装コミットは `b3b82ef`。画像は `artifacts/business-management/business-panel.png` と `warehouse-policy.png`、数値は `normal-play-report.json`、ログは同フォルダ。`preview-business` の実描画起動も35項目合格、保存なしの試遊を開いた。
## 性能の計測範囲
旧v1のEncoderをテスト内参照として残し、模擬の全イベント・台帳・サービス履歴でSHA計算を比較した。5,000件、約2.37MBの同一Canonical出力で5回中央値281.294msから133.455ms(2.108倍)。型付きイベントID10,000件では11.816msから7.309ms(1.617倍)。出力・Hashは完全一致し、可変値を再利用しない。
これは同じMac上のDigest単体計測であり、日数・客数・描画fpsの受入ではない。Runtimeの全Snapshot生成とUI更新、長期履歴自体の増加は残る。処理を省いたり客数を減らして得た数字ではない。
## 残る検証・仕様差
初見プレイヤーによる価格・欠品・人手・経路の改善試遊、宿泊基本料のチェックイン前払い、維持費の実支払、客別期待品質と満足の全式、料理ポイント+食器、昇降機と実通勤は残る。自動3営業日の成立だけでP1全体や製品バランスを合格にしない。