Skip to content

QuantumHacker10/Synapse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SYNAPSE OMNIA — Outil de simulation 3D · v2.10

Build Analysis CodeQL codecov License: MIT .NET Tests Tests

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

Sommaire

Pourquoi Synapse ?

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.

Prérequis

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.

Démarrage rapide

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 --headless

Exemple : intégrer le runtime en C#

using 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();
}

Exemple : créer une scène .synapse

{
  "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": {}
}

glfw3.dll

Placez glfw3.dll (GLFW 3.4+) à côté de l'exécutable, ou dans src/Synapse.Studio/native/ avant le publish.

Configuration

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é.

Production

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 -- --health

Architecture

Dix projets sous src/, tests sous tests/ (solution Synapse.slnx), scènes sous samples/.

Documentation complémentaire :

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
Loading

Pipeline G-DNN + L-DNN

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)

Synapse Studio

Atelier pour explorer et piloter la simulation :

Vue principale de Synapse Studio

  • 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.

Captures d'écran

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).

Publish (multi-plateforme)

# 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.sh

Voir docs/REQUIREMENTS.md. Les tags v* déclenchent .github/workflows/release.yml (6 artefacts).

Tests & CI

dotnet test

Suite 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.

Contribuer

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/*developmain (PR obligatoires sur main)

  • 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 :

  1. Forker, créer une branche depuis develop (feat/ma-fonctionnalite)
  2. dotnet build && dotnet test — la CI doit passer
  3. Mettre à jour le CHANGELOG si le changement est visible
  4. 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.

Site

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

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

About

SYNAPSE OMNIA 1.1 — Synapse Studio : moteur C# 14 / .NET 10. SDF neuronaux (G-DNN), GI L-DNN, 100 lois vivantes hot-reload, NEAT-G, routeur LLM local+cloud, agents sentients, rendu Vulkan.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages