gestion_table_tournante_libre/src/application
Mathieu Benoit 156851e043 [IMP] proposal evaluation: cached per frozen charge, validated once
The Génération and Propositions tabs re-evaluated every proposal on each
visit, about 1 ms per proposal, with no bound on how many accumulate.
The evaluation table is now kept per frozen event charge, which every
write replaces, and both tabs share it. Each placement is validated once
instead of three times; the public derive and planDepuisFichier still
validate, and a guard keeps the unchecked variants to evaluer alone.
At 200 proposals: Génération 214 to 17 ms on revisit, Propositions 310
to 118 ms. Checked: results deep-equal; node 4019, browser 873.

--- FR ---

[IMP] évaluation des propositions : gardée par charge, validée une fois

Les onglets Génération et Propositions réévaluaient toutes les
propositions à chaque visite, environ 1 ms chacune, sans borne sur leur
nombre. La table d'évaluation se garde par charge figée, qu'une écriture
remplace, et les deux onglets la partagent. Chaque placement se valide
une fois au lieu de trois ; derive et planDepuisFichier publics valident
toujours, une garde réserve les variantes sans contrôle à evaluer.
À 200 propositions : Génération 214 → 17 ms au retour, Propositions
310 → 118 ms. Vérifié : résultats identiques ; node 4019, nav. 873.

Assisted-by: Claude Opus 5.5
2026-10-11 03:43:47 -04:00
..
libelles [FIX] local settings: an unreadable or unwritable file no longer blocks 2026-10-10 20:20:04 -04:00
avertissements.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
avertissements.test.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
bilans.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
bilans.test.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
capacite.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
capacite.test.js [FIX] iteration 3 review: seat targets, gestures, warnings, settings 2026-10-07 17:50:35 -04:00
commandes.js [ADD] outputs: dated placement, draft rule, page footer, machine paper 2026-10-09 04:50:31 -04:00
commandes.test.js [ADD] outputs: dated placement, draft rule, page footer, machine paper 2026-10-09 04:50:31 -04:00
commandes_mobilier.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
commandes_mobilier.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
commandes_places.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
commandes_places.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
conflits_placement.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
conflits_placement.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
csv.js [ADD] interface: event list, open event, participants, import, plan 2026-10-07 08:12:27 -04:00
csv.test.js [ADD] interface: event list, open event, participants, import, plan 2026-10-07 08:12:27 -04:00
diagnostic.js [ADD] interface: diagnostic — what a configuration makes unavoidable 2026-10-07 09:41:51 -04:00
diagnostic.test.js [ADD] interface: diagnostic — what a configuration makes unavoidable 2026-10-07 09:41:51 -04:00
erreurs.js [ADD] application: clock, translation, formatting, displayed name 2026-10-07 02:33:39 -04:00
evaluation.js [IMP] proposal evaluation: cached per frozen charge, validated once 2026-10-11 03:43:47 -04:00
evaluation.test.js [IMP] proposal evaluation: cached per frozen charge, validated once 2026-10-11 03:43:47 -04:00
evenements.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
evenements.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
executeur_travailleur.js [ADD] generation: a pool of workers over the CPUs, cores setting 2026-10-08 04:35:21 -04:00
executeur_travailleur.test.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
format.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
format.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
generation.js [IMP] generation: duration estimate counts the slowdown of busy cores 2026-10-09 15:28:49 -04:00
generation.test.js [IMP] generation: duration estimate counts the slowdown of busy cores 2026-10-09 15:28:49 -04:00
generation_travailleur.js [ADD] generation: a pool of workers over the CPUs, cores setting 2026-10-08 04:35:21 -04:00
generation_travailleur.test.js [ADD] generation: a pool of workers over the CPUs, cores setting 2026-10-08 04:35:21 -04:00
horloge.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
horloge.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
integration.test.js [ADD] application: end-to-end test of the operator's path 2026-10-06 23:40:46 -04:00
libelles.js [ADD] badges: sheet model from the retained plan or a chosen proposal 2026-10-09 13:03:04 -04:00
libelles.test.js [FIX] local settings: an unreadable or unwritable file no longer blocks 2026-10-10 20:20:04 -04:00
listes_travail.js [ADD] application: observable session, events facade, places and seats 2026-10-07 04:14:24 -04:00
listes_travail.test.js [ADD] application: observable session, events facade, places and seats 2026-10-07 04:14:24 -04:00
personnes.js [ADD] application: clock, translation, formatting, displayed name 2026-10-07 02:33:39 -04:00
personnes.test.js [ADD] application: clock, translation, formatting, displayed name 2026-10-07 02:33:39 -04:00
places.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
places.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
planche.js [FIX] badges: injective sheet file names, a reissue never overwrites 2026-10-10 20:09:25 -04:00
planche.test.js [FIX] badges: injective sheet file names, a reissue never overwrites 2026-10-10 20:09:25 -04:00
planche_seance.js [FIX] badges: injective sheet file names, a reissue never overwrites 2026-10-10 20:09:25 -04:00
planche_seance.test.js [FIX] badges: injective sheet file names, a reissue never overwrites 2026-10-10 20:09:25 -04:00
pose.js [ADD] application: observable session, events facade, places and seats 2026-10-07 04:14:24 -04:00
pose.test.js [ADD] application: observable session, events facade, places and seats 2026-10-07 04:14:24 -04:00
registre.test.js [ADD] home: retained plan's collisions and redundancy gap per event 2026-10-08 05:35:48 -04:00
seance.js [FIX] local settings: an unreadable or unwritable file no longer blocks 2026-10-10 20:20:04 -04:00
seance.test.js [IMP] proposal evaluation: cached per frozen charge, validated once 2026-10-11 03:43:47 -04:00
sorties.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
sorties.test.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
traduction.js [ADD] application: clock, translation, formatting, displayed name 2026-10-07 02:33:39 -04:00
traduction.test.js [ADD] application: clock, translation, formatting, displayed name 2026-10-07 02:33:39 -04:00
version.js [ADD] outputs: dated placement, draft rule, page footer, machine paper 2026-10-09 04:50:31 -04:00
version.test.js [ADD] outputs: dated placement, draft rule, page footer, machine paper 2026-10-09 04:50:31 -04:00