Skip to content

G1: importa l'organico da una riga o da una tabella (anteprima, Annulla, dati personali mai letti) - #86

Merged
castelsim merged 4 commits into
mainfrom
import-organico-13-11
Nov 13, 2026
Merged

castelsim merged 4 commits into
mainfrom
import-organico-13-11

Conversation

@castelsim

Copy link
Copy Markdown
Owner

G1 · Importa l'organico (foglio organico fase 2)

Si incolla una riga o una tabella, si guarda l'anteprima, e solo dopo si creano i posti con lo stesso generatore dell'organico orchestra (ORCH_DEF). «Annulla» (nel messaggio o ⌘Z) rimette il palco identico a prima.

Come si apre: ricerca del catalogo → «importa organico» (o «incolla», «excel»). Niente voce nel menu File: il test del menu essenziale (tetto di sette voci, decisione di Simone) resta com'è.

Cosa legge

  • riga in linea: cr4-tr2-trb3-tu1; fl2-o2-cl2-fg2, anche «2 flauti, 4 corni», «cor 4 tr 2», strumento senza numero = 1
  • formula archi coi trattini o coi punti: 12-12-6-6-4 (violini I · II · viole · celli · bassi; con 4 numeri il contrabbasso non c'è)
  • tabella «sezione, strumento, n.» in CSV, con ;, con tabulazioni (copiata da Excel), con o senza intestazione; «Flauto/Ottavino» = flauto
  • varianti Completo · Medio · Ridotto: colonne dell'intestazione, oppure righe Ridotto: 6-5-4-3-2; fl1; nell'anteprima si sceglie quale disegnare (nessuna scena nuova: scelta di sicurezza, vedi sotto)

Dati personali (C3-12): si leggono solo sezione, strumento, quantità. Celle con @, IBAN, telefoni, «contratto», «cachet», «CV», «sostituto», «nominativo» si saltano cella per cella e si contano («N dati personali saltati, non letti»); le righe non riconosciute si elencano per numero di riga, mai col contenuto. Niente va nel documento (nessun campo nuovo), niente in rete, niente in localStorage.

Avvisi

  • anteprima: colonna «Ora sul palco» per le sezioni che il foglio Organico sa contare; se il palco ha già posti di quelle sezioni e non si svuota, lo dice
  • dopo la creazione, se il disegno non coincide col dichiarato: «dichiarato ≠ disegnato: Violini I: 12 dichiarati, 14 disegnati»
  • se il generatore prevede sovrapposizioni o il palco è piccolo, passa dall'avviso già esistente («Continua» / «Rivedi organico», che qui torna al dialogo) prima di creare qualsiasi posto
  • sezioni che il generatore non ha (sax, voci…): elencate come «Non riconosciuti», mai sparite in silenzio; tetto 40 per sezione, detto

Scelte prudenti (non erano nel piano)

  • «Svuota il palco» e «Adatta il palco» spente di serie: di default i posti si aggiungono dietro a ciò che c'è, e l'anteprima lo avverte
  • varianti Completo/Medio/Ridotto = scelta di quale colonna disegnare, non tre scene (tre scene = fase 2)
  • stato del posto (confermato/in attesa), ruolo e «nessun nome» non importati: il generatore non ha dove metterli (fase 2)
  • placeOut ha ora una callback pendingDopo (per il messaggio con «Annulla», anche dopo «Continua») e non va in errore se il modale d'origine non esiste; per tutti gli altri chiamanti il comportamento è invariato
  • documenti esistenti invariati: il PDF «Organico» di Valdagno v2 è identico su main e su questo ramo

Prove

  • motori 2128 verdi (23 per l'import), Orchestre 124, collaudo 30/30 senza --aggiorna, build --check ok
  • mutazioni STAGEPLOT/note/mutazioni_G1_import_organico.py: 51 rosse; una viva equivalente (excel è già nel sottotitolo della voce)
  • browser vero (Playwright, rete bloccata): ricerca → dialogo → anteprima → Crea → avviso → Annulla = stato identico (note/prove_browser_2026-11-11/impOrg.mjs)
  • copia di Valdagno v2 (in memoria, nessuna scrittura): 40 → 60 posti, formula 12-12-6-6-4, «Annulla» ripristina esattamente; PDF in STAGEPLOT/anteprime-import-organico-2026-11-13/
  • il test ha un filtro SOLO="testo" node test/engines.test.mjs (0,3 s) per le mutazioni

🤖 Generated with Claude Code

simone castellan and others added 4 commits November 13, 2026 17:11
…n anteprima, Annulla e avviso dichiarato ≠ disegnato

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Af3zn6cc7amdXS4Ug37MGs
…riconosciute, avviso prima dei posti); filtro SOLO nei test

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Af3zn6cc7amdXS4Ug37MGs
…ltro dei dati personali; test sui messaggi e sugli avvisi

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Af3zn6cc7amdXS4Ug37MGs
@castelsim
castelsim merged commit 96ee839 into main Nov 13, 2026
1 check passed
castelsim pushed a commit that referenced this pull request Nov 13, 2026
… e G3 tenuti entrambi

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Af3zn6cc7amdXS4Ug37MGs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant