@plasius/learning 0.2.22 → 0.2.23

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/README.md CHANGED
@@ -9,11 +9,11 @@ The package does **not** provide HTTP handlers, persistence, authentication, Tok
9
9
  The initial immutable catalog is exported as
10
10
  `JUNIOR_CODER_ROBOT_RESCUE_PATH_V1`, and its uniformly priced successor remains
11
11
  available as `JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1`. Path `1.2.0` upgrades Road
12
- Hopper Rally; path `1.3.0` is exported as
13
- `JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3` and selected by
14
- `JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT`. It also upgrades Paddle Pulse to
15
- module `2.0.0`; the other seventeen modules retain their prior immutable
16
- versions. Each path
12
+ Hopper Rally, path `1.3.0` adds Paddle Pulse `2.0.0`, and path `1.4.0` is
13
+ exported as `JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4` and selected by
14
+ `JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT`. It advances Road Hopper Rally to the
15
+ evidence-led module `2.1.0`; the other eighteen module records retain their
16
+ prior immutable versions. Each path
17
17
  contains 19 independently sellable, self-contained project modules:
18
18
 
19
19
  - 8 original arcade game modules;
@@ -22,16 +22,18 @@ contains 19 independently sellable, self-contained project modules:
22
22
  - 3 web application modules.
23
23
 
24
24
  All catalogs remain in `pilot-grant-only` commercial state. The immutable
25
- `1.1.0` modules, Road Hopper Rally `2.0.0` and Paddle Pulse `2.0.0` each cost 50 Tokens (50,000 subunits), carrying a
25
+ `1.1.0` modules, Road Hopper Rally `2.1.0` and Paddle Pulse `2.0.0` each cost 50 Tokens (50,000 subunits), carrying a
26
26
  non-redeemable £5 reference value. Price metadata is not authorization to
27
27
  enable public checkout.
28
28
 
29
- Road Hopper Rally `2.0.0` is a 450-minute, six-mission catalog record whose
30
- 54-stage course, starter project, deterministic runtime, original assets and
31
- assessment definitions live in `@plasius/learning-road-hopper-rally@1.0.0`.
32
- The catalog pins the exact `ROAD_HOPPER_RALLY_COURSE_V2` export and its canonical
33
- SHA-256 digest through `ExternalLearningContentReferenceV1`; it does not import
34
- or bundle the executable content package.
29
+ Road Hopper Rally `2.1.0` is a 450-minute, six-mission catalog record whose
30
+ 54 evidence-led activities, starter project, deterministic runtime, original
31
+ assets and assessment definitions live in
32
+ `@plasius/learning-road-hopper-rally@1.1.0`. The catalog pins the exact
33
+ `ROAD_HOPPER_RALLY_COURSE_V3` export, schema `3` and its canonical SHA-256 digest
34
+ through `ExternalLearningContentReferenceV1`; it does not import or bundle the
35
+ executable content package. Road Hopper `2.0.0` and its package `1.0.0`
36
+ reference remain available unchanged for rollback and existing consumers.
35
37
 
36
38
  Paddle Pulse `2.0.0` is a 360-minute, six-mission catalog record whose 54-stage
37
39
  course, declarative program contracts, deterministic 60 Hz engine and protected
@@ -62,11 +64,11 @@ fields before use:
62
64
 
63
65
  ```ts
64
66
  import {
65
- ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1,
67
+ ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2,
66
68
  isExternalLearningContentReferenceV1,
67
69
  } from "@plasius/learning";
68
70
 
69
- if (!isExternalLearningContentReferenceV1(ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1)) {
71
+ if (!isExternalLearningContentReferenceV1(ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2)) {
70
72
  throw new Error("Invalid external learning content reference");
71
73
  }
72
74
  ```
