Skip to content

chore(koshien-web): tmp/smalruby-koshien-web をdevpodでローカル実行可能化し新旧APIを動作確認 (rbwasm) #764

Description

@smalruby3-editor-bot

概要

tmp/smalruby-koshien-webローカル(devpod)で実行可能にし、「AIを試す」の新 API と
既存 AI の両方が動くことを実機で確認する。

制約

  • wasm/ は gitignore で空(game-server.wasm / player-ai.wasm は未ビルド)。
  • ビルドは rbwasm(ruby.wasm + wasi-sdk)が必要。devpod に docker は無いため、
    devpod に rbwasm ツールチェーンを直接導入してビルドする。

やること

  • devpod に ruby + ruby_wasm(rbwasm) + wasi-sdk を導入。
  • game-server.wasm / player-ai.wasm を README 手順に沿ってビルド
    (rbwasm buildrbwasm pack)。
  • GameViewer を静的に配信して起動(dxopal server もしくは静的サーバ)。
  • 動作確認(Playwright headless):
    • 新 API: scratch-gui v2 生成コードを ?player1=data:<base64> で渡して AI が動く
      (接続→マップ取得→経路計算→移動→ターン終了)。
    • 旧 API: パラメータ無し(default_ai)/ 既存スタイル AI がそのまま動く。
    • v1 生成コード(Sprite.new(...) do … end)も動く。

受け入れ条件

  • devpod で wasm をビルドできる手順が再現可能(スクリプト or 手順書)
  • ローカルで GameViewer が起動する
  • 新 API(生成 AI)で対戦が進む
  • 旧 API(既存/デフォルト AI)が壊れていない
  • 検証結果を記録(スクリーンショット等は tmp/ 配下)

関連

Epic #738 / 前提: 「AIを試す」param 化、game server API 対応(各別 Issue)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions