« Réunion du 02-04-2024 » : différence entre les versions
Aller à la navigation
Aller à la recherche
(31 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
= Changements du code de la semaine= | = Changements du code de la semaine= | ||
=== Recherche par nom de région | === Recherche par nom de région depuis la carte === | ||
* Interdiction de caractères dans la recherche par nom de région de la carte.[http://opensimulator.org/viewgit/?a=commit&p=opensim&h=723a528b582f1ce622f15312c386990ae95913d7]. C'était un vecteur de spam. | * Interdiction de caractères dans la recherche par nom de région de la carte.[http://opensimulator.org/viewgit/?a=commit&p=opensim&h=723a528b582f1ce622f15312c386990ae95913d7]. C'était un vecteur de spam. | ||
* Les URL fonctionnent toujours dans la recherche de la carte. | * Les URL fonctionnent toujours dans la recherche de la carte. | ||
* Caractères interdits : <pre>. , : ; \ / </pre> | * Caractères interdits (donc pour les noms de région pas pour les URL bien entendu) : <pre>. , : ; \ / </pre> | ||
* Les espaces sont toujours autorisés. | * Les espaces sont toujours autorisés. | ||
* Remplacement : 1 remplace 11 et \ remplace \\ | * Remplacement : 1 remplace 11 et \ remplace \\ (Ndrl : je n'ai pas compris) | ||
* Exemple : on ne pourra pas trouver maregion.nord | * Exemple : on ne pourra pas trouver maregion.nord | ||
* Dans l'absolu, les noms de régions devraient contenir uniquement des lettres de a à z [A-z], des chiffres [0-9], l'underscore _ ou des espaces. | * Dans l'absolu, les noms de régions devraient contenir uniquement des lettres de a à z [A-z], des chiffres [0-9], l'underscore _ ou des espaces. | ||
* À faire : | * À faire : avertir l'utilisateur que le nom de la région n'est pas valide à la place de lui dire que l'URL n'est pas trouvé. | ||
=== Deux | === Deux fonctions LSL ajoutées === | ||
* [[Réunion_du_02-04-2024#Deux_fonction_LSL_ajoutées_2 |Chapitre Scripts]] | * [[Réunion_du_02-04-2024#Deux_fonction_LSL_ajoutées_2 |Chapitre Scripts]] | ||
=== | ===Erreur de tri avec osGetInventoryNames === | ||
* [[Réunion_du_02-04-2024# | * [[Réunion_du_02-04-2024#Erreur_de_tri_avec_osGetInventoryNames|Chapitre Scripts]] | ||
===Stockage des objets liés=== | ===Stockage des objets liés=== | ||
* Stockage de linksetdata (objets liés) dans la base de données et les OAR. [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=573af89389ce0539b98f0ea44c0e3bc303760a19][http://opensimulator.org/viewgit/?a=commit&p=opensim&h=ed0044564d114ac98ba882d69737da74e72198b1] | * Stockage de linksetdata (objets liés) dans la base de données et les OAR. [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=573af89389ce0539b98f0ea44c0e3bc303760a19][http://opensimulator.org/viewgit/?a=commit&p=opensim&h=ed0044564d114ac98ba882d69737da74e72198b1] | ||
* Dans la base de données ils sont stockés sous forme binaire (Blob) et dans le XML ils sont | * Dans la base de données ils sont stockés sous forme binaire (Blob) et dans le XML ils sont encodés en base64. | ||
===Suppression de la copie par défaut de system.drawing === | ===Suppression de la copie par défaut de system.drawing === | ||
* c'était la même copie que celle de Windows | * c'était la même copie que celle de Windows | ||
Ligne 25 : | Ligne 26 : | ||
= Avertissement = | = Avertissement = | ||
{{Avertissement_résumé|fond=pink |bord=red |message = Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux [http://opensimulator.org/wiki/Office_hours réunions du mardi] ou sur [http://opensimulator.org/wiki/IRC le canal IRC]. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉}} | {{Avertissement_résumé|fond=pink |bord=red |message = Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux [http://opensimulator.org/wiki/Office_hours réunions du mardi] ou sur [http://opensimulator.org/wiki/IRC le canal IRC]. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉}} | ||
= Scripts= | = Scripts= | ||
=== Deux fonction LSL ajoutées === | === Deux fonction LSL ajoutées === | ||
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=e918888e30a44b28ca327b905ba02018cd872a16 Commit] | * [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=e918888e30a44b28ca327b905ba02018cd872a16 Commit] | ||
* [https://wiki.secondlife.com/wiki/LlGetCameraFOV llGetCameraFOV()] : Renvoie le float correspondant au champ de vision (FOV) de la caméra, en radians. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions. | * [https://wiki.secondlife.com/wiki/LlGetCameraFOV llGetCameraFOV()] : Renvoie le float correspondant au champ de vision (FOV) de la caméra, en radians. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions. | ||
* [https://wiki.secondlife.com/wiki/LlGetCameraAspect llGetCameraAspect()] : Renvoie le float correspondant | * [https://wiki.secondlife.com/wiki/LlGetCameraAspect llGetCameraAspect()] : Renvoie le float correspondant au rapport d'aspect (largeur/hauteur) de la caméra. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions. | ||
=== | ===Erreur de tri avec osGetInventoryNames === | ||
* Correction des erreurs de conversion des chaînes de caractères LSL lors du tri des listes LSL | * Correction des erreurs de conversion des chaînes de caractères LSL lors du tri des listes LSL | ||
* [http://opensimulator.org/mantis/view.php?id=9121 Mantis :erreur de tri avec osGetInventoryNames ] | * [http://opensimulator.org/mantis/view.php?id=9121 Mantis :erreur de tri avec osGetInventoryNames ] | ||
Ligne 43 : | Ligne 43 : | ||
* '''PostgreSQL''' : ne sera probablement pas soutenu. Vincent Sylvester va se pencher sur la migration de PostgreSQL vers MySQL. | * '''PostgreSQL''' : ne sera probablement pas soutenu. Vincent Sylvester va se pencher sur la migration de PostgreSQL vers MySQL. | ||
===Bilan du fonctionnement des SGBD dans OpenSim | ===Bilan du fonctionnement des SGBD dans OpenSim=== | ||
* '''MySQL / MariaDB''': Problème de dépôts pour MariaDB mais cela n'a rien à voir avec le fonctionnement. Aucun problème de fonctionnement avec MariaDB. | * '''MySQL / MariaDB''': Problème de dépôts pour MariaDB mais cela n'a rien à voir avec le fonctionnement. Aucun problème de fonctionnement avec MariaDB. | ||
* '''SqLite''' : Sqlite est utilisé pour certaines choses en interne par OpenSim et ce système de gestion de base de données est intéressant pour les régions simples. SqLite est léger, donc certaines choses ne sont pas tout à fait égales à MySQL. De même, la gestion des collations (mode de classement de données) [https://fr.wikipedia.org/wiki/Collation] et des jeux de caractères est légèrement différente, ce qui peut causer des problèmes. C'est bien pour les tests, mais il ne faut pas l'utiliser dans les environnements de production. SqLite peut être très lent en fonction du système de fichiers et du type de requêtes car il n'y a pas de véritables caches comme mysql peut en fournir. De plus, le code d'OpenSim pour SqLite semble assez mauvais. | * '''SqLite''' : Sqlite est utilisé pour certaines choses en interne par OpenSim et ce système de gestion de base de données est intéressant pour les régions simples. SqLite est léger, donc certaines choses ne sont pas tout à fait égales à MySQL. De même, la gestion des collations (mode de classement de données) [https://fr.wikipedia.org/wiki/Collation] et des jeux de caractères est légèrement différente, ce qui peut causer des problèmes. C'est bien pour les tests, mais il ne faut pas l'utiliser dans les environnements de production. SqLite peut être très lent en fonction du système de fichiers et du type de requêtes car il n'y a pas de véritables caches comme mysql peut en fournir. De plus, le code d'OpenSim pour SqLite semble assez mauvais. | ||
* '''PostgreSQL''' : OpenSim n'a personne pour le maintenir ou le réparer. Vincent Sylvester est pour un abandon total de cette option, étant donné que MySQL et MariaDB vont diverger à l'avenir, ce qui pourrait signifier leur séparation et l'ajout d'un projet de données supplémentaire à maintenir. Mais, il semble que beaucoup | * '''PostgreSQL''' : OpenSim n'a personne pour le maintenir ou le réparer. Vincent Sylvester est pour un abandon total de cette option, étant donné que MySQL et MariaDB vont diverger à l'avenir, ce qui pourrait signifier leur séparation et l'ajout d'un projet de données supplémentaire à maintenir. Mais, il semble que beaucoup utilisent encore PostgreSQL. | ||
= Viewers= | = Viewers= | ||
=== Passage de | === Passage de frontière avec trois régions === | ||
* '''Problème''' : parfois certaines parties du véhicule sont manquantes dans la région d'arrivée pour un coin avec 3 régions. C'est le deuxième croisement qui démarre alors que le premier est incomplet qui pose problème. Il est impossible d'utiliser l'arbre des ID locaux d'un objet lié puisque les ID locaux changent d'une région à l'autre. | |||
* '''Fonctionnement normal pour le viewer Sharpview''': le simulateur (OpenSim) indique tous les objets à l'entrée d'une nouvelle région. (Firestorm ne semble pas dépendre complètement du simulateur.) Habituellement, ObjectUpdate est trouvé pour toutes les primitives après une traversée. | |||
* '''Réflexion de Joe Magarac''' : Si cela ne peut pas fonctionner, ne laissez pas la traversée #2 commencer tant que la traversée #1 n'est pas terminée. | |||
* '''Question''' : Le simulateur sait-il quand la traversée en cours est terminée et que tout est arrivé ? | |||
* '''Réponse''' : Oui et non. Il sait quand les choses ont échoué et que le dernier appel pour fermer ou convertir l'agent n'a pas eu lieu, mais il n'a aucune idée si le processus d'envoi de toutes les données est terminé ou non. Il se contente d'envoyer les données, et c'est ainsi qu'il a été conçu. Ces choses doivent être asynchrones pour être plus rapides et elles ne peuvent pas toutes attendre une réponse d'achèvement avant d'exécuter d'autres tâches, ce qui rendrait les croisements dix fois plus lents. | |||
* '''Autres réflexions /réactions ''' : | |||
** Ne devrait-il pas y avoir un cache d'objets de toute façon ? | |||
** Les grandes régions ont été créées pour cela. | |||
** Une absurdité d'Opensim est qu'il envoie les données prim par prim puis avatar par avatar à l'autre région et ensuite les attachements un par un. Ubit Umarov a commencé à changer cela, mais c'est un changement radical. | |||
** Les téléportations rapides échoueront très probablement même avec un avatar simple. BulletSim ne permet même pas les simples passages. | |||
** Du point de vue d'OpenSim, il serait plus simple de prendre le vecteur vitesse et la position pendant le croisement et de déterminer si le croisement finirait par appeler un autre croisement dans les 5 secondes à travers un coin et de tenter de croiser directement dans cette région plutôt que d'essayer d'abord la région intermédiaire. OpenSim permet les croisements en diagonale, ce qui n'est pas le cas de Secondlife. Bien sûr, cette approche repose sur des hypothèses, ce qui n'est jamais une bonne idée, mais les traversées très rapides des coins de la région sont une recette pour un désastre d'une manière ou d'une autre, donc l'atténuation devra toujours être un équilibre entre les hypothèses et les faits concrets. | |||
** Il faut planter un arbre sur la frontière des trois régions. | |||
= Source= | = Source= | ||
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-04-02 | http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-04-02 |
Dernière version du 21 avril 2024 à 00:17
Changements du code de la semaine
Recherche par nom de région depuis la carte
- Interdiction de caractères dans la recherche par nom de région de la carte.[1]. C'était un vecteur de spam.
- Les URL fonctionnent toujours dans la recherche de la carte.
- Caractères interdits (donc pour les noms de région pas pour les URL bien entendu) :
. , : ; \ /
- Les espaces sont toujours autorisés.
- Remplacement : 1 remplace 11 et \ remplace \\ (Ndrl : je n'ai pas compris)
- Exemple : on ne pourra pas trouver maregion.nord
- Dans l'absolu, les noms de régions devraient contenir uniquement des lettres de a à z [A-z], des chiffres [0-9], l'underscore _ ou des espaces.
- À faire : avertir l'utilisateur que le nom de la région n'est pas valide à la place de lui dire que l'URL n'est pas trouvé.
Deux fonctions LSL ajoutées
Erreur de tri avec osGetInventoryNames
Stockage des objets liés
- Stockage de linksetdata (objets liés) dans la base de données et les OAR. [2][3]
- Dans la base de données ils sont stockés sous forme binaire (Blob) et dans le XML ils sont encodés en base64.
Suppression de la copie par défaut de system.drawing
- c'était la même copie que celle de Windows
- Commit
Avertissement
Attention : Ce résumé existe pour orienter vos recherches. Des erreurs d'interprétation ne sont pas à exclure. Pour plus de précisions, veuillez vous référer aux sources ou vous adresser directement aux développeurs d'OpenSimulator en assistant aux réunions du mardi ou sur le canal IRC. Je ne fais pas partie des développeurs, ne vous adressez pas à moi pour les joindre. Merci.😉 |
Scripts
Deux fonction LSL ajoutées
- Commit
- llGetCameraFOV() : Renvoie le float correspondant au champ de vision (FOV) de la caméra, en radians. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions.
- llGetCameraAspect() : Renvoie le float correspondant au rapport d'aspect (largeur/hauteur) de la caméra. Le script doit demander l'autorisation PERMISSION_TRACK_CAMERA avec llRequestPermissions.
Erreur de tri avec osGetInventoryNames
- Correction des erreurs de conversion des chaînes de caractères LSL lors du tri des listes LSL
- Mantis :erreur de tri avec osGetInventoryNames
- Commit
Base de données
Migration
- MySQL / MariaDB : mise en place des routines de migration de tout état de table possible.
- SqLite : reste à faire, problèmes de retour de résultats cohérents.
- PostgreSQL : ne sera probablement pas soutenu. Vincent Sylvester va se pencher sur la migration de PostgreSQL vers MySQL.
Bilan du fonctionnement des SGBD dans OpenSim
- MySQL / MariaDB: Problème de dépôts pour MariaDB mais cela n'a rien à voir avec le fonctionnement. Aucun problème de fonctionnement avec MariaDB.
- SqLite : Sqlite est utilisé pour certaines choses en interne par OpenSim et ce système de gestion de base de données est intéressant pour les régions simples. SqLite est léger, donc certaines choses ne sont pas tout à fait égales à MySQL. De même, la gestion des collations (mode de classement de données) [4] et des jeux de caractères est légèrement différente, ce qui peut causer des problèmes. C'est bien pour les tests, mais il ne faut pas l'utiliser dans les environnements de production. SqLite peut être très lent en fonction du système de fichiers et du type de requêtes car il n'y a pas de véritables caches comme mysql peut en fournir. De plus, le code d'OpenSim pour SqLite semble assez mauvais.
- PostgreSQL : OpenSim n'a personne pour le maintenir ou le réparer. Vincent Sylvester est pour un abandon total de cette option, étant donné que MySQL et MariaDB vont diverger à l'avenir, ce qui pourrait signifier leur séparation et l'ajout d'un projet de données supplémentaire à maintenir. Mais, il semble que beaucoup utilisent encore PostgreSQL.
Viewers
Passage de frontière avec trois régions
- Problème : parfois certaines parties du véhicule sont manquantes dans la région d'arrivée pour un coin avec 3 régions. C'est le deuxième croisement qui démarre alors que le premier est incomplet qui pose problème. Il est impossible d'utiliser l'arbre des ID locaux d'un objet lié puisque les ID locaux changent d'une région à l'autre.
- Fonctionnement normal pour le viewer Sharpview: le simulateur (OpenSim) indique tous les objets à l'entrée d'une nouvelle région. (Firestorm ne semble pas dépendre complètement du simulateur.) Habituellement, ObjectUpdate est trouvé pour toutes les primitives après une traversée.
- Réflexion de Joe Magarac : Si cela ne peut pas fonctionner, ne laissez pas la traversée #2 commencer tant que la traversée #1 n'est pas terminée.
- Question : Le simulateur sait-il quand la traversée en cours est terminée et que tout est arrivé ?
- Réponse : Oui et non. Il sait quand les choses ont échoué et que le dernier appel pour fermer ou convertir l'agent n'a pas eu lieu, mais il n'a aucune idée si le processus d'envoi de toutes les données est terminé ou non. Il se contente d'envoyer les données, et c'est ainsi qu'il a été conçu. Ces choses doivent être asynchrones pour être plus rapides et elles ne peuvent pas toutes attendre une réponse d'achèvement avant d'exécuter d'autres tâches, ce qui rendrait les croisements dix fois plus lents.
- Autres réflexions /réactions :
- Ne devrait-il pas y avoir un cache d'objets de toute façon ?
- Les grandes régions ont été créées pour cela.
- Une absurdité d'Opensim est qu'il envoie les données prim par prim puis avatar par avatar à l'autre région et ensuite les attachements un par un. Ubit Umarov a commencé à changer cela, mais c'est un changement radical.
- Les téléportations rapides échoueront très probablement même avec un avatar simple. BulletSim ne permet même pas les simples passages.
- Du point de vue d'OpenSim, il serait plus simple de prendre le vecteur vitesse et la position pendant le croisement et de déterminer si le croisement finirait par appeler un autre croisement dans les 5 secondes à travers un coin et de tenter de croiser directement dans cette région plutôt que d'essayer d'abord la région intermédiaire. OpenSim permet les croisements en diagonale, ce qui n'est pas le cas de Secondlife. Bien sûr, cette approche repose sur des hypothèses, ce qui n'est jamais une bonne idée, mais les traversées très rapides des coins de la région sont une recette pour un désastre d'une manière ou d'une autre, donc l'atténuation devra toujours être un équilibre entre les hypothèses et les faits concrets.
- Il faut planter un arbre sur la frontière des trois régions.
Source
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-04-02