package/dist/index.cjs CHANGED
@@ -33,11 +33,13 @@ __export(index_exports, {
33
33
  JUNIOR_CODER_MODULE_PRICE_V1_1: () => JUNIOR_CODER_MODULE_PRICE_V1_1,
34
34
  JUNIOR_CODER_PADDLE_PULSE_V2: () => JUNIOR_CODER_PADDLE_PULSE_V2,
35
35
  JUNIOR_CODER_ROAD_HOPPER_RALLY_V2: () => JUNIOR_CODER_ROAD_HOPPER_RALLY_V2,
36
+ JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1: () => JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1,
36
37
  JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT,
37
38
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_V1,
38
39
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1,
39
40
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_2: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_2,
40
41
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3,
42
+ JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4: () => JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4,
41
43
  METEOR_SHIELD_MISSION_ONE_AUTHORING_V1: () => METEOR_SHIELD_MISSION_ONE_AUTHORING_V1,
42
44
  MISSION_AUTHORING_CONTRACT_VERSION_V1: () => MISSION_AUTHORING_CONTRACT_VERSION_V1,
43
45
  OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1: () => OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1,
@@ -47,6 +49,7 @@ __export(index_exports, {
47
49
  RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1: () => RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1,
48
50
  RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1: () => RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1,
49
51
  ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1: () => ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1,
52
+ ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2: () => ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2,
50
53
  ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1: () => ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
51
54
  ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1: () => ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1,
52
55
  ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1: () => ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1,
@@ -659,6 +662,13 @@ var ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1 = Object.freeze({
659
662
  schemaVersion: "2",
660
663
  sha256: "1a20741beba028004e0be527d05aae2b2881082d3b578e0d62308a59bf1323f0"
661
664
  });
665
+ var ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2 = Object.freeze({
666
+ packageName: "@plasius/learning-road-hopper-rally",
667
+ packageVersion: "1.1.0",
668
+ exportName: "ROAD_HOPPER_RALLY_COURSE_V3",
669
+ schemaVersion: "3",
670
+ sha256: "f73b90f5f0e483b96724f978f2977435a5e6a1333f5f45fd0fc803b55ad21187"
671
+ });
662
672
  var roadHopperV1_1 = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1.modules.find(
663
673
  (entry) => entry.id === "junior-coder.road-hopper-rally"
664
674
  );
@@ -769,6 +779,29 @@ var JUNIOR_CODER_ROAD_HOPPER_RALLY_V2 = {
769
779
  ],
770
780
  externalContent: ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1
771
781
  };
782
+ var ROAD_HOPPER_RALLY_V2_1_MISSION_TITLES = [
783
+ "Map the Rally Route",
784
+ "Move the Hopper",
785
+ "Build the Traffic Rally",
786
+ "Ride the Rescue River",
787
+ "Score the Rescue",
788
+ "Road Hopper Rally Challenge"
789
+ ];
790
+ var JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1 = {
791
+ ...JUNIOR_CODER_ROAD_HOPPER_RALLY_V2,
792
+ version: "2.1.0",
793
+ contentRevision: "2026-08-24.1",
794
+ summary: "Build Road Hopper Rally through 54 evidence-led activities: predict, edit, run, inspect, repair, explain and prove each deterministic game system.",
795
+ missions: JUNIOR_CODER_ROAD_HOPPER_RALLY_V2.missions.map((mission2, index) => ({
796
+ ...mission2,
797
+ title: ROAD_HOPPER_RALLY_V2_1_MISSION_TITLES[index]
798
+ })),
799
+ assessment: {
800
+ ...JUNIOR_CODER_ROAD_HOPPER_RALLY_V2.assessment,
801
+ version: "2.1.0"
802
+ },
803
+ externalContent: ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2
804
+ };
772
805
  var JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_2 = {
773
806
  ...JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1,
774
807
  version: "1.2.0",
@@ -892,7 +925,12 @@ var JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3 = {
892
925
  version: "1.3.0",
893
926
  modules: JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_2.modules.map((entry) => entry.id === JUNIOR_CODER_PADDLE_PULSE_V2.id ? JUNIOR_CODER_PADDLE_PULSE_V2 : entry)
894
927
  };
895
- var JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3;
928
+ var JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4 = {
929
+ ...JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3,
930
+ version: "1.4.0",
931
+ modules: JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3.modules.map((entry) => entry.id === JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1.id ? JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1 : entry)
932
+ };
933
+ var JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4;
896
934
 
897
935
  // src/contracts.ts
898
936
  var EXTERNAL_LEARNING_CONTENT_REFERENCE_VERSION_V1 = "1";
@@ -7277,11 +7315,13 @@ ${summary}`);
7277
7315
  JUNIOR_CODER_MODULE_PRICE_V1_1,
7278
7316
  JUNIOR_CODER_PADDLE_PULSE_V2,
7279
7317
  JUNIOR_CODER_ROAD_HOPPER_RALLY_V2,
7318
+ JUNIOR_CODER_ROAD_HOPPER_RALLY_V2_1,
7280
7319
  JUNIOR_CODER_ROBOT_RESCUE_PATH_CURRENT,
7281
7320
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1,
7282
7321
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1,
7283
7322
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_2,
7284
7323
  JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_3,
7324
+ JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_4,
7285
7325
  METEOR_SHIELD_MISSION_ONE_AUTHORING_V1,
7286
7326
  MISSION_AUTHORING_CONTRACT_VERSION_V1,
7287
7327
  OBSTACLE_EXPLORER_MISSION_ONE_AUTHORING_V1,
@@ -7291,6 +7331,7 @@ ${summary}`);
7291
7331
  RAINBOW_RESCUE_ROVER_MISSION_ONE_AUTHORING_V1,
7292
7332
  RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1,
7293
7333
  ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V1,
7334
+ ROAD_HOPPER_RALLY_EXTERNAL_CONTENT_V2,
7294
7335
  ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
7295
7336
  ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1,
7296
7337
  ROBOT_MISSION_CONTROL_MISSION_ONE_AUTHORING_V1,