0.1.0-1-alpha.2-fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-reflex-poc/build.gradle
|
||||
// version: 11
|
||||
// version: 12
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 1
|
||||
versionName '0.1.0-1-alpha.2'
|
||||
versionName '0.1.0-1-alpha.2.fix.1'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-snake-poc/build.gradle
|
||||
// version: 11
|
||||
// version: 12
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 1
|
||||
versionName '0.1.0-1-alpha.2'
|
||||
versionName '0.1.0-1-alpha.2.fix.1'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: Cargo.toml
|
||||
# version: 28
|
||||
# version: 29
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
@@ -18,7 +18,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0-1-alpha.2"
|
||||
version = "0.1.0-1-alpha.2.fix.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/games"
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// file: crates/apps/game-reflex-poc-tauri/build.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Tauri build script skipped for the WebAssembly library target.
|
||||
|
||||
fn main() {
|
||||
let target_arch = std::env::var("CARGO_CFG_TARGET_ARCH");
|
||||
|
||||
BIN
crates/apps/game-reflex-poc-tauri/icons/icon.png
Normal file
BIN
crates/apps/game-reflex-poc-tauri/icons/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 242 B |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://schema.tauri.app/config/2",
|
||||
"productName": "Reflex POC Tauri",
|
||||
"version": "0.1.0-1-alpha.2",
|
||||
"version": "0.1.0-1-alpha.2.fix.1",
|
||||
"identifier": "com.sasedev.games.reflex.tauri",
|
||||
"build": {
|
||||
"frontendDist": "../../../Tauri/game-reflex-poc/frontend"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: crates/games/game-reflex-poc/Cargo.toml
|
||||
# version: 2
|
||||
# version: 3
|
||||
|
||||
[package]
|
||||
name = "game-reflex-poc"
|
||||
@@ -13,7 +13,6 @@ publish.workspace = true
|
||||
[dependencies]
|
||||
engine-v1-common = { path = "../../engines/engine-v1-common" }
|
||||
engine-v1-platform-api = { path = "../../engines/engine-v1-platform-api" }
|
||||
engine-v1-sdl = { path = "../../engines/engine-v1-sdl" }
|
||||
|
||||
[dev-dependencies]
|
||||
game-logging-lib = { path = "../../common/game-logging-lib" }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: crates/games/game-snake-poc/Cargo.toml
|
||||
# version: 2
|
||||
# version: 3
|
||||
|
||||
[package]
|
||||
name = "game-snake-poc"
|
||||
@@ -13,7 +13,6 @@ publish.workspace = true
|
||||
[dependencies]
|
||||
engine-v1-common = { path = "../../engines/engine-v1-common" }
|
||||
engine-v1-platform-api = { path = "../../engines/engine-v1-platform-api" }
|
||||
engine-v1-sdl = { path = "../../engines/engine-v1-sdl" }
|
||||
|
||||
[dev-dependencies]
|
||||
game-logging-lib = { path = "../../common/game-logging-lib" }
|
||||
|
||||
114
deltas/0.1.0/1-alpha.2.fix.1.md
Normal file
114
deltas/0.1.0/1-alpha.2.fix.1.md
Normal file
@@ -0,0 +1,114 @@
|
||||
<!-- file: deltas/0.1.0/1-alpha.2.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.0-1-alpha.2.fix.1
|
||||
|
||||
## Base
|
||||
|
||||
Base déclarée : `0.1.0-1-alpha.2`, non validée.
|
||||
|
||||
## Échecs observés
|
||||
|
||||
### Build script Tauri
|
||||
|
||||
Clippy strict remonte :
|
||||
|
||||
```text
|
||||
missing documentation for the crate
|
||||
```
|
||||
|
||||
sur `build.rs`.
|
||||
|
||||
Le build script reçoit une documentation de crate.
|
||||
|
||||
### Contexte Tauri
|
||||
|
||||
`tauri::generate_context!()` échoue car :
|
||||
|
||||
```text
|
||||
icons/icon.png
|
||||
```
|
||||
|
||||
est absent.
|
||||
|
||||
Une icône PNG minimale de développement est ajoutée.
|
||||
|
||||
### Build WebAssembly
|
||||
|
||||
Le build `wasm32-unknown-unknown` tirait `sdl3` via une dépendance inutile de la crate de gameplay.
|
||||
|
||||
`game-reflex-poc` n'utilise aucun symbole SDL3 ; `game-snake-poc` non plus.
|
||||
|
||||
Les dépendances directes suivantes sont donc retirées des deux crates jeu :
|
||||
|
||||
```text
|
||||
engine-v1-sdl
|
||||
```
|
||||
|
||||
La frontière redevient :
|
||||
|
||||
```text
|
||||
gameplay -> engine-v1-common / engine-v1-platform-api
|
||||
runner Desktop -> engine-v1-sdl
|
||||
runner WASM/Tauri -> wasm-bindgen / Canvas
|
||||
```
|
||||
|
||||
Le gameplay ne dépend plus d'un backend de rendu/input particulier.
|
||||
|
||||
## Validation
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo fmt --all -- --check
|
||||
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Tauri Android deltas history
|
||||
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
|
||||
cargo test -p engine-v1-platform-api --all-targets --all-features
|
||||
cargo test -p game-reflex-poc --all-targets --all-features
|
||||
cargo test -p game-snake-poc --all-targets --all-features
|
||||
```
|
||||
|
||||
## Gate WASM
|
||||
|
||||
Le target et `wasm-bindgen-cli` sont déjà installés sur la machine de validation.
|
||||
|
||||
Relancer :
|
||||
|
||||
```bash
|
||||
python3 scripts/build_reflex_tauri_wasm.py
|
||||
```
|
||||
|
||||
Attendu :
|
||||
|
||||
```bash
|
||||
test -f Tauri/game-reflex-poc/frontend/game_reflex_poc_tauri.js
|
||||
test -f Tauri/game-reflex-poc/frontend/game_reflex_poc_tauri_bg.wasm
|
||||
```
|
||||
|
||||
## Smoke Tauri
|
||||
|
||||
Une fois le CLI Tauri et les dépendances système disponibles :
|
||||
|
||||
```bash
|
||||
cd crates/apps/game-reflex-poc-tauri
|
||||
cargo tauri dev
|
||||
```
|
||||
|
||||
Critères inchangés :
|
||||
|
||||
- fenêtre locale 405 × 720 ;
|
||||
- cible Reflex visible ;
|
||||
- clic sur la cible comptabilisé ;
|
||||
- déplacement de cible ;
|
||||
- score visible ;
|
||||
- aucun site distant requis.
|
||||
|
||||
## Transition
|
||||
|
||||
Si les gates passent, `0.1.0-1-alpha.2.fix.1` valide le POC WASM + Tauri.
|
||||
|
||||
En cas d'échec imputable au projet, produire `0.1.0-1-alpha.2.fix.2`.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/development/008-WASM_TAURI_POC.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# POC WebAssembly embarqué dans Tauri
|
||||
|
||||
@@ -95,3 +95,19 @@ Critères :
|
||||
Ce POC ne choisit aucune régie publicitaire.
|
||||
|
||||
Il valide seulement qu'une variante Tauri possède une WebView capable d'héberger une frontière Web distincte. Ads, rewarded ads, revive, analytics et autres services resteront derrière `engine-v1-platform-api` et feront l'objet de tranches dédiées.
|
||||
|
||||
## Frontière de dépendances WASM
|
||||
|
||||
Les crates de gameplay `game-reflex-poc` et `game-snake-poc` ne dépendent pas de `engine-v1-sdl`.
|
||||
|
||||
Le backend SDL3 appartient aux runners natifs. Cette séparation est obligatoire pour que le graphe `wasm32-unknown-unknown` ne tire pas SDL3 ni ses dépendances natives.
|
||||
|
||||
## Icône de développement
|
||||
|
||||
Tauri attend une icône PNG lors de la génération du contexte natif. Le POC contient donc :
|
||||
|
||||
```text
|
||||
crates/apps/game-reflex-poc-tauri/icons/icon.png
|
||||
```
|
||||
|
||||
Il s'agit d'une icône minimale de développement ; l'identité graphique définitive viendra plus tard.
|
||||
|
||||
Reference in New Issue
Block a user