« Réunion du 26-11-2024 » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « = Changements du code de la semaine= = 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 c... ») |
Aucun résumé des modifications |
||
(61 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= | ||
== Permissions == | |||
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=2ad93b5ad9c641676cafa97bd86ccd77a52175e7 '''Commit 2ad93b'''] : '''Code plus restrictif lors de l'envoi du contenu des objets''', comme lorsque le propriétaire ne doit pas voir le contenu de l'objet (par exemple les sources d'un script). Avant les modifications, lorsque l'on effectuait un téléport avec des droits divins sur une région ou une grille sans ces droits, le viewer supposait toujours que l'avatar les possédait. Désormais, la région envoie une annulation appropriée. | |||
== Fonctions LSL== | |||
* [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=a20a5f312d5ce6661b9e4015d19ea78b44e701c3 '''Commit a20a5f'''] : Ajout de '''llGetStartString''' et de '''llRezObjectWithParams''' limitée. [[Réunion_du_26-11-2024#Fonctions_llRezObjectWithParams_et_llGetStarString |Voir ci-dessous]]. | |||
= 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= | ||
= | == Fonctions llRezObjectWithParams et llGetStarString== | ||
{{NDLR|fond=white |bord=green|message = <br> | |||
key llRezObjectWithParams( string inventory, list params ); | |||
* Instanciation (rezz) d'un objet d'inventaire à la position '''pos''' avec un ensemble initial de paramètres spécifiés dans params. '''pos''' prendra par défaut la position de l'objet contenant le script, à moins que REZ_POS ne soit spécifié. (voir le tableau des paramètres [https://wiki.secondlife.com/wiki/LlRezObjectWithParams]) | |||
string llGetStartString( ); | |||
* Renvoie une chaîne (string) qui a été passée à la primitive racine de l'objet lors de son rezz avec llRezObjectWithParams.[https://wiki.secondlife.com/wiki/LlGetStartString] | |||
}}. | |||
* '''llRezObjectWithParams''' ne rezze pas uniquement un objet,cette fonction permet de faire aussi ce que fond d'autres fonctions comme llStatus[https://wiki.secondlife.com/wiki/LlSetStatus] | |||
* Dans OpenSim, tous les flags ne sont pas disponibles, comme le flag '''REZ_FLAG_DIE_ON_NOENTRY''' qui fait mourrir un objet qui essaie d'entrer dans une parcelle sans en avoir le droit. | |||
* Drapeaux non pris en charge | |||
REZ_FLAG_DIE_ON_NOENTRY | |||
REZ_FLAG_NO_COLLIDE_OWNER | |||
REZ_FLAG_NO_COLLIDE_FAMILY | |||
* Paramètres non pris en charge. | |||
REZ_ACCEL | |||
REZ_DAMAGE | |||
REZ_DAMAGE_TYPE | |||
REZ_OMEGA ne fait que le côté viewer lltargetomega | |||
* Les dégâts et les types de dégâts ne seront probablement jamais pris en charge. Cela fait partie d'un type de combat élémentaire ajouté par Linden Lab qui peut être mieux réalisées avec les scripts utilisés par le passé. | |||
* '''llRezObjectWithParams''' ajoute aussi une chaîne en paramètre via '''REZ_PARAM_STRING''', c'est pourquoi Ubit Umarov a aussi ajouté la fonction '''llGetStarString'''. Alors que le paramètre REZ_PARAM ne survit pas aux passages de frontières de région, ce paramètre devrait le faire. | |||
= Modules = | = Modules = | ||
= | == Le code du module de groupes == | ||
= | * Vincent Sylvester dit qu'il n'est pas possible de sauver le code du module de groupe. Il a ''' besoin d'une réécriture complète''' correctement intégrée dans les autres parties du code. | ||
= | * '''Quelques problèmes''' : | ||
** Beaucoup de '''structures et de types personnalisés''' qui demandent des conversions ce qui consomme de la mémoire. | |||
** Code qui effectue des '''opérations lourdes mais qui n'aboutit à rien''' car des parties nécessaires sont incomplètes. | |||
** Une vérification de permission peut nécessiter 12 appels à la base de données avec chacun , ouverture de la base de données, exécution, évaluation des résultats '''Il faudrait des jointures''' [https://fr.wikipedia.org/wiki/Jointure_(informatique)] au niveau SQL[https://fr.wikipedia.org/wiki/Structured_Query_Language]. Gavin Hird propose d'utiliser des vues matérialisées[https://fr.wikipedia.org/wiki/Vue_mat%C3%A9rialis%C3%A9e][https://www.developpez.net/forums/d1259695/bases-donnees/mysql/sql-procedural/vues-materialisees-mysql/]. La vue gère la complexité ainsi, le code peut lire un enregistrement contenant exactement ce dont il a besoin. | |||
** [[Réunion_du_19-11-2024#Groupes |'''La fonction qui s'est cassée (semaine dernière) ''' ]] récupère d'abord tous les rôles auxquels un membre appartient et ensuite, pour chaque rôle, elle récupère juste les permissions. Au lieu de joindre ces éléments au niveau SQL et de renvoyer uniquement le champ des permissions. '''L'origine des rôles morts n'a pas encore été trouvée.''' | |||
* '''La structure de la table est bonne''' même si elle demande un peu de travail. | |||
* D'après Ubit Umarov, '''on ne peut pas changer l'API'''[https://fr.wikipedia.org/wiki/Interface_de_programmation] régions/grilles maintenant au risque de casser les grilles à moins d'ajouter une négociation API. | |||
* '''Les groupes Flotsam'''[https://github.com/mcortez/flotsam] ont des problèmes similaires. | |||
* '''Organisation du code''' : | |||
** Les groupes ont été ajoutés comme un '''addon''' et pas comme un service OpenSimulator. L'addon est dans un dossier au lieu d'être réparti sur plusieurs dossiers comme les services de grille typiques d'opensim. C'est la preuve que ce module a été '''fait pour que la fonctionnalité soit optionnelle'''. Ainsi, les données sont récupérées de plus loin. Mais comme ce module fait partie du noyau, il ne devrait pas être dans le dossier des addons. | |||
** Il a été '''ajouté en remplacement de Flotsam''' qui dépend du code côté web. | |||
** '''Si c'était un service il suffirait d'écrire un nouveau connecteur'''. Faire des modifications pour un addon demande beaucoup plus de travail. | |||
= Informations= | |||
== Maintenance d'Osgrid == | |||
* '''Les assets d'OSGrid[https://www.osgrid.org/] sont toujours en "réparation"''', certains disparaîtront pendant un certain temps. | |||
* '''Il ne faut pas effacer les caches de région''' et cela s'étend probablement aux caches des viewers. | |||
{{NDLR|fond=white |bord=green|message = <br> | |||
* Informations complémentaires en anglais : https://www.osgrid.online/news/osgrid-online-provisionally/ | |||
}} | |||
== OSCC 2024 == | |||
* Finalisation du programme de l'OSCC en cours. | |||
* '''Lyr Lobo''' aimerait que des utilisateurs d'OpenSim lui envoient des images de simulations et/ou de grilles qu'ils aimeraient partager afin de créer une vitrine pour la conférence.(Ndrl : Sur OSGrid ?). | |||
== Apple Silicon et libgdiplus == | |||
* '''libgdiplus fonctionne toujours sur les Apple Silicon''' M1 [https://fr.wikipedia.org/wiki/Apple_silicon#S%C3%A9rie_M]. Cuga Rajal ne voit pas pourquoi cela ne fonctionnerait pas sur les autres versions M2, M3 etc. Il n'a jamais vu cette bibliothèque ne pas fonctionner. S'il y a un problème il pense que c'est lié au '''lien symbolique''' puisque dotnet ne cherche que dans /usr/local. Les instructions macOS sur le site d'OpenSim sont vraiment incomplètes. | |||
* Quelqu’un a eu des problèmes sur macOS Sequoia 15.2 qui semble être une version bêta à l'heure actuelle. | |||
* '''Notes de Cuga Rajal''' (assez longues): https://github.com/cuga-rajal/opensim_apple_arm64 | |||
* Si vous utilisez Brew pour installer Libgdiplus sur un ordinateur Apple Silicon, vous devez également '''créer un lien symbolique''' : | |||
sudo ln -s /opt/homebrew/Cellar/mono-libgdiplus/[version]/lib/libgdiplus.dylib /usr/local/lib/libgdiplus.dylib | |||
= Viewers= | = Viewers= | ||
==Versions de Firestorm == | |||
{{NDLR|fond=white |bord=green|message = <br> | |||
* Les liens ou/et versions de [[Lexique_des_réunions#Viewer_Firestorm | '''Firestorm''']] indiqués ci-dessous sont valables au jour de la réunion et pour une période indéfinie. | |||
* La version sans PBR du viewer peut fonctionner sur des machines moins puissantes. Elle est aussi pratique pour les créateurs de simulations, qui peuvent ainsi tester leur monde et voir ce que les utilisateurs de l'ancienne version voient. | |||
}} | |||
* Version bêta (version d'essai avec PBR) : [https://www.firestormviewer.org/early-access-beta-downloads/ Firestorm 7.1.11 (76751)] | |||
* Version stable (version courante avec PBR ) : [https://www.firestormviewer.org/os-operating-system/ Firestorm 7.1.11 (76496)] | |||
* Ancienne version sans PBR : [https://wiki.firestormviewer.org/fs_older_downloads Firestorm Release Notes 6.6.17.(70368)] | |||
== Problèmes liés aux changements apportés par Second Life== | |||
* Problème des viewers de Second Life (SL) pour '''les vielles machines''' ou les gens qui ne veulent pas de [[Lexique_des_réunions#PBR |'''PBR''']]. Ubit Umarov ironise et dit que SL devrait simplement s'arranger pour utiliser le PBR sans brûler le GPU comme d'autres jeux le font depuis des années. | |||
* Gavin Hird pense que le problème de SL est '''le contenu hérité du passé''', mais Ubit Umarov ne le pense pas, ces changements seraient là aussi pour '''faire acheter de nouveaux assets aux utilisateurs'''. | |||
* Gavin Hird dit que cette fois, cela ne fonctionnera pas, les gens ont investi des décennies dans des contenus et ils ne voudront pas tout refaire. Il dit aussi que PBR casse le processus de création pour beaucoup de petits créateurs, car il faut un sous-système pour faire des textures correctes (Ndlr : Blender 3D ). | |||
* SL a cassé les assets et aussi '''le terrain'''. On dirait qu'il a plu sur les rochers. Si on configure les terrains pour utiliser PBR, les viewers anciens voient du blanc et du gris. Les créateurs ont besoin d'utiliser les anciens viewers pour adapter leurs terrains. | |||
* '''Les avatars n'ont pas de PBR''', le PBR ne concerne que les primitives, le terrain, la lumière et l'environnement. Gavin Hird dit avoir vu du code PBR pour les avatars mais il n'a peut-être pas encore été publié, même en version bêta. | |||
* '''Les textures cuites ou pré-calculées''' (backing texture)[https://docs.blender.org/manual/fr/latest/render/cycles/baking.html] n'ont pas de PBR. Ubit Umarov dit qu'il semble que l'on envisage de revenir aux textures cuites côté viewer pour le PBR. | |||
* Il semble qu'une fonctionnalité de "'''combat'''" soit prévue. Cela ne plait pas à Vincent Sylvester. Lui et d'autres préfèreraient que SL s'attaque à ce qui freine réellement la créativité comme le squelette de l'avatar, les options de parcelle, le rigging personnalisable, les contrôles de déformation des maillages, un nouvel avatar par défaut avec l'ancienne carte UV pour la rétrocompatibilité. (Ndrl : les idées ne manquent pas.) | |||
= Source= | = Source= | ||
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-11-26 |
Dernière version du 5 décembre 2024 à 04:55
Changements du code de la semaine
Permissions
- Commit 2ad93b : Code plus restrictif lors de l'envoi du contenu des objets, comme lorsque le propriétaire ne doit pas voir le contenu de l'objet (par exemple les sources d'un script). Avant les modifications, lorsque l'on effectuait un téléport avec des droits divins sur une région ou une grille sans ces droits, le viewer supposait toujours que l'avatar les possédait. Désormais, la région envoie une annulation appropriée.
Fonctions LSL
- Commit a20a5f : Ajout de llGetStartString et de llRezObjectWithParams limitée. Voir ci-dessous.
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
Fonctions llRezObjectWithParams et llGetStarString
NDLR : key llRezObjectWithParams( string inventory, list params );
string llGetStartString( );
|
.
- llRezObjectWithParams ne rezze pas uniquement un objet,cette fonction permet de faire aussi ce que fond d'autres fonctions comme llStatus[3]
- Dans OpenSim, tous les flags ne sont pas disponibles, comme le flag REZ_FLAG_DIE_ON_NOENTRY qui fait mourrir un objet qui essaie d'entrer dans une parcelle sans en avoir le droit.
- Drapeaux non pris en charge
REZ_FLAG_DIE_ON_NOENTRY REZ_FLAG_NO_COLLIDE_OWNER REZ_FLAG_NO_COLLIDE_FAMILY
- Paramètres non pris en charge.
REZ_ACCEL REZ_DAMAGE REZ_DAMAGE_TYPE REZ_OMEGA ne fait que le côté viewer lltargetomega
- Les dégâts et les types de dégâts ne seront probablement jamais pris en charge. Cela fait partie d'un type de combat élémentaire ajouté par Linden Lab qui peut être mieux réalisées avec les scripts utilisés par le passé.
- llRezObjectWithParams ajoute aussi une chaîne en paramètre via REZ_PARAM_STRING, c'est pourquoi Ubit Umarov a aussi ajouté la fonction llGetStarString. Alors que le paramètre REZ_PARAM ne survit pas aux passages de frontières de région, ce paramètre devrait le faire.
Modules
Le code du module de groupes
- Vincent Sylvester dit qu'il n'est pas possible de sauver le code du module de groupe. Il a besoin d'une réécriture complète correctement intégrée dans les autres parties du code.
- Quelques problèmes :
- Beaucoup de structures et de types personnalisés qui demandent des conversions ce qui consomme de la mémoire.
- Code qui effectue des opérations lourdes mais qui n'aboutit à rien car des parties nécessaires sont incomplètes.
- Une vérification de permission peut nécessiter 12 appels à la base de données avec chacun , ouverture de la base de données, exécution, évaluation des résultats Il faudrait des jointures [4] au niveau SQL[5]. Gavin Hird propose d'utiliser des vues matérialisées[6][7]. La vue gère la complexité ainsi, le code peut lire un enregistrement contenant exactement ce dont il a besoin.
- La fonction qui s'est cassée (semaine dernière) récupère d'abord tous les rôles auxquels un membre appartient et ensuite, pour chaque rôle, elle récupère juste les permissions. Au lieu de joindre ces éléments au niveau SQL et de renvoyer uniquement le champ des permissions. L'origine des rôles morts n'a pas encore été trouvée.
- La structure de la table est bonne même si elle demande un peu de travail.
- D'après Ubit Umarov, on ne peut pas changer l'API[8] régions/grilles maintenant au risque de casser les grilles à moins d'ajouter une négociation API.
- Les groupes Flotsam[9] ont des problèmes similaires.
- Organisation du code :
- Les groupes ont été ajoutés comme un addon et pas comme un service OpenSimulator. L'addon est dans un dossier au lieu d'être réparti sur plusieurs dossiers comme les services de grille typiques d'opensim. C'est la preuve que ce module a été fait pour que la fonctionnalité soit optionnelle. Ainsi, les données sont récupérées de plus loin. Mais comme ce module fait partie du noyau, il ne devrait pas être dans le dossier des addons.
- Il a été ajouté en remplacement de Flotsam qui dépend du code côté web.
- Si c'était un service il suffirait d'écrire un nouveau connecteur. Faire des modifications pour un addon demande beaucoup plus de travail.
Informations
Maintenance d'Osgrid
- Les assets d'OSGrid[10] sont toujours en "réparation", certains disparaîtront pendant un certain temps.
- Il ne faut pas effacer les caches de région et cela s'étend probablement aux caches des viewers.
NDLR :
|
OSCC 2024
- Finalisation du programme de l'OSCC en cours.
- Lyr Lobo aimerait que des utilisateurs d'OpenSim lui envoient des images de simulations et/ou de grilles qu'ils aimeraient partager afin de créer une vitrine pour la conférence.(Ndrl : Sur OSGrid ?).
Apple Silicon et libgdiplus
- libgdiplus fonctionne toujours sur les Apple Silicon M1 [11]. Cuga Rajal ne voit pas pourquoi cela ne fonctionnerait pas sur les autres versions M2, M3 etc. Il n'a jamais vu cette bibliothèque ne pas fonctionner. S'il y a un problème il pense que c'est lié au lien symbolique puisque dotnet ne cherche que dans /usr/local. Les instructions macOS sur le site d'OpenSim sont vraiment incomplètes.
- Quelqu’un a eu des problèmes sur macOS Sequoia 15.2 qui semble être une version bêta à l'heure actuelle.
- Notes de Cuga Rajal (assez longues): https://github.com/cuga-rajal/opensim_apple_arm64
- Si vous utilisez Brew pour installer Libgdiplus sur un ordinateur Apple Silicon, vous devez également créer un lien symbolique :
sudo ln -s /opt/homebrew/Cellar/mono-libgdiplus/[version]/lib/libgdiplus.dylib /usr/local/lib/libgdiplus.dylib
Viewers
Versions de Firestorm
NDLR :
|
- Version bêta (version d'essai avec PBR) : Firestorm 7.1.11 (76751)
- Version stable (version courante avec PBR ) : Firestorm 7.1.11 (76496)
- Ancienne version sans PBR : Firestorm Release Notes 6.6.17.(70368)
Problèmes liés aux changements apportés par Second Life
- Problème des viewers de Second Life (SL) pour les vielles machines ou les gens qui ne veulent pas de PBR. Ubit Umarov ironise et dit que SL devrait simplement s'arranger pour utiliser le PBR sans brûler le GPU comme d'autres jeux le font depuis des années.
- Gavin Hird pense que le problème de SL est le contenu hérité du passé, mais Ubit Umarov ne le pense pas, ces changements seraient là aussi pour faire acheter de nouveaux assets aux utilisateurs.
- Gavin Hird dit que cette fois, cela ne fonctionnera pas, les gens ont investi des décennies dans des contenus et ils ne voudront pas tout refaire. Il dit aussi que PBR casse le processus de création pour beaucoup de petits créateurs, car il faut un sous-système pour faire des textures correctes (Ndlr : Blender 3D ).
- SL a cassé les assets et aussi le terrain. On dirait qu'il a plu sur les rochers. Si on configure les terrains pour utiliser PBR, les viewers anciens voient du blanc et du gris. Les créateurs ont besoin d'utiliser les anciens viewers pour adapter leurs terrains.
- Les avatars n'ont pas de PBR, le PBR ne concerne que les primitives, le terrain, la lumière et l'environnement. Gavin Hird dit avoir vu du code PBR pour les avatars mais il n'a peut-être pas encore été publié, même en version bêta.
- Les textures cuites ou pré-calculées (backing texture)[12] n'ont pas de PBR. Ubit Umarov dit qu'il semble que l'on envisage de revenir aux textures cuites côté viewer pour le PBR.
- Il semble qu'une fonctionnalité de "combat" soit prévue. Cela ne plait pas à Vincent Sylvester. Lui et d'autres préfèreraient que SL s'attaque à ce qui freine réellement la créativité comme le squelette de l'avatar, les options de parcelle, le rigging personnalisable, les contrôles de déformation des maillages, un nouvel avatar par défaut avec l'ancienne carte UV pour la rétrocompatibilité. (Ndrl : les idées ne manquent pas.)
Source
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-11-26