LOT P1.0 : paquet @transformer/moteurs v0.1.0
Extraction du cœur autonomie de calculs.trans-former.fr (12 modules, sans singleton, couplages sans mutation, console derrière debug), découpage en trois moteurs d'axe + intégrateur (mode global = calculs, mode par_axe = plateforme), moteurs commun.contexte (Corse 2A/2B, DOM 97x corrigés) et commun.geometrie, table des coefficients harmonisés (docs/CONSTANTES.md pour Jules, R-7), validation structurelle des données (schemas/), tests hors ligne : 28 assertions d'origine + épingle générée depuis le code d'astro-pro + écarts d'harmonisation figés + contrat des moteurs. dist/ committé. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019UBHYPdeQYy2m1GVJp6b12
This commit is contained in:
Vendored
+29
@@ -0,0 +1,29 @@
|
||||
import type { FourchetteOuverte } from '../commun/argent.js';
|
||||
import type { Option } from './noyau/types.js';
|
||||
export type ModePose = 'auto' | 'pro';
|
||||
export interface PrixOption extends FourchetteOuverte {
|
||||
/** Vrai si le mode pro est demandé mais que l'option n'a pas de prix pro. */
|
||||
autoOnly: boolean;
|
||||
}
|
||||
export interface Preset {
|
||||
Id: number;
|
||||
axe: string;
|
||||
niveau: string;
|
||||
actif?: boolean | null;
|
||||
[autre: string]: unknown;
|
||||
}
|
||||
export interface PresetOption {
|
||||
preset_id: number;
|
||||
option_id: number;
|
||||
quantite?: number | null;
|
||||
[autre: string]: unknown;
|
||||
}
|
||||
/** Fourchette d'une option × quantité : colonnes prix_mat_* (auto-pose) ou prix_pro_* (faire poser). */
|
||||
export declare function prixOption(opt: Option, qty: number | null | undefined, pose: ModePose): PrixOption;
|
||||
/** Prix total d'un preset (somme de ses options × quantités) pour un mode de pose. */
|
||||
export declare function prixPreset(preset: Preset, presetOptions: PresetOption[], optionsById: Record<number, Option>, pose: ModePose): {
|
||||
min: number;
|
||||
max: number;
|
||||
};
|
||||
/** Niveau de preset (light/standard/complet) dont le prix médian est le plus proche du montant cible, pour un axe (code BDD). */
|
||||
export declare function presetLePlusProche(cible: number, axe_bdd: string, presets: Preset[], presetOptions: PresetOption[], optionsById: Record<number, Option>, pose: ModePose): string;
|
||||
Reference in New Issue
Block a user