tarinai/PATCH_NOTES.md
2026-06-24 13:48:22 +09:00

7.8 KiB

15.24.35

  • 持ち主不明のかんたんベッドは、最初に利用した個体の所有物になるよう変更。
  • かんたんベッド同士が近すぎる位置に作られにくいよう、配置ブロックと建築位置選定を調整。
  • 複製機にセットされた食べ物の種類を、食べ物探索の優先順位と接触距離ソートに反映。

15.24.34

  • ぬいぐるみを添付スプライトに差し替え、白背景を透過化。
  • たりないデータの「関係」と「家族」を1セクションに統合。
  • 観察中の友達/敵対ハイライト判定を相互関係ベースに拡張。
  • かんたんベッドで睡眠中の個体に、親子でも友達でもない個体が寝に来た場合は喧嘩開始。

Patch Notes 15.24.33

15.24.33

  • Version: 15.24.33.
  • Build: compact-save-v2.
  • Added item-bucket dirty tracking, ensureItemBuckets(), itemById(), liveItemsOfType(), and addItem() to keep type buckets and id lookup coherent after runtime item additions.
  • Routed common item creation paths through World.addItem() for placements, rain water, grass growth/spawn, zunchi burst/spawn, ant corpses/nests, Tarinai death traces, and constructed owned structures.
  • Expanded runtime diagnostics with bucket dirty state, item id-map size, and bucket rebuild counters.
  • Reworked several hot item lookups to use buckets or id-map helpers where safe.
  • Updated regression checks for item-bucket helper availability and direct item push documentation.
  • Added final pre-save runtime-polish report and remaining-work split note.
  • Did not touch save migration, population/family limits, or family-tree UI.

Patch Notes 15.24.31

15.24.31

  • Version: 15.24.31.
  • Build: social-balance-runtime-polish.
  • Fixed social-action balance regression where conflict could dominate too often after ActionSpec migration.
  • Reduced normal conflict pressure, lowered fight/intimidation priority, and raised mate/bond selection weight.
  • Added pair-level fight cooldown guards so one pair/individual cannot trigger repeated fight starts in the same burst.
  • Shortened intimidation/defeated display timers.
  • Preserved fight mochi as a strong forced exception while reducing ordinary proximity-fight probability.
  • Added regression checks for social balance constants and fight re-entry guards.
  • Did not touch save migration, population/family limits, or family-tree UI.

Patch Notes 15.24.30

15.24.30

  • Version: 15.24.30.
  • Build: action-spec-sunbath-runtime-check.
  • Moved sunbath into createSunbathActionSpec() and registered it directly in TARINAI_ACTION_DEFINITIONS.
  • Removed the remaining configureTarinaiNeedActions() late-binding bridge.
  • Kept the existing sunbath body/timer subsystem intact; player-visible sunbath behavior should remain unchanged.
  • Updated regression checks so late action patching is treated as a failure.
  • Did not touch save migration, population/family limits, or family-tree UI.

Patch Notes 15.24.29

15.24.29

  • Migrated social/fear/combat/mate/birth runtime actions into ActionSpec factories.
  • Kept family data, family tree UI, population limits, and save migration untouched.
  • Added regression checks for pass 3 ActionSpec migration.
  • Build: action-spec-social-runtime-check.

Patch Notes 15.24.28

15.24.28

  • Added centralized behavior-text composition through composeTarinaiBehaviorText() and patchBehaviorTextFromComposer().
  • Added textTarinaiAction() to the ActionSpec lifecycle helpers.
  • Kept existing explicit live behavior text as the default display fallback so player-facing wording does not churn during normal observation.
  • Added a player-visible diff check comparing the current build against the initial 15.24.20 ZIP.
  • Kept save migration, population/family caps, and family-tree UI out of scope.

Patch Notes 15.24.25

15.24.25

  • Added scripts/regression_check.py and docs/REGRESSION_CHECKLIST.md to freeze the current generated-file, syntax, and ActionSpec lifecycle baseline.
  • Expanded js/tarinai_action_spec.js with explicit lifecycle helpers: selectTarinaiActionTarget, canStartTarinaiAction, startTarinaiAction, tickTarinaiAction, finishTarinaiAction, and failTarinaiAction.
  • Migrated need-action definitions from legacy condition/run/update shape toward explicit selectTarget/canStart/start/tick ActionSpec fields.
  • Routed priority/action eligibility through canStartTarinaiAction() while preserving legacy fallback behavior.
  • Added finish/fail lifecycle calls for completed or failed action ticks.
  • Kept save migration, population caps, family caps, and family-tree UI out of scope.

Patch Notes 15.24.23

15.24.23

  • Added coarse-grained spatial invalidation via markSpatialDirty() + ensureSpatial() for the main update loop.
  • Reduced redundant spatial rebuilds around item, ball, ant, and Tarinai update phases while keeping direct rebuildSpatial() calls compatible.
  • Added per-type item buckets in updateItemCounts() and switched ball-ball collision setup to itemsOfType("ball").
  • Reworked render layering into a cached dynamic render stack so expensive y-sort work runs on a short interval or count/signature change, not every paint.
  • Kept population and family-tree UI behavior unchanged.

Patch Notes 15.24.22

  • Added activeBehavior as the authoritative runtime behavior layer above legacy state timers.
  • Added forcedBehaviorQueue and forceBehavior() hook for external forced actions such as love mochi, fight mochi, and drugs.
  • Re-routed love mochi, fight mochi, and sleep drug effects through forced need actions.
  • Converted eating, panic, fighting, intimidation, and birth ritual display/scheduling to behavior-backed actions.
  • Split social need pressure internally into bond/family/mate/conflict/fear parts and used those parts in social action selection.
  • Weighted fulfill action selection by its internal reason parts.
  • Reduced direct old-style birth starts: proximity now raises mate pressure; ritual starts when mate behavior is active or forced.
  • UI action text now prefers activeBehavior over stale thoughts or intent strings.

15.24.22

  • js/tarinai_action_spec.js を追加し、行動を ActionSpec として登録できる共通層を導入。
  • 既存の condition / run / update を維持しつつ、canStart / start / tick / finish / fail / text に段階移行できる互換ラッパーを追加。
  • TARINAI_ACTIONSTARINAI_ACTION_DEFINITIONS から登録生成する形に変更。既存参照は維持。
  • 行動開始・継続処理を startTarinaiAction() / tickTarinaiAction() 経由へ移行。
  • behaviorspecId / specKind を保持し、表示・旧API互換と行動仕様の対応を追いやすくした。

15.24.21

  • 外部強制行動を queued / active / retry / expire の状態機械に拡張。
  • 強制行動の source / forcedReasonText を activeBehavior に保持し、旧タイマー同期で失われにくくした。
  • 関係欲求の開始判定を social 大分類ではなく bond / family / mate / conflict のサブ欲求に寄せた。
  • 食事行動を activeBehavior 内で対象接近から摂食完了まで完結するよう整理。
  • 行動選択時に高い未選択欲求がある場合、「眠たいけど、食べている」のように対立理由を表示。

15.24.21

  • 外部強制行動を強化。薬・餅から forceBehavior() 経由で優先割込み、対象再探索、失敗時再試行を行うようにした。
  • へこ餅、けんか餅、ねむり薬の強制行動優先度を更新。
  • 喧嘩対象が Item 等になった場合の relationTo is not a function エラーを防止。
  • 睡眠欲求を概日圧 circadianSleepPressure 中心に変更。夜は大きく上昇、昼下がりは微増、それ以外は減衰。
  • 初期生成時、夜なら睡眠欲求が高めになるよう初期エネルギーと概日圧を調整。