収録範囲・処理索引
完全収録版の案内・索引をそのまま掲載しています。原因調査は行っていません。
石とゾンビ — ChatGPT(メープル)向け最新コード一式・完全収録版
書き出し日時: 2026-09-13T20:27:28+09:00(日本時間)
正本フォルダ: C:\石とゾンビ
納品ファイル: C:\石とゾンビ_受け渡し\石とゾンビ_最新コード一式_完全収録版_20260913.txt
本番URL(K1指定): https://ishi-to-zombie.kaiten-sushi-online.workers.dev/
ローカルコードの表示版: v20260913b
収録: 現行コード・設定・仕様 21ファイル + 参考検品スクリプト1ファイル = 22ファイル全文
ソース総容量: 405,742 bytes(案内・区切りを除く)
【この資料の目的と範囲】
K1からの症状報告: 「石がゾンビに当たり、ノックバックするときの表示がラグく/カクついて見える」。
原因調査・原因の断定・修正案の評価は今回行っていない。現在のソースと関連仕様を渡すための資料。
対象端末・発生頻度・通信状態・ソロ/2人の別など、上記以外の再現条件は今回の依頼文に記載されていない。
正本は書き出し時点のローカル実ファイル。既存まとめからの転載ではなく、C:\石とゾンビから読み直した。
本番サーバーの配備コードとのバイト一致・稼働状態は照合していない。表示版だけで同一と断定しない。
コード編集・git操作・デプロイ・ゲームの再現試験は行っていない。
【読む順序】
1. この案内と索引 → public/index.html → public/lib/world.js → src/worker.js。
2. docs/K1仕様書_磨き込みとマルチ_20260913.md と docs/決めたこと.md の後半で関連仕様を確認。
3. 必要に応じて描画ライブラリ・開発道具・検品コード・Matter.js本体を読む。
各 BEGIN FILE ブロックは元ファイル全文。コードへ行番号・省略記号・整形・書換えを加えていない。
索引の「元ファイル:行」は元ファイル内の1始まりの行番号。目次の「本文開始行」はこのテキスト内の行番号。
各ブロックの Source-Bytes は原文部分のUTF-8バイト数。原文末尾の後に区切り用LFを1個だけ追加する。
改行形式・BOM・コメント・圧縮済みの長い行も原文のまま保持。原文バイト列のSHA-256を併記した。
このまとめ全体の文字コードはUTF-8(先頭BOM付き)。Matter.jsの長い圧縮行も途中省略していない。
【仕様の時点を取り違えないための案内】
・初期仕様のPages公開先は旧情報。現行配置設定はwrangler.tomlのWorkers + Durable Objects + public/配信。
・初期の「負けライン到達で即終了」は、後続仕様で個別HP・取り付き・前衛/後衛へ変更されている。
・docs/決めたこと.mdには初期と移行後の記録が同居する。記録内の実測・完了表記は開発担当による過去の記録。
・以下の読み取りメモは今回の現行ソースで確認できる実装経路。設計要望の達成度・不具合原因の判定ではない。
【当たり判定・ノックバック・物理の索引】
・画角・m↔px変換: public/index.html:180 / public/index.html:188 / public/index.html:189
・Matter.js設定・床との衝突イベント: public/index.html:212 / public/index.html:216
・ゾンビの頭/胴/足の形状: public/index.html:242
・線分対円/矩形判定: public/index.html:252 / public/index.html:263
・石対ゾンビ/カラスの全判定と石の衝突後速度: public/index.html:279 / public/index.html:280
・命中のローカル/オンライン分岐と即時演出: public/index.html:319 / public/index.html:324
・投げる入力・初速・石の生成: public/index.html:463 / public/index.html:467 / public/index.html:476
・物理の固定ステップと更新順: public/index.html:547 / public/index.html:574
・ノックバック定数: public/lib/world.js:29
・命中結果の適用・ノックバック量・取り付き解除: public/lib/world.js:144
・世界の毎フレーム更新・ノックバック減衰・よろけ・前進: public/lib/world.js:194
・ゾンビ描画: public/index.html:673 / 描画ループ: public/index.html:1014
・物理エンジン配布物全文: public/lib/matter.min.js(版・ライセンスはファイル先頭にも記載)
【通信・同期・補間の索引】
・開始/接続/再接続/切断: public/index.html:353 / public/index.html:385 / public/index.html:393 / public/index.html:425
・スナップショット受信とイベント処理: public/index.html:430 / public/index.html:439
・サーバーの更新間隔: src/worker.js:150
・サーバーの命中等メッセージ処理: src/worker.js:218
・サーバーの世界更新と全端末への送信: src/worker.js:264
・送信パケットの生成: public/lib/world.js:287
・受信データの反映・位置補正: public/lib/world.js:310
・実オンライン協力の既存検品コード: tools/two.mjs / 端末内の検品口: public/index.html:1032
【現行コードの経路を辿るための読み取りメモ】
・石はpublic/index.html内のMatter.jsで動く。ゾンビはWorldのオブジェクトとして動き、石との判定はhitTestの線分判定。
・通常石の頭頂部判定は vy>0、ey<=G.hy-G.hr*0.25、vy>=abs(vx)*0.60 の全条件。大岩とカラスは別扱い。
・ノックバック適用値は kb=min(2.6,kb+1.7)、stag=0.40。World.stepでx+=kb*dt、kb*=pow(0.015,dt)などを実行する。
・投石の固定ステップは1000/60 ms、1回のphysics呼出しで最大4ステップ。描画ループのdt上限は0.05秒。
・接続前/通信なしの世界はsim='full'。接続成功のwelcome受信時はsim='motion'へ切り替える。
・オンライン命中の経路: hitTest → claim → {y:'hit',k:kind,i:tid}送信+fxHit → Game.onMsg → World.hit → tick/World.snap → applySnap → World.apply/onEvent。
・通信なしの命中経路: hitTest → claim → World.hit。同じ端末のWorld.stepとonEventが続く。
・サーバーのTICK_MS=80(設定上12.5回/秒)。tickでは実経過時間を最大0.25秒に制限してWorld.stepを呼び、snapを全接続へ送る。
・World.snapのトップレベルは y,t,q,k,o,m,z,c,p,e。各配列の列順はsnap全文を参照すること。
・World.applyのゾンビx補正は差が0.75m超なら代入、それ以外は差の34%を加算。実行箇所は受信時のapplyであり、描画フレームごとではない。
・上記は処理位置と式を記載したもの。カクつきの原因・改善策や計測結果は記載していない。
【補助ファイルと収録対象外】
・public/全8ファイル、src/全1ファイル、docs/全4ファイル、tools/全5ファイル、ルート設定3ファイルを全文収録。
・tmp/near.mjsは近距離/大岩の検品コードなので参考付録に収録。tmp/のPNGは過去の検品画像であり、画像バイナリは収録しない。
・.deploy/は.gitignore対象の旧配備用コピーで、現行のwrangler.tomlが参照するmain/assetsではない。最新版へ混在させないため対象外。
・.git/、.wrangler/、node_modules/などの履歴・生成物・キャッシュ・依存インストール先は対象外。
・正本のassets/に収録対象ファイルは無い。ゲームの描画/音生成コード自体は全文収録した。
・検品コードにはPlaywrightの共有インストール先 C:\平成ゾンビ学園\node_modules\playwright\index.mjs へのフォールバックがある。外部インストール本体は同梱しない。
・tools/play.mjs・tools/sweep.mjsには既定URLとして旧Pages先が残っている。原文を保持したため、現行配備先と同一と読まないこと。
・参考まとめ C:\石とゾンビ_受け渡し\石とゾンビ_最新コード一式_20260913.txt は保持したまま、別ファイルとしてこの完全収録版を作成した。
・参考まとめのSHA-256: 943b7ab7c91e7c81a853775e0750e64526a071f0540ee6bcefe737407f2ada41
【ファイル目次・照合情報】
01. public/index.html | 1,094行 | 51,323 bytes | 本文開始行 0000161
更新日時(JST): 2026-09-13T19:59:37+09:00 | SHA-256: ee47bb0b20b31375359bd2e16c1c7c97b9672245ee86cfa9310d26e218ccebd8
内容: ゲーム画面全体。HTML/CSS・入力・投石物理・当たり判定・通信・描画・音・検品口
02. public/lib/world.js | 358行 | 14,485 bytes | 本文開始行 0001267
更新日時(JST): 2026-09-13T19:55:11+09:00 | SHA-256: 24dcc8b97f3be7ae17e83bbe6d2728d4834776bfe526e37cdde8410aa23cfa07
内容: クライアント/サーバー共用の世界。ノックバック・移動・HP・報酬・状態送受信
03. src/worker.js | 349行 | 15,352 bytes | 本文開始行 0001637
更新日時(JST): 2026-09-13T19:56:46+09:00 | SHA-256: 39727b7c8659e443ef66a0fa2a52f3ec2945df5c8298d9749de8cb5f36b74365
内容: Workerルーティング・Game/Lobby/Meter/Bug Durable Objects・WebSocket・tick
04. wrangler.toml | 41行 | 1,274 bytes | 本文開始行 0001998
更新日時(JST): 2026-09-13T19:33:29+09:00 | SHA-256: d47da1693a33398fb6d93cb1965f0276eea541da92abc86a219cf07301e26367
内容: 現行Workers配置設定・静的配信・Durable Objects・ガード設定
05. package.json | 13行 | 337 bytes | 本文開始行 0002051
更新日時(JST): 2026-09-13T19:45:28+09:00 | SHA-256: f22af21fa27825a529313dd204061e2ccff3f0eb0ac58be78644043a9c83b3a2
内容: 開発/配備/検品コマンド定義
06. .gitignore | 4行 | 39 bytes | 本文開始行 0002076
更新日時(JST): 2026-09-13T11:38:23+09:00 | SHA-256: debe9e6f288f82479412a140e3be7be4012f6d834a7e06f4e29942e0956105fa
内容: 管理対象から除外するディレクトリの定義
07. docs/K1仕様書_20260913.md | 32行 | 1,891 bytes | 本文開始行 0002092
更新日時(JST): 2026-09-13T11:09:37+09:00 | SHA-256: 78ee3d3aefdd05c81d2fa26154526d94ce0091dea0d4def692a4237148d71299
内容: 最初のK1仕様原文。後続仕様で変更された内容も原文のまま収録
08. docs/K1仕様書_磨き込みとマルチ_20260913.md | 229行 | 12,147 bytes | 本文開始行 0002136
更新日時(JST): 2026-09-13T19:25:14+09:00 | SHA-256: e14c116c3719b903e79ef1cd5243e686f78af189122c888e2963c0a975ffcc66
内容: 磨き込み・2人協力・HP・ラグ対策等のK1追加仕様原文
09. docs/決めたこと.md | 146行 | 12,287 bytes | 本文開始行 0002377
更新日時(JST): 2026-09-13T20:01:15+09:00 | SHA-256: 16dbf9bc2ef6f7f75a7cd5a4784d61d8e79764574ab47cce1a3c5b65268e9224
内容: 初期判断と、後半の磨き込み/マルチ移行時の実装判断・数値・過去の実測記録
10. docs/担当のやることリスト.md | 30行 | 2,140 bytes | 本文開始行 0002535
更新日時(JST): 2026-09-13T20:00:19+09:00 | SHA-256: 92c326f2f13a776f0dca579fdbdb73c0eca2aa6e91383dbd178c0b926eb622c6
内容: 開発担当が記録した作業状況。今回Codexが再検証した結果ではない
11. public/lib/shurechara.js | 158行 | 7,373 bytes | 本文開始行 0002577
更新日時(JST): 2026-09-13T11:14:36+09:00 | SHA-256: a012d11798a0e45c6af30f1f58339d3b96129be5cc80bbaea7c66d03726eb548
内容: キャラクター描画ライブラリ
12. public/lib/wardrobe.js | 1,003行 | 59,103 bytes | 本文開始行 0002747
更新日時(JST): 2026-09-13T19:53:21+09:00 | SHA-256: 215bc7c69944497987aa8e600d49517e397535d564bad08da10683d1b209cfae
内容: 衣装・帽子・石スキンのデータ/描画
13. public/wardrobe_sheet.html | 126行 | 5,602 bytes | 本文開始行 0003762
更新日時(JST): 2026-09-13T19:51:40+09:00 | SHA-256: a86d0c7f6c83d4f4d2037f316aee2c0e214ea181dbdac94fe751f920a3a2491f
内容: 衣装見本ページ
14. public/sfx_volume.js | 40行 | 1,733 bytes | 本文開始行 0003900
更新日時(JST): 2026-08-29T06:41:00+09:00 | SHA-256: 1c12200425de2c6090d7bf4e531874f46afad48fd0930c752cdb6d62a8c2a14b
内容: 効果音音量設定コード
15. public/dev_tools.js | 1,712行 | 102,814 bytes | 本文開始行 0003952
更新日時(JST): 2026-09-12T03:07:54+09:00 | SHA-256: c1ae188b528f8c7420d83e149ff6a0cd2a551d59d18e3d1b489a6c32d8339cf6
内容: 共通開発道具・バグ報告等。省略せず全文収録
16. tools/shot.mjs | 128行 | 6,538 bytes | 本文開始行 0005676
更新日時(JST): 2026-09-13T19:45:08+09:00 | SHA-256: e2e2117487f6c103b7f9f1b5440181d6dafa92fc2ec6a59c557f8f8be46bcb6b
内容: 既存の検品コード。今回の作業では実行していない
17. tools/sweep.mjs | 129行 | 6,297 bytes | 本文開始行 0005816
更新日時(JST): 2026-09-13T19:45:57+09:00 | SHA-256: 0fa11506fd3cf44f0850249f81305055057df4299271f60153898b8ed8a9e21f
内容: 既存の検品コード。今回の作業では実行していない
18. tools/play.mjs | 150行 | 6,716 bytes | 本文開始行 0005957
更新日時(JST): 2026-09-13T19:56:07+09:00 | SHA-256: 15e4c72ff3cf301a7e046af037fc89ed3354c900302ef46ed393c756e39ad1b6
内容: 既存の検品コード。今回の作業では実行していない
19. tools/photo.mjs | 127行 | 5,525 bytes | 本文開始行 0006119
更新日時(JST): 2026-09-13T19:59:37+09:00 | SHA-256: b4df12a4e2852e490ac6f2e3a720c0b9ea94592d0264ae0018369c235d9e3519
内容: 既存の検品コード。今回の作業では実行していない
20. tools/two.mjs | 145行 | 7,075 bytes | 本文開始行 0006258
更新日時(JST): 2026-09-13T19:56:57+09:00 | SHA-256: cdd77076c4c19077c1da8850d409fa2b32af130a36a1306ef0198bb9f2f9f02b
内容: 既存の検品コード。今回の作業では実行していない
21. public/lib/matter.min.js | 6行 | 83,476 bytes | 本文開始行 0006415
更新日時(JST): 2026-09-13T11:13:51+09:00 | SHA-256: 72d30be0f579eb02ce1e0b6f9d359a4f392e6837e5a26ba8be5dbee7f88e24ae
内容: 実際に配置されているMatter.js 0.20.0配布物の全文(MIT表記も保持)
22. tmp/near.mjs | 37行 | 2,215 bytes | 本文開始行 0006432
更新日時(JST): 2026-09-13T19:47:50+09:00 | SHA-256: 4cad95c7ff108f57cc7fdcd03c4011404ad9f6d342f818eb4c52faa5c728ddb3
内容: 参考付録。tmp内の近距離投石/大岩検品スクリプト。現行配信コードではない
【原文全文】