The science
Comfort map. Each species has a preferred temperature T* and humidity RH*. Comfort is the product of two Gaussians: c = exp(-½((T-T*)/σT)²)·exp(-½((RH-RH*)/σRH)²). The rings on the map are the c = 0.5 contours (an ellipse with half-widths 1.177σ). Click or drag on the map to move the set-point.
Climate control. The glass box relaxes towards the set-point (Newton's law of cooling): dT/dt = (Tset-T)/τ, so T(t)=Tset+(T0-Tset)e-t/τ (τT=1.2 d, τRH=0.9 d).
Phase line. Population follows dN/dt = r·c·N(1-N/K) - d(1-c)N with K = 6 and d = 0.25 per day. Plotting dN/dt against N shows the fixed points: N = 0 and N* = K(1 - d(1-c)/(r·c)). Where the curve crosses zero going downward, the equilibrium is stable (arrows point towards it). If r·c ≤ d(1-c) the colony declines to extinction.
Prediction. With a constant comfort the exact solution is logistic with rate a = r·c - d(1-c): N(t) = aN0eat/(a + b N0(eat-1)), b = rc/K. The dashed curve on the time plot is this prediction from the current state. Happiness relaxes to comfort, dh/dt=(c-h)/1.5 d.
Simplifications. N is continuous; one species per habitat; no age structure or noise; the preferred values are invented for imaginary creatures. The physics module is a verbatim copy of the 3D version, so both give identical numbers.