@aura3d/engine 1.5.0 → 1.5.1

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 (51) hide show
  1. package/README.md +77 -46
  2. package/dist/engine/agent-api/ApplicationKits.d.ts +307 -0
  3. package/dist/engine/agent-api/ApplicationKits.d.ts.map +1 -0
  4. package/dist/engine/agent-api/ApplicationKits.js +650 -0
  5. package/dist/engine/agent-api/ApplicationKits.js.map +1 -0
  6. package/dist/engine/agent-api/CombatFrameData.d.ts +210 -0
  7. package/dist/engine/agent-api/CombatFrameData.d.ts.map +1 -0
  8. package/dist/engine/agent-api/CombatFrameData.js +324 -0
  9. package/dist/engine/agent-api/CombatFrameData.js.map +1 -0
  10. package/dist/engine/agent-api/FocusSelection.d.ts +186 -0
  11. package/dist/engine/agent-api/FocusSelection.d.ts.map +1 -0
  12. package/dist/engine/agent-api/FocusSelection.js +436 -0
  13. package/dist/engine/agent-api/FocusSelection.js.map +1 -0
  14. package/dist/engine/agent-api/GameGenreKits.d.ts +32 -1
  15. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  16. package/dist/engine/agent-api/GameGenreKits.js +51 -7
  17. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  18. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +10 -0
  19. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  20. package/dist/engine/agent-api/GameSceneGeometryBindings.js +7 -0
  21. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  22. package/dist/engine/agent-api/PlatformerMotion.d.ts +177 -0
  23. package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -0
  24. package/dist/engine/agent-api/PlatformerMotion.js +207 -0
  25. package/dist/engine/agent-api/PlatformerMotion.js.map +1 -0
  26. package/dist/engine/agent-api/SceneQueries.d.ts +124 -0
  27. package/dist/engine/agent-api/SceneQueries.d.ts.map +1 -0
  28. package/dist/engine/agent-api/SceneQueries.js +221 -0
  29. package/dist/engine/agent-api/SceneQueries.js.map +1 -0
  30. package/dist/engine/agent-api/SpatialAnchoring.d.ts +232 -0
  31. package/dist/engine/agent-api/SpatialAnchoring.d.ts.map +1 -0
  32. package/dist/engine/agent-api/SpatialAnchoring.js +348 -0
  33. package/dist/engine/agent-api/SpatialAnchoring.js.map +1 -0
  34. package/dist/engine/agent-api/VehicleChassis.d.ts +192 -0
  35. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -0
  36. package/dist/engine/agent-api/VehicleChassis.js +322 -0
  37. package/dist/engine/agent-api/VehicleChassis.js.map +1 -0
  38. package/dist/engine/agent-api/VehicleDriverAi.d.ts +123 -0
  39. package/dist/engine/agent-api/VehicleDriverAi.d.ts.map +1 -0
  40. package/dist/engine/agent-api/VehicleDriverAi.js +217 -0
  41. package/dist/engine/agent-api/VehicleDriverAi.js.map +1 -0
  42. package/dist/engine/agent-api/WorldLabelRenderer.d.ts +146 -0
  43. package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -0
  44. package/dist/engine/agent-api/WorldLabelRenderer.js +331 -0
  45. package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -0
  46. package/dist/engine/agent-api/index.d.ts +30 -0
  47. package/dist/engine/agent-api/index.d.ts.map +1 -1
  48. package/dist/engine/agent-api/index.js +87 -1
  49. package/dist/engine/agent-api/index.js.map +1 -1
  50. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  51. package/package.json +8 -2
@@ -96,6 +96,13 @@ export function createGameRacingSceneBinding(options) {
96
96
  notes: topology.evidence.notes
97
97
  },
98
98
  toScenePoint,
