Entropyk/_bmad-output/implementation-artifacts/11-11-vendor-backend-trait.md

1.7 KiB

Story 11.11: VendorBackend Trait

Epic: 11 - Advanced HVAC Components
Priorité: P1-HIGH
Estimation: 4h
Statut: backlog
Dépendances: Aucune


Story

En tant que développeur librairie,
Je veux un trait VendorBackend,
Afin de pouvoir charger les données de plusieurs fournisseurs.


Contexte

Les fabricants (Copeland, Danfoss, SWEP, Bitzer) fournissent des données pour:

  • Coefficients compresseurs (AHRI 540)
  • Paramètres géométriques et UA des échangeurs

Trait VendorBackend

pub trait VendorBackend: Send + Sync {
    fn vendor_name(&self) -> &str;
    
    fn list_compressor_models(&self) -> Result<Vec<String>, VendorError>;
    fn get_compressor_coefficients(&self, model: &str) -> Result<CompressorCoefficients, VendorError>;
    
    fn list_bphx_models(&self) -> Result<Vec<String>, VendorError>;
    fn get_bphx_parameters(&self, model: &str) -> Result<BphxParameters, VendorError>;
    
    fn compute_ua(&self, model: &str, params: &UaCalcParams) -> Result<f64, VendorError>;
}

Architecture

entropyk-vendors/
├── Cargo.toml
├── data/
│   ├── copeland/
│   ├── danfoss/
│   ├── swep/
│   └── bitzer/
└── src/
    ├── lib.rs
    ├── vendor_api.rs
    └── compressors/

Critères d'Acceptation

  • Trait VendorBackend défini
  • CompressorCoefficients struct (10 coeffs AHRI)
  • BphxParameters struct (geometry, UA)
  • VendorError enum
  • Crate entropyk-vendors créé

Références