Stancz · sketch 046 · maquettes fonctionnelles

Accessoires par formation — la version retenue, et les 3 pistes

Retenu : P1 + le panneau de scène. Dans le menu, chaque accessoire porte les 6 numéros de formation, aux couleurs de la timeline — un appui bascule. Sur la scène, un appui sur un accessoire ouvre un panneau ancré qui ne contient que l'échelle et la rotation. Les trois pistes P1-P3 restent consultables plus bas : même modèle de données, même scène 1000 × 600 cm, mêmes 6 formations de la démo.

Ce que fait le code aujourd'hui — le point de départ

La formation est figée à la pose PropsPanel.tsx:117 lit activeFormationId une fois et l'écrit dans prop.formationId. Rien ne le réécrit ensuite : impossible d'attribuer l'accessoire à une autre formation.
Le cadenas est tout ou rien prop-visibility.ts:24locked = les 6 formations, sinon une seule. Aucun état intermédiaire, donc pas de « sur les formations 2 et 3 ».
« Retirer » n'existe pas removeProp() supprime l'objet et ses réglages. Pour l'enlever d'une formation il faut le détruire, puis le refaire ailleurs.

★ La version retenue — P1 + panneau de scène

Deux endroits, deux rôles. Le menu règle la portée : les 6 numéros de formation, aux couleurs de la timeline (FORMATION_PALETTE), un appui bascule. Le rond de couleur ouvre les 12 teintes de l'app. Le « ⋯ » porte retirer et supprimer. La scène règle la forme : un appui sur un accessoire ouvre un panneau ancré sous lui, avec l'échelle et la rotation, rien d'autre. Il n'en couvre que 40 % et laisse l'objet dégagé, pour le voir grandir sous le doigt.

Ouvrir la version retenue ↗

Les 3 pistes comparées

P1 est la piste retenue. P2 et P3 restent ici pour mémoire. P4 = le panneau de scène seul.

PROPOSITION 1

Interrupteur par formation

Chaque accessoire porte les 6 numéros. Un appui bascule.

Ce que ça apporte

  • Tout sur un écran : la portée se lit et se change sans naviguer.
  • Aucun lieu nouveau à apprendre — la liste actuelle, avec une 2ᵉ ligne.
  • La plus proche du code existant.

Ce que ça coûte

  • 6 pastilles par rangée : au-delà de ~8 formations, ça défile.
  • Ne montre que ce qui est posé ici — l'ailleurs reste invisible.
  • Rangée de 86 px : moins d'accessoires à l'écran.
À choisir si tu travailles formation par formation, avec peu de formations.
Ouvrir en grand ↗
PROPOSITION 2

Bibliothèque du projet

Deux onglets : en scène ici, et ce qui existe dans le projet.

Ce que ça apporte

  • Retirer cesse de vouloir dire supprimer — c'est le cœur du problème.
  • Réutilise un accessoire déjà réglé au lieu d'en reposer un.
  • Rangées courtes : on en voit plus à l'écran.

Ce que ça coûte

  • Deux onglets à comprendre, un aller-retour pour ajouter.
  • Pas de vue d'ensemble : il faut lire chaque sous-titre.
  • Un mot nouveau à poser dans l'app : la bibliothèque.
À choisir si tes chorégraphies réutilisent les mêmes meubles d'une formation à l'autre.
Ouvrir en grand ↗
PROPOSITION 3

Matrice accessoires × formations

Lignes = accessoires, colonnes = formations. Une case, un appui.

Ce que ça apporte

  • Répond à « qu'est-ce qui est en scène au tableau 5 ? » sans y aller.
  • Le plan de plateau du spectacle entier sur un écran.
  • Corriger un oubli = un appui, sans navigation.

Ce que ça coûte

  • 6 colonnes tiennent à 390 px ; au-delà, défilement horizontal.
  • Les réglages ne tiennent pas dans une case : écran séparé obligatoire.
  • La plus éloignée de l'UI actuelle.
À choisir si tu montes des spectacles longs et vérifies la cohérence d'ensemble.
Ouvrir en grand ↗

Même coût côté code, pour les trois

StageProp.formationId (un seul id, figé à la pose) devient une liste de formations, et locked devient partout. Migration sans perte : un formationId seul devient une liste à un élément, un locked: true devient le marqueur « partout ». Les projets existants s'ouvrent à l'identique.

filterPropsForFormation() reste le seul point de filtrage des 4 rendus (2D, 3D, spectateur, export) : une fonction à changer, pas quatre.

Ma reco : P2 si tu réutilises les mêmes meubles d'une formation à l'autre, P3 si tu veux voir le plan de plateau entier. P1 est la plus proche de l'existant mais ne montre jamais ce qui vit ailleurs.

✓ Banc automatisé : 66/66 verts (gestes tactiles réels, contrôles positifs et négatifs)