@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.
- package/README.md +77 -46
- package/dist/engine/agent-api/ApplicationKits.d.ts +307 -0
- package/dist/engine/agent-api/ApplicationKits.d.ts.map +1 -0
- package/dist/engine/agent-api/ApplicationKits.js +650 -0
- package/dist/engine/agent-api/ApplicationKits.js.map +1 -0
- package/dist/engine/agent-api/CombatFrameData.d.ts +210 -0
- package/dist/engine/agent-api/CombatFrameData.d.ts.map +1 -0
- package/dist/engine/agent-api/CombatFrameData.js +324 -0
- package/dist/engine/agent-api/CombatFrameData.js.map +1 -0
- package/dist/engine/agent-api/FocusSelection.d.ts +186 -0
- package/dist/engine/agent-api/FocusSelection.d.ts.map +1 -0
- package/dist/engine/agent-api/FocusSelection.js +436 -0
- package/dist/engine/agent-api/FocusSelection.js.map +1 -0
- package/dist/engine/agent-api/GameGenreKits.d.ts +32 -1
- package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
- package/dist/engine/agent-api/GameGenreKits.js +51 -7
- package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +10 -0
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js +7 -0
- package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
- package/dist/engine/agent-api/PlatformerMotion.d.ts +177 -0
- package/dist/engine/agent-api/PlatformerMotion.d.ts.map +1 -0
- package/dist/engine/agent-api/PlatformerMotion.js +207 -0
- package/dist/engine/agent-api/PlatformerMotion.js.map +1 -0
- package/dist/engine/agent-api/SceneQueries.d.ts +124 -0
- package/dist/engine/agent-api/SceneQueries.d.ts.map +1 -0
- package/dist/engine/agent-api/SceneQueries.js +221 -0
- package/dist/engine/agent-api/SceneQueries.js.map +1 -0
- package/dist/engine/agent-api/SpatialAnchoring.d.ts +232 -0
- package/dist/engine/agent-api/SpatialAnchoring.d.ts.map +1 -0
- package/dist/engine/agent-api/SpatialAnchoring.js +348 -0
- package/dist/engine/agent-api/SpatialAnchoring.js.map +1 -0
- package/dist/engine/agent-api/VehicleChassis.d.ts +192 -0
- package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -0
- package/dist/engine/agent-api/VehicleChassis.js +322 -0
- package/dist/engine/agent-api/VehicleChassis.js.map +1 -0
- package/dist/engine/agent-api/VehicleDriverAi.d.ts +123 -0
- package/dist/engine/agent-api/VehicleDriverAi.d.ts.map +1 -0
- package/dist/engine/agent-api/VehicleDriverAi.js +217 -0
- package/dist/engine/agent-api/VehicleDriverAi.js.map +1 -0
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts +146 -0
- package/dist/engine/agent-api/WorldLabelRenderer.d.ts.map +1 -0
- package/dist/engine/agent-api/WorldLabelRenderer.js +331 -0
- package/dist/engine/agent-api/WorldLabelRenderer.js.map +1 -0
- package/dist/engine/agent-api/index.d.ts +30 -0
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +87 -1
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
- 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":"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"}
|