Skip to content

docs: パッケージング構想の design log を追加#16

Open
neguse wants to merge 7 commits into
masterfrom
agent/packaging-design-log
Open

docs: パッケージング構想の design log を追加#16
neguse wants to merge 7 commits into
masterfrom
agent/packaging-design-log

Conversation

@neguse

@neguse neguse commented Jul 22, 2026

Copy link
Copy Markdown
Owner

概要

roadmap の「4 本移植 + win/web 配信」駆動(#15)を受けて、配信パッケージの設計を docs/log/ に記録する。

  • 2026-07-23-packaging-design.md — パッケージング設計。要求(R1-R5)→ 決めること・決めないことの宣言 → 用語定義(パッケージ / player / snapshot / 生成キャッシュ / 事前生成 / export)→ 現状の実体(コードを確認した挙動)→ 設計 → 未決、の構成
    • パッケージ = player + snapshot + 生成キャッシュ。export はビルドではなくファイルの書き出しと配置で、CMake / emsdk を要求しない
    • 事前変換専用の仕組み(cook)は作らず、ランタイムと同じ生成器の決定的出力を生成キャッシュに保存する
    • 事前生成の宣言主体はゲーム(専用起動モード + フック)。数フレームの自動実行は完全性の検査に使えないことを明記
    • 自前 main() + 任意ネイティブ関数の経路としてライブラリ化が必須(web のネイティブ拡張はこの経路のみ)
  • 2026-07-23-language-architecture-notes.md — 同じ議論から派生した言語まわりの案(Lua contract 説、IDL 生成、lubx の Lua 実装化、Haxe の処遇)。すべて未決として分離

roadmap.md / api-glue.md には手を入れていない(未決が固まってから)。

🤖 Generated with Claude Code

https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS

neguse and others added 7 commits July 23, 2026 04:54
配信は最後の hot reload という定義、cook を作らず冪等キャッシュで
賄う原則、ビルドシステム非依存のデフォルト経路、逃げ道としての
ライブラリ化、および案の段階のもの(Lua contract 説、IDL 生成、
lubx の Lua 実装化、Haxe の処遇)を 2026-07-23 時点の到達点として記録。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
主張だけで帰結がなかったので、「player はゲームに依存しない →
パッケージにコンパイル工程が存在しない」という導出と、要求した
場合に何が起きるかを書く。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
キー設計、生成器を player に同梱するかの選択(native は同梱継続 /
web は外して cache を load-bearing に)、Linux から DXIL を温める
場合の要検証点と cache-not-cook の利点を書く。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
現状のコード上の実体(直パス .lua entry、boot.lua 探索、serve の
初回 SSE ペイロード、シェーダキャッシュ不在、手動プリキャッシュの
前例)を冒頭に置き、各方針を「現状 → 差分」として導出し直す。
「開発中に cache が温まる」等、現状の性質のように読めた構想は
設計要件であることを明示した。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
file:line の引用は時間が経つとずれる。挙動そのものを文章で書き切り、
コードを参照せずに読める記録にする。事実の内容は変えていない。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
完全なリストは動的コンテンツがある以上ゲームにしか作れないので、
温め用起動オプション(--warm 仮称)でゲームが自分の閉包をコードで
宣言する形にする。実行ベースの完全性検証(golden / headless は
数フレーム)は担保にならないことを明記。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
会話の消化物になっていたのを設計文書として再構成する。要求 → 決める
こと・決めないことの宣言 → 用語定義 → 現状 → 設計(各決定を要求への
応答と帰結で記述)→ 未決、の構成。議論の反駁や比較の経緯は落とし、
語彙を定義してから一貫して使う。スコープ外だった言語まわりの案は
language-architecture-notes.md に分離。

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013sFK4dWaEuumcJW2uBZ8NS
@neguse
neguse force-pushed the agent/packaging-design-log branch from 1214cbb to 5f185b8 Compare July 23, 2026 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant