[spike] Validar stack: Bevy 0.20, física e crates auxiliares #8

Closed
opened 2026-10-11 21:18:06 -03:00 by caio · 2 comments
Owner

Contexto

Bevy muda de API a cada versão. Antes de escrever o jogo, validar versões e o que usar.

Escopo

  • Hello-world Bevy 0.20 compilando no Windows e no runner debian
  • Confirmar ADR-003: sem engine de física no MVP (círculo vs AABB + hitscan próprio). Avaliar avian3d 0.7 só se necessário
  • Escolher áudio (bevy_audio nativo vs bevy_kira_audio) e UI (bevy_ui nativo)
  • Medir tempo de build incremental e configurar profile dev (opt-level, dynamic_linking opcional)

Critérios de aceite

## Contexto Bevy muda de API a cada versão. Antes de escrever o jogo, validar versões e o que usar. ## Escopo - [ ] Hello-world Bevy 0.20 compilando no Windows e no runner `debian` - [ ] Confirmar ADR-003: sem engine de física no MVP (círculo vs AABB + hitscan próprio). Avaliar avian3d 0.7 só se necessário - [ ] Escolher áudio (bevy_audio nativo vs bevy_kira_audio) e UI (bevy_ui nativo) - [ ] Medir tempo de build incremental e configurar profile dev (opt-level, dynamic_linking opcional) ## Critérios de aceite - [ ] Resultado registrado em [Decisões](https://cosmos.simioni.dev.br/caio/survivors/wiki/Decisoes) e na [Arquitetura](https://cosmos.simioni.dev.br/caio/survivors/wiki/Arquitetura)
Author
Owner

Spike — resultado parcial (2026-10-11)

  • Workspace shooter_core + survivors com Bevy 0.20.0 passa em cargo check no Windows (583 pacotes; primeira verificação leva alguns minutos, as seguintes ~1 s).
  • Diferenças de API encontradas no 0.20: SceneRoot -> WorldAssetRoot (crate bevy_world_serialization); DirectionalLight.shadows_enabled -> shadow_maps_enabled; cursor em componente CursorOptions na janela; AccumulatedMouseMotion para mouse look.
  • Assets na raiz do workspace via AssetPlugin { file_path: "../../assets" }.

Ainda não validado: execução real (cargo run) com a janela aberta, carregamento dos .glb em tela, build no runner debian e clippy. ADR-003 (sem engine de física) segue sem contraindicação.

**Spike — resultado parcial (2026-10-11)** - Workspace `shooter_core` + `survivors` com Bevy 0.20.0 **passa em `cargo check`** no Windows (583 pacotes; primeira verificação leva alguns minutos, as seguintes ~1 s). - Diferenças de API encontradas no 0.20: `SceneRoot` -> `WorldAssetRoot` (crate `bevy_world_serialization`); `DirectionalLight.shadows_enabled` -> `shadow_maps_enabled`; cursor em componente `CursorOptions` na janela; `AccumulatedMouseMotion` para mouse look. - Assets na raiz do workspace via `AssetPlugin { file_path: "../../assets" }`. **Ainda não validado:** execução real (`cargo run`) com a janela aberta, carregamento dos `.glb` em tela, build no runner `debian` e clippy. ADR-003 (sem engine de física) segue sem contraindicação.
Author
Owner

Spike concluído: o jogo roda no Windows (Vulkan, RTX 3050) com Bevy 0.20 — menu, cena FPS, skybox, glTF e UI. Mais diferenças de API: asset_server.load_builder().with_settings(..).load(..) no lugar de load_with_settings; UI sem Interaction (usar observers PointerClick/PointerOver); DespawnOnExit para escopo de estado; Skybox em bevy::light. Pendente apenas o build no runner debian (#3).

arena

Spike concluído: o jogo **roda** no Windows (Vulkan, RTX 3050) com Bevy 0.20 — menu, cena FPS, skybox, glTF e UI. Mais diferenças de API: `asset_server.load_builder().with_settings(..).load(..)` no lugar de `load_with_settings`; UI sem `Interaction` (usar observers `PointerClick`/`PointerOver`); `DespawnOnExit` para escopo de estado; `Skybox` em `bevy::light`. Pendente apenas o build no runner `debian` (#3). ![arena](https://cosmos.simioni.dev.br/caio/survivors/raw/branch/main/docs/screenshots/arena01-fps.png)
caio closed this issue 2026-10-11 22:56:03 -03:00
Sign in to join this conversation.
No description provided.