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
28 lines
1.5 KiB
TypeScript
28 lines
1.5 KiB
TypeScript
import type { TableCoefficients } from '../../commun/coefficients.js';
|
||
import type { Autodiag, Contexte, Dimension, Option } from './types.js';
|
||
/**
|
||
* Calcule la valeur optimale du paramètre dimensionnant pour une typologie.
|
||
*
|
||
* Particularité ballon_tampon (th_ballon_500) :
|
||
* - unite BDD = "forfait" (contrainte schéma NocoDB)
|
||
* - prix_par_unite = 1.2 EUR/L
|
||
* - parametre_dim.unite = "L" (source de vérité pour l'affichage et le calcul)
|
||
* → L'algo utilise toujours parametre_dim.unite quand présent, sinon fallback option.unite
|
||
*/
|
||
export declare function dimension_optimale(typo: Option, inputs: Partial<Autodiag>, contexte_derived: Partial<Contexte>, coefficients: TableCoefficients): Dimension | null;
|
||
/**
|
||
* Calcule le coût HT d'une typologie pour une dimension donnée.
|
||
*
|
||
* Hiérarchie des prix (3 cas BDD) :
|
||
* 1. prix_fixe + prix_par_unite × dim.valeur (V2 enrichi, ex: cuve béton, PV)
|
||
* 2. prix_par_unite × dim.valeur seul (ex: th_ballon_500)
|
||
* 3. prix_mat_min + pose si pro requis (forfaits legacy sans parametre_dim enrichi)
|
||
*
|
||
* Pour les postes pro (complexite_pose=3) et temps_dispo < 3, ajouter prix_pro_min.
|
||
* Fallback final : (prix_mat_min + prix_mat_max) / 2
|
||
*
|
||
* Les prix sont des DONNÉES de l'option (publiées par calculs) ; la seule
|
||
* heuristique du code est « pose pro = 50 % du matériel si prix_pro absent ».
|
||
*/
|
||
export declare function cout_typologie(typo: Option, dim_result: Dimension | null | undefined, inputs?: Partial<Autodiag> | null): number;
|