fulfillment

This commit is contained in:
33333-33333 2026-06-23 11:27:55 +09:00
commit 2e90add2e1
67 changed files with 5427 additions and 690 deletions

View file

@ -121,3 +121,128 @@
- Removed the remaining synchronous family-tree DFS fallback blocks in `ui_family_data.js` and `ui_family_render.js`; both now use `TarinaiFamilyGraph.connectedComponents()`.
- Simplified the remaining manual ant proximity fallback in `tarinai_needs_items.js` to `world.nearbyAnts()`.
- Verification: all `js/*.js` and `service-worker.js` pass `node --check`.
## 15.25.0 save/load UI and pin UI fix
- Fixed `Item.draw()` crash caused by an undefined `isOshibyo` local in the pin drawing branch.
- Reworked the save dialog into a 3x3 slot grid and added per-slot canvas thumbnails.
- Added compressed `TARINAI_SAVE_V2:` hash export/import using browser gzip streams when available; legacy `TARINAI_SAVE_V1:` imports remain supported.
- Replaced browser confirm prompts in save/load/import/delete flows with in-game save dialog confirmation UI.
- Added missing tool UI icons for `pushpin` and `oshibyo` and updated their tooltips.
- Renamed tool categories: 操作, 飲食, 薬, 生活, 危険物. Moved freeze to 操作 and fences to 生活.
- Made the frozen individual panel initially collapsed.
- Made colony mood span the full colony UI width with a compact height.
- Moved push notification cards inside the top of the Event UI.
- Bumped static cache version to `15.25.0`.
## v15.26.0 save/sunbath/signboard/freeze UI patch
- ずんちどれいの食対象を、ずんだ餅・草・水系を除く食べ物全般へ拡張。
- 看板を大型化し、観察/看板ツールでクリック編集、配置直後編集に対応。
- 日光浴の開始処理が呼ばれていなかった問題を修正し、発生確率と継続時間を大幅に増加。
- フィールド内の非地形オブジェクト・たりない・アリをY座標で統合ソートし、下側が前に出る描画順へ調整。
- 冷凍ボタンを操作カテゴリから廃止し、冷凍個体一覧を操作カテゴリ内部へ移動。
- セーブスロットを小型化し、サムネイルをスロット全面背景として表示。
- ハッシュ書き出しをV3コンパクト形式へ変更。イベントログ、エフェクト、吹き出し等の非本体情報は保存対象外。
- α版のため、セーブ/ハッシュ互換性は当面保証しない旨をコードコメントに明記。
## v15.27.0 hash V4 / layer / warning patch
- ハッシュ書き出しを `TARINAI_SAVE_V4:` に更新。V3の密な配列形式から、短い疎配列形式へ変更。
- V4ではゲームプレイ本体に必要な world / tarinai / item / ant / frozen 状態のみを保存し、ログ、イベント表示、エフェクト、吹き出し、サムネイル等は保存対象外。
- アイテム種別・スプライト種別は固定辞書の数値コードで保存し、初期状態で全アイテムを1つずつ置いたケースでも短くなるようにした。
- アイテムは `type,x,y` をヘッダ化し、その他はデフォルト値から変化した値だけを保存する方式へ変更。
- 干草寝床の描画レイヤーを同じY座標の他オブジェクトより少し後ろへ調整。
- ロード/インポート/削除の上書き警告を中央の大きなゲーム内UIとして表示。
- キャッシュ対策としてバージョンを `15.27.0` へ更新。
## v15.28.0 machine / pin placement patch
- おしり鋲を約半分の表示サイズに縮小し、刺さり位置をたりないスプライト右側へ移動。
- 画鋲/おしり鋲の刺さり表示は、たりないのスプライト反転に合わせて左右反転するよう調整。
- 新アイテム「複製機」を追加。消費アイテムツールで複製機をクリックするとスロットにセットし、下側の皿へ無限補充する。
- 新アイテム「大砲」を追加。消費アイテムツールで大砲をクリックするとスロットにセットし、クリック位置で360度向きを変更し、セット品を撃ち出す。
- 大砲弾として飛んだ消費アイテムは、高速時にたりないへ当たるとボール同様に吹き飛ばす。
- 複製機/大砲の道具UIアイコンを追加。
- セーブV4のアイテム種別表・追加キーへ複製機/大砲および機械スロット情報を追加。
- キャッシュ対策としてバージョンを `15.28.0` へ更新。
## v15.29.0 asset / save compression patch
- 全たりないスプライトを 512x468 以下に収まるよう縮小し、WebP を再圧縮。
- `ALPHA_BOUNDS` を現行画像寸法と透過領域から再生成。
- 音声サンプルを軽量 MP3 に置き換え、WAV を配布対象から除外。
- セーブハッシュ内の座標系数値は小数点第一位までに丸めるよう変更。
- コメントは削除せず、JS minify は行っていない。
- キャッシュ対策としてバージョンを `15.29.0` へ更新。
## v15.30.0 save hash v5 compact patch
- ハッシュ書き出しを `TARINAI_SAVE_V5:` に更新。
- V5はトップレベルを短い配列形式にし、world / たりない / item / ant / 冷凍個体をゲームプレイに必要な値だけで再パック。
- たりないの性格・遺伝・関係性・効果タイマー・状態/欲求/アイテム種別を短い配列または数値コード化。
- 初期値・決定論的に再生成できる値・UI/演出専用値はハッシュ保存対象から除外。
- 座標は引き続き小数点第一位まで保存。
- V4/V3/V2/V1の読み込み互換は一応残すが、α版のため今後の互換性保証はしない。
- キャッシュ対策としてバージョンを `15.30.0` へ更新。
## 15.31.0 - Hash V6 compaction
- Added `TARINAI_SAVE_V6:` export format.
- Further shortened hash text while preserving gameplay state.
- Removed individual observation history/name fields from hash exports:
- names
- former names
- parent display names
- personality daily history
- mystery drug history
- recent change records
- per-individual observation records
- Replaced long family keys in hash payload with compact numeric family references.
- Encoded live IDs like `t12` as numeric IDs in hash payload and restored them on load.
- Packed tarinai core gameplay stats into fixed compact rows.
- Kept gameplay-critical data:
- needs/status
- position and movement-relevant values
- personality and genetics
- parent/child links
- relationships
- diseases
- zunchi slave state
- item effects
- oshibyo/zunchi stock
- sunbath/fear/fall gameplay timers
- items, machines, ants, frozen tarinai
- Flattened item base records remains active from V6 export.
- Hash remains ASCII base64url + gzip for copy/paste and editor durability.
## 15.32.0 - Hash V7 base91/name preservation
- Added `TARINAI_SAVE_V7:` hash export.
- V7 uses gzip plus a 91-character printable ASCII transport alphabet instead of base64url.
- V7 keeps individual names in compact hash exports.
- V7 excludes dead tarinai rows from compact hash exports so family graph history does not revive/save dead individuals.
- V7 filters parent/child and relationship links to living or frozen individuals; pending frozen death notices remain gameplay data.
- V7 stores selected numeric tarinai stats as relative deltas from common defaults while preserving the existing compact numeric precision.
- V1-V6 import support remains.
## 15.33.0 - Hash V8 current-only compact save
- Hash exports now use `TARINAI_SAVE_V8:` only. Old hash import compatibility was intentionally removed for the alpha save format.
- Added an untouched-initial-colony sentinel. Initial colonies now export as a compact reset marker plus names instead of full entity/item rows, targeting roughly 100 characters for the initial state depending on generated names.
- Frozen individual save data no longer preserves pending death notices or relationship/memory records.
- Dead family nodes remain omitted from compact hash saves.
- Individual names are preserved in V8 compact saves.
- V8 keeps printable ASCII transport using the 91-character alphabet, with an explicit compressed/uncompressed mode marker.
## 15.34.0 - Hash V9 binary compact format
- Removed the V8 initial-state-only save sentinel. All states now use the same compact format.
- Export hash format is now `TARINAI_SAVE_V9:` and legacy hash imports are rejected during alpha.
- Replaced JSON-based compact hashes with a dedicated binary packet plus printable ASCII Base94 transport.
- Stopped saving elapsed day count in compact hash; loaded compact hashes restore day as 1.
- Kept custom individual names, while default four-character names made only from `は / う / ぅ / っ` are packed as 2-bit character codes.
- Replaced saved tarinai/item IDs and family keys with array-index references; IDs are regenerated on load.
- Uses default-relative numeric deltas, optional timer tags, boolean bit fields, and 0.1-unit integer coordinates.
- Keeps gameplay-critical tarinai needs, personality, genetics, family links, relationships, item states, machines, ants, and frozen individuals; frozen pending-loss memory remains omitted.
## 15.35.0 - Hash V10 compact packet
- Changed exported hash prefix to `TARINAI-SAVE-V10:` so the full hash text no longer uses `_` in its version marker.
- Excluded `\\`, `*`, `'`, and `_` from the printable ASCII transport alphabet.
- Replaced the V9 generic array/value packet with a V10 field-specific binary packet for common gameplay data.
- Kept gameplay-critical state while reducing overhead for names, world data, tarinai core rows, item rows, ants, and frozen individuals.
- Kept elapsed day count out of the hash; loads restore to day 1.