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
38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
import type { Moteur } from './contrat.js';
|
||
import { type TableCoefficients } from './coefficients.js';
|
||
export interface EntreesGeometrie {
|
||
/** Emprise au sol du bâti (m²). */
|
||
emprise_m2: number;
|
||
/** Nombre de niveaux habitables (1 = plain-pied). */
|
||
niveaux?: number;
|
||
/** Hauteur totale du bâti hors combles (m) ; sinon niveaux × hauteur d'étage par défaut. */
|
||
hauteur_m?: number;
|
||
/** Pente du toit (degrés) ; sinon pente par défaut. */
|
||
pente_toit_deg?: number;
|
||
/** Côtés mitoyens (0, 1 ou 2). */
|
||
mitoyennete?: 0 | 1 | 2;
|
||
/** Surface habitable connue (DPE, acte) : remplace l'estimation. */
|
||
surface_habitable_m2?: number;
|
||
}
|
||
export interface DonneesGeometrie {
|
||
coefficients?: TableCoefficients;
|
||
}
|
||
export interface SortiesGeometrie {
|
||
/** Surface habitable, connue ou estimée (m²). */
|
||
shab_m2: number;
|
||
shab_estimee: boolean;
|
||
perimetre_m: number;
|
||
/** Périmètre exposé après retrait des côtés mitoyens (m). */
|
||
perimetre_expose_m: number;
|
||
murs_exterieurs_m2: number;
|
||
murs_opaques_m2: number;
|
||
vitrage_m2: number;
|
||
toiture_m2: number;
|
||
plancher_bas_m2: number;
|
||
volume_m3: number;
|
||
hauteur_m: number;
|
||
hauteur_etage_m: number;
|
||
}
|
||
export declare function calculeGeometrie(entrees: EntreesGeometrie, coefficients?: TableCoefficients): import("./contrat.js").Resultat<SortiesGeometrie>;
|
||
export declare const geometrie: Moteur<EntreesGeometrie, DonneesGeometrie, SortiesGeometrie>;
|