Skip to main content

Module abi

Module abi 

Source
Expand description

export_game_core_abi! — генерирует #[wasm_bindgen] impl для игрового GameCore, снимая ~25-метод boilerplate, зафиксированный §3.4 PLAN.md. Все методы ниже — механические 1:1-делегации в уже generic EngineSim<G>/SnapshotPacker, чья сигнатура зафиксирована трейтом crate::sim::GameSim<G> независимо от конкретной игры — не дизайн под гипотетическую вторую игру, а извлечение уже существующего соответствия (см. PLAN_4_details.md §5).

Контракт: тип-цель обязан иметь поля state: vimp_engine_core::game::EngineSim<G> (под именем EngineSim<...>, конкретный G — забота игрового crate) и packer: vimp_engine_core::snapshot::SnapshotPacker, и раскрываться в модуле, где уже подключён wasm-bindgen как зависимость (пути ниже квалифицированы через ::wasm_bindgen, поэтому не зависят от локальных use, но зависят от наличия крейта в Cargo.toml вызывающей стороны). new (парсинг игрового конфига) и не-#[wasm_bindgen] тестовые аксессоры в макрос не входят — остаются рукописными в game-crate.