@johnmorrisdotca/kyogijo-stadiums 0.10.1 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ All notable changes to this project are written here. The format follows
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.10.2] - 2026-10-14
11
+
12
+ ### Fixed
13
+
14
+ - **A team's round mark and its name are painted over the surface's lines.** A hockey rink's face-off circles, red and blue lines and creases, and the lines of the football fields, the ballpark, the lacrosse, rugby, Australian football, Gaelic games, field hockey, handball and netball surfaces and the pools (swimming, water polo, diving, artistic swimming), were written after the team marks and names, so they ran across a logo and a name. The marks and the names now come after every line, and so do the data layers, the lineup, the annotations, the pageant's names and the score's panel, for every sport, look and size. The courts, the pitch, the athletics track, the skating rinks and the budō surfaces already did. The drawing is the same string as before apart from that order, and the internal `bannersOver` flag that chose it is gone.
15
+
16
+ ### Added
17
+
18
+ - **A test holds the order for every sport:** `src/overlay.order.test.ts` reads the drawing's leaves in paint order and fails when a marking of the surface comes after the first mark, name, layer, lineup, situation widget, annotation, pageant word or score panel, for every sport and every look, wide, tall, with the panel and without it, with layers, landmarks, a situation, a crowd, a special game and every pageant.
19
+
10
20
  ## [0.10.1] - 2026-10-14
11
21
 
12
22
  The docs are one language to a page. No change to the package or its pictures.
package/dist/draw.js CHANGED
@@ -988,7 +988,7 @@ function drawnKyogijo(o) {
988
988
  teams += bannerMarkup(surface.right, right, { turned: surface.turned, onColour, parts, id });
989
989
  }
990
990
  }
