The screens need one clock, one translation mechanism and one way to format and name, or each component grows its own. horloge.js is the only code that reads time and arms timers, injected so tests drive it. traduction.js keys texts by domain, in two families of tables, raises on a missing key and never shows a raw key; libelles/ splits the label table by domain. format.js formats numbers and dates in French, and personnes.js composes the displayed name the frozen labels use. Nothing persists between sessions. Checked: 1773 node and 43 browser tests. --- FR --- [ADD] application : horloge, traduction, mise en forme, nom affiché Les écrans exigent une horloge, un mécanisme de traduction et une façon de mettre en forme et de nommer, sans quoi chaque composant ferait les siens. horloge.js est le seul code qui lit l'heure et arme des minuteries, injecté pour que les épreuves le pilotent. traduction.js range les textes par domaine, en deux familles de tables, lève sur une clé absente et ne montre jamais une clé brute ; libelles/ découpe la table des libellés par domaine. format.js met en forme nombres et dates en français, et personnes.js compose le nom affiché qu'emploient les libellés figés. Rien ne persiste d'une séance à l'autre. Vérifié : 1773 node et 43 navigateur. Assisted-by: Claude Opus 5.5
9 lines
456 B
JavaScript
9 lines
456 B
JavaScript
// © 2026 TechnoLibre (http://www.technolibre.ca)
|
|
// License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
|
|
// Le registre des commandes du mobilier — tables, sièges, tours (§ 6, § 8.2),
|
|
// que commandes.js réunit aux autres. Ses imports n'atteignent jamais
|
|
// commandes.js : le registre réuni dépend de lui, non l'inverse.
|
|
|
|
/** @type {Map<string, (charge: Object, args: Object) => Object>} */
|
|
export const COMMANDES_MOBILIER = new Map();
|