Skip to main content

max / quasi

Say how a meter describes live progress rather than refusing it The Meter header ruled out the progress of an operation on the grounds that a screen is described once per answer. Runtime::reload removed that grounds: each answer still states a static proportion and the host asks again, so an export reporting files written is a meter. Doc only. The type was already right, and audiofiles' export port had already been written against the reading this now states.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-08-23 20:50 UTC
Signed with PGP, not checked
Commit: 4785c13b7ed4854befd2bf5e93bf80595e0f3d5e
Parent: 8d9977f
1 file changed, +13 insertions, -4 deletions
@@ -1213,10 +1213,19 @@
1213 1213 /// gives: a bar that is full because it landed exactly and one that is full
1214 1214 /// because it ran over are the same width and not the same fact.
1215 1215 ///
1216 - /// This is a proportion of a set and not the progress of an operation. A running
1217 - /// timer or a fetch is imperative and live, and a screen is described once per
1218 - /// answer; [`layout::Readiness::Pending`] and a [`layout::Notice::Toast`] are
1219 - /// what those get.
1216 + /// This carries a proportion of a set, which is a static fact: files written of
1217 + /// files to write, subtasks done of subtasks. What one answer never carries is
1218 + /// motion, and that is the whole of the restriction. A meter does not tick.
1219 + ///
1220 + /// Live progress is described by re-answering. Each answer states the
1221 + /// proportion as it stood when the route was asked, and the host asks again
1222 + /// through its runtime's `reload`, which is where the cadence belongs: how
1223 + /// often a fact goes stale is a property of the app holding it. So an export
1224 + /// reporting files written is a meter, re-answered, rather than something a
1225 + /// description was refusing.
1226 + ///
1227 + /// What still has no proportion to state gets [`layout::Readiness::Pending`],
1228 + /// and what has finished and wants saying gets a [`layout::Notice::Toast`].
1220 1229 #[derive(Debug, Clone, PartialEq, Eq, Hash)]
1221 1230 pub struct Meter {
1222 1231 /// How much is done. May exceed [`total`](Self::total).