99
+ toGamePoint(x, z) {
100
+ const scale = transform.scale === 0 ? 1 : transform.scale;
101
+ return {
102
+ x: (x - transform.offsetX - trackModelSceneOffset.x) / scale,
103
+ y: (z - transform.offsetZ - trackModelSceneOffset.z) / scale
104
+ };
105
+ },
99
106
  toScenePose(snapshot, y = carY) {
100
107
  return {
101
108
  position: toScenePoint(snapshot.position, y),
@@ -1 +1 @@
1
- {"version":3,"file":"GameSceneGeometryBindings.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameSceneGeometryBindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameSceneGeometryBindings.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameSceneGeometryBindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Reusable platformer motion tuning and level solvability.
3
+ *
4
+ * ## The defects this addresses
5
+ *
6
+ * Skyline Runner's jump was reported as unnatural, floaty, and unreliable to land,
7
+ * with a world that read as disconnected floating strips and a session that ended in
8
+ * about half a minute. Those are not four unrelated complaints; three of them follow
9
+ * from one number.
10
+ *
11
+ * The level ships `jumpVelocity: 7.4` and inherits the kit default `gravity: -22`.
12
+ * That gives an apex of `v^2 / 2g = 1.245` world units and an airtime of
13
+ * `2v / g = 0.673` seconds. The level's platforms step up by at most **0.36** units
14
+ * and are separated by gaps of at most **0.30** units. So every jump rises about
15
+ * 3.5x higher than the tallest step it needs to clear and travels well past the
16
+ * widest gap, with the character spending two thirds of a second in the air on a
17
+ * course whose obstacles need a fraction of that. The character therefore appears to
18
+ * float above the level rather than move through it, landings arrive long after the
19
+ * player expects them, and because the apex dwarfs the platform spacing the platforms
20
+ * read as unrelated strips rather than as a connected route.
21
+ *
22
+ * The engine defect is that nothing related jump tuning to level geometry, so a level
23
+ * could ship physically inconsistent with its own platforms and every gate would pass:
24
+ * the level is *solvable* (an over-powered jump clears everything), the screenshots
25
+ * look fine, and no metric compares apex to step height.
26
+ *
27
+ * This module closes that gap. {@link solvePlatformerMotion} derives gravity, jump
28
+ * velocity and move speed from what a level actually asks the player to do, and
29
+ * {@link validatePlatformerMotion} reports when a level's tuning is inconsistent with
30
+ * its geometry -- both over-powered (floaty) and under-powered (unclearable).
31
+ *
32
+ * Pure and dependency-free.
33
+ */
34
+ export interface PlatformerPlatformLike {
35
+ readonly id?: string | undefined;
36
+ readonly x: number;
37
+ readonly y: number;
38
+ readonly width: number;
39
+ readonly height?: number | undefined;
40
+ }
41
+ export interface PlatformerGeometryFacts {
42
+ /** Largest upward step between consecutive platforms, in world units. */
43
+ readonly maxRise: number;
44
+ /** Largest horizontal gap between consecutive platforms, in world units. */
45
+ readonly maxGap: number;
46
+ /** Total horizontal span of the course. */
47
+ readonly courseLength: number;
48
+ /** Narrowest platform, which bounds how precise a landing must be. */
49
+ readonly minPlatformWidth: number;
50
+ readonly platformCount: number;
51
+ }
52
+ /**
53
+ * Measure what a level asks the player to do.
54
+ *
55
+ * Consecutive platforms are taken in x order, which matches how a side-scrolling
56
+ * course is traversed. Gaps are measured edge to edge and rises top to top.
57
+ */
58
+ export declare function measurePlatformerGeometry(platforms: readonly PlatformerPlatformLike[]): PlatformerGeometryFacts;
59
+ export interface PlatformerMotionRequest {
60
+ /**
61
+ * Time from leaving the ground to the apex, in seconds.
62
+ *
63
+ * This is the parameter that decides how a jump *feels*, and it is a genuine design
64
+ * value rather than something to derive: platformers land between roughly 0.22s
65
+ * (snappy, arcade) and 0.42s (floaty, deliberate). Everything else follows from it
66
+ * plus the level's geometry.
67
+ */
68
+ readonly riseSeconds?: number | undefined;
69
+ /**
70
+ * Headroom above the tallest step the jump must clear, as a multiple of that step.
71
+ *
72
+ * 1.0 would only just reach the next platform, which leaves no margin for a slightly
73
+ * late input. Around 1.6 reads as comfortable without floating.
74
+ */
75
+ readonly apexHeadroom?: number | undefined;
76
+ /**
77
+ * Horizontal margin over the widest gap, as a multiple of that gap.
78
+ *
79
+ * Above 1 the player can clear the widest gap without a frame-perfect jump.
80
+ */
81
+ readonly gapMargin?: number | undefined;
82
+ /** Minimum apex, so a level with no rises still has a usable jump. */
83
+ readonly minApex?: number | undefined;
84
+ /**
85
+ * Target session length in seconds, used to derive move speed from course length.
86
+ *
87
+ * A course is only as long as the time it takes to cross; deriving speed from an
88
+ * intended duration is how a level gets a session length on purpose rather than by
89
+ * accident. Skyline's 16.6-unit course at 1.15 units/second crosses in 14 seconds,
90
+ * which is why the session felt like it ended arbitrarily.
91
+ */
92
+ readonly targetSessionSeconds?: number | undefined;
93
+ /**
94
+ * Fraction of the session spent traversing rather than jumping, retrying and
95
+ * exploring. Below 1 because a player does not walk the course in a straight line.
96
+ */
97
+ readonly traversalFraction?: number | undefined;
98
+ }
99
+ export interface PlatformerMotionSolution {
100
+ readonly kind: "aura-platformer-motion";
101
+ /** Gravity, negative (downward), in world units per second squared. */
102
+ readonly gravity: number;
103
+ /** Initial upward velocity of a full jump. */
104
+ readonly jumpVelocity: number;
105
+ /** Horizontal move speed. */
106
+ readonly moveSpeed: number;
107
+ /** Apex height above the takeoff surface. */
108
+ readonly apex: number;
109
+ /** Total airtime of a full jump, rise plus fall. */
110
+ readonly airtime: number;
111
+ /** Horizontal distance covered during a full jump at `moveSpeed`. */
112
+ readonly jumpReach: number;
113
+ /** Coyote time in milliseconds, scaled to airtime. */
114
+ readonly coyoteMs: number;
115
+ /** Jump buffer in milliseconds, scaled to airtime. */
116
+ readonly jumpBufferMs: number;
117
+ /** Terminal fall speed, so a long drop does not accelerate without limit. */
118
+ readonly terminalVelocity: number;
119
+ /** Geometry the solution was derived from. */
120
+ readonly geometry: PlatformerGeometryFacts;
121
+ /** Estimated time to traverse the course at `moveSpeed`. */
122
+ readonly traversalSeconds: number;
123
+ /** Estimated full session length including jumping and retries. */
124
+ readonly estimatedSessionSeconds: number;
125
+ }
126
+ /**
127
+ * Derive platformer motion from a level's own geometry.
128
+ *
129
+ * The apex is sized to the tallest step the player must clear, not chosen freely, so a
130
+ * jump cannot overshoot the level by 3.5x. Gravity then follows from the apex and the
131
+ * chosen rise time, and jump velocity from gravity and rise time. Move speed is sized
132
+ * so the jump clears the widest gap and the course takes a chosen amount of time.
133
+ */
134
+ export declare function solvePlatformerMotion(platforms: readonly PlatformerPlatformLike[], request?: PlatformerMotionRequest): PlatformerMotionSolution;
135
+ export interface PlatformerMotionCheck {
136
+ readonly id: string;
137
+ readonly description: string;
138
+ readonly passes: boolean;
139
+ readonly detail: string;
140
+ }
141
+ export interface PlatformerMotionReport {
142
+ readonly schema: "aura3d-platformer-motion-invariants/1.0";
143
+ readonly geometry: PlatformerGeometryFacts;
144
+ readonly measured: {
145
+ readonly apex: number;
146
+ readonly airtime: number;
147
+ readonly jumpReach: number;
148
+ readonly apexToRiseRatio: number;
149
+ readonly reachToGapRatio: number;
150
+ };
151
+ readonly checks: readonly PlatformerMotionCheck[];
152
+ readonly passes: boolean;
153
+ }
154
+ /**
155
+ * Check that a level's motion tuning is consistent with its geometry.
156
+ *
157
+ * This is the check that was missing. A level can be perfectly solvable and still feel
158
+ * wrong: an over-powered jump clears every obstacle, so solvability passes, while the
159
+ * character visibly floats. Both directions are failures.
160
+ */
161
+ export declare function validatePlatformerMotion(platforms: readonly PlatformerPlatformLike[], motion: {
162
+ readonly gravity: number;
163
+ readonly jumpVelocity: number;
164
+ readonly moveSpeed: number;
165
+ }, limits?: {
166
+ /** Maximum apex as a multiple of the tallest step. Above this the jump floats. */
167
+ readonly maxApexToRiseRatio?: number | undefined;
168
+ /** Minimum apex as a multiple of the tallest step. Below this a step is unclearable. */
169
+ readonly minApexToRiseRatio?: number | undefined;
170
+ /** Maximum jump reach as a multiple of the widest gap. */
171
+ readonly maxReachToGapRatio?: number | undefined;
172
+ /** Minimum jump reach as a multiple of the widest gap. */
173
+ readonly minReachToGapRatio?: number | undefined;
174
+ /** Maximum airtime in seconds before a jump reads as floaty regardless of ratios. */
175
+ readonly maxAirtimeSeconds?: number | undefined;
176
+ }): PlatformerMotionReport;
177
+ //# sourceMappingURL=PlatformerMotion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformerMotion.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/PlatformerMotion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Reusable platformer motion tuning and level solvability.
3
+ *
4
+ * ## The defects this addresses
5
+ *
6
+ * Skyline Runner's jump was reported as unnatural, floaty, and unreliable to land,
7
+ * with a world that read as disconnected floating strips and a session that ended in
8
+ * about half a minute. Those are not four unrelated complaints; three of them follow
9
+ * from one number.
10
+ *
11
+ * The level ships `jumpVelocity: 7.4` and inherits the kit default `gravity: -22`.
12
+ * That gives an apex of `v^2 / 2g = 1.245` world units and an airtime of
13
+ * `2v / g = 0.673` seconds. The level's platforms step up by at most **0.36** units
14
+ * and are separated by gaps of at most **0.30** units. So every jump rises about
15
+ * 3.5x higher than the tallest step it needs to clear and travels well past the
16
+ * widest gap, with the character spending two thirds of a second in the air on a
17
+ * course whose obstacles need a fraction of that. The character therefore appears to
18
+ * float above the level rather than move through it, landings arrive long after the
19
+ * player expects them, and because the apex dwarfs the platform spacing the platforms
20
+ * read as unrelated strips rather than as a connected route.
21
+ *
22
+ * The engine defect is that nothing related jump tuning to level geometry, so a level
23
+ * could ship physically inconsistent with its own platforms and every gate would pass:
24
+ * the level is *solvable* (an over-powered jump clears everything), the screenshots
25
+ * look fine, and no metric compares apex to step height.
26
+ *
27
+ * This module closes that gap. {@link solvePlatformerMotion} derives gravity, jump
28
+ * velocity and move speed from what a level actually asks the player to do, and
29
+ * {@link validatePlatformerMotion} reports when a level's tuning is inconsistent with
30
+ * its geometry -- both over-powered (floaty) and under-powered (unclearable).
31
+ *
32
+ * Pure and dependency-free.
33
+ */
34
+ /**
35
+ * Measure what a level asks the player to do.
36
+ *
37
+ * Consecutive platforms are taken in x order, which matches how a side-scrolling
38
+ * course is traversed. Gaps are measured edge to edge and rises top to top.
39
+ */
40
+ export function measurePlatformerGeometry(platforms) {
41
+ if (platforms.length === 0) {
42
+ return { maxRise: 0, maxGap: 0, courseLength: 0, minPlatformWidth: 0, platformCount: 0 };
43
+ }
44
+ const ordered = [...platforms].sort((a, b) => a.x - b.x);
45
+ let maxRise = 0;
46
+ let maxGap = 0;
47
+ for (let index = 0; index < ordered.length - 1; index += 1) {
48
+ const from = ordered[index];
49
+ const to = ordered[index + 1];
50
+ const topFrom = from.y + (from.height ?? 0);
51
+ const topTo = to.y + (to.height ?? 0);
52
+ maxRise = Math.max(maxRise, topTo - topFrom);
53
+ maxGap = Math.max(maxGap, to.x - (from.x + from.width));
54
+ }
55
+ const start = Math.min(...ordered.map((platform) => platform.x));
56
+ const end = Math.max(...ordered.map((platform) => platform.x + platform.width));
57
+ return {
58
+ maxRise: round(maxRise),
59
+ maxGap: round(Math.max(0, maxGap)),
60
+ courseLength: round(end - start),
61
+ minPlatformWidth: round(Math.min(...ordered.map((platform) => platform.width))),
62
+ platformCount: ordered.length
63
+ };
64
+ }
65
+ /**
66
+ * Derive platformer motion from a level's own geometry.
67
+ *
68
+ * The apex is sized to the tallest step the player must clear, not chosen freely, so a
69
+ * jump cannot overshoot the level by 3.5x. Gravity then follows from the apex and the
70
+ * chosen rise time, and jump velocity from gravity and rise time. Move speed is sized
71
+ * so the jump clears the widest gap and the course takes a chosen amount of time.
72
+ */
73
+ export function solvePlatformerMotion(platforms, request = {}) {
74
+ const geometry = measurePlatformerGeometry(platforms);
75
+ const riseSeconds = clampPositive(request.riseSeconds ?? 0.3, 0.08, 1);
76
+ const apexHeadroom = clampPositive(request.apexHeadroom ?? 1.6, 1, 6);
77
+ const gapMargin = clampPositive(request.gapMargin ?? 1.45, 1, 4);
78
+ const minApex = Math.max(0.05, request.minApex ?? 0.4);
79
+ // Apex is the tallest step plus headroom, floored so a flat level still jumps.
80
+ const apex = Math.max(minApex, geometry.maxRise * apexHeadroom);
81
+ // Projectile motion: apex = v^2 / 2g and riseSeconds = v / g, so g = 2 * apex / t^2.
82
+ const gravityMagnitude = (2 * apex) / (riseSeconds * riseSeconds);
83
+ const jumpVelocity = gravityMagnitude * riseSeconds;
84
+ const airtime = 2 * riseSeconds;
85
+ /*
86
+ * Move speed has two requirements, and the larger wins.
87
+ *
88
+ * It must be fast enough that a full jump clears the widest gap with margin, and it
89
+ * should cross the course in roughly the intended session time. Taking the maximum
90
+ * means a level with a wide gap is never made unclearable by a slow target pace.
91
+ */
92
+ const speedForGap = geometry.maxGap > 0 ? (geometry.maxGap * gapMargin) / airtime : 0;
93
+ const targetSessionSeconds = Math.max(1, request.targetSessionSeconds ?? 0);
94
+ const traversalFraction = clampPositive(request.traversalFraction ?? 0.45, 0.1, 1);
95
+ const speedForSession = targetSessionSeconds > 1 && geometry.courseLength > 0
96
+ ? geometry.courseLength / (targetSessionSeconds * traversalFraction)
97
+ : 0;
98
+ const moveSpeed = Math.max(0.5, speedForGap, speedForSession);
99
+ const traversalSeconds = moveSpeed > 0 ? geometry.courseLength / moveSpeed : 0;
100
+ return {
101
+ kind: "aura-platformer-motion",
102
+ gravity: -round(gravityMagnitude),
103
+ jumpVelocity: round(jumpVelocity),
104
+ moveSpeed: round(moveSpeed),
105
+ apex: round(apex),
106
+ airtime: round(airtime),
107
+ jumpReach: round(moveSpeed * airtime),
108
+ // Coyote time and jump buffer are fractions of airtime rather than fixed
109
+ // milliseconds: a snappy jump needs a shorter grace window than a floaty one, and a
110
+ // fixed 110ms window is a large fraction of a 0.44s jump but a small one of 0.9s.
111
+ coyoteMs: Math.round(airtime * 1000 * 0.18),
112
+ jumpBufferMs: Math.round(airtime * 1000 * 0.22),
113
+ // Terminal velocity caps a long fall at roughly twice takeoff speed, which keeps a
114
+ // drop readable instead of becoming an instant teleport downward.
115
+ terminalVelocity: -round(jumpVelocity * 2),
116
+ geometry,
117
+ traversalSeconds: round(traversalSeconds),
118
+ estimatedSessionSeconds: round(traversalSeconds / traversalFraction)
119
+ };
120
+ }
121
+ /**
122
+ * Check that a level's motion tuning is consistent with its geometry.
123
+ *
124
+ * This is the check that was missing. A level can be perfectly solvable and still feel
125
+ * wrong: an over-powered jump clears every obstacle, so solvability passes, while the
126
+ * character visibly floats. Both directions are failures.
127
+ */
128
+ export function validatePlatformerMotion(platforms, motion, limits = {}) {
129
+ const geometry = measurePlatformerGeometry(platforms);
130
+ const gravityMagnitude = Math.abs(motion.gravity);
131
+ const apex = gravityMagnitude > 0 ? (motion.jumpVelocity * motion.jumpVelocity) / (2 * gravityMagnitude) : 0;
132
+ const airtime = gravityMagnitude > 0 ? (2 * motion.jumpVelocity) / gravityMagnitude : 0;
133
+ const jumpReach = motion.moveSpeed * airtime;
134
+ const apexToRiseRatio = geometry.maxRise > 0 ? apex / geometry.maxRise : Number.POSITIVE_INFINITY;
135
+ const reachToGapRatio = geometry.maxGap > 0 ? jumpReach / geometry.maxGap : Number.POSITIVE_INFINITY;
136
+ const maxApexRatio = limits.maxApexToRiseRatio ?? 2.6;
137
+ const minApexRatio = limits.minApexToRiseRatio ?? 1.15;
138
+ const maxReachRatio = limits.maxReachToGapRatio ?? 3.2;
139
+ const minReachRatio = limits.minReachToGapRatio ?? 1.1;
140
+ const maxAirtime = limits.maxAirtimeSeconds ?? 0.95;
141
+ const checks = [
142
+ {
143
+ id: "jump-clears-tallest-step",
144
+ description: `jump apex must exceed the tallest step by at least ${minApexRatio}x`,
145
+ passes: !Number.isFinite(apexToRiseRatio) || apexToRiseRatio >= minApexRatio,
146
+ detail: `apex ${round(apex)} vs tallest step ${geometry.maxRise} (ratio ${roundRatio(apexToRiseRatio)})`
147
+ },
148
+ {
149
+ id: "jump-not-floaty",
150
+ description: `jump apex must not exceed the tallest step by more than ${maxApexRatio}x`,
151
+ // An infinite ratio means the level has no rises at all, where any apex is fine.
152
+ passes: !Number.isFinite(apexToRiseRatio) || apexToRiseRatio <= maxApexRatio,
153
+ detail: `apex ${round(apex)} vs tallest step ${geometry.maxRise} (ratio ${roundRatio(apexToRiseRatio)})`
154
+ },
155
+ {
156
+ id: "jump-clears-widest-gap",
157
+ description: `horizontal jump reach must exceed the widest gap by at least ${minReachRatio}x`,
158
+ passes: !Number.isFinite(reachToGapRatio) || reachToGapRatio >= minReachRatio,
159
+ detail: `reach ${round(jumpReach)} vs widest gap ${geometry.maxGap} (ratio ${roundRatio(reachToGapRatio)})`
160
+ },
161
+ {
162
+ id: "jump-reach-proportionate",
163
+ description: `horizontal jump reach must not exceed the widest gap by more than ${maxReachRatio}x`,
164
+ passes: !Number.isFinite(reachToGapRatio) || reachToGapRatio <= maxReachRatio,
165
+ detail: `reach ${round(jumpReach)} vs widest gap ${geometry.maxGap} (ratio ${roundRatio(reachToGapRatio)})`
166
+ },
167
+ {
168
+ id: "airtime-readable",
169
+ description: `total airtime must stay under ${maxAirtime}s so a jump reads as a jump`,
170
+ passes: airtime <= maxAirtime,
171
+ detail: `airtime ${round(airtime)}s`
172
+ },
173
+ {
174
+ id: "landing-precision-achievable",
175
+ description: "jump reach must not exceed the narrowest platform by so much that landing is a guess",
176
+ // A reach far larger than the target platform means the player cannot choose where
177
+ // to land, only whether to jump.
178
+ passes: geometry.minPlatformWidth <= 0 || jumpReach <= geometry.minPlatformWidth * 4,
179
+ detail: `reach ${round(jumpReach)} vs narrowest platform ${geometry.minPlatformWidth}`
180
+ }
181
+ ];
182
+ return {
183
+ schema: "aura3d-platformer-motion-invariants/1.0",
184
+ geometry,
185
+ measured: {
186
+ apex: round(apex),
187
+ airtime: round(airtime),
188
+ jumpReach: round(jumpReach),
189
+ apexToRiseRatio: roundRatio(apexToRiseRatio),
190
+ reachToGapRatio: roundRatio(reachToGapRatio)
191
+ },
192
+ checks,
193
+ passes: checks.every((check) => check.passes)
194
+ };
195
+ }
196
+ function clampPositive(value, min, max) {
197
+ if (!Number.isFinite(value))
198
+ return min;
199
+ return Math.min(max, Math.max(min, value));
200
+ }
201
+ function round(value) {
202
+ return Math.round(value * 1e4) / 1e4;
203
+ }
204
+ function roundRatio(value) {
205
+ return Number.isFinite(value) ? Math.round(value * 100) / 100 : Number.POSITIVE_INFINITY;
206
+ }
207
+ //# sourceMappingURL=PlatformerMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformerMotion.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/PlatformerMotion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAsBH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAA4C;IACpF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC3F,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;QAC7C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAClC,YAAY,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;QAChC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,aAAa,EAAE,OAAO,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC;AAuED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA4C,EAC5C,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAEvD,+EAA+E;IAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;IAChE,qFAAqF;IACrF,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,gBAAgB,GAAG,WAAW,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;IAEhC;;;;;;OAMG;IACH,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,oBAAoB,GAAG,CAAC,IAAI,QAAQ,CAAC,YAAY,GAAG,CAAC;QAC3E,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;QACpE,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAE9D,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/E,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACjC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACjC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QACvB,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;QACrC,yEAAyE;QACzE,oFAAoF;QACpF,kFAAkF;QAClF,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;QAC/C,mFAAmF;QACnF,kEAAkE;QAClE,gBAAgB,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1C,QAAQ;QACR,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC;QACzC,uBAAuB,EAAE,KAAK,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;KACrE,CAAC;AACJ,CAAC;AAuBD;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAA4C,EAC5C,MAA+F,EAC/F,SAWI,EAAE;IAEN,MAAM,QAAQ,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAClG,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAErG,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAEpD,MAAM,MAAM,GAA4B;QACtC;YACE,EAAE,EAAE,0BAA0B;YAC9B,WAAW,EAAE,sDAAsD,YAAY,GAAG;YAClF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,YAAY;YAC5E,MAAM,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,OAAO,WAAW,UAAU,CAAC,eAAe,CAAC,GAAG;SACzG;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,WAAW,EAAE,2DAA2D,YAAY,GAAG;YACvF,iFAAiF;YACjF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,YAAY;YAC5E,MAAM,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,OAAO,WAAW,UAAU,CAAC,eAAe,CAAC,GAAG;SACzG;QACD;YACE,EAAE,EAAE,wBAAwB;YAC5B,WAAW,EAAE,gEAAgE,aAAa,GAAG;YAC7F,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,aAAa;YAC7E,MAAM,EAAE,SAAS,KAAK,CAAC,SAAS,CAAC,kBAAkB,QAAQ,CAAC,MAAM,WAAW,UAAU,CAAC,eAAe,CAAC,GAAG;SAC5G;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,WAAW,EAAE,qEAAqE,aAAa,GAAG;YAClG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,aAAa;YAC7E,MAAM,EAAE,SAAS,KAAK,CAAC,SAAS,CAAC,kBAAkB,QAAQ,CAAC,MAAM,WAAW,UAAU,CAAC,eAAe,CAAC,GAAG;SAC5G;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,WAAW,EAAE,iCAAiC,UAAU,6BAA6B;YACrF,MAAM,EAAE,OAAO,IAAI,UAAU;YAC7B,MAAM,EAAE,WAAW,KAAK,CAAC,OAAO,CAAC,GAAG;SACrC;QACD;YACE,EAAE,EAAE,8BAA8B;YAClC,WAAW,EAAE,sFAAsF;YACnG,mFAAmF;YACnF,iCAAiC;YACjC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,IAAI,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC,gBAAgB,GAAG,CAAC;YACpF,MAAM,EAAE,SAAS,KAAK,CAAC,SAAS,CAAC,0BAA0B,QAAQ,CAAC,gBAAgB,EAAE;SACvF;KACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,yCAAyC;QACjD,QAAQ;QACR,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;YAC3B,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;YAC5C,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;SAC7C;QACD,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC3F,CAAC"}