0.1.0-0-pre.1

This commit is contained in:
2026-09-15 23:26:37 +02:00
commit 8b4c79c431
57 changed files with 2314 additions and 0 deletions

19
Android/README.md Normal file
View File

@@ -0,0 +1,19 @@
<!-- file: Android/README.md -->
<!-- version: 1 -->
# Android
Squelette du frontend Android multi-module.
La baseline définit les frontières Java et les modules, mais ne fige pas encore Android Gradle Plugin, SDK/NDK, SDL3 AAR ni le pipeline Cargo/NDK. Ces éléments seront ajoutés ensemble dans la prerelease Android exécutable afin d'éviter une fausse configuration partiellement fonctionnelle.
Structure cible :
```text
Android/
├── common/
├── game-reflex-poc/
└── game-snake-poc/
```
`common` deviendra une Android Library. Chaque module jeu deviendra une application indépendante et réutilisera directement les crates Rust du workspace racine sans les recopier.

4
Android/build.gradle Normal file
View File

@@ -0,0 +1,4 @@
// file: Android/build.gradle
// version: 1
// Android Gradle Plugin and repositories are intentionally introduced in the dedicated executable Android prerelease.

View File

@@ -0,0 +1,4 @@
// file: Android/common/build.gradle
// version: 1
// This module will become the reusable Android library containing SDLActivity integration and common platform services.

View File

@@ -0,0 +1,19 @@
// file: Android/common/src/main/java/com/sasedev/games/common/NativeBridge.java
// version: 1
package com.sasedev.games.common;
/** Stable Java side of the future Java/JNI platform bridge. */
public final class NativeBridge {
private NativeBridge() {
}
/**
* Returns the bridge contract version.
*
* @return bridge contract version
*/
public static int contractVersion() {
return 1;
}
}

View File

@@ -0,0 +1,18 @@
// file: Android/common/src/main/java/com/sasedev/games/common/SaseGameActivity.java
// version: 1
package com.sasedev.games.common;
/**
* Common Android activity boundary for games.sasedev applications.
*
* <p>The executable Android delta will make this class extend SDLActivity once the SDL3 AAR is introduced.</p>
*/
public abstract class SaseGameActivity {
/**
* Returns the stable identifier of the game hosted by the activity.
*
* @return game identifier
*/
public abstract String gameId();
}

View File

@@ -0,0 +1,4 @@
// file: Android/game-reflex-poc/build.gradle
// version: 1
// This module will become the Reflex POC Android application.

View File

@@ -0,0 +1,15 @@
// file: Android/game-reflex-poc/src/main/java/com/sasedev/games/reflex/ReflexActivity.java
// version: 1
package com.sasedev.games.reflex;
import com.sasedev.games.common.SaseGameActivity;
/** Android-specific host declaration for the Reflex POC. */
public final class ReflexActivity extends SaseGameActivity {
/** {@inheritDoc} */
@Override
public String gameId() {
return "game-reflex-poc";
}
}

View File

@@ -0,0 +1,5 @@
<!-- file: Android/game-reflex-poc/src/main/res/values/strings.xml -->
<!-- version: 1 -->
<resources>
<string name="app_name">Reflex POC</string>
</resources>

View File

@@ -0,0 +1,4 @@
// file: Android/game-snake-poc/build.gradle
// version: 1
// This module will become the Snake POC Android application.

View File

@@ -0,0 +1,15 @@
// file: Android/game-snake-poc/src/main/java/com/sasedev/games/snake/SnakeActivity.java
// version: 1
package com.sasedev.games.snake;
import com.sasedev.games.common.SaseGameActivity;
/** Android-specific host declaration for the Snake POC. */
public final class SnakeActivity extends SaseGameActivity {
/** {@inheritDoc} */
@Override
public String gameId() {
return "game-snake-poc";
}
}

View File

@@ -0,0 +1,5 @@
<!-- file: Android/game-snake-poc/src/main/res/values/strings.xml -->
<!-- version: 1 -->
<resources>
<string name="app_name">Snake POC</string>
</resources>

8
Android/settings.gradle Normal file
View File

@@ -0,0 +1,8 @@
// file: Android/settings.gradle
// version: 1
rootProject.name = "games-sasedev-android"
include(":common")
include(":game-reflex-poc")
include(":game-snake-poc")