@johnmorrisdotca/kyogijo-stadiums 0.40.2 → 0.43.0

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/NOTICE.md +17 -0
  3. package/README.md +1 -3
  4. package/dist/context.d.ts +141 -0
  5. package/dist/context.js +290 -0
  6. package/dist/crowd.d.ts +9 -0
  7. package/dist/district-entry.d.ts +14 -0
  8. package/dist/district-entry.js +9 -0
  9. package/dist/district.d.ts +54 -1
  10. package/dist/district.dom.d.ts +31 -0
  11. package/dist/district.dom.js +52 -0
  12. package/dist/district.js +71 -11
  13. package/dist/district.turn.js +30 -6
  14. package/dist/gates.d.ts +56 -0
  15. package/dist/gates.js +95 -0
  16. package/dist/halls.d.ts +2 -0
  17. package/dist/halls.js +1 -1
  18. package/dist/kodokan.d.ts +28 -0
  19. package/dist/kodokan.data.d.ts +18 -0
  20. package/dist/kodokan.data.js +18 -0
  21. package/dist/kodokan.js +34 -0
  22. package/dist/osm-entry.d.ts +2 -0
  23. package/dist/osm-entry.js +2 -0
  24. package/dist/osm.context.data.d.ts +10 -0
  25. package/dist/osm.context.data.js +1107 -0
  26. package/dist/outside.d.ts +43 -0
  27. package/dist/outside.dom.d.ts +44 -0
  28. package/dist/outside.dom.js +203 -0
  29. package/dist/outside.js +227 -0
  30. package/dist/outside.paint.d.ts +57 -0
  31. package/dist/outside.paint.js +88 -0
  32. package/dist/plateau-entry.d.ts +3 -0
  33. package/dist/plateau-entry.js +3 -0
  34. package/dist/plateau.credit.d.ts +5 -0
  35. package/dist/plateau.credit.js +7 -0
  36. package/dist/plateau.data.d.ts +7 -0
  37. package/dist/plateau.data.js +757 -0
  38. package/dist/stadiums.d.ts +14 -0
  39. package/dist/stadiums.data.js +2 -1
  40. package/dist/stadiums.js +2 -0
  41. package/dist/strings.d.ts +3 -1
  42. package/dist/strings.js +4 -4
  43. package/dist/turn.dom.d.ts +10 -0
  44. package/dist/turn.dom.js +21 -0
  45. package/dist/turn.kit.d.ts +10 -3
  46. package/dist/turn.kit.js +7 -0
  47. package/dist/turn.markup.js +7 -2
  48. package/dist/turn.model.d.ts +3 -0
  49. package/dist/turn.style.js +14 -3
  50. package/dist/venue.real.d.ts +22 -1
  51. package/dist/venue.real.js +76 -7
  52. package/dist/venues.d.ts +9 -1
  53. package/dist/venues.data.js +2 -1
  54. package/dist/venues.js +1 -1
  55. package/dist/version.d.ts +1 -1
  56. package/dist/version.js +1 -1
  57. package/dist/walk.d.ts +56 -0
  58. package/dist/walk.data.d.ts +4 -0
  59. package/dist/walk.data.js +1295 -0
  60. package/dist/walk.js +120 -0
  61. package/package.json +17 -1