991
- // The teams are painted under the lines, unless the surface asks for them over (a panel that must hide them).
991
+ // The teams' marks and names are painted over the surface's lines, so that no line runs across a logo or a name.
992
992
  if (pg !== undefined && pageant !== undefined) {
993
993
  // A surface cropped with room for its annotations is clipped to the cut; the pictures are cut with it.
994
994
  const cut = surface.defs.includes(`id="${id}-rg"`);
@@ -996,7 +996,7 @@ function drawnKyogijo(o) {
996
996
  inner += pageant.lines !== "over" ? surface.lines + laid + pg.names + pg.emblem : laid + surface.lines + pg.names + pg.emblem;
997
997
  }
998
998
  else
999
- inner += surface.bannersOver === true ? surface.lines + teams : teams + surface.lines;
999
+ inner += surface.lines + teams;
1000
1000
  // A lineup's players stand over what the situation lights (a runner's base, a drive's arrows), so that none of them is hidden; any other data goes over it.
1001
1001
  if (sit !== undefined && lineupped)
1002
1002
  inner += cutSit(sit.over);
package/dist/special.js CHANGED
@@ -197,7 +197,6 @@ export function composeSpecial(o, guest, build, id) {
197
197
  right: moved(guest.right, to, placement.angle),
198
198
  plate: { ...guest.plate, cx: px, cy: py },
199
199
  turned: false,
200
- bannersOver: guest.bannersOver,
201
200
  box: outline.box,
202
201
  frame,
203
202
  };
@@ -93,7 +93,6 @@ export function athleticsSurface(o, plan, embedded, margin) {
93
93
  right: { cx: W * 0.73, cy: H / 2, w: W * 0.2, h: H * 0.11, rot: 0 },
94
94
  plate: { cx: W / 2, cy: H / 2, w: Math.min(W * 0.34, 140), h: Math.min(W * 0.34, 140) * 0.52 },
95
95
  turned,
96
- bannersOver: true,
97
96
  onColour: false,
98
97
  };
99
98
  surface.box = { x: 0, y: 0, w: W, h: H };
@@ -179,7 +179,6 @@ export function basketball(o, era, court = NBA_COURT) {
179
179
  right: { cx: L - 16.5 * kx, cy, w: 27 * kx, h: 25 * ky, rot: 0, panel: true },
180
180
  plate: { cx: L / 2, cy, w: 34 * kx, h: 20 * ky },
181
181
  turned,
182
- bannersOver: true,
183
182
  };
184
183
  surface.lineRef = { width: thin, feet: 1 };
185
184
  surface.box = { x: 0, y: 0, w: L, h: W };
@@ -101,7 +101,6 @@ export function budoSurface(o, plan, margin) {
101
101
  right: places.right,
102
102
  plate: { cx, cy, w: plateW, h: plateW * 0.55 },
103
103
  turned,
104
- bannersOver: true,
105
104
  onColour: false,
106
105
  centreRadius: plan.centre.r * K,
107
106
  };
@@ -40,7 +40,6 @@ export function skatingSurface(o, plan, margin) {
40
40
  right: { cx: W * 0.73, cy: H / 2, w: W * 0.2, h: H * 0.11, rot: 0 },
41
41
  plate: { cx: W / 2, cy: H / 2, w: Math.min(W * 0.34, 140), h: Math.min(W * 0.34, 140) * 0.52 },
42
42
  turned,
43
- bannersOver: true,
44
43
  onColour: false,
45
44
  };
46
45
  surface.box = { x: 0, y: 0, w: W, h: H };
@@ -227,7 +227,6 @@ export function soccer(b, o) {
227
227
  right: { cx: Lf - deep / 2, cy: Wf / 2, w: long * 0.94, h: zoneH, rot: 90 },
228
228
  plate: { cx: Lf / 2, cy: Wf / 2, w: plateW, h: plateW * 0.52 },
229
229
  turned,
230
- bannersOver: true,
231
230
  };
232
231
  surface.lineRef = { width: lw, feet: K };
233
232
  surface.box = { x: 0, y: 0, w: Lf, h: Wf };
@@ -90,7 +90,7 @@ export interface Surface {
90
90
  turn?: string;
91
91
  /** Ground, fills, stripes and the end zones: under the teams' paint. */
92
92
  base: string;
93
- /** Painted lines, marks and fixtures: over the teams' paint. */
93
+ /** Painted lines, marks and fixtures: under the teams' marks and names, which are drawn over them. */
94
94
  lines: string;
95
95
  /** Things the markup refers to (clip paths). */
96
96
  defs: string;
@@ -99,8 +99,6 @@ export interface Surface {
99
99
  plate: PlateSpot;
100
100
  /** True when the whole drawing is turned a quarter, so that the words must be turned back. */
101
101
  turned: boolean;
102
- /** The teams' places are drawn over the lines (panels that must hide them), not under. */
103
- bannersOver?: boolean;
104
102
  /** The teams' places are painted in the teams' colours, so their names are written in the ink that reads on them (a football end zone), not painted over the grass. The sport's default when missing. */
105
103
  onColour?: boolean;
106
104
  /** The playing surface itself, without the ground round it, in the wide frame and in feet: where the margin starts, and what the axes and the labels are placed against. */
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The package's version: the same as package.json's, and a test holds them to each other. */
2
- export declare const VERSION = "0.10.1";
2
+ export declare const VERSION = "0.10.2";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The package's version: the same as package.json's, and a test holds them to each other. */
2
- export const VERSION = "0.10.1";
2
+ export const VERSION = "0.10.2";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@johnmorrisdotca/kyogijo-stadiums",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "description": "Kyogijo Stadiums 競技場, 39 sports' surfaces as SVG, drawn to scale from the rulebooks: NFL, CFL and IFAF football fields, an NHL rink, an NBA court, MLB ballparks, soccer pitches, curling sheets, athletics stadiums, speed skating, short track and figure skating rinks, swimming pools, water polo fields, diving wells, artistic swimming areas, and the courts and fields of tennis, volleyball (indoor, beach and sitting), badminton, pickleball, table tennis, padel, squash, racquetball, sepak takraw, teqball, roundnet, netball, lacrosse, rugby, Australian football, Gaelic games, cricket, field hockey and handball, and the budo of judo, karate, kendo, sumo and kyudo with a dojo of tatami laid as real units, with each team's name and logo on its side and the score in the middle, stands and a crowd, a pageant of flags, and a 3D view. Light and dark, accessible, a compact badge for lists, a helper for React and a custom element. Zero dependencies.",
5
5
  "keywords": [
6
6
  "sports",