v0.3.0
v0.3.0
Third release, a few weeks of work since v0.2.0: construction-composer
improvements, thermally informative pushes to Bonsai, and a self-service
refresh in the GUI (download + progress + cancellable).
New in the construction composer
- Replace any layer's material in one go: pencil button or double-click
on the material cell opens the chooser in replace mode — placeholder
("model material") layers convert to normal materialsdb layers, thickness
preserved. - Pushed constructions now enrich the model: the computed U-value is
written asThermalTransmittancein the matching
Pset_WallCommon/Pset_SlabCommon/Pset_RoofCommonpset of each
pushed type, computed per heat-flow direction (wall / floor / roof
Rsi/Rse per ISO 6946 / SIA 180). Re-sending updates the value in place.
Unresolved λ → the pset is simply skipped.
New in the GUI
- Refresh actually refreshes: the button now downloads newer producer
files from materialsdb.org (incremental, per the producers' version
stamps) before re-indexing the local store — fresh installs get a
populated list in one click. - Progress overlay with Cancel: the refresh runs as a background job;
the modal dialog shows the download progress (12/48 …) and can be
cancelled between downloads. Status and errors land in the status line
("cache update failed: …"), and the store is never wiped by a failed
run. - Notices:
- an empty materials list shows "No materials cached yet — click
Refresh …"; - a banner appears when materialsdb.org offers newer data (checked once
at server startup, and after each successful refresh).
- an empty materials list shows "No materials cached yet — click
Fixes & internals
- Fresh
pip installno longer shows a permanently empty list (the
refresh button used to ingest only already-cached files). - The refresh job can no longer wedge as "running" on unexpected errors;
a second refresh click while one is running answers
409 already runninginstead of queueing a mystery job. - Layer rows keep their DOM stable across selection clicks (double-click
target survives); the progress callback and update availability are
CI-covered (no network in tests).
Full changelog: v0.2.0...v0.3.0