glgrid
Référence · omnisim contre OpenSim

Ce qui est couvert, ce qui manque encore

omnisim est le serveur de grille réécrit sous glgrid. Cette page montre, poste par poste, ce qu’il couvre aujourd’hui de l’original OpenSim et ce qui reste ouvert. Elle est générée à partir des données de mesure et n’est pas entretenue à la main.

Chargement des données de mesure …
Automatiquement depuis les registres

Récemment prouvé

Par jour, les fonctions dont le comportement a été nouvellement prouvé face à l'original. La liste est produite à chaque mesure à partir de l'historique des deux registres, toutes les dix minutes.

La mesure vivante

Comportement par fonction, mesuré contre l’original

Depuis le 15 octobre 2026, chaque fonction de l’original est soumise une à une à une épreuve jumelée contre omnisim ; depuis le 1er novembre, le contrôle des droits de chaque fonction d’extension s’y ajoute. La courbe montre le compteur par jour, tiré des registres de l’atelier.

Par domaine

Comportement par fonction : où se fait le travail

Ce qui se passe maintenant

Atelier : le travail après le plafond

Le plafond est atteint. Depuis, la réserve hors plafond est traitée tranche par tranche, en partie dans une session cloud séparée. Une livraison n'est reprise que si une contre-épreuve indépendante montre un écart avant et l'égalité avec l'original après.

    Plus : bac à sable de scripts, code source, méthode, acquis, glossaire
    Scripts sous contrôle

    Bac à sable des scripts : dix postes, contre une liste cible

    Ce qu’un script peut faire au plus dans omnisim : temps, mémoire, pile, file d’attente, console. La liste cible a été construite le 2 novembre 2026 ; chaque poste porte son statut tiré du document cible de l’atelier. Ce qui est plus strict que l’original figure sous « Volontairement différent ».

    Ce qui se trouve sur la forge

    Le code source : glgrid/omnisim

    Le serveur est publié comme export organisé sur la forge de glgrid. Chaque export est une coupe nettoyée de l’atelier : sans l’ancien historique, adresses et noms internes remplacés, et derrière une porte stricte qui interrompt l’export à la moindre trouvaille. Les chiffres de cette section sont lus par la page directement dans le dépôt, fichier par fichier ; ce ne sont pas des estimations.

    Domaines

    Outils de vérification et exports
    Vérifier soi-même · volontairement différent de l’original

    Vérifier soi-même

    1. Construire. Dans le dossier crates/omnisim-server avec cargo build ; Rust stable suffit.
    2. Tester. cargo test exécute les fonctions de test ci-dessus ; les tests de bibliothèque lisent le dossier d’inventaire de l’original.
    3. Placer l’original à côté. compat/cloud_setup.sh prépare une machine neuve, construit OpenSim à l’état de référence avec les correctifs oracle et construit omnisim.
    4. Lancer les épreuves jumelées. La même action contre les deux serveurs, réponses comparées. Le dépôt contient une sélection des épreuves ; l’ensemble complet suivra.

    Volontairement différent de l’original

    • L’administration à distance (RemoteAdmin) est éteinte tant qu’aucun mot de passe n’est défini. Il n’y a pas de mot de passe par défaut intégré.
    • Un compte par défaut n’est créé que si l’opérateur le configure explicitement.
    • Les groupes Hypergrid peuvent être attribués d’une grille à l’autre ; l’original n’a pas de chemin pour cela.
    • Physique propre au lieu d'ubODE : le mouvement des avatars et des objets est proche de l'original, mais pas identique.
    • Depuis le 2 novembre 2026, l'exécution des scripts est plus stricte que l'original : chaque événement reçoit un budget de temps et s'exécute par tranches de temps ; pile, mémoire et file d'événements sont plafonnées par script. Un script qui dépasse son budget est arrêté et son propriétaire est averti ; l'original ne connaît pas un tel budget.
    • Les textes d'erreur des appels OSSL refusés peuvent, par commutateur, n'être remis qu'au propriétaire. Propriétaire de parcelle et groupe de parcelle peuvent être activés comme rôles, comme dans la configuration de l'original ; les délais et la limite de 10 mètres des fonctions de script sont ajustables.
    • La console montre par script les exécutions, le temps de calcul et les dépassements de budget, et peut arrêter et reprendre des scripts individuels. L'exécution des scripts n'a pas d'interface système (WASI) ; un script n'atteint que les fonctions de script. La console du serveur n'est jamais accessible depuis un script.
    • Les images pour textures dynamiques venant du réseau sont récupérées en arrière-plan et plafonnées en taille (8 Mio par défaut) ; l'original charge l'image sans limite de taille et ne la réduit qu'ensuite à 1024×1024 pixels au plus. Le filtre d'adresses pour les requêtes sortantes s'applique comme dans l'original.

    Source : README du dépôt. Licence MIT, mentions de code tiers dans NOTICE. omnisim n’est pas un projet des développeurs d’OpenSimulator.

    Comment on mesure

    Trois questions, trois réponses différentes

    1. Chaque poste est-il présent ?

    Chaque message, chaque champ, chaque fonction de script et chaque interface de l’original est un poste. Un poste compte comme couvert quand omnisim le lit, l’envoie ou le fournit. Cela ne dit pas encore qu’il se comporte pareil. La première tuile ci-dessus répond à cette question.

    2. Se comporte-t-il pareil ?

    Pour cela il y a les épreuves jumelées : la même action sur l’original et sur omnisim, réponse contre réponse. Aujourd’hui des axes de comportement isolés sont prouvés ainsi (ci-dessous). Depuis le 15 octobre, un compteur par fonction tourne en plus (preuve par fonction, ci-dessous). Depuis le 1er novembre s'y ajoute, pour les fonctions d'extension, le contrôle des droits : un appel sans autorisation ou sans rôle est-il refusé de la même façon des deux côtés (contrôle des droits par fonction, ci-dessous). Ce n’est que lorsqu’il couvre chaque fonction qu’un comportement identique est démontré pour chaque fonction.

    3. Est-ce que ça marche au quotidien ?

    C’est l’usage qui en décide : ceux qui habitent, construisent et voyagent ici trouvent ce qu’aucun comptage ne voit. Ce jugement revient aux habitants, pas à la mesure.

    Terminé, avec date

    Acquis : parité et stock hors plafond

    La première question, chaque poste de l’original est-il présent, a sa réponse depuis le 23 octobre 2026 ; le stock hors plafond est réglé à quelques postes près. Ces chiffres restent vérifiables ici, mais ils ne bougent plus.

    Afficher les axes, l’évolution de la couverture et les axes des épreuves jumelées

    Depuis juin 2026

    Évolution de la couverture

    Chaque jour, la dernière mesure : la cible de tous les axes et les postes couverts ; dès le 8 octobre aussi les postes construits hors plafond (état de la liste en fin de journée). La cible grandit quand de nouveaux axes sont ajoutés ou énumérés plus finement.

    Poste par poste

    Les axes de la mesure

    Chaque ligne est un axe de l’original. Cliquer une ligne ouvre la liste de ses postes avec leur état. Ou chercher directement un nom.

    Axe Cible Couvert Hors plafond Part

    Deuxième question

    Comportement, vérifié contre l’original

    Termes

    Glossaire

    Poste
    Une unité nommée de l’original : un champ, un message, une fonction, une constante, une méthode d’interface.
    Cible
    Tous les postes d’un axe, générés depuis le code source de l’original, pas écrits à la main.
    Couvert
    omnisim lit, envoie ou fournit le poste. Présent ne veut pas encore dire identique en comportement.
    Plafond
    Les postes qu’omnisim peut réellement atteindre. Ce qui est en dehors est soit interne à l’original, soit résolu autrement à dessein, soit sans équivalent dans l’original lui-même. Chacun de ces postes est suivi individuellement et reçoit un état.
    Hors plafond
    construit derrière un interrupteur, éteint par défaut pour garder le comportement de l’original · à construire décidé, pas encore réalisé · non vérifié pas encore évalué · écarté non construit, avec motif.
    Épreuve jumelée
    La même action sur l’original et sur omnisim, les réponses sont comparées. C’est la seule preuve d’un comportement identique.
    Référence
    Un état figé du code source d’OpenSim contre lequel on mesure. L’écart avec l’original actuel est suivi.
    Forge
    L’endroit où se trouve le code source (glgrid/omnisim). Privé, accès pour les opérateurs invités.
    Export
    Une coupe nettoyée de l’atelier qui part sur la forge. L’atelier peut avoir quelques commits d’avance.
    Correctif oracle
    Une petite correction de l’original, déclarée ouvertement, sans laquelle une épreuve jumelée n’y fonctionnerait pas.
    Contrôle des droits
    Dans l'original, chaque fonction d'extension (os*) a un niveau de risque et une autorisation par fonction. Le contrôle n'est prouvé que lorsque trois chemins concordent avec l'original : autorisé, refusé (sans autorisation) et rôles (propriétaire, gestionnaire de domaine, parcelle).
    Budget de temps
    Le temps de calcul qu'un script reçoit par événement. S'il le dépasse, le script est arrêté et le propriétaire averti. Une règle d'omnisim ; l'original ne la connaît pas.