Added pets profile
This commit is contained in:
Fraxle
2026-07-09 16:04:55 +01:00
parent e4bdfb88c3
commit aee039ad61
6 changed files with 226 additions and 64 deletions
+28
View File
@@ -14,6 +14,8 @@
// burnLabel(mins) formats burn time as "12m" / "1.5h"
// VEHICLE_TYPES vehicle presets for cabin heat model
// BUILDING_TYPES building presets for indoor heat model
// FUR_COLORS fur presets for the fur surface temp model
// pawBurnRiskLabel(concreteT) - 'Safe'|'Caution'|'Danger' paw contact risk
// cloudCategory(total,low,mid,high) - 'clear'|'wispy'|'scattered'|'overcast'
// confidenceBand(i) day-tab gradient colour + label
// moonPhaseFraction(date) 0..1 synodic phase fraction
@@ -232,6 +234,32 @@ export const BUILDING_TYPES = {
office: { name: 'Office Block', uWall: 0.25, lagHours: 2, glazingRatio: 0.45, gValue: 0.55, orientFactor: 0.65, curtainBlock: 0.50, ventAlpha: 0.15, solarScale: 0.055, baseTemp: 18.5, internalGain: 2.5, retainedScale: 0.30 },
};
// -------------------------------------------------------------------
// FUR COLORS - presets for the fur surface temperature model (Pets profile).
// -------------------------------------------------------------------
// albedo - how much solar radiation the coat reflects (0 = absorbs almost
// all of it, 1 = reflects almost all of it). Feeds calcFurSurfaceTemp.
// -------------------------------------------------------------------
export const FUR_COLORS = {
black: { name: 'Black / Dark', albedo: 0.05 },
brown: { name: 'Brown / Tabby', albedo: 0.15 },
golden: { name: 'Golden / Tan', albedo: 0.25 },
white: { name: 'White / Pale', albedo: 0.40 },
};
// -------------------------------------------------------------------
// PAW BURN RISK - traffic-light label from ground/pavement surface temp.
// -------------------------------------------------------------------
// Uses concreteT directly - the "7-second hand test" pavement-burn
// guidance already documented on calcConcreteTemp in physics.js.
// -------------------------------------------------------------------
export function pawBurnRiskLabel(concreteT) {
if (concreteT == null) return null;
if (concreteT < 40) return 'Safe';
if (concreteT < 52) return 'Caution';
return 'Danger';
}
// -------------------------------------------------------------------
// CLOUD CATEGORY - pick one of 4 icon styles from low/mid/high split.
// -------------------------------------------------------------------