« Réunion du 08-10-2024 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Ligne 92 : | Ligne 92 : | ||
** Pour le viewer '''Mac''' une partie de cela est défini dans le '''fichier Info.plist''' mais, ce n'est pas particulièrement utile. | ** Pour le viewer '''Mac''' une partie de cela est défini dans le '''fichier Info.plist''' mais, ce n'est pas particulièrement utile. | ||
* Vincent Sylvester pense que ces fichiers sont liés à l'interface utilisateur. Il cherche des types MIME utilisés pour fournir des assets dans le bon contexte pour réduire les erreurs. | * Vincent Sylvester pense que ces fichiers sont liés à l'interface utilisateur. Il cherche des types MIME utilisés pour fournir des assets dans le bon contexte pour réduire les erreurs. | ||
* Ubit Umarov signale aussi | * Ubit Umarov signale aussi ces fichiers : | ||
<ul> | |||
<li>[https://github.com/FirestormViewer/phoenix-firestorm/blob/master/indra/llcorehttp/llhttpconstants.h '''indra/llcorehttp/llhttpconstants.h'''] à partir de la ligne 195 | |||
<pre> | <pre> | ||
//// HTTP Content Types //// | //// HTTP Content Types //// | ||
Ligne 113 : | Ligne 115 : | ||
extern const std::string HTTP_CONTENT_IMAGE_PNG; | extern const std::string HTTP_CONTENT_IMAGE_PNG; | ||
extern const std::string HTTP_CONTENT_IMAGE_BMP; | extern const std::string HTTP_CONTENT_IMAGE_BMP; | ||
</pre></li> | |||
<li>[https://github.com/FirestormViewer/phoenix-firestorm/blob/master/indra/llcorehttp/llhttpconstants.cpp '''indra/llcorehttp/llhttpconstants.cpp''']] lignes | |||
105 à 121 : | |||
<pre> | |||
const std::string HTTP_CONTENT_LLSD_XML("application/llsd+xml"); | |||
const std::string HTTP_CONTENT_OCTET_STREAM("application/octet-stream"); | |||
const std::string HTTP_CONTENT_VND_LL_MESH("application/vnd.ll.mesh"); | |||
const std::string HTTP_CONTENT_XML("application/xml"); | |||
const std::string HTTP_CONTENT_JSON("application/json"); | |||
const std::string HTTP_CONTENT_TEXT_HTML("text/html"); | |||
const std::string HTTP_CONTENT_TEXT_HTML_UTF8("text/html; charset=utf-8"); | |||
const std::string HTTP_CONTENT_TEXT_PLAIN_UTF8("text/plain; charset=utf-8"); | |||
const std::string HTTP_CONTENT_TEXT_LLSD("text/llsd"); | |||
const std::string HTTP_CONTENT_TEXT_XML("text/xml"); | |||
const std::string HTTP_CONTENT_TEXT_LSL("text/lsl"); | |||
const std::string HTTP_CONTENT_TEXT_PLAIN("text/plain"); | |||
const std::string HTTP_CONTENT_IMAGE_X_J2C("image/x-j2c"); | |||
const std::string HTTP_CONTENT_IMAGE_J2C("image/j2c"); | |||
const std::string HTTP_CONTENT_IMAGE_JPEG("image/jpeg"); | |||
const std::string HTTP_CONTENT_IMAGE_PNG("image/png"); | |||
const std::string HTTP_CONTENT_IMAGE_BMP("image/bmp"); | |||
</pre> | </pre> | ||
* Ce sont des choses anciennes d'après Ubit Umarov "const std::string HTTP_CONTENT_IMAGE_J2C(« image/j2c »):" est défini mais non utilisé. Le code a dû être supprimé. | |||
</li> | |||
</ul> | |||
* Vincent Sylvester en déduit que : | * Vincent Sylvester en déduit que : | ||
* ''' Paramètres d'environnement ''' : 56 => 'application/llsd | * Le dernier ajout a été le mesh, puis plus rien, donc soit les paramètres et les matériaux réutilisent le xml llsd, soit ils sont ailleurs. | ||
* ''' Matériaux (PBR)''' : 57 => 'application/llsd | * ''' Paramètres d'environnement ''' : 56 => 'application/llsd+xml' | ||
* ''' Matériaux (PBR)''' : 57 => 'application/llsd+xml' | |||
==== Code OpenSimulator ==== | ==== Code OpenSimulator ==== |
Version du 15 octobre 2024 à 13:41
Changements du code de la semaine
Fuite de mémoire et plantage de script
- Mantis 9166 : Fuite de mémoire entraînant le plantage du script par épuisement de la mémoire.
- La déclaration d'état du script ne nettoyait pas la mémoire locale d'une méthode. Ce n'était pas une vraie fuite de mémoire, elle était libérée mais elle n'était pas comptabilisée.
- La libération réelle de mémoire est effectuée par Garbage Collector (GC)[1].
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.😉 |
Modules
Module de profils
Question
- Linden Lab a apporté des changements aux profils des viewers et aux annonces , la question est de savoir si cela affecte le module de profils d'OpenSimulator.
Réponses
- Le module de base[2] ne semble pas poser de problèmes majeurs.
- Il pourrait y avoir des problèmes avec les annonces des profils (NDRL : je n'ai pas bien compris).
- Pas d'information au sujet du module de profil PHP[3][4]. Il faudrait l'essayer.
Informations
OSCC 2024
Appel à propositions
Lyr Lobo nous informe à propos de la conférence 2024
- Lien du site : https://conference.opensimulator.org/call-for-proposals/
- OSCC est un événement communautaire et un moyen de présenter ce que vous aimez le mieux.
- Ubit Umarov fait des miracles pour mettre à jour la grille de la conférence 2024.
- Si vous avez une idée après le 21 octobre, ne soyez pas timide, partagez-la. La date a été fixée sachant que certains seront en retard.
Types de propositions attendues
- les propositions pour des conférences Spotlight de 20 minutes,
- des événements sur votre grille la semaine après la conférence,
- des ateliers dans Zoom qui seront organisés la semaine après la conférence,
- Des sessions de discussion peuvent être organisées pour aborder les problèmes de code du viewer et du serveur, ainsi que les idées et besoins pour le développement futur.
Viewers
Dayturn
- Nouveau code et mises à jour tous les jours. Il y a un gros retard à rattraper et beaucoup de corrections de bugs à fusionner.
Firestorm
- Ubit Umarov a signalé un bug sur JIRA[5] de Firestorm.
- FIRE-34618 : Les frais des annonces des profils sont devenus problématiques pour OpenSim.
- Plusieurs commits de Linden Lab ont cassé les frais de annonces pour OpenSim, forçant un coût codé en dur, directement intégré dans le code du programme. Ainsi, le coût est fixe et ne peut pas être facilement modifié sans modifier le code source.
- Dans les commentaires du signalement de bug (voir JIRA) on peut voir qu'Ansariel Hiller a corrigé le problème en supprimant les frais codés en dur dans Firestorm.
- Gavin Hird dit que Linden Lab a codé en dur plusieurs constantes dans le viewer de Second Life ces derniers temps.
- Ubit Umarov dit que c'est leur code et qu'ils font ce qu'ils veulent tant qu'ils ne cassent pas celui d'OpenSim.
Sharpview
- Nouvelle version de Sharpview, moins de gigue: https://www.animats.com/sharpview
- Nom d'utilisateur « devs », mot de passe « thread »
- Le navigateur du viewer est Chromium, mais on ne peut pas installer de plugins.
NDLR :
|
- Non on ne peut pas supprimer le navigateur web.
- Les MOAP[8], la recherche web et certains onglets du profil utilisent le navigateur web. Chaque MOAP est un processus Chromium séparé et beaucoup de pages web ne reconnaissent pas ce navigateur.
- En dehors de la recherche web, les autres onglets de la recherche utilisent XML-RPC[9].
- Le surcoût lié à l'exécution d'un navigateur web dans le viewer est énorme.
- Certains intervenants, comme Vincent Sylvester, semblent dire que, dans le futur, il n'y aura plus que des pages web dans le viewer. D'autres pensent le contraire, mais personne ne sait vraiment ce que l'avenir nous réserve.
- Il faudrait utiliser WebKit[10]: bibliothèque logicielle libre permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels.
Quels sont les types MIME d'assets utilisés par le viewer ?
Le problème
- Vicent Sylvester aimerait connaître les Types de médias (types MIME) d'assets attendus par le viewer. Il en connaît déjà quelques uns comme celui des textures mais, il aimerait connaître ceux des paramètres d'environnement et ceux des matériaux. Ce n'est pas documenté. Il demande que des volontaires fassent cette recherche pour lui. Joe Magarac a aussi besoin de le savoir.
NDLR :
|
Types MIME du viewer
Types MIME connus
- Texture : 0 => 'image/jp2'
- Son : 1 => 'application/ogg',
- Carte de visite : 2 => 'application/x-metaverse-callingcard',
- Repère: 3 => 'application/x-metaverse-landmark',
- Vêtements : 5 => « application/x-metaverse-clothing »,
- Objet : 6 => 'application/x-metaverse-primitive',
- Notecard : 7 => 'application/x-metaverse-notecard'
- Mesh : 49 => 'application/vnd.ll.mesh'
Types MIME incertains
- Paramètres d'environnement : 56 => 'application/vnd.ll.setting'
- Matériaux (PBR) : 57 => 'application/vnd.ll.material'
- Certains éléments PBR sont distingués par leur type MIME.
Localisation dans le code
Fichiers du viewer
- Gavin Hird signale plusieurs fichiers possibles dans le code source du viewer :
- indra/newview/llmimetypes.h
- indra/newview/skins/default/xui/en/mime_types.xml
- indra/newview/skins/default/xui/en/mime_types_linux.xml
- indra/newview/skins/default/xui/en/mime_types_mac.xml
- Pour le viewer Mac une partie de cela est défini dans le fichier Info.plist mais, ce n'est pas particulièrement utile.
- Vincent Sylvester pense que ces fichiers sont liés à l'interface utilisateur. Il cherche des types MIME utilisés pour fournir des assets dans le bon contexte pour réduire les erreurs.
- Ubit Umarov signale aussi ces fichiers :
- indra/llcorehttp/llhttpconstants.h à partir de la ligne 195
//// HTTP Content Types //// extern const std::string HTTP_CONTENT_LLSD_XML; extern const std::string HTTP_CONTENT_OCTET_STREAM; extern const std::string HTTP_CONTENT_VND_LL_MESH; extern const std::string HTTP_CONTENT_XML; extern const std::string HTTP_CONTENT_JSON; extern const std::string HTTP_CONTENT_TEXT_HTML; extern const std::string HTTP_CONTENT_TEXT_HTML_UTF8; extern const std::string HTTP_CONTENT_TEXT_PLAIN_UTF8; extern const std::string HTTP_CONTENT_TEXT_LLSD; extern const std::string HTTP_CONTENT_TEXT_XML; extern const std::string HTTP_CONTENT_TEXT_LSL; extern const std::string HTTP_CONTENT_TEXT_PLAIN; extern const std::string HTTP_CONTENT_IMAGE_X_J2C; extern const std::string HTTP_CONTENT_IMAGE_J2C; extern const std::string HTTP_CONTENT_IMAGE_JPEG; extern const std::string HTTP_CONTENT_IMAGE_PNG; extern const std::string HTTP_CONTENT_IMAGE_BMP;
- indra/llcorehttp/llhttpconstants.cpp] lignes
105 à 121 :
const std::string HTTP_CONTENT_LLSD_XML("application/llsd+xml"); const std::string HTTP_CONTENT_OCTET_STREAM("application/octet-stream"); const std::string HTTP_CONTENT_VND_LL_MESH("application/vnd.ll.mesh"); const std::string HTTP_CONTENT_XML("application/xml"); const std::string HTTP_CONTENT_JSON("application/json"); const std::string HTTP_CONTENT_TEXT_HTML("text/html"); const std::string HTTP_CONTENT_TEXT_HTML_UTF8("text/html; charset=utf-8"); const std::string HTTP_CONTENT_TEXT_PLAIN_UTF8("text/plain; charset=utf-8"); const std::string HTTP_CONTENT_TEXT_LLSD("text/llsd"); const std::string HTTP_CONTENT_TEXT_XML("text/xml"); const std::string HTTP_CONTENT_TEXT_LSL("text/lsl"); const std::string HTTP_CONTENT_TEXT_PLAIN("text/plain"); const std::string HTTP_CONTENT_IMAGE_X_J2C("image/x-j2c"); const std::string HTTP_CONTENT_IMAGE_J2C("image/j2c"); const std::string HTTP_CONTENT_IMAGE_JPEG("image/jpeg"); const std::string HTTP_CONTENT_IMAGE_PNG("image/png"); const std::string HTTP_CONTENT_IMAGE_BMP("image/bmp");
- Ce sont des choses anciennes d'après Ubit Umarov "const std::string HTTP_CONTENT_IMAGE_J2C(« image/j2c »):" est défini mais non utilisé. Le code a dû être supprimé.
- Vincent Sylvester en déduit que :
- Le dernier ajout a été le mesh, puis plus rien, donc soit les paramètres et les matériaux réutilisent le xml llsd, soit ils sont ailleurs.
- Paramètres d'environnement : 56 => 'application/llsd+xml'
- Matériaux (PBR) : 57 => 'application/llsd+xml'
Code OpenSimulator
- Il y aurait des infomations dans SLUtil.cs. C'est correct pour OpenSimulator mais en réalité c'est faux, cela pourrait être gtff json.
new TypeMapping(AssetType.Material, InventoryType.Material, « application/llsd xml », « glftmat »)
Utilité réelle des types MIME
- D'après Ubit Umarov les Type MIME ne sont utilisés nulle part. Les types MIME ne sont pas nécessaires pour accéder aux assets sur un CDN [12] car chaque asset a une URL spécifique qui est indépendante de son type MIME.
- Vincent Sylvester est d'accord mais il signale tout de même qu'il est prévu que le code du viewer évolue bientôt vers l'utilisation de types stricts et qu'il serait bon de s'y préparer.
- 🏗️
Source
http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2024-10-08