cartesapp / cartes

L'appli Web de cartes grand public
https://cartes.app
GNU Affero General Public License v3.0
220 stars 25 forks source link

Panoramax : mauvaise orientation parfois affichée sur la carte #581

Open zorun opened 2 months ago

zorun commented 2 months ago

Il y a un bug sur l'orientation des photos affichée sur la carte, elle est parfois (mais pas toujours) à 180° par rapport à un visionnage direct sur Panoramax.

Exemple de décalage à 180° : https://cartes.app/?style=base&rue=oui&panoramax=06fcad20-c016-4624-bbd9-3e6a8678ceb0#19.32/47.2558744/-1.5383179

cartes-panoramax

Le pont visible (périphérique) est au nord, pas au sud.

La même photo sur Panoramax montre la bonne orientation : https://panoramax.openstreetmap.fr/#background=streets&focus=pic&map=18.84/47.2557609/-1.5389639&pic=a888eca0-97c0-4665-ada3-5c480745014b&speed=250&xyz=27.41/-8.05/30

panoramax-ok

zorun commented 2 months ago

Curieusement, j'ai l'impression que ce bug n'affecte pas toutes les photos d'une même séquence de la même façon :thinking:

Est-ce que l'orientation ne serait pas calculée au niveau de la séquence plutôt qu'au niveau de chaque photo ?

laem commented 2 months ago

Merci ! Voir https://gitlab.com/panoramax/clients/web-viewer/-/issues/150, ça devrait être facile à régler. J'avais bricolé un peu pour arriver à avoir l'orientation.

Peut-être aussi https://gitlab.com/panoramax/clients/web-viewer/-/issues/148

Jean-BaptisteC commented 3 weeks ago

Le problème est corrigé côté Panoramax, est ce que ce n'est pas intégré dans la dernière version ? J'ai toujours le problème sur la visionneuse depuis cartes.app

laem commented 3 weeks ago

J'ai fait une PR.

Pouvez-vous me dire si c'est mieux sur le lien de déploiement cartes-git-panoramax-angle-menoz.vercel.app ?

Outre ton exemple initial, voici un autre sur l'île de Versailles qui me semble mieux géré avec cette PR.

https://cartes-git-panoramax-angle-menoz.vercel.app/?style=base&rue=oui&panoramax=ec38b8de-c73d-49f6-83bf-01218c943a8c#17.39/47.227369/-1.551155

Pouvez-vous tester sur quelques autres endroits, voir s'il n'y a pas de régression ?

Merci :)

zorun commented 3 weeks ago

Effectivement l'orientation semble mieux.

Par contre la petite icône d'orientation laggue de fou : quand je change la vue de la photo, il faut plusieurs secondes pour que l'icône d'orientation se mette à jour (et ça me bouffe 200% de CPU)

laem commented 3 weeks ago

Ah oui merci du signalement, il y a un max de rendus non nécessaires à chaque déplacement d'orientation panoramax !

laem commented 3 weeks ago

Globablement c'est un gros sujet pour l'appli : je pensais que React Compiler allait éviter de nombreux re-rendus, mais pas tant en fait. Il faut être méticuleux.

laem commented 3 weeks ago

Je te laisse vérifier que c'est mieux pour ton processeur, j'ai mis en prod (1min30 de compilation)

zorun commented 3 weeks ago

C'est beaucoup plus fluide, merci ! En revanche c'est dommage que le marqueur d'orientation ne se mette à jour qu'à la fin de la rotation : si on fait une rotation continue, l'angle n'est pas mis à jour. Mais on ne peut pas tout avoir j'imagine :)

laem commented 3 weeks ago

Oui c'est la rustine temporaire que j'ai mise. Panoramax renvoie beaucoup trop d'événements pour chaque rotation, et mon architecture de passage des données entre composants n'est pas bonne.