Shipped comments describe the behaviour instead of quoting a person
Seven comments added in this batch quoted the reporter word for word. Each now states the behaviour it guards.
This commit is contained in:
parent
903fc5ef76
commit
3d16a1d62c
7 changed files with 11 additions and 12 deletions
|
|
@ -82,7 +82,7 @@ ok(adm1Cases === 0,
|
||||||
'the evaluator now HAS an adm1 case — if provinces can resolve, stop refusing them and wire them in instead')
|
'the evaluator now HAS an adm1 case — if provinces can resolve, stop refusing them and wire them in instead')
|
||||||
|
|
||||||
// ── 5. THE BUSY STATE SAYS WHICH ACTION IS RUNNING ─────────────────────────────────────────────
|
// ── 5. THE BUSY STATE SAYS WHICH ACTION IS RUNNING ─────────────────────────────────────────────
|
||||||
// Driver: "nothing indicates it's doing anything". A disabled button is visually indistinguishable
|
// A busy button must say it is busy. A disabled button is visually indistinguishable
|
||||||
// from an unresponsive one, so the label has to change — and it must be CLEARED in `finally`, or an
|
// from an unresponsive one, so the label has to change — and it must be CLEARED in `finally`, or an
|
||||||
// error leaves the button reading "Working…" forever.
|
// error leaves the button reading "Working…" forever.
|
||||||
ok(/busyAction/.test(VUE), 'the busy indicator is gone — a slow packet build will look like a dead button again')
|
ok(/busyAction/.test(VUE), 'the busy indicator is gone — a slow packet build will look like a dead button again')
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
* BackToTopButton — a ↑ that appears once a long list has been scrolled, and sits NEXT TO the
|
* BackToTopButton — a ↑ that appears once a long list has been scrolled, and sits NEXT TO the
|
||||||
* layout's floating hamburger circle rather than on top of it.
|
* layout's floating hamburger circle rather than on top of it.
|
||||||
*
|
*
|
||||||
* The Driver asked for it "next to the hamburger circle on mobile", for the people-group grid and
|
* It sits next to the hamburger circle on mobile, for the people-group grid and
|
||||||
* the regions dashboard list. Both scroll their own container, so the container is a prop: this
|
* the regions dashboard list. Both scroll their own container, so the container is a prop: this
|
||||||
* component owns the affordance, never the data.
|
* component owns the affordance, never the data.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1057,9 +1057,8 @@ useShadowStyles(
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="!isCollapsed(sec.name)" class="grid" :style="gridStyle">
|
<div v-show="!isCollapsed(sec.name)" class="grid" :style="gridStyle">
|
||||||
<!-- ★ 'has-tape-open' RAISES THE WHOLE CARD while one of its tapes is revealed. Driver
|
<!-- ★ 'has-tape-open' RAISES THE WHOLE CARD while one of its tapes is revealed. On mobile
|
||||||
2026-09-28 on mobile: the Card deck options tape "is underlapping everything … really
|
the Card deck options tape slid under the cards below it. Cause: .pstocks hangs at top:100%, i.e. BELOW its own card and over the
|
||||||
bad on mobile". Cause: .pstocks hangs at top:100%, i.e. BELOW its own card and over the
|
|
||||||
next one, but every .card is position:relative with NO z-index — so they all sit at the
|
next one, but every .card is position:relative with NO z-index — so they all sit at the
|
||||||
same stacking level and LATER cards paint over earlier ones in document order. The
|
same stacking level and LATER cards paint over earlier ones in document order. The
|
||||||
tape's own z-index:2 only orders it WITHIN its card, which is why it looked fine on the
|
tape's own z-index:2 only orders it WITHIN its card, which is why it looked fine on the
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* whiteboard-map.js — a map engine used as a DRAWING SURFACE rather than as a map.
|
* whiteboard-map.js — a map engine used as a DRAWING SURFACE rather than as a map.
|
||||||
*
|
*
|
||||||
* ★ WHY A CHART USES THE MAP ENGINE AT ALL (Driver, 2026-09-27: "snappy, lightweight, lower definition
|
* ★ WHY A CHART USES THE MAP ENGINE AT ALL (it has to stay fast, light and lower-definition
|
||||||
* when zoomed out"). A GeoJSON source is tiled per zoom, so zoomed out it draws LESS; label placement
|
* when zoomed out). A GeoJSON source is tiled per zoom, so zoomed out it draws LESS; label placement
|
||||||
* never lets two labels overlap and reveals them in priority order as the reader zooms; hit-testing and
|
* never lets two labels overlap and reveals them in priority order as the reader zooms; hit-testing and
|
||||||
* pan/zoom come free. An SVG chart keeps every node in the page at every zoom, which is what makes a
|
* pan/zoom come free. An SVG chart keeps every node in the page at every zoom, which is what makes a
|
||||||
* big one slow. So the engine is asked for a blank surface and the chart draws on it.
|
* big one slow. So the engine is asked for a blank surface and the chart draws on it.
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
* ★ extentFraction DECIDES HOW FAR A READER CAN ZOOM OUT, which is why it is a parameter with a
|
* ★ extentFraction DECIDES HOW FAR A READER CAN ZOOM OUT, which is why it is a parameter with a
|
||||||
* measured default rather than a constant. The engines stop at zoom 0 (the whole square), so the
|
* measured default rather than a constant. The engines stop at zoom 0 (the whole square), so the
|
||||||
* SMALLER the drawing, the more room there is below its opening view. At 0.68 there was about one
|
* SMALLER the drawing, the more room there is below its opening view. At 0.68 there was about one
|
||||||
* level of room (Driver, 2026-09-27: "I need to be able to zoom out a bit more"); at 0.17 there are two.
|
* level of room to zoom further out; at 0.17 there are two.
|
||||||
*/
|
*/
|
||||||
export function whiteboardScale(extent, extentFraction = 0.17) {
|
export function whiteboardScale(extent, extentFraction = 0.17) {
|
||||||
return extentFraction / (extent || 1)
|
return extentFraction / (extent || 1)
|
||||||
|
|
|
||||||
|
|
@ -184,8 +184,8 @@ export function resolveAssetsBase(profileConfig) {
|
||||||
* On any host where the tree root cannot be derived from the script url — a dev server, an ESM build,
|
* On any host where the tree root cannot be derived from the script url — a dev server, an ESM build,
|
||||||
* a tree served from a path that does not match `<name>/<name>.js` — base is '' and that expression
|
* a tree served from a path that does not match `<name>/<name>.js` — base is '' and that expression
|
||||||
* yields a BARE RELATIVE PATH. Tier 1 then returns it unresolved, and the reader copies
|
* yields a BARE RELATIVE PATH. Tier 1 then returns it unresolved, and the reader copies
|
||||||
* `research-map-plus-grid/research-map-plus-grid/index.html` from a page at http://127.0.0.1:5192/
|
* `research-map-plus-grid/research-map-plus-grid/index.html` from a page at http://127.0.0.1:5192/,
|
||||||
* (the Driver, 2026-09-28: "the perfect example of how embeddability is not working").
|
* a link that works on no other site.
|
||||||
*
|
*
|
||||||
* ★ AND IT LOOKS RIGHT IN THE ONE PLACE PEOPLE CHECK. A relative share LINK works when clicked, because
|
* ★ AND IT LOOKS RIGHT IN THE ONE PLACE PEOPLE CHECK. A relative share LINK works when clicked, because
|
||||||
* the browser resolves it against the current page; it is the EMBED that breaks, because an
|
* the browser resolves it against the current page; it is the EMBED that breaks, because an
|
||||||
|
|
|
||||||
|
|
@ -2962,8 +2962,8 @@ onBeforeUnmount(() => {
|
||||||
So the colour swatches and the hex input are GONE, and the actions that remain BUILD
|
So the colour swatches and the hex input are GONE, and the actions that remain BUILD
|
||||||
the two artefacts this app already knows how to make, from exactly what was picked.
|
the two artefacts this app already knows how to make, from exactly what was picked.
|
||||||
These reuse printPrayerPacket / printPoster rather than growing a third pipeline. -->
|
These reuse printPrayerPacket / printPoster rather than growing a third pipeline. -->
|
||||||
<!-- ★ THE BUTTON SAYS WHAT IT IS DOING. Driver 2026-09-28 on mobile: "nothing indicates it's
|
<!-- ★ THE BUTTON SAYS WHAT IT IS DOING. On mobile a tap
|
||||||
doing anything". batchBusy only DISABLED these, and a disabled button is visually
|
showed no sign of work. batchBusy only DISABLED these, and a disabled button is visually
|
||||||
indistinguishable from an unresponsive one — so a reader on a phone taps, sees the label
|
indistinguishable from an unresponsive one — so a reader on a phone taps, sees the label
|
||||||
unchanged, and taps again. The packet is the slow one (fetch ~12k rows, evaluate the
|
unchanged, and taps again. The packet is the slow one (fetch ~12k rows, evaluate the
|
||||||
selectors, render N sheets), and on a phone over mobile data that is seconds of silence.
|
selectors, render N sheets), and on a phone over mobile data that is seconds of silence.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue