Future Idea Comments

This commit is contained in:
fraxle
2026-05-18 20:38:19 +01:00
parent 9e810e2f8d
commit 31233c713f
4 changed files with 341 additions and 0 deletions
+52
View File
@@ -292,6 +292,41 @@ export function calcVehicleInteriorTemp(Ta, globalRad, solElev, vehicleType = 'c
return Math.max(Ta, Math.min(Ti, 90));
}
// ── FUTURE FEATURE v2: Pets Profile — Fur Temperature & Heat Stress ──────────
// Dogs and cats experience heat very differently from humans:
//
// FUR SURFACE TEMPERATURE
// Dark/thick fur absorbs solar radiation and can run significantly hotter
// than air temperature — similar in principle to calcConcreteTemp() but
// with fur-specific albedo values:
// Black fur: albedo ~0.05 (almost all radiation absorbed)
// Brown fur: albedo ~0.15
// Golden fur: albedo ~0.25
// White fur: albedo ~0.40
// Add a calcFurSurfaceTemp(Ta, globalRad, windSpeed, furAlbedo) function
// mirroring calcConcreteTemp but with appropriate convective coefficients
// for fur (lower hc than concrete — fur insulates).
//
// PAW BURN RISK
// Paw pads are highly sensitive to surface temperature. Use calcConcreteTemp()
// output directly — the existing concrete surface temp is already the right
// number. Threshold guidance:
// < 40 °C — safe
// 4052 °C — discomfort / possible burn (hold-your-hand-for-7-seconds test)
// > 52 °C — burns within 60 seconds
// Display as a simple traffic-light column in the Pets profile.
//
// BREED-SPECIFIC HEAT STRESS
// Brachycephalic breeds (Bulldogs, Pugs, French Bulldogs, Persians) have
// severely impaired thermoregulation — their safe UTCI ceiling is much lower.
// A breed selector (Normal / Brachycephalic / Senior) applies a risk multiplier
// to the UTCI thresholds, similar to the planned activity modifier.
//
// SUGGESTED COLUMNS FOR PETS PROFILE
// Hour | Air Temp | UTCI+P | Fur Surface Temp | Paw Burn Risk | Shade Advised
//
// ─────────────────────────────────────────────────────────────────────────────
// ── FUTURE FEATURE: Vehicle-at-speed thermal model ────────────────────────────
// Idea: extend calcVehicleInteriorTemp (or add a companion function) to model
// cabin temperature for a vehicle travelling at speed, not just parked.
@@ -314,6 +349,23 @@ export function calcVehicleInteriorTemp(Ta, globalRad, solElev, vehicleType = 'c
//
// This would be a useful companion output column (e.g. "Vehicle (moving)")
// for road-trip planning, dog-in-car safety at a rest stop vs. motorway, etc.
//
// ── CYCLIST AT SPEED (companion to the above) ────────────────────────────────
// A cyclist generates their own headwind, so the felt temperature (UTCI) is
// very different from a stationary person — even without ambient wind.
// Could share the same speed-class approach as the vehicle model:
// Slow (10 mph) / Moderate (15 mph) / Fast (25 mph)
//
// Key differences from the vehicle model:
// • The cyclist IS the exposed person — use the UTCI polynomial directly
// with va = max(ambientWind, cyclingSpeed * conversionFactor)
// • No cabin heating effect — the cyclist gets wind chill, not solar entrapment
// • High metabolic heat generation raises core temp (links to the activity
// modifier planned in compute.js — cycling at speed is a combined effect)
// • UVA/UVB exposure is unchanged — still fully exposed to the sun
//
// Could be a sub-option within the existing Cycling activity variant rather
// than a separate column — e.g. a speed picker in the variant controls.
// ─────────────────────────────────────────────────────────────────────────────
// ═══════════════════════════════════════════════════════════════════