Warn the caller that groupings.label is a definition, not a name
Measured on the published file: those labels run 7 to 206 characters and the long ones are the zone's member list, not its name. Tibet's is a ten-part list of provinces. Only two of the fourteen carry no member list at all. Used as a heading on a printed sheet that sets a 206-character title, and paper has no truncation-with-tooltip to rescue it. The name a reader wants is the humanised slug, uniform by construction and about 34 characters at worst, with the label carried separately as the definition it actually is. This component asserts nothing about the words in labels.rings, so the whole hazard lives at the call site — which is why the warning belongs in the file the caller reads rather than in a message they will not see. gospel found it.
This commit is contained in:
parent
288bbf278a
commit
663b73781d
1 changed files with 10 additions and 0 deletions
|
|
@ -28,6 +28,16 @@
|
|||
*
|
||||
* ★ AND NO SEED: position is hashed from the group's own id, so two printings of one packet are
|
||||
* identical and a reader comparing sheets sees real movement rather than reshuffling.
|
||||
*
|
||||
* ★ A NOTE FOR WHOEVER BUILDS `labels.rings` — DO NOT PASS groupings.label AS A NAME. Measured on
|
||||
* the published file: those labels run 7 to 206 characters, and the long ones are the zone's MEMBER
|
||||
* LIST, not its name. Tibet's reads "Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur
|
||||
* Autonomous Region + Gansu Province + ..." — only 2 of the 14 carry no "+" list at all (Gujarāt,
|
||||
* and "Scattered / Diaspora"). Used as a heading on a printed sheet that sets a 206-character title.
|
||||
* The field is a DEFINITION and is genuinely useful where there is room to say what a zone contains;
|
||||
* for a name, humanise the slug, which is uniform by construction and tops out around 34 characters.
|
||||
* gospel found this and carries the two separately; this component asserts nothing about the words,
|
||||
* so the whole hazard lives at the call site, which is exactly why it is written down here.
|
||||
*/
|
||||
import { computed } from 'vue'
|
||||
import { layoutCenteredSet, ringTally, inwardArrow, ringRadii, RING_MIN, RING_MAX } from './centeredSet.js'
|
||||
|
|
|
|||
Loading…
Reference in a new issue