Synapse OMNIA est un outil de simulation 3D : un monde numérique que l'on observe, modifie et fait évoluer — pas un moteur de jeu, ni une boîte à monter des niveaux. Synapse Studio en est l'atelier pour éditer une scène, lancer la simulation et voir comment formes, lois et agents sentients changent ensemble.
Là où les outils 3D classiques figent des objets et rejouent des règles immuables, Synapse apprend, réécrit et cultive le monde simulé.
Accès anticipé v2.2 (R&D avancée, pas production-ready) — Synapse Studio + runtime local, plugins C#, benchmarks headless, import/export scènes, living laws, captures Studio. EarlyAccess : P2P WAN (NAT + AES-GCM), OpenXR (swapchain Vulkan natif), éditeur web WASM/WebGPU — branchés dans EngineHost et Studio, pas encore validés Supported. Experimental : P2P multi-pairs TCP labo. Cible officielle : Windows x64 + GPU Vulkan ; builds Linux/macOS disponibles. Matrice : docs/MATURITY.md.
Site vitrine : quantumhacker10.github.io/Synapse · Releases : Télécharger v2.2 · Tutoriels : docs/TUTORIALS.md · Maturité : docs/MATURITY.md
Produit v2.10 — production-ready — OpenUSD MeshIO complet (topology DCC, UDIM/MDL/blend shapes), streaming textures, marketplace plugins distant, STUN/TURN, OpenXR — docs/PRODUCTION.md.
Config minimale : docs/REQUIREMENTS.md · Production : docs/PRODUCTION.md · Site : quantumhacker10.github.io/Synapse · Releases : Télécharger · Tutoriels : docs/TUTORIALS.md
- Pourquoi Synapse ?
- Prérequis
- Démarrage rapide — voir aussi GETTING_STARTED.md
- Configuration
- Architecture
- Production
- Pipeline G-DNN + L-DNN
- Synapse Studio
- Captures d'écran
- Publish
- Tests & CI
- Contribuer
- Licence
| Ailleurs (moteurs de jeu : Unity, Unreal, Godot…) | Ici (outil de simulation 3D) |
|---|---|
| Des scènes assemblées à la main pour le jeu | Un monde simulé qui évolue |
| Formes figées, découpées en triangles | Formes apprises, continues, zoomables sans limite |
| Physique gravée une fois pour toutes | Lois réécrivables pendant que la simulation tourne |
| Chaque objet modélisé individuellement | Populations de formes qui mutent et se sélectionnent |
| IA souvent imposée depuis le cloud | Assistance locale ou distante, selon vos contraintes |
| PNJ scriptés, joueur / avatar | Agents sentients qui perçoivent, décident et s'adaptent |
Six idées rares réunies dans un seul outil de simulation, pas comme des plugins séparés.
Voir le détail : docs/REQUIREMENTS.md (matériel milieu de gamme, RID, SIMD).
| Composant | Version / détail |
|---|---|
| .NET SDK | 10.0.300 (voir global.json) |
| GPU | Vulkan 1.1+ (1.2 recommandé) — NVIDIA, AMD, Intel iGPU ; MoltenVK sur macOS |
| CPU | x64/Arm64 — baseline AVX2 / NEON (AVX-512 optionnel) |
| GLFW | 3.3+ (glfw3.dll / libglfw.so.3 / libglfw.3.dylib) |
| LLM (optionnel) | Ollama en local, ou clés API cloud (voir Configuration) |
Plateformes cibles : win-x64, win-arm64, linux-x64, linux-arm64, osx-arm64, osx-x64 — natif GLFW + Vulkan. HWND = embed Studio Windows uniquement.
Guide détaillé avec exemples C# : GETTING_STARTED.md
# Cloner et entrer dans le dépôt
git clone https://github.com/QuantumHacker10/Synapse.git
cd Synapse
dotnet build
dotnet test
# Lancer Synapse Studio (interface Avalonia)
dotnet run --project src/Synapse.Studio
# Mode moteur GLFW seul, sans UI (--glfw est un alias)
dotnet run --project src/Synapse.Studio -- --engine
# Charger une scène d'exemple
dotnet run --project src/Synapse.Studio -- --scene samples/demo.synapse
dotnet run --project src/Synapse.Studio -- --scene samples/lab-heat-agents.synapse
# Benchmark headless reproductible (v2)
dotnet run --project src/Synapse.Studio -- --benchmark samples/benchmarks/default.json --seed 42 --headlessusing Synapse.Infrastructure.Configuration;
using Synapse.Infrastructure.Logging;
using Synapse.Runtime;
var config = SynapseConfig.Load();
await using var host = new EngineHost(config, SynapseLogger.Default);
host.InitializeModules();
host.InitializeRender(1280, 720);
// La loi active par défaut est "heat_equation" (définie dans la scène)
// Boucle principale
while (host.IsRenderInitialized)
{
host.TickPhysics(1.0 / 60.0);
await host.TickSimulationAsync();
host.TickRender();
}{
"name": "Ma scène",
"version": "1.0",
"activeLawId": "heat_equation",
"entities": [{
"id": "11111111-1111-1111-1111-111111111111",
"name": "Sol", "type": "Mesh",
"position": { "x": 0, "y": 0, "z": 0 },
"scale": { "x": 10, "y": 0.2, "z": 10 },
"visible": true
}],
"camera": { "position": { "x": 0, "y": 2, "z": 5 }, "yaw": -90, "pitch": 0, "fov": 60 },
"assets": {}
}Placez glfw3.dll (GLFW 3.4+) à côté de l'exécutable, ou dans
src/Synapse.Studio/native/ avant le publish.
| Source | Paramètres |
|---|---|
src/Synapse.Studio/appsettings.json |
Résolution, qualité, budgets physique/sim, LLM par défaut |
| CLI | --width, --height, --scene, --quality, --validation / --no-validation, --engine / --glfw, --health, --plugin-dir, --plugin-catalog, --plugin-marketplace-url, --wan-code, --wan-join, --wan-rendezvous, --stun-server, --turn-server |
| Variables d'environnement | SYNAPSE_WIDTH, SYNAPSE_HEIGHT, SYNAPSE_SCENE, SYNAPSE_SIMD_MAX |
| LLM (jamais en dur dans le dépôt) | OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, AZURE_OPENAI_API_KEY, OLLAMA_HOST |
Le routeur HybridLlmRouter bascule automatiquement entre ONNX, Ollama, OpenAI, Anthropic, Gemini et Azure selon disponibilité, coût et confidentialité.
Synapse 2.10 est production-ready pour l'outil desktop (OpenUSD MeshIO complet, streaming textures, marketplace plugins distant, WAN+STUN/TURN, OpenXR). Matrice détaillée et checklist release :
→ docs/PRODUCTION.md · docs/REQUIREMENTS.md
dotnet run --project src/Synapse.Studio -- --healthDix projets sous src/, tests sous tests/ (solution Synapse.slnx), scènes sous samples/.
Documentation complémentaire :
- docs/MATURITY.md — ce qui est EarlyAccess vs Experimental (source de vérité)
- docs/ARCHITECTURE.md — diagrammes Mermaid (pipeline, modules, CI)
- docs/API.md — référence des APIs publiques par module
| Projet | Rôle |
|---|---|
Synapse.Core |
Fondations mathématiques / physiques (PhysicsState 256 octets, algèbre, octree, kd-tree, sécurité) |
Synapse.Physics |
LivingLawCompiler ; RigidBodyWorld (joints, vehicles, CCD, mesh colliders) + MultiphysicsOrchestrator ; Maxwell, SPH, LBM… |
Synapse.AI |
NeatGEvolutionEngine — évolution NEAT-G, sélection NSGA-II, fitness SDF + irradiance L-DNN |
Synapse.Genomics |
GeoGenome — génomes de formes (builder, validation, registry, pool) |
Synapse.Rendering |
Vulkan RHI, G-DNN (SDF), L-DNN (GI + SSAO), polygonisation LOD QEM, mesh→SDF, export glTF |
Synapse.LLM |
HybridLlmRouter — ONNX / Ollama / OpenAI / Anthropic / Gemini / Azure + parse lighting/SDF |
Synapse.Simulation |
SentienceManager — agents sentients (≠ PNJ), behavior trees, perception, jumeaux numériques |
Synapse.Infrastructure |
Qualité adaptative, benchmarks, logging et config |
Synapse.Runtime |
EngineHost + FrameOrchestrator + SynapseMeshProvider + projets .synapse |
Synapse.Studio |
Synapse Studio — éditeur Avalonia + mode --engine GLFW |
flowchart LR
Studio[Synapse Studio] --> Runtime[EngineHost]
Runtime --> Physics[Multiphysics + Living Laws]
Runtime --> AI[NEAT-G]
Runtime --> Render[G-DNN + L-DNN Vulkan]
Runtime --> Sim[Sentience]
Studio --> LLM[HybridLlmRouter]
LLM --> Runtime
| Domaine | Capacités |
|---|---|
| G-DNN (géométrie) | SDF neuronaux, broad-phase BVH (AABBTree) pour le ray marching, polygonisation LOD adaptative, cache disque des chaînes polygonisées, pipeline mesh→SDF (MeshToSdfPipeline), export glTF/GLB |
| L-DNN (éclairage) | GI hybride (SSGI + cascades + MLP), teacher path tracing online, ombres neuronales, reflets/réfractions neuronaux, brouillard froxel + nuages procéduraux, profils Tiny/Small/Full, cache GI scènes statiques |
| Intégration | G-Buffer étendu (velocity + material ID), shadow pass dans la frame, RT hybride branché, styles post (Cartoon / Grayscale / Noir) |
| Studio / LLM | Console LLM → parse JSON lighting/SDF → lumières L-DNN, fog/nuages, entités scène (ApplyLlmSceneHints) |
Atelier pour explorer et piloter la simulation :
- Vue 3D temps réel — viewport Vulkan embarqué (Windows HWND) avec grille, gizmos et outils d'édition (sélection, déplacement, rotation)
- Projets
.synapse— ouvrir, sauver et organiser vos scènes - Lois physiques — réécrire les règles du monde sans arrêter la simulation
- Évolution — faire muter des populations de formes, lancer des agents sentients, play/pause (Espace)
- Console créative — décrire une scène en langage naturel et voir le monde réagir
- Outils d'édition — blueprints graphiques, sculpt, import d'assets Megascans
- Tableau de bord — cadence (IPS), charge physique/sim, qualité adaptative et GI L-DNN
Les agents sentients ne sont pas des PNJ de jeu : ils perçoivent, mémorisent et décident dans le rythme de la simulation.
| Vue | Description |
|---|---|
| Studio — vue principale | Hiérarchie, viewport, inspecteur, console LLM |
| Rendu G-DNN + L-DNN | SDF neural, GI hybride, SSAO, brouillard |
| Studio — capture live | Rendu Avalonia headless (--screenshot) |
Voir docs/screenshots/README.md pour capturer vos propres PNG (--screenshot ou script Python).
# Une RID
dotnet publish src/Synapse.Studio/Synapse.Studio.csproj -c Release -r linux-x64 --self-contained true -o artifacts/Synapse-linux-x64
# Toutes les RID natives (win/linux/osx × x64/arm64)
bash scripts/publish-all.shVoir docs/REQUIREMENTS.md. Les tags v* déclenchent .github/workflows/release.yml (6 artefacts).
dotnet testSuite xUnit + FluentAssertions sous tests/Synapse.Tests : Core, Physics, AI, Genomics, Rendering/G-DNN, L-DNN, LLM, Simulation, Runtime.
| Workflow | Rôle |
|---|---|
build.yml |
Linux + macOS tests, Coverlet + Codecov, publish win/linux |
analysis.yml |
Analyseurs Roslyn + dotnet format --verify-no-changes |
codeql.yml |
Analyse de sécurité CodeQL (C#) |
release.yml |
Matrix 6 RID (win/linux/osx × x64/arm64) sur tag v* |
pages.yml |
Déploiement du site vitrine sur GitHub Pages |
Couverture de code : coverlet.runsettings + upload Codecov. Audit dépendances : scripts/verify-licenses.sh.
Voir CONTRIBUTING.md pour le flux Git complet et COMMUNITY.md pour les canaux de communication.
-
ROADMAP.md — vision et priorités publiques
-
docs/MATURITY.md — tiers Supported / EarlyAccess / Experimental
-
CODE_OF_CONDUCT.md — code de conduite
-
SECURITY.md — signalement de vulnérabilités
-
Branches
feat/*→develop→main(PR obligatoires surmain) -
CHANGELOG.md pour l'historique des versions
-
Tags
v*(ex.v1.2.0) pour les releases — voir releases -
Publish local multi-RID :
bash scripts/publish-all.sh
En bref :
- Forker, créer une branche depuis
develop(feat/ma-fonctionnalite) dotnet build && dotnet test— la CI doit passer- Mettre à jour le CHANGELOG si le changement est visible
- Ouvrir une pull request vers
develop
Les issues et discussions GitHub sont ouvertes pour bugs, idées et questions d'architecture.
Mainteneurs : activer Issues et Discussions dans Settings → General → Features si ce n'est pas déjà fait.
Page vitrine dans site/ — présentation de l'outil de simulation 3D, en langage clair,
avec lien de téléchargement Releases.
Déployée automatiquement sur GitHub Pages à chaque push touchant site/**.
Licence MIT — open source. Vous pouvez utiliser, modifier, distribuer et créer des simulations dérivées du code source, y compris à des fins commerciales, sous réserve de conserver l'avis de copyright et la licence.
| Fichier | Contenu |
|---|---|
LICENSE |
Texte MIT |
COPYRIGHT |
Copyright et marques |
NOTICE |
Avis standard (crédits) |
LICENSE_HISTORY.md |
Historique des changements de licence |
THIRD_PARTY_NOTICES.md |
Licences des dépendances |