package/dist/halls.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** The Kodokan's main dojo as drawn: a square floor of 420 jō's area, four contest areas, the seat of honour, the banner, the wood and the gallery, in the two looks the owner's photographs show. The years of both are unknown. */
2
- const KODOKAN_MAIN = {
2
+ export const KODOKAN_MAIN = {
3
3
  mats: { width: 26.4, length: 26.4 },
4
4
  surround: 4,
5
5
  areas: { across: 2, down: 2 },
@@ -0,0 +1,28 @@
1
+ import type { DistrictMember } from "./district.ts";
2
+ import type { DojoSpec, Language } from "./types.ts";
3
+ /** The main dojo as the district draws it: the atlas's floor and fittings, with no wood round the mats (the 4 metres the atlas draws would not stand inside the real building). */
4
+ export declare const KODOKAN_DOJO: DojoSpec;
5
+ /** How high the room stands, floor to the top of its lid, in metres: the 3D build's own figure (walls of 4.5 metres, the gallery level with their tops, the lid over it), two storeys of the building. Ours. */
6
+ export declare const KODOKAN_ROOM_HEIGHT = 11.2;
7
+ /** The height of the main dojo's floor above the ground, in metres: the 7th floor, six storeys up at the building's own storey height (its height over its storeys, 5.4 metres), and no higher than leaves the room under the roof. */
8
+ export declare const KODOKAN_FLOOR_HEIGHT: number;
9
+ /** Where the Kodokan's building stands and what it is: for tests and pages that say it. */
10
+ export declare const KODOKAN: {
11
+ readonly floorHeight: number;
12
+ readonly roomHeight: 11.2;
13
+ readonly mats: 420;
14
+ readonly seats: 900;
15
+ readonly source: "bldg_ec4aa7a9-f8cb-4abb-af0c-a2cef6d06dd8";
16
+ readonly read: "2026-10-22";
17
+ readonly ring: readonly [readonly [139.753281, 35.707485], readonly [139.753287, 35.707464], readonly [139.753659, 35.707456], readonly [139.753548, 35.707846], readonly [139.753502, 35.707837], readonly [139.753496, 35.707859], readonly [139.753195, 35.707801], readonly [139.753268, 35.707546], readonly [139.753193, 35.707532], readonly [139.75321, 35.707472]];
18
+ readonly height: 43.1;
19
+ readonly storeys: 8;
20
+ readonly room: {
21
+ readonly centre: readonly [139.75342, 35.707654];
22
+ readonly heading: 77;
23
+ readonly side: 31.8;
24
+ readonly clearance: 0.18;
25
+ };
26
+ };
27
+ /** The Kodokan as a member of a district. */
28
+ export declare function kodokanMember(language: Language): DistrictMember;
@@ -0,0 +1,18 @@
1
+ /** The Kodokan's building and the place of its main dojo in it. */
2
+ export declare const KODOKAN_BUILDING: {
3
+ /** The building's id in PLATEAU's file (bldg:Building gml:id). */
4
+ readonly source: "bldg_ec4aa7a9-f8cb-4abb-af0c-a2cef6d06dd8";
5
+ readonly read: "2026-10-22";
6
+ /** The roof-edge outline, `[longitude, latitude]`. */
7
+ readonly ring: readonly [readonly [139.753281, 35.707485], readonly [139.753287, 35.707464], readonly [139.753659, 35.707456], readonly [139.753548, 35.707846], readonly [139.753502, 35.707837], readonly [139.753496, 35.707859], readonly [139.753195, 35.707801], readonly [139.753268, 35.707546], readonly [139.753193, 35.707532], readonly [139.75321, 35.707472]];
8
+ /** The height of the building's top above its ground, in metres, and its storeys above ground. */
9
+ readonly height: 43.1;
10
+ readonly storeys: 8;
11
+ /** The middle of the main dojo's room, `[longitude, latitude]`, the compass heading of its x axis (0 to under 180) and the length of its side in metres, walls and gallery included. */
12
+ readonly room: {
13
+ readonly centre: readonly [139.75342, 35.707654];
14
+ readonly heading: 77;
15
+ readonly side: 31.8;
16
+ readonly clearance: 0.18;
17
+ };
18
+ };
@@ -0,0 +1,18 @@
1
+ // Made by scripts/build-plateau.mjs from data-sources/plateau/2026-10-22/: do not edit by hand.
2
+ //
3
+ // THIS FILE IS DATA FROM PROJECT PLATEAU, edited: the Kodokan's building (its roof-edge outline simplified to 0.3 metres, its height and its storeys, from MLIT's 3D city model of Bunkyo ward, 2025 edition) and where the main dojo's
4
+ // room is put in it (worked out here from the outline, ours). The credit is `PLATEAU_ATTRIBUTION` (plateau.credit.ts), the terms the PLATEAU Site Policy's (free, commercial use included, compatible with CC BY 4.0). Apart from the
5
+ // OpenStreetMap data (ODbL 1.0); nothing is copied from one to the other. The raw extract is in data-sources/plateau/.
6
+ /** The Kodokan's building and the place of its main dojo in it. */
7
+ export const KODOKAN_BUILDING = {
8
+ /** The building's id in PLATEAU's file (bldg:Building gml:id). */
9
+ "source": "bldg_ec4aa7a9-f8cb-4abb-af0c-a2cef6d06dd8",
10
+ "read": "2026-10-22",
11
+ /** The roof-edge outline, `[longitude, latitude]`. */
12
+ "ring": [[139.753281, 35.707485], [139.753287, 35.707464], [139.753659, 35.707456], [139.753548, 35.707846], [139.753502, 35.707837], [139.753496, 35.707859], [139.753195, 35.707801], [139.753268, 35.707546], [139.753193, 35.707532], [139.75321, 35.707472]],
13
+ /** The height of the building's top above its ground, in metres, and its storeys above ground. */
14
+ "height": 43.1,
15
+ "storeys": 8,
16
+ /** The middle of the main dojo's room, `[longitude, latitude]`, the compass heading of its x axis (0 to under 180) and the length of its side in metres, walls and gallery included. */
17
+ "room": { "centre": [139.75342, 35.707654], "heading": 77, "side": 31.8, "clearance": 0.18 },
18
+ };
@@ -0,0 +1,34 @@
1
+ // The Kodokan (講道館) as a venue of a district: its building, from Project PLATEAU, and its main dojo (大道場), the room on the 7th floor with its gallery on the 8th, drawn in the air on its real floor over the building's own outline.
2
+ // The facts that are documented are the count (420 jō of mats, four contest areas at once), the floor (the 7th), the gallery (the 8th, about 900) and the building (8 floors and a basement; PLATEAU: 8 storeys above ground, 43.1 metres): the Kodokan's own page, English
3
+ // Wikipedia and the IJF say the first four (`docs/district.md`, "The Kodokan"). Ours: the shape of the floor (no source gives it: a square of 26.4 metres, the area of 420 jō, on which four areas of 8 metres fit, as `halls.ts` draws it), the room's place in the
4
+ // building (the square that stands farthest from its walls, `scripts/build-plateau.mjs`), the wood round the mats (none, so that the room fits the real outline) and the height of the 7th floor (six storeys of the building's own). Pure data and a few sums.
5
+ import { FEET_PER_METRE } from "./geometry.js";
6
+ import { KODOKAN_MAIN } from "./halls.js";
7
+ import { KODOKAN_BUILDING as BUILDING } from "./kodokan.data.js";
8
+ import { PLATEAU_ATTRIBUTION } from "./plateau.credit.js";
9
+ /** The main dojo as the district draws it: the atlas's floor and fittings, with no wood round the mats (the 4 metres the atlas draws would not stand inside the real building). */
10
+ export const KODOKAN_DOJO = { ...KODOKAN_MAIN, surround: 0 };
11
+ /** How high the room stands, floor to the top of its lid, in metres: the 3D build's own figure (walls of 4.5 metres, the gallery level with their tops, the lid over it), two storeys of the building. Ours. */
12
+ export const KODOKAN_ROOM_HEIGHT = 11.2;
13
+ /** The height of the main dojo's floor above the ground, in metres: the 7th floor, six storeys up at the building's own storey height (its height over its storeys, 5.4 metres), and no higher than leaves the room under the roof. */
14
+ export const KODOKAN_FLOOR_HEIGHT = Math.min((6 * BUILDING.height) / BUILDING.storeys, BUILDING.height - KODOKAN_ROOM_HEIGHT);
15
+ /** Where the Kodokan's building stands and what it is: for tests and pages that say it. */
16
+ export const KODOKAN = { ...BUILDING, floorHeight: KODOKAN_FLOOR_HEIGHT, roomHeight: KODOKAN_ROOM_HEIGHT, mats: 420, seats: 900 };
17
+ /** The Kodokan as a member of a district. */
18
+ export function kodokanMember(language) {
19
+ return {
20
+ key: "kodokan",
21
+ id: "kodokan",
22
+ kind: "hall",
23
+ name: { en: "Kodokan", ja: "講道館" },
24
+ ring: BUILDING.ring,
25
+ centre: BUILDING.room.centre,
26
+ heading: BUILDING.room.heading,
27
+ basis: "building",
28
+ seats: KODOKAN.seats,
29
+ options: { sport: "dojo", dojo: KODOKAN_DOJO, crowd: { real: true }, language },
30
+ elevation: KODOKAN_FLOOR_HEIGHT * FEET_PER_METRE,
31
+ shell: { height: BUILDING.height * FEET_PER_METRE, storeys: BUILDING.storeys },
32
+ attribution: PLATEAU_ATTRIBUTION,
33
+ };
34
+ }
@@ -0,0 +1,2 @@
1
+ export { OSM_AREAS, OSM_ATTRIBUTION, VANCOUVER_CENTRE } from "./osm.context.data.ts";
2
+ export type { ContextArea } from "./context.ts";
@@ -0,0 +1,2 @@
1
+ // The buildings and streets round a district, from OpenStreetMap (ODbL 1.0), as data a district takes in its `context` option: downtown Vancouver's, round BC Place and Rogers Arena, with the credit that goes with a drawing made from it.
2
+ export { OSM_AREAS, OSM_ATTRIBUTION, VANCOUVER_CENTRE } from "./osm.context.data.js";
@@ -0,0 +1,10 @@
1
+ import type { ContextArea } from "./context.ts";
2
+ /** The credit that goes with a drawing made from these buildings and streets, in each language. */
3
+ export declare const OSM_ATTRIBUTION: {
4
+ en: string;
5
+ ja: string;
6
+ };
7
+ /** The buildings and streets round each district that has a mask, by key. */
8
+ export declare const OSM_AREAS: Record<string, ContextArea>;
9
+ /** Downtown Vancouver round BC Place and Rogers Arena. */
10
+ export declare const VANCOUVER_CENTRE: ContextArea;