Objetivo
Exportar el juego como HTML5 y conectar Godot con la capa JS existente (wallet Stellar, StellarGameService, ZK proofs) mediante JavaScriptBridge.
Alcance
- Exportación Godot 4 → HTML5 con plantilla personalizada que incluye el JS existente
- Autoload
WebBridge.gd con wrappers GDScript para cada llamada JS
- Funciones puente:
connect_wallet(), get_wallet_address(), commit_action(hash), reveal_action(key), export_proof(state)
- Manejo de respuestas asíncronas de la wallet mediante señales
- Página HTML shell que carga
game.js (capa Web3) antes del runtime de Godot
Skill de referencia
/godot-platform-web
Tareas
Aceptación
Desde el build HTML5 en Chrome, conectar la wallet Stellar, enviar un commit y recibir la confirmación de transacción sin recargar la página.
Objetivo
Exportar el juego como HTML5 y conectar Godot con la capa JS existente (wallet Stellar, StellarGameService, ZK proofs) mediante JavaScriptBridge.
Alcance
WebBridge.gdcon wrappers GDScript para cada llamada JSconnect_wallet(),get_wallet_address(),commit_action(hash),reveal_action(key),export_proof(state)game.js(capa Web3) antes del runtime de GodotSkill de referencia
/godot-platform-webTareas
godot/web_template/index.htmlque incluyeStellarGameService.jsautoloads/WebBridge.gdconfunc call_js(fn_name: String, args: Array) -> Variantconnect_wallet()que emiteEventBus.wallet_connected(address)al resolvercommit_action(hash: String)yreveal_action(key: String)con callback de confirmación TXexport_proof(state: Dictionary)que llama al generador ZK JS y devuelve bytesEventBus.web3_error(msg)Aceptación
Desde el build HTML5 en Chrome, conectar la wallet Stellar, enviar un commit y recibir la confirmación de transacción sin recargar la página.