@plasius/learning 0.2.7 → 0.2.8
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 +10 -1
- package/dist/index.cjs +222 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +221 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,6 +70,7 @@ import {
|
|
|
70
70
|
ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
|
|
71
71
|
ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1,
|
|
72
72
|
SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1,
|
|
73
|
+
STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1,
|
|
73
74
|
assertValidMissionAuthoringBundle,
|
|
74
75
|
} from "@plasius/learning";
|
|
75
76
|
|
|
@@ -94,6 +95,9 @@ const rescueCrewCommander = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1.modules.find(
|
|
|
94
95
|
const pixelTrailChallenge = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1.modules.find(
|
|
95
96
|
(module) => module.slug === "pixel-trail-challenge",
|
|
96
97
|
);
|
|
98
|
+
const starDefenderSquadron = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1.modules.find(
|
|
99
|
+
(module) => module.slug === "star-defender-squadron",
|
|
100
|
+
);
|
|
97
101
|
|
|
98
102
|
if (
|
|
99
103
|
!roadHopper ||
|
|
@@ -102,7 +106,8 @@ if (
|
|
|
102
106
|
!paddlePulse ||
|
|
103
107
|
!meteorShield ||
|
|
104
108
|
!rescueCrewCommander ||
|
|
105
|
-
!pixelTrailChallenge
|
|
109
|
+
!pixelTrailChallenge ||
|
|
110
|
+
!starDefenderSquadron
|
|
106
111
|
) {
|
|
107
112
|
throw new Error("Junior Coder module is missing");
|
|
108
113
|
}
|
|
@@ -135,6 +140,10 @@ assertValidMissionAuthoringBundle(
|
|
|
135
140
|
PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1,
|
|
136
141
|
pixelTrailChallenge,
|
|
137
142
|
);
|
|
143
|
+
assertValidMissionAuthoringBundle(
|
|
144
|
+
STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1,
|
|
145
|
+
starDefenderSquadron,
|
|
146
|
+
);
|
|
138
147
|
```
|
|
139
148
|
|
|
140
149
|
## Contract rules
|
package/dist/index.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(index_exports, {
|
|
|
33
33
|
ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1: () => ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
|
|
34
34
|
ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1: () => ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1,
|
|
35
35
|
SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1: () => SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1,
|
|
36
|
+
STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1: () => STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1,
|
|
36
37
|
assertValidLearningPath: () => assertValidLearningPath,
|
|
37
38
|
assertValidMissionAuthoringBundle: () => assertValidMissionAuthoringBundle,
|
|
38
39
|
calculateAssessment: () => calculateAssessment,
|
|
@@ -2006,6 +2007,226 @@ var PIXEL_TRAIL_CHALLENGE_MISSION_ONE_AUTHORING_V1 = {
|
|
|
2006
2007
|
]
|
|
2007
2008
|
}
|
|
2008
2009
|
};
|
|
2010
|
+
var STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1 = {
|
|
2011
|
+
version: MISSION_AUTHORING_CONTRACT_VERSION_V1,
|
|
2012
|
+
moduleId: "junior-coder.star-defender-squadron",
|
|
2013
|
+
moduleVersion: "1.1.0",
|
|
2014
|
+
missionId: "star-defender-squadron-mission-1",
|
|
2015
|
+
learner: {
|
|
2016
|
+
estimatedMinutes: 20,
|
|
2017
|
+
stages: [
|
|
2018
|
+
{
|
|
2019
|
+
kind: "learn",
|
|
2020
|
+
instruction: "Read what createSquadron(), setRescueWave(), setShieldHealth() and launchRescueBeam() do in the private JavaScript preview.",
|
|
2021
|
+
artifactIds: ["star-defender-squadron-m1-art"]
|
|
2022
|
+
},
|
|
2023
|
+
{
|
|
2024
|
+
kind: "predict",
|
|
2025
|
+
instruction: "Predict where the squadron and rescue beam will travel, and which health value will change after the wave.",
|
|
2026
|
+
artifactIds: []
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
kind: "build",
|
|
2030
|
+
instruction: "Adjust the four documented JavaScript calls so the original squadron launches a safe rescue wave.",
|
|
2031
|
+
artifactIds: ["star-defender-squadron-m1-code"]
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
kind: "run",
|
|
2035
|
+
instruction: "Use the Run action button to start the private Star Defender preview.",
|
|
2036
|
+
artifactIds: ["star-defender-squadron-m1-code"]
|
|
2037
|
+
},
|
|
2038
|
+
{
|
|
2039
|
+
kind: "assess",
|
|
2040
|
+
instruction: "Run the visible and protected deterministic squadron checks.",
|
|
2041
|
+
artifactIds: []
|
|
2042
|
+
},
|
|
2043
|
+
{
|
|
2044
|
+
kind: "inspect",
|
|
2045
|
+
instruction: "Compare the highlighted JavaScript line with the first mission goal that did not pass.",
|
|
2046
|
+
artifactIds: []
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
kind: "fix",
|
|
2050
|
+
instruction: "Change one squadron, wave, shield or beam setting, then rerun and inspect the entity and health telemetry.",
|
|
2051
|
+
artifactIds: ["star-defender-squadron-m1-code"]
|
|
2052
|
+
},
|
|
2053
|
+
{
|
|
2054
|
+
kind: "explain",
|
|
2055
|
+
instruction: "Explain how the wave pattern moved the entities and how shields protected the rescue mission.",
|
|
2056
|
+
artifactIds: []
|
|
2057
|
+
},
|
|
2058
|
+
{
|
|
2059
|
+
kind: "reward",
|
|
2060
|
+
instruction: "Collect the evidence-bound badge when the score and private-runtime safety check pass.",
|
|
2061
|
+
artifactIds: []
|
|
2062
|
+
}
|
|
2063
|
+
],
|
|
2064
|
+
readinessChecks: [
|
|
2065
|
+
{
|
|
2066
|
+
id: "star-defender-squadron-m1-find-wave",
|
|
2067
|
+
prompt: "Point to the JavaScript call that chooses the rescue-wave pattern.",
|
|
2068
|
+
scored: false
|
|
2069
|
+
}
|
|
2070
|
+
],
|
|
2071
|
+
artifacts: [
|
|
2072
|
+
{
|
|
2073
|
+
id: "star-defender-squadron-m1-code",
|
|
2074
|
+
kind: "starter-code",
|
|
2075
|
+
audience: "learner",
|
|
2076
|
+
solutionBearing: false
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
id: "star-defender-squadron-m1-art",
|
|
2080
|
+
kind: "starter-assets",
|
|
2081
|
+
audience: "learner",
|
|
2082
|
+
solutionBearing: false
|
|
2083
|
+
},
|
|
2084
|
+
{
|
|
2085
|
+
id: "star-defender-squadron-m1-printable",
|
|
2086
|
+
kind: "printable",
|
|
2087
|
+
audience: "learner",
|
|
2088
|
+
solutionBearing: false
|
|
2089
|
+
}
|
|
2090
|
+
],
|
|
2091
|
+
goals: [
|
|
2092
|
+
{
|
|
2093
|
+
id: "star-defender-squadron-m1-starts",
|
|
2094
|
+
statement: "The JavaScript settings are valid and the private squadron preview starts.",
|
|
2095
|
+
visibility: "visible",
|
|
2096
|
+
criterionIds: ["star-defender-squadron-build"],
|
|
2097
|
+
completionRequired: true,
|
|
2098
|
+
aiRequired: false
|
|
2099
|
+
},
|
|
2100
|
+
{
|
|
2101
|
+
id: "star-defender-squadron-m1-rescue-wave",
|
|
2102
|
+
statement: "The original squadron follows the chosen pattern, keeps safe shield health and launches a rescue beam.",
|
|
2103
|
+
visibility: "visible",
|
|
2104
|
+
criterionIds: [
|
|
2105
|
+
"star-defender-squadron-goal-one",
|
|
2106
|
+
"star-defender-squadron-goal-two"
|
|
2107
|
+
],
|
|
2108
|
+
completionRequired: true,
|
|
2109
|
+
aiRequired: false
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
id: "star-defender-squadron-m1-private-runtime",
|
|
2113
|
+
statement: "The program stays inside the private JavaScript worker and host-provided space-rescue API.",
|
|
2114
|
+
visibility: "visible",
|
|
2115
|
+
criterionIds: ["star-defender-squadron-safety"],
|
|
2116
|
+
completionRequired: true,
|
|
2117
|
+
aiRequired: false
|
|
2118
|
+
}
|
|
2119
|
+
],
|
|
2120
|
+
interactions: [
|
|
2121
|
+
{
|
|
2122
|
+
id: "star-defender-squadron-m1-run-control",
|
|
2123
|
+
description: "Start the private JavaScript squadron simulation.",
|
|
2124
|
+
primaryMode: "pointer",
|
|
2125
|
+
alternativeIds: ["star-defender-squadron-m1-keyboard-run"]
|
|
2126
|
+
},
|
|
2127
|
+
{
|
|
2128
|
+
id: "star-defender-squadron-m1-code-control",
|
|
2129
|
+
description: "Edit the documented squadron, wave, shield and beam calls.",
|
|
2130
|
+
primaryMode: "keyboard",
|
|
2131
|
+
alternativeIds: []
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
id: "star-defender-squadron-m1-wave-motion",
|
|
2135
|
+
description: "Observe squadron entities, wave paths, shields and the rescue beam.",
|
|
2136
|
+
primaryMode: "motion",
|
|
2137
|
+
alternativeIds: ["star-defender-squadron-m1-telemetry"]
|
|
2138
|
+
}
|
|
2139
|
+
],
|
|
2140
|
+
accessibilityAlternatives: [
|
|
2141
|
+
{
|
|
2142
|
+
id: "star-defender-squadron-m1-keyboard-run",
|
|
2143
|
+
modes: ["keyboard"],
|
|
2144
|
+
equivalentOutcome: true,
|
|
2145
|
+
description: "Press Enter or Space on the play-icon Run button to start the same preview."
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
id: "star-defender-squadron-m1-telemetry",
|
|
2149
|
+
modes: ["text", "shape", "reduced-motion"],
|
|
2150
|
+
equivalentOutcome: true,
|
|
2151
|
+
description: "Read entity count, pattern, shield health, beam state and rescue result without animation or colour dependence."
|
|
2152
|
+
}
|
|
2153
|
+
],
|
|
2154
|
+
evidenceRequirements: [
|
|
2155
|
+
{
|
|
2156
|
+
id: "star-defender-squadron-m1-assessment",
|
|
2157
|
+
goalIds: [
|
|
2158
|
+
"star-defender-squadron-m1-starts",
|
|
2159
|
+
"star-defender-squadron-m1-rescue-wave",
|
|
2160
|
+
"star-defender-squadron-m1-private-runtime"
|
|
2161
|
+
],
|
|
2162
|
+
kind: "assessment-result",
|
|
2163
|
+
retention: "entitlement",
|
|
2164
|
+
containsPersonalData: false
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
id: "star-defender-squadron-m1-explanation",
|
|
2168
|
+
goalIds: ["star-defender-squadron-m1-rescue-wave"],
|
|
2169
|
+
kind: "learner-explanation",
|
|
2170
|
+
retention: "attempt",
|
|
2171
|
+
containsPersonalData: false
|
|
2172
|
+
}
|
|
2173
|
+
],
|
|
2174
|
+
sideAdventures: [
|
|
2175
|
+
{
|
|
2176
|
+
id: "star-defender-squadron-m1-remix",
|
|
2177
|
+
prompt: "Invent an original rescue-squadron emblem and describe a new safe wave pattern for a later level.",
|
|
2178
|
+
completionRequired: false
|
|
2179
|
+
}
|
|
2180
|
+
],
|
|
2181
|
+
rewardBindings: [
|
|
2182
|
+
{
|
|
2183
|
+
id: "star-defender-squadron-m1-badge",
|
|
2184
|
+
badgeId: "star-defender-squadron-mission-complete",
|
|
2185
|
+
goalIds: [
|
|
2186
|
+
"star-defender-squadron-m1-starts",
|
|
2187
|
+
"star-defender-squadron-m1-rescue-wave",
|
|
2188
|
+
"star-defender-squadron-m1-private-runtime"
|
|
2189
|
+
],
|
|
2190
|
+
deterministic: true,
|
|
2191
|
+
random: false,
|
|
2192
|
+
tokenConvertible: false
|
|
2193
|
+
}
|
|
2194
|
+
]
|
|
2195
|
+
},
|
|
2196
|
+
facilitator: {
|
|
2197
|
+
artifacts: [
|
|
2198
|
+
{
|
|
2199
|
+
id: "star-defender-squadron-m1-answer-key",
|
|
2200
|
+
kind: "answer-key",
|
|
2201
|
+
audience: "facilitator",
|
|
2202
|
+
solutionBearing: true
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
id: "star-defender-squadron-m1-protected-tests",
|
|
2206
|
+
kind: "protected-test",
|
|
2207
|
+
audience: "facilitator",
|
|
2208
|
+
solutionBearing: true
|
|
2209
|
+
}
|
|
2210
|
+
],
|
|
2211
|
+
protectedGoals: [
|
|
2212
|
+
{
|
|
2213
|
+
id: "star-defender-squadron-m1-protected-resilience",
|
|
2214
|
+
statement: "The worker rejects invalid entity, pattern, health and projectile settings and terminates bounded wave simulations.",
|
|
2215
|
+
visibility: "protected",
|
|
2216
|
+
criterionIds: [
|
|
2217
|
+
"star-defender-squadron-edge-one",
|
|
2218
|
+
"star-defender-squadron-edge-two"
|
|
2219
|
+
],
|
|
2220
|
+
completionRequired: false,
|
|
2221
|
+
aiRequired: false
|
|
2222
|
+
}
|
|
2223
|
+
],
|
|
2224
|
+
prompts: [
|
|
2225
|
+
"Ask the learner to predict the squadron path and shield change before suggesting a JavaScript edit.",
|
|
2226
|
+
"Use the function reference and visible telemetry; never reveal protected numeric targets, pattern answers or expected source fragments."
|
|
2227
|
+
]
|
|
2228
|
+
}
|
|
2229
|
+
};
|
|
2009
2230
|
var RESCUE_CREW_COMMANDER_MISSION_ONE_AUTHORING_V1 = {
|
|
2010
2231
|
version: MISSION_AUTHORING_CONTRACT_VERSION_V1,
|
|
2011
2232
|
moduleId: "junior-coder.rescue-crew-commander",
|
|
@@ -2814,6 +3035,7 @@ ${summary}`);
|
|
|
2814
3035
|
ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
|
|
2815
3036
|
ROBOT_MAZE_DASH_MISSION_ONE_AUTHORING_V1,
|
|
2816
3037
|
SKYWING_SPRINT_MISSION_ONE_AUTHORING_V1,
|
|
3038
|
+
STAR_DEFENDER_SQUADRON_MISSION_ONE_AUTHORING_V1,
|
|
2817
3039
|
assertValidLearningPath,
|
|
2818
3040
|
assertValidMissionAuthoringBundle,
|
|
2819
3041
|
calculateAssessment,
|