From dfba8e7897303c25e7db101e0b7cc5aeaaabfeb3 Mon Sep 17 00:00:00 2001 From: Nicolas Fryder Date: Fri, 10 Jul 2026 18:50:25 +0200 Subject: [PATCH] Reorganise le formulaire de run selon les roles Ceil/Ground de CloudCompare Regroupe chaque nuage avec son role dans le calcul de volume (Ceil = surface superieure, Ground = plan Z constant ou second nuage), cote a cote comme dans la boite de dialogue "Compute Volume" du GUI, au lieu d'un unique bloc de parametres partages en dessous des deux fichiers. La hauteur de reference Z (mode plan constant) est deplacee dans le panneau Ground plutot que noyee dans les parametres avances. Garde les reglages de grille/remplissage (grid step, empty fill, cell height, direction) dans une section UNIQUE et partagee : cote CLI CloudCompare (-PROJ/-EMPTY_FILL/-VERT_DIR), ce sont des reglages appliques a toute la grille, pas un parametre par nuage - les dupliquer par role induirait en erreur sur ce que le backend supporte reellement. Ajoute un tooltip (title) sur chaque champ expliquant sa correspondance avec le flag CLI CloudCompare concerne, et des labels reprenant la terminologie du GUI (Ceil/Ground, Fill empty cells with, Cell height...). Verifie que toutes les options exposees correspondent a des flags CLI CloudCompare reellement supportes par le backend (aucune option inventee). Co-Authored-By: Claude Sonnet 5 --- public/app.js | 115 +++++++++++++++++++++++++++++--------------------- 1 file changed, 68 insertions(+), 47 deletions(-) diff --git a/public/app.js b/public/app.js index 0233a84..9d60956 100644 --- a/public/app.js +++ b/public/app.js @@ -110,101 +110,124 @@ async function deleteRun(id) { } // ---------------- Nouveau run ---------------- +// Layout inspire de la boite de dialogue "Compute Volume" de CloudCompare : les nuages sont +// presentes selon leurs 2 roles dans le calcul (Ceil = surface superieure, Ground = reference +// inferieure - un plan Z constant ou un second nuage), cote a cote comme dans le GUI CC. A la +// difference de CC (qui liste les nuages deja charges dans des combobox), on utilise des boutons +// de selection de fichier puisque l'app fonctionne par upload. Les parametres de grille/ +// remplissage restent dans UNE section partagee : cote CLI CloudCompare, -PROJ/-EMPTY_FILL/ +// -VERT_DIR sont des reglages uniques appliques a toute la grille (pas un reglage par nuage, +// verifie dans les sources - voir CLAUDE.md), donc les dupliquer par role induirait en erreur. function renderNew() { + const tip = (text) => `title="${text.replace(/"/g, '"')}"`; + app.innerHTML = `

Nouveau run

-
+
-
-
-
- - -

Le volume est calcule entre le nuage et un plan horizontal (altitude min par defaut).

+
+
+
+

Ceil (surface superieure)

+ + +

.las, .laz, .copc.laz ou .bin

+
+
+

Ground (plan de reference)

+ + +
+
-