{"id":1104,"date":"2026-04-09T13:58:32","date_gmt":"2026-04-09T11:58:32","guid":{"rendered":"https:\/\/www.youbiquo.eu\/geckode\/?page_id=1104"},"modified":"2026-04-10T15:18:01","modified_gmt":"2026-04-10T13:18:01","slug":"advanced-2","status":"publish","type":"page","link":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/","title":{"rendered":"Avanzato"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1104\" class=\"elementor elementor-1104\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59a1b7c e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"59a1b7c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4552b6e elementor-widget elementor-widget-heading\" data-id=\"4552b6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Advanzo<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-af25e4d e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"af25e4d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-03d1ffe e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"03d1ffe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2d8b463 elementor-widget__width-initial elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"2d8b463\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;headings_by_tags&quot;:[&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;exclude_headings_by_selector&quot;:&quot;footer&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;far fa-dot-circle&quot;,&quot;library&quot;:&quot;fa-regular&quot;,&quot;rendered_tag&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-far-dot-circle\\&quot; viewBox=\\&quot;0 0 512 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;},&quot;no_headings_message&quot;:&quot;Non sono state trovate intestazioni in questa pagina.&quot;,&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h2 class=\"elementor-toc__header-title\">\n\t\t\t\tAvanzo \u2014 LeonardoXR SDK\t\t\t<\/h2>\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__2d8b463\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__2d8b463\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__2d8b463\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-110d8e7 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"110d8e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5538572 elementor-widget elementor-widget-text-editor\" data-id=\"5538572\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h1>Avanzate<\/h1><ul><li><strong>Versione<\/strong> 1.0.2<\/li><li><strong>Dispositivo:<\/strong> Youbiquo Leonardo XR<\/li><li><strong>SDK di base:<\/strong> Snapdragon Spaces 1.0.4<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"4\">Questa sezione illustra le configurazioni e le funzionalit\u00e0 avanzate disponibili su Leonardo XR, suddivise tra funzionalit\u00e0 generali della piattaforma Snapdragon Spaces e funzionalit\u00e0 avanzate proprietarie di Leonardo XR.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"6\" \/><h2>Avanzate \u2014 Snapdragon Spaces<\/h2><h3>Aggiunta di un nuovo profilo di interazione<\/h3><p>Per utilizzare un profilo di interazione non incluso nel plugin Snapdragon Spaces:<\/p><ol class=\"code-line\" dir=\"auto\" data-line=\"14\"><li>Vai a <strong>Project Settings &gt; XR Plug-in Management &gt; OpenXR (Android) &gt; Interaction Profiles.<\/strong><\/li><li>Aggiungi il profilo desiderato facendo clic sul pulsante <strong>+<\/strong>.<\/li><li>Configura le azioni di input corrispondenti nell&#8217;asset di sistema di input.<\/li><\/ol><h3>Controller personalizzato<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"20\">Descrive come creare un archivio controller Android personalizzato (.aar) utilizzando il pacchetto Controller personalizzato, ovvero il progetto Android Studio incluso nel pacchetto per sviluppatori.<\/p><h4 class=\"code-line\" dir=\"auto\" data-line=\"22\"><strong>Panoramica del processo<\/strong><\/h4><ol class=\"code-line\" dir=\"auto\" data-line=\"24\"><li>Apri il progetto Android Studio incluso nel pacchetto per sviluppatori di Snapdragon Spaces.<\/li><li>Modifica l&#8217;Activity companion secondo necessit\u00e0 (layout, pulsanti, assi aggiuntivi).<\/li><li>Compila il progetto per ottenere un file .aar.<\/li><li>Importa il file .aar nel progetto Unity come plugin nativo Android (in Assets\/Plugins\/Android).<\/li><li>Configura il manifest Android per dichiarare la nuova Activity.<\/li><\/ol><blockquote class=\"code-line\" dir=\"auto\" data-line=\"30\"><p class=\"code-line\" dir=\"auto\" data-line=\"30\"><strong>NOTA:<\/strong> L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di cache di Gradle. In caso di errori di compilazione, elimina la cartella Temp\/gradleOut e ricompila il progetto.<\/p><\/blockquote><h3>Frequenza di aggiornamento del display<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"34\">The `XR_EXT_display_refresh_rate` extension allows querying and setting the display refresh rate at runtime.<\/p><h4><strong>Interroga la frequenza di aggiornamento corrente<\/strong><\/h4><pre><span style=\"color: #003366;\"><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"38\"><span class=\"hljs-keyword\">using<\/span> Qualcomm.Snapdragon.Spaces;\n\nBaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;();\n<span class=\"hljs-built_in\">float<\/span> currentHz = baseRuntime.GetDisplayRefreshRate();\nDebug.Log(<span class=\"hljs-string\">$\"Current refresh rate: <span class=\"hljs-subst\">{currentHz}<\/span> Hz\"<\/span>);<\/code><\/span><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"38\">\n<\/code><\/pre><h4 class=\"code-line\" dir=\"auto\" data-line=\"46\"><strong>Ottieni frequenze di aggiornamento supportate<\/strong><\/h4><pre><span style=\"color: #003366;\"><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"48\"><span class=\"hljs-built_in\">float<\/span>[] supportedRates = baseRuntime.GetSupportedDisplayRefreshRates();\n<span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-built_in\">float<\/span> rate <span class=\"hljs-keyword\">in<\/span> supportedRates)\n    Debug.Log(<span class=\"hljs-string\">$\"Supported: <span class=\"hljs-subst\">{rate}<\/span> Hz\"<\/span>);\n<\/code><\/span><\/pre><h4 class=\"code-line\" dir=\"auto\" data-line=\"54\"><strong>Imposta la frequenza di aggiornamento<\/strong><\/h4><pre><span style=\"color: #003366;\"><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"56\">baseRuntime.RequestDisplayRefreshRate(<span class=\"hljs-number\">90.0f<\/span>);\n<\/code><\/span><\/pre><blockquote class=\"code-line\" dir=\"auto\" data-line=\"60\"><p class=\"code-line\" dir=\"auto\" data-line=\"60\"><strong>NOTA:<\/strong> La frequenza di aggiornamento richiesta deve essere tra quelle restituite da GetSupportedDisplayRefreshRates(). I valori non supportati vengono ignorati.<\/p><\/blockquote><h3><strong>Prestazioni avanzate dei thread Android<\/strong><\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"64\">Il componente SpacesThreadUtility migliora la priorit\u00e0 di pianificazione dei thread su Android, producendo una temporizzazione dei frame pi\u00f9 coerente.<\/p><h4><strong>Configurazione<\/strong><\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"68\">Aggiungi il componente SpacesThreadUtility a un GameObject persistente nella scena (ad esempio, lo stesso GameObject che ospita la sessione AR o l&#8217;origine XR). Non \u00e8 richiesta alcuna configurazione: si attiva automaticamente all&#8217;inizializzazione e agisce sui thread principali di Unity.<\/p><h4><strong>Quando utilizzare<\/strong><\/h4><p class=\"code-line\" dir=\"auto\" data-line=\"72\">Consigliato per tutte le applicazioni LeonardoXR che presentano fluttuazioni del frame rate o variabilit\u00e0 nella temporizzazione dei frame, soprattutto in scene con rendering intensivo o molti sottosistemi AR attivi.<\/p><h3>Impostazioni delle prestazioni<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"76\">L&#8217;estensione OpenXR XR_EXT_performance_settings espone suggerimenti sui livelli di prestazioni per CPU e GPU tramite un nuovo metodo su BaseRuntimeFeature.<\/p><table class=\"code-line\" dir=\"auto\" data-line=\"78\"><thead class=\"code-line\" dir=\"auto\" data-line=\"78\"><tr class=\"code-line\" dir=\"auto\" data-line=\"78\"><th>Level<\/th><th>Description<\/th><\/tr><\/thead><tbody class=\"code-line\" dir=\"auto\" data-line=\"80\"><tr class=\"code-line\" dir=\"auto\" data-line=\"80\"><td>PowerSavings<\/td><td>Reduces CPU\/GPU clocks to the minimum necessary. Useful for simple scenes or static UI.<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"81\"><td>SustainedLow<\/td><td>Sustained performance at a low level.<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"82\"><td>SustainedHigh<\/td><td>Sustained high-level performance. Recommended for most AR apps.<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"83\"><td>Boost<\/td><td>Maximum performance for short periods (not sustainably maintained).<\/td><\/tr><\/tbody><\/table><pre><span style=\"color: #003366;\"><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"85\"><span class=\"hljs-keyword\">using<\/span> Qualcomm.Snapdragon.Spaces;\n<span class=\"hljs-keyword\">using<\/span> UnityEngine.XR.OpenXR;\n\nBaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;();\nbaseRuntime.SetPerformanceLevel(PerformanceDomain.Cpu, PerformanceLevel.SustainedHigh);\nbaseRuntime.SetPerformanceLevel(PerformanceDomain.Gpu, PerformanceLevel.SustainedHigh);\n<\/code><\/span><\/pre><blockquote class=\"code-line\" dir=\"auto\" data-line=\"94\"><p class=\"code-line\" dir=\"auto\" data-line=\"94\"><strong>NOTA:<\/strong> Il livello Boost consuma molta pi\u00f9 energia e, se utilizzato in modo continuativo, pu\u00f2 causare surriscaldamento e conseguente limitazione della potenza. Utilizzalo solo per operazioni critiche di breve durata (ad esempio, il caricamento di una scena complessa).<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"96\" \/><h2 id=\"advanced--leonardoxr\" class=\"code-line\" dir=\"auto\" data-line=\"98\">Avanzato \u2014 LeonardoXR<\/h2><h3 id=\"qnn-inference-plugin--advanced-guide\" class=\"code-line\" dir=\"auto\" data-line=\"100\">Plugin di inferenza QNN &#8211; Guida avanzata<\/h3><blockquote class=\"code-line\" dir=\"auto\" data-line=\"102\"><p class=\"code-line\" dir=\"auto\" data-line=\"102\"><strong>DOCUMENTAZIONE IN FASE DI COMPLETAMENTO<\/strong> Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del plugin di inferenza QNN (Qualcomm Neural Network) su Leonardo XR, tra cui:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"103\"><li class=\"code-line\" dir=\"auto\" data-line=\"103\"><p>Preparazione e conversione del modello (formato ONNX \u2192 QNN).<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"103\"><p>Caricamento dei modelli in fase di esecuzione tramite API plugin.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"103\"><p>Esecuzione dell&#8217;inferenza sulla NPU con gestione dei tensori di input\/output.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"103\"><p>Gestione della memoria e ottimizzazione del throughput.<br \/>Debug e profilazione delle prestazioni dell&#8217;inferenza.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"103\"><p>Casi d&#8217;uso: rilevamento di oggetti, stima della posa, segmentazione in tempo reale.<\/p><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"110\">La documentazione dettagliata sar\u00e0 disponibile in una versione futura.<\/p><\/blockquote><h3 id=\"intercept-openxr-function--advanced-guide\" class=\"code-line\" dir=\"auto\" data-line=\"112\">Intercetta la funzione OpenXR &#8211; Guida avanzata<\/h3><blockquote class=\"code-line\" dir=\"auto\" data-line=\"114\"><p class=\"code-line\" dir=\"auto\" data-line=\"114\"><strong>DOCUMENTAZIONE IN FASE DI ELABORAZIONE<\/strong> Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del meccanismo Intercept OpenXR Function su Leonardo XR, tra cui:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"115\"><li class=\"code-line\" dir=\"auto\" data-line=\"115\"><p>Architettura del livello di intercettazione OpenXR.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"115\"><p>Registrazione di gestori personalizzati per specifiche funzioni OpenXR.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"115\"><p>Casi d&#8217;uso: override della pipeline di rendering, iniezione di dati personalizzati nel livello XR, debug di basso livello di OpenXR.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"115\"><p>Considerazioni su sicurezza e stabilit\u00e0.<\/p><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"115\"><p>Interazione con altri componenti dell&#8217;SDK LeonardoXR.<\/p><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"121\">Questa funzionalit\u00e0 \u00e8 pensata per gli sviluppatori con esperienza diretta delle API OpenXR di basso livello. La documentazione dettagliata sar\u00e0 disponibile in una versione futura.<\/p><\/blockquote><p dir=\"auto\" data-line=\"121\">\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Advanzo Avanzo \u2014 LeonardoXR SDK Avanzate Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 Questa sezione illustra le configurazioni e le funzionalit\u00e0 avanzate disponibili su Leonardo XR, suddivise tra funzionalit\u00e0 generali della piattaforma Snapdragon Spaces e funzionalit\u00e0 avanzate proprietarie di Leonardo XR. Avanzate \u2014 Snapdragon Spaces Aggiunta di un nuovo profilo di interazione Per utilizzare un profilo di interazione non incluso nel plugin Snapdragon Spaces: Vai a Project Settings &gt; XR Plug-in Management &gt; OpenXR (Android) &gt; Interaction Profiles. Aggiungi il profilo desiderato facendo clic sul pulsante +. Configura le azioni di input corrispondenti nell&#8217;asset di sistema di input. Controller personalizzato Descrive come creare un archivio controller Android personalizzato (.aar) utilizzando il pacchetto Controller personalizzato, ovvero il progetto Android Studio incluso nel pacchetto per sviluppatori. Panoramica del processo Apri il progetto Android Studio incluso nel pacchetto per sviluppatori di Snapdragon Spaces. Modifica l&#8217;Activity companion secondo necessit\u00e0 (layout, pulsanti, assi aggiuntivi). Compila il progetto per ottenere un file .aar. Importa il file .aar nel progetto Unity come plugin nativo Android (in Assets\/Plugins\/Android). Configura il manifest Android per dichiarare la nuova Activity. NOTA: L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di cache di Gradle. In caso di errori di compilazione, elimina la cartella Temp\/gradleOut e ricompila il progetto. Frequenza di aggiornamento del display The `XR_EXT_display_refresh_rate` extension allows querying and setting the display refresh rate at runtime. Interroga la frequenza di aggiornamento corrente using Qualcomm.Snapdragon.Spaces; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); float currentHz = baseRuntime.GetDisplayRefreshRate(); Debug.Log($&#8221;Current refresh rate: {currentHz} Hz&#8221;); Ottieni frequenze di aggiornamento supportate float[] supportedRates = baseRuntime.GetSupportedDisplayRefreshRates(); foreach (float rate in supportedRates) Debug.Log($&#8221;Supported: {rate} Hz&#8221;); Imposta la frequenza di aggiornamento baseRuntime.RequestDisplayRefreshRate(90.0f); NOTA: La frequenza di aggiornamento richiesta deve essere tra quelle restituite da GetSupportedDisplayRefreshRates(). I valori non supportati vengono ignorati. Prestazioni avanzate dei thread Android Il componente SpacesThreadUtility migliora la priorit\u00e0 di pianificazione dei thread su Android, producendo una temporizzazione dei frame pi\u00f9 coerente. Configurazione Aggiungi il componente SpacesThreadUtility a un GameObject persistente nella scena (ad esempio, lo stesso GameObject che ospita la sessione AR o l&#8217;origine XR). Non \u00e8 richiesta alcuna configurazione: si attiva automaticamente all&#8217;inizializzazione e agisce sui thread principali di Unity. Quando utilizzare Consigliato per tutte le applicazioni LeonardoXR che presentano fluttuazioni del frame rate o variabilit\u00e0 nella temporizzazione dei frame, soprattutto in scene con rendering intensivo o molti sottosistemi AR attivi. Impostazioni delle prestazioni L&#8217;estensione OpenXR XR_EXT_performance_settings espone suggerimenti sui livelli di prestazioni per CPU e GPU tramite un nuovo metodo su BaseRuntimeFeature. Level Description PowerSavings Reduces CPU\/GPU clocks to the minimum necessary. Useful for simple scenes or static UI. SustainedLow Sustained performance at a low level. SustainedHigh Sustained high-level performance. Recommended for most AR apps. Boost Maximum performance for short periods (not sustainably maintained). using Qualcomm.Snapdragon.Spaces; using UnityEngine.XR.OpenXR; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); baseRuntime.SetPerformanceLevel(PerformanceDomain.Cpu, PerformanceLevel.SustainedHigh); baseRuntime.SetPerformanceLevel(PerformanceDomain.Gpu, PerformanceLevel.SustainedHigh); NOTA: Il livello Boost consuma molta pi\u00f9 energia e, se utilizzato in modo continuativo, pu\u00f2 causare surriscaldamento e conseguente limitazione della potenza. Utilizzalo solo per operazioni critiche di breve durata (ad esempio, il caricamento di una scena complessa). Avanzato \u2014 LeonardoXR Plugin di inferenza QNN &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI COMPLETAMENTO Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del plugin di inferenza QNN (Qualcomm Neural Network) su Leonardo XR, tra cui: Preparazione e conversione del modello (formato ONNX \u2192 QNN). Caricamento dei modelli in fase di esecuzione tramite API plugin. Esecuzione dell&#8217;inferenza sulla NPU con gestione dei tensori di input\/output. Gestione della memoria e ottimizzazione del throughput.Debug e profilazione delle prestazioni dell&#8217;inferenza. Casi d&#8217;uso: rilevamento di oggetti, stima della posa, segmentazione in tempo reale. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. Intercetta la funzione OpenXR &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI ELABORAZIONE Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del meccanismo Intercept OpenXR Function su Leonardo XR, tra cui: Architettura del livello di intercettazione OpenXR. Registrazione di gestori personalizzati per specifiche funzioni OpenXR. Casi d&#8217;uso: override della pipeline di rendering, iniezione di dati personalizzati nel livello XR, debug di basso livello di OpenXR. Considerazioni su sicurezza e stabilit\u00e0. Interazione con altri componenti dell&#8217;SDK LeonardoXR. Questa funzionalit\u00e0 \u00e8 pensata per gli sviluppatori con esperienza diretta delle API OpenXR di basso livello. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. \u00a0<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1104","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Avanzato - Geckode!<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Avanzato - Geckode!\" \/>\n<meta property=\"og:description\" content=\"Advanzo Avanzo \u2014 LeonardoXR SDK Avanzate Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 Questa sezione illustra le configurazioni e le funzionalit\u00e0 avanzate disponibili su Leonardo XR, suddivise tra funzionalit\u00e0 generali della piattaforma Snapdragon Spaces e funzionalit\u00e0 avanzate proprietarie di Leonardo XR. Avanzate \u2014 Snapdragon Spaces Aggiunta di un nuovo profilo di interazione Per utilizzare un profilo di interazione non incluso nel plugin Snapdragon Spaces: Vai a Project Settings &gt; XR Plug-in Management &gt; OpenXR (Android) &gt; Interaction Profiles. Aggiungi il profilo desiderato facendo clic sul pulsante +. Configura le azioni di input corrispondenti nell&#8217;asset di sistema di input. Controller personalizzato Descrive come creare un archivio controller Android personalizzato (.aar) utilizzando il pacchetto Controller personalizzato, ovvero il progetto Android Studio incluso nel pacchetto per sviluppatori. Panoramica del processo Apri il progetto Android Studio incluso nel pacchetto per sviluppatori di Snapdragon Spaces. Modifica l&#8217;Activity companion secondo necessit\u00e0 (layout, pulsanti, assi aggiuntivi). Compila il progetto per ottenere un file .aar. Importa il file .aar nel progetto Unity come plugin nativo Android (in Assets\/Plugins\/Android). Configura il manifest Android per dichiarare la nuova Activity. NOTA: L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di cache di Gradle. In caso di errori di compilazione, elimina la cartella Temp\/gradleOut e ricompila il progetto. Frequenza di aggiornamento del display The `XR_EXT_display_refresh_rate` extension allows querying and setting the display refresh rate at runtime. Interroga la frequenza di aggiornamento corrente using Qualcomm.Snapdragon.Spaces; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); float currentHz = baseRuntime.GetDisplayRefreshRate(); Debug.Log($&quot;Current refresh rate: {currentHz} Hz&quot;); Ottieni frequenze di aggiornamento supportate float[] supportedRates = baseRuntime.GetSupportedDisplayRefreshRates(); foreach (float rate in supportedRates) Debug.Log($&quot;Supported: {rate} Hz&quot;); Imposta la frequenza di aggiornamento baseRuntime.RequestDisplayRefreshRate(90.0f); NOTA: La frequenza di aggiornamento richiesta deve essere tra quelle restituite da GetSupportedDisplayRefreshRates(). I valori non supportati vengono ignorati. Prestazioni avanzate dei thread Android Il componente SpacesThreadUtility migliora la priorit\u00e0 di pianificazione dei thread su Android, producendo una temporizzazione dei frame pi\u00f9 coerente. Configurazione Aggiungi il componente SpacesThreadUtility a un GameObject persistente nella scena (ad esempio, lo stesso GameObject che ospita la sessione AR o l&#8217;origine XR). Non \u00e8 richiesta alcuna configurazione: si attiva automaticamente all&#8217;inizializzazione e agisce sui thread principali di Unity. Quando utilizzare Consigliato per tutte le applicazioni LeonardoXR che presentano fluttuazioni del frame rate o variabilit\u00e0 nella temporizzazione dei frame, soprattutto in scene con rendering intensivo o molti sottosistemi AR attivi. Impostazioni delle prestazioni L&#8217;estensione OpenXR XR_EXT_performance_settings espone suggerimenti sui livelli di prestazioni per CPU e GPU tramite un nuovo metodo su BaseRuntimeFeature. Level Description PowerSavings Reduces CPU\/GPU clocks to the minimum necessary. Useful for simple scenes or static UI. SustainedLow Sustained performance at a low level. SustainedHigh Sustained high-level performance. Recommended for most AR apps. Boost Maximum performance for short periods (not sustainably maintained). using Qualcomm.Snapdragon.Spaces; using UnityEngine.XR.OpenXR; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); baseRuntime.SetPerformanceLevel(PerformanceDomain.Cpu, PerformanceLevel.SustainedHigh); baseRuntime.SetPerformanceLevel(PerformanceDomain.Gpu, PerformanceLevel.SustainedHigh); NOTA: Il livello Boost consuma molta pi\u00f9 energia e, se utilizzato in modo continuativo, pu\u00f2 causare surriscaldamento e conseguente limitazione della potenza. Utilizzalo solo per operazioni critiche di breve durata (ad esempio, il caricamento di una scena complessa). Avanzato \u2014 LeonardoXR Plugin di inferenza QNN &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI COMPLETAMENTO Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del plugin di inferenza QNN (Qualcomm Neural Network) su Leonardo XR, tra cui: Preparazione e conversione del modello (formato ONNX \u2192 QNN). Caricamento dei modelli in fase di esecuzione tramite API plugin. Esecuzione dell&#8217;inferenza sulla NPU con gestione dei tensori di input\/output. Gestione della memoria e ottimizzazione del throughput.Debug e profilazione delle prestazioni dell&#8217;inferenza. Casi d&#8217;uso: rilevamento di oggetti, stima della posa, segmentazione in tempo reale. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. Intercetta la funzione OpenXR &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI ELABORAZIONE Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del meccanismo Intercept OpenXR Function su Leonardo XR, tra cui: Architettura del livello di intercettazione OpenXR. Registrazione di gestori personalizzati per specifiche funzioni OpenXR. Casi d&#8217;uso: override della pipeline di rendering, iniezione di dati personalizzati nel livello XR, debug di basso livello di OpenXR. Considerazioni su sicurezza e stabilit\u00e0. Interazione con altri componenti dell&#8217;SDK LeonardoXR. Questa funzionalit\u00e0 \u00e8 pensata per gli sviluppatori con esperienza diretta delle API OpenXR di basso livello. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. \u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Geckode!\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-10T13:18:01+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\",\"name\":\"Avanzato - Geckode!\",\"isPartOf\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#website\"},\"datePublished\":\"2026-04-09T11:58:32+00:00\",\"dateModified\":\"2026-04-10T13:18:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.youbiquo.eu\/geckode\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Avanzato\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#website\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/\",\"name\":\"Geckode!\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.youbiquo.eu\/geckode\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#organization\",\"name\":\"Geckode!\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png\",\"contentUrl\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png\",\"width\":778,\"height\":778,\"caption\":\"Geckode!\"},\"image\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Avanzato - Geckode!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/","og_locale":"en_US","og_type":"article","og_title":"Avanzato - Geckode!","og_description":"Advanzo Avanzo \u2014 LeonardoXR SDK Avanzate Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 Questa sezione illustra le configurazioni e le funzionalit\u00e0 avanzate disponibili su Leonardo XR, suddivise tra funzionalit\u00e0 generali della piattaforma Snapdragon Spaces e funzionalit\u00e0 avanzate proprietarie di Leonardo XR. Avanzate \u2014 Snapdragon Spaces Aggiunta di un nuovo profilo di interazione Per utilizzare un profilo di interazione non incluso nel plugin Snapdragon Spaces: Vai a Project Settings &gt; XR Plug-in Management &gt; OpenXR (Android) &gt; Interaction Profiles. Aggiungi il profilo desiderato facendo clic sul pulsante +. Configura le azioni di input corrispondenti nell&#8217;asset di sistema di input. Controller personalizzato Descrive come creare un archivio controller Android personalizzato (.aar) utilizzando il pacchetto Controller personalizzato, ovvero il progetto Android Studio incluso nel pacchetto per sviluppatori. Panoramica del processo Apri il progetto Android Studio incluso nel pacchetto per sviluppatori di Snapdragon Spaces. Modifica l&#8217;Activity companion secondo necessit\u00e0 (layout, pulsanti, assi aggiuntivi). Compila il progetto per ottenere un file .aar. Importa il file .aar nel progetto Unity come plugin nativo Android (in Assets\/Plugins\/Android). Configura il manifest Android per dichiarare la nuova Activity. NOTA: L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di cache di Gradle. In caso di errori di compilazione, elimina la cartella Temp\/gradleOut e ricompila il progetto. Frequenza di aggiornamento del display The `XR_EXT_display_refresh_rate` extension allows querying and setting the display refresh rate at runtime. Interroga la frequenza di aggiornamento corrente using Qualcomm.Snapdragon.Spaces; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); float currentHz = baseRuntime.GetDisplayRefreshRate(); Debug.Log($\"Current refresh rate: {currentHz} Hz\"); Ottieni frequenze di aggiornamento supportate float[] supportedRates = baseRuntime.GetSupportedDisplayRefreshRates(); foreach (float rate in supportedRates) Debug.Log($\"Supported: {rate} Hz\"); Imposta la frequenza di aggiornamento baseRuntime.RequestDisplayRefreshRate(90.0f); NOTA: La frequenza di aggiornamento richiesta deve essere tra quelle restituite da GetSupportedDisplayRefreshRates(). I valori non supportati vengono ignorati. Prestazioni avanzate dei thread Android Il componente SpacesThreadUtility migliora la priorit\u00e0 di pianificazione dei thread su Android, producendo una temporizzazione dei frame pi\u00f9 coerente. Configurazione Aggiungi il componente SpacesThreadUtility a un GameObject persistente nella scena (ad esempio, lo stesso GameObject che ospita la sessione AR o l&#8217;origine XR). Non \u00e8 richiesta alcuna configurazione: si attiva automaticamente all&#8217;inizializzazione e agisce sui thread principali di Unity. Quando utilizzare Consigliato per tutte le applicazioni LeonardoXR che presentano fluttuazioni del frame rate o variabilit\u00e0 nella temporizzazione dei frame, soprattutto in scene con rendering intensivo o molti sottosistemi AR attivi. Impostazioni delle prestazioni L&#8217;estensione OpenXR XR_EXT_performance_settings espone suggerimenti sui livelli di prestazioni per CPU e GPU tramite un nuovo metodo su BaseRuntimeFeature. Level Description PowerSavings Reduces CPU\/GPU clocks to the minimum necessary. Useful for simple scenes or static UI. SustainedLow Sustained performance at a low level. SustainedHigh Sustained high-level performance. Recommended for most AR apps. Boost Maximum performance for short periods (not sustainably maintained). using Qualcomm.Snapdragon.Spaces; using UnityEngine.XR.OpenXR; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); baseRuntime.SetPerformanceLevel(PerformanceDomain.Cpu, PerformanceLevel.SustainedHigh); baseRuntime.SetPerformanceLevel(PerformanceDomain.Gpu, PerformanceLevel.SustainedHigh); NOTA: Il livello Boost consuma molta pi\u00f9 energia e, se utilizzato in modo continuativo, pu\u00f2 causare surriscaldamento e conseguente limitazione della potenza. Utilizzalo solo per operazioni critiche di breve durata (ad esempio, il caricamento di una scena complessa). Avanzato \u2014 LeonardoXR Plugin di inferenza QNN &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI COMPLETAMENTO Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del plugin di inferenza QNN (Qualcomm Neural Network) su Leonardo XR, tra cui: Preparazione e conversione del modello (formato ONNX \u2192 QNN). Caricamento dei modelli in fase di esecuzione tramite API plugin. Esecuzione dell&#8217;inferenza sulla NPU con gestione dei tensori di input\/output. Gestione della memoria e ottimizzazione del throughput.Debug e profilazione delle prestazioni dell&#8217;inferenza. Casi d&#8217;uso: rilevamento di oggetti, stima della posa, segmentazione in tempo reale. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. Intercetta la funzione OpenXR &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI ELABORAZIONE Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del meccanismo Intercept OpenXR Function su Leonardo XR, tra cui: Architettura del livello di intercettazione OpenXR. Registrazione di gestori personalizzati per specifiche funzioni OpenXR. Casi d&#8217;uso: override della pipeline di rendering, iniezione di dati personalizzati nel livello XR, debug di basso livello di OpenXR. Considerazioni su sicurezza e stabilit\u00e0. Interazione con altri componenti dell&#8217;SDK LeonardoXR. Questa funzionalit\u00e0 \u00e8 pensata per gli sviluppatori con esperienza diretta delle API OpenXR di basso livello. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. \u00a0","og_url":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/","og_site_name":"Geckode!","article_modified_time":"2026-04-10T13:18:01+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/","url":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/","name":"Avanzato - Geckode!","isPartOf":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#website"},"datePublished":"2026-04-09T11:58:32+00:00","dateModified":"2026-04-10T13:18:01+00:00","breadcrumb":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.youbiquo.eu\/geckode\/"},{"@type":"ListItem","position":2,"name":"Avanzato"}]},{"@type":"WebSite","@id":"https:\/\/www.youbiquo.eu\/geckode\/#website","url":"https:\/\/www.youbiquo.eu\/geckode\/","name":"Geckode!","description":"","publisher":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.youbiquo.eu\/geckode\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.youbiquo.eu\/geckode\/#organization","name":"Geckode!","url":"https:\/\/www.youbiquo.eu\/geckode\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/","url":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png","contentUrl":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png","width":778,"height":778,"caption":"Geckode!"},"image":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/comments?post=1104"}],"version-history":[{"count":11,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1104\/revisions"}],"predecessor-version":[{"id":1117,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1104\/revisions\/1117"}],"wp:attachment":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/media?parent=1104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}