@aura3d/engine 1.4.3 → 1.4.5

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 (161) hide show
  1. package/README.md +34 -22
  2. package/dist/aura3d-cli/asset-core-types.d.ts +43 -0
  3. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  4. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  5. package/dist/aura3d-cli/cli-help.js +7 -1
  6. package/dist/aura3d-cli/cli-help.js.map +1 -1
  7. package/dist/aura3d-cli/cli-options.d.ts +3 -1
  8. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  9. package/dist/aura3d-cli/cli-options.js +23 -0
  10. package/dist/aura3d-cli/cli-options.js.map +1 -1
  11. package/dist/aura3d-cli/cli.js +40 -3
  12. package/dist/aura3d-cli/cli.js.map +1 -1
  13. package/dist/aura3d-cli/index.d.ts +4 -2
  14. package/dist/aura3d-cli/index.d.ts.map +1 -1
  15. package/dist/aura3d-cli/index.js +384 -8
  16. package/dist/aura3d-cli/index.js.map +1 -1
  17. package/dist/create-aura3d/index.d.ts +4 -0
  18. package/dist/create-aura3d/index.d.ts.map +1 -1
  19. package/dist/create-aura3d/index.js +3 -1
  20. package/dist/create-aura3d/index.js.map +1 -1
  21. package/dist/create-aura3d/showcase-spec-artifacts.d.ts +5 -0
  22. package/dist/create-aura3d/showcase-spec-artifacts.d.ts.map +1 -1
  23. package/dist/create-aura3d/showcase-spec-artifacts.js +11 -2
  24. package/dist/create-aura3d/showcase-spec-artifacts.js.map +1 -1
  25. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts +116 -0
  26. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts.map +1 -0
  27. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js +336 -0
  28. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js.map +1 -0
  29. package/dist/create-aura3d/showcase-spec-compiler.d.ts.map +1 -1
  30. package/dist/create-aura3d/showcase-spec-compiler.js +149 -10
  31. package/dist/create-aura3d/showcase-spec-compiler.js.map +1 -1
  32. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts +14 -0
  33. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts.map +1 -0
  34. package/dist/create-aura3d/showcase-spec-composition-evidence.js +123 -0
  35. package/dist/create-aura3d/showcase-spec-composition-evidence.js.map +1 -0
  36. package/dist/create-aura3d/showcase-spec-evidence.js +50 -1
  37. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  38. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +4 -2
  39. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  40. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +260 -30
  41. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  42. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts +20 -0
  43. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts.map +1 -0
  44. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js +16 -0
  45. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js.map +1 -0
  46. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js +7 -3
  47. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js.map +1 -1
  48. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts +10 -0
  49. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts.map +1 -0
  50. package/dist/create-aura3d/showcase-spec-game-scene-scale.js +71 -0
  51. package/dist/create-aura3d/showcase-spec-game-scene-scale.js.map +1 -0
  52. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts +10 -0
  53. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  54. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +50 -7
  55. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  56. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js +4 -3
  57. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js.map +1 -1
  58. package/dist/create-aura3d/showcase-spec-parser.d.ts.map +1 -1
  59. package/dist/create-aura3d/showcase-spec-parser.js +3 -0
  60. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  61. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts +1 -0
  62. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
  63. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +188 -56
  64. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
  65. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts +1 -0
  66. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -1
  67. package/dist/create-aura3d/showcase-spec-racing-artifacts.js +208 -31
  68. package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -1
  69. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +2 -1
  70. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
  71. package/dist/create-aura3d/showcase-spec-types.d.ts +22 -0
  72. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  73. package/dist/engine/agent-api/GameGenreKits.d.ts +44 -0
  74. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  75. package/dist/engine/agent-api/GameGenreKits.js +126 -28
  76. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  77. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +26 -0
  78. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  79. package/dist/engine/agent-api/GameSceneGeometryBindings.js +11 -1
  80. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  81. package/dist/engine/agent-api/index.d.ts +8 -6
  82. package/dist/engine/agent-api/index.d.ts.map +1 -1
  83. package/dist/engine/agent-api/index.js +71 -3
  84. package/dist/engine/agent-api/index.js.map +1 -1
  85. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  86. package/package.json +23 -22
  87. package/templates/cinematic-scene/package.json +1 -1
  88. package/templates/mini-game/package.json +1 -1
  89. package/templates/product-viewer/package.json +1 -1
  90. package/dist/animation/Retargeting.d.ts +0 -12
  91. package/dist/animation/Retargeting.d.ts.map +0 -1
  92. package/dist/animation/Retargeting.js +0 -19
  93. package/dist/animation/Retargeting.js.map +0 -1
  94. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +0 -15
  95. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +0 -1
  96. package/dist/aura3d-cli/cartoon-asset-profiles.js +0 -46
  97. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +0 -1
  98. package/dist/editor-runtime/CartoonSceneEditor.d.ts +0 -111
  99. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +0 -1
  100. package/dist/editor-runtime/CartoonSceneEditor.js +0 -285
  101. package/dist/editor-runtime/CartoonSceneEditor.js.map +0 -1
  102. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +0 -50
  103. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +0 -1
  104. package/dist/engine/agent-api/CartoonAssetManifest.js +0 -65
  105. package/dist/engine/agent-api/CartoonAssetManifest.js.map +0 -1
  106. package/dist/engine/agent-api/CartoonDirector.d.ts +0 -120
  107. package/dist/engine/agent-api/CartoonDirector.d.ts.map +0 -1
  108. package/dist/engine/agent-api/CartoonDirector.js +0 -432
  109. package/dist/engine/agent-api/CartoonDirector.js.map +0 -1
  110. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +0 -51
  111. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +0 -1
  112. package/dist/engine/agent-api/CartoonEpisodePackage.js +0 -79
  113. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +0 -1
  114. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +0 -83
  115. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +0 -1
  116. package/dist/engine/agent-api/CartoonMotionQuality.js +0 -128
  117. package/dist/engine/agent-api/CartoonMotionQuality.js.map +0 -1
  118. package/dist/engine/agent-api/CartoonPerformance.d.ts +0 -150
  119. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +0 -1
  120. package/dist/engine/agent-api/CartoonPerformance.js +0 -345
  121. package/dist/engine/agent-api/CartoonPerformance.js.map +0 -1
  122. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +0 -143
  123. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +0 -1
  124. package/dist/engine/agent-api/CartoonRenderQueue.js +0 -410
  125. package/dist/engine/agent-api/CartoonRenderQueue.js.map +0 -1
  126. package/dist/engine/agent-api/CartoonRouteProof.d.ts +0 -112
  127. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +0 -1
  128. package/dist/engine/agent-api/CartoonRouteProof.js +0 -127
  129. package/dist/engine/agent-api/CartoonRouteProof.js.map +0 -1
  130. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +0 -19
  131. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
  132. package/dist/rendering/cartoon/CartoonMaterialStyle.js +0 -13
  133. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +0 -1
  134. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +0 -36
  135. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +0 -1
  136. package/dist/rendering/cartoon/CartoonRenderPreset.js +0 -23
  137. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +0 -1
  138. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +0 -130
  139. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +0 -1
  140. package/dist/rendering/cartoon/CartoonToonMaterial.js +0 -303
  141. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +0 -1
  142. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +0 -28
  143. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +0 -1
  144. package/dist/rendering/cartoon/CartoonVisualQuality.js +0 -39
  145. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +0 -1
  146. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +0 -79
  147. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
  148. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +0 -88
  149. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +0 -1
  150. package/dist/rendering/cartoon/index.d.ts +0 -6
  151. package/dist/rendering/cartoon/index.d.ts.map +0 -1
  152. package/dist/rendering/cartoon/index.js +0 -6
  153. package/dist/rendering/cartoon/index.js.map +0 -1
  154. package/dist/scripting/CartoonNodeCategories.d.ts +0 -3
  155. package/dist/scripting/CartoonNodeCategories.d.ts.map +0 -1
  156. package/dist/scripting/CartoonNodeCategories.js +0 -9
  157. package/dist/scripting/CartoonNodeCategories.js.map +0 -1
  158. package/dist/scripting/CartoonVisualNodes.d.ts +0 -3
  159. package/dist/scripting/CartoonVisualNodes.d.ts.map +0 -1
  160. package/dist/scripting/CartoonVisualNodes.js +0 -41
  161. package/dist/scripting/CartoonVisualNodes.js.map +0 -1
@@ -84,8 +84,23 @@ export interface GamePlatformerSnapshot {
84
84
  readonly activatedCheckpoints: readonly string[];
85
85
  readonly events: readonly GamePlatformerEvent[];
86
86
  }
87
+ export interface GamePlatformerGroundContact {
88
+ readonly grounded: boolean;
89
+ readonly surfaceId?: string;
90
+ readonly surfaceTop?: number;
91
+ }
92
+ export interface GamePlatformerSurfaceQuery {
93
+ readonly kind: "aura-game-platformer-surface-query";
94
+ readonly certified: boolean;
95
+ groundContact(input: {
96
+ readonly player: Pick<GamePlatformerPlayerState, "x" | "y" | "vy">;
97
+ readonly previousPlayer: Pick<GamePlatformerPlayerState, "x" | "y">;
98
+ readonly additionalSurfaces?: readonly GameKitRect[];
99
+ }): GamePlatformerGroundContact;
100
+ }
87
101
  export interface GamePlatformerKit {
88
102
  readonly kind: "aura-game-platformer-kit";
103
+ readonly surfaceQuery: GamePlatformerSurfaceQuery;
89
104
  step(dt: number, input?: GamePlatformerInput): GamePlatformerSnapshot;
90
105
  reset(checkpointId?: string): GamePlatformerSnapshot;
91
106
  snapshot(): GamePlatformerSnapshot;
@@ -224,6 +239,13 @@ export interface GameRacingTrackTopology {
224
239
  readonly notes: string;
225
240
  };
226
241
  }
242
+ export interface GameRacingSpeedModel {
243
+ readonly kind: "route-length-over-authored-lap-seconds";
244
+ readonly routeLength: number;
245
+ readonly authoredLapSeconds: number;
246
+ readonly certifiedSpeed: number;
247
+ readonly units: "game-units-per-second";
248
+ }
227
249
  export interface GameAssetBoundRacingRouteBinding {
228
250
  readonly kind: "aura-game-asset-bound-racing-route";
229
251
  readonly layoutContractVersion: "1.0";
@@ -234,6 +256,7 @@ export interface GameAssetBoundRacingRouteBinding {
234
256
  readonly confidence?: number;
235
257
  readonly routeLength: number;
236
258
  readonly authoredLapSeconds: number;
259
+ readonly speedModel: GameRacingSpeedModel;
237
260
  readonly pointCount: number;
238
261
  readonly checkpointCount: number;
239
262
  }
@@ -252,6 +275,8 @@ export interface GameAssetBoundRacingRouteOptions {
252
275
  }
253
276
  export interface GameRacingOptions {
254
277
  readonly route: GameRacingRoute;
278
+ /** Multiplies the certified baseline pace without changing route geometry or authored evidence duration. */
279
+ readonly paceMultiplier?: number;
255
280
  readonly maxSpeed?: number;
256
281
  readonly acceleration?: number;
257
282
  readonly brakeStrength?: number;
@@ -305,6 +330,7 @@ export interface GameAssetBoundPlatformerLevelBinding {
305
330
  readonly characterScaleRatio?: number;
306
331
  readonly confidence?: number;
307
332
  readonly authoredPlayableSeconds: number;
333
+ readonly traversalSeconds: number;
308
334
  readonly surfaceCount: number;
309
335
  readonly checkpointCount: number;
310
336
  }
@@ -316,6 +342,8 @@ export interface GameAssetBoundPlatformerLevelOptions {
316
342
  readonly worldAssetBindings: readonly GamePlatformerWorldAssetBinding[];
317
343
  readonly level: GamePlatformerLevel;
318
344
  readonly playableSurfaceMap?: GamePlatformerPlayableSurfaceMap;
345
+ /** Authored duration backed by certified level flow, including traversal, jumps, hazards, and checkpoints. */
346
+ readonly authoredPlayableSeconds?: number;
319
347
  readonly minPlayableSeconds?: number;
320
348
  readonly minCheckpoints?: number;
321
349
  readonly minSurfaceCount?: number;
@@ -365,8 +393,22 @@ export interface GameRacingCameraSnapshot {
365
393
  readonly target: readonly [number, number, number];
366
394
  readonly fov: number;
367
395
  }
396
+ export interface GameRacingSurfaceContact {
397
+ readonly onTrack: boolean;
398
+ readonly progress: number;
399
+ readonly distance: number;
400
+ readonly trackOffset: number;
401
+ readonly roadHalfWidth: number;
402
+ }
403
+ export interface GameRacingSurfaceQuery {
404
+ readonly kind: "aura-game-racing-surface-query";
405
+ readonly certified: boolean;
406
+ query(position: GameKitVec2): GameRacingSurfaceContact;
407
+ }
368
408
  export interface GameRacingKit {
369
409
  readonly kind: "aura-game-racing-kit";
410
+ readonly maxSpeed: number;
411
+ readonly surfaceQuery: GameRacingSurfaceQuery;
370
412
  step(dt: number, input?: GameRacingInput): GameRacingSnapshot;
371
413
  reset(progress?: number): GameRacingSnapshot;
372
414
  placeAtProgress(progress: number, offset?: number): GameRacingSnapshot;
@@ -465,9 +507,11 @@ export interface GameFallingBlocksKit {
465
507
  events(): readonly GameFallingBlocksEvent[];
466
508
  consumeEvents(): readonly GameFallingBlocksEvent[];
467
509
  }
510
+ export declare function createGamePlatformerSurfaceQuery(level?: GamePlatformerLevel): GamePlatformerSurfaceQuery;
468
511
  export declare function createGamePlatformerKit(level?: GamePlatformerLevel): GamePlatformerKit;
469
512
  export declare function createGameAssetBoundPlatformerLevel(options: GameAssetBoundPlatformerLevelOptions): GameAssetBoundPlatformerLevel;
470
513
  export declare function createGameAssetBoundRacingRoute(options: GameAssetBoundRacingRouteOptions): GameAssetBoundRacingRoute;
514
+ export declare function createGameRacingSurfaceQuery(route: GameRacingRoute): GameRacingSurfaceQuery;
471
515
  export declare function createGameRacingKit(options: GameRacingOptions): GameRacingKit;
472
516
  export declare function createGameFallingBlocksKit(options?: GameFallingBlocksOptions): GameFallingBlocksKit;
473
517
  //# sourceMappingURL=GameGenreKits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GameGenreKits.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameGenreKits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameGenreKits.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/GameGenreKits.ts"],"names":[],"mappings":"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"}
@@ -149,10 +149,31 @@ const DEFAULT_PLATFORMER_LEVEL = {
149
149
  checkpoints: [],
150
150
  lives: 3
151
151
  };
152
+ export function createGamePlatformerSurfaceQuery(level = {}) {
153
+ const config = { ...DEFAULT_PLATFORMER_LEVEL, ...level };
154
+ const playerWidth = config.playerSize[0];
155
+ return {
156
+ kind: "aura-game-platformer-surface-query",
157
+ certified: isAssetBoundPlatformerLevel(level),
158
+ groundContact(input) {
159
+ const surfaces = [...config.platforms, ...(input.additionalSurfaces ?? [])];
160
+ for (const surface of surfaces) {
161
+ const top = platformTop(surface);
162
+ const wasAbove = input.previousPlayer.y >= top - 0.04;
163
+ const fallingOnto = input.player.vy <= 0 && input.player.y <= top + config.ledgeGrabTolerance;
164
+ if (wasAbove && fallingOnto && platformerHorizontalOverlap(input.player.x, playerWidth, surface, config.ledgeGrabTolerance)) {
165
+ return { grounded: true, surfaceId: surface.id, surfaceTop: top };
166
+ }
167
+ }
168
+ return { grounded: false };
169
+ }
170
+ };
171
+ }
152
172
  export function createGamePlatformerKit(level = {}) {
153
173
  const config = { ...DEFAULT_PLATFORMER_LEVEL, ...level };
154
174
  const playerWidth = config.playerSize[0];
155
175
  const playerHeight = config.playerSize[1];
176
+ const surfaceQuery = createGamePlatformerSurfaceQuery(level);
156
177
  let state = createPlatformerState(config);
157
178
  let events = [];
158
179
  const snapshot = () => ({
@@ -202,6 +223,7 @@ export function createGamePlatformerKit(level = {}) {
202
223
  };
203
224
  return {
204
225
  kind: "aura-game-platformer-kit",
226
+ surfaceQuery,
205
227
  step(dt, input = {}) {
206
228
  const step = Math.min(0.05, Math.max(0, dt || 0));
207
229
  events = [];
@@ -250,20 +272,15 @@ export function createGamePlatformerKit(level = {}) {
250
272
  state.player.grounded = false;
251
273
  state.player.ridingPlatformId = undefined;
252
274
  const platforms = [...config.platforms, ...moving];
253
- for (const platform of platforms) {
254
- const top = platformTop(platform);
255
- const wasAbove = previousPlayer.y >= top - 0.04;
256
- const fallingOnto = state.player.vy <= 0 && state.player.y <= top + config.ledgeGrabTolerance;
257
- if (wasAbove && fallingOnto && platformerHorizontalOverlap(state.player.x, playerWidth, platform, config.ledgeGrabTolerance)) {
258
- state.player.y = top;
259
- state.player.vy = 0;
260
- state.player.grounded = true;
261
- state.player.coyote = config.coyoteMs / 1000;
262
- state.player.ridingPlatformId = moving.some((candidate) => candidate.id === platform.id) ? platform.id : undefined;
263
- if (!previousPlayer.grounded)
264
- emit("land", platform.id);
265
- break;
266
- }
275
+ const groundContact = surfaceQuery.groundContact({ player: state.player, previousPlayer, additionalSurfaces: moving });
276
+ if (groundContact.grounded && groundContact.surfaceId && groundContact.surfaceTop !== undefined) {
277
+ state.player.y = groundContact.surfaceTop;
278
+ state.player.vy = 0;
279
+ state.player.grounded = true;
280
+ state.player.coyote = config.coyoteMs / 1000;
281
+ state.player.ridingPlatformId = moving.some((candidate) => candidate.id === groundContact.surfaceId) ? groundContact.surfaceId : undefined;
282
+ if (!previousPlayer.grounded)
283
+ emit("land", groundContact.surfaceId);
267
284
  }
268
285
  for (const coin of config.collectibles) {
269
286
  if (state.collected.has(coin.id))
@@ -319,7 +336,7 @@ export function createGameAssetBoundPlatformerLevel(options) {
319
336
  const level = options.level;
320
337
  const platforms = [...(level.platforms ?? [])];
321
338
  const checkpoints = [...(level.checkpoints ?? [])];
322
- const minPlayableSeconds = options.minPlayableSeconds ?? 30;
339
+ const minPlayableSeconds = Math.max(30, options.minPlayableSeconds ?? 30);
323
340
  const minCheckpoints = options.minCheckpoints ?? 3;
324
341
  const minSurfaceCount = options.minSurfaceCount ?? 4;
325
342
  const start = level.start ?? DEFAULT_PLATFORMER_LEVEL.start;
@@ -335,7 +352,11 @@ export function createGameAssetBoundPlatformerLevel(options) {
335
352
  if (checkpoints.length < minCheckpoints) {
336
353
  throw new Error(`game.assetBoundPlatformerLevel requires at least ${minCheckpoints} checkpoints.`);
337
354
  }
338
- const authoredPlayableSeconds = roundGameMetric((finish.x - start.x) / moveSpeed);
355
+ const traversalSeconds = roundGameMetric((finish.x - start.x) / moveSpeed);
356
+ const authoredPlayableSeconds = roundGameMetric(options.authoredPlayableSeconds ?? traversalSeconds);
357
+ if (!Number.isFinite(authoredPlayableSeconds) || authoredPlayableSeconds <= 0) {
358
+ throw new Error("game.assetBoundPlatformerLevel authoredPlayableSeconds must be a positive finite duration.");
359
+ }
339
360
  if (authoredPlayableSeconds < minPlayableSeconds) {
340
361
  throw new Error(`game.assetBoundPlatformerLevel requires at least ${minPlayableSeconds}s of authored playable path.`);
341
362
  }
@@ -358,6 +379,7 @@ export function createGameAssetBoundPlatformerLevel(options) {
358
379
  ...(Object.keys(worldAssetHashes).length > 0 ? { worldAssetHashes } : {}),
359
380
  ...(playableSurfaceMap ? { surfaceSource: playableSurfaceMap.source, characterScaleRatio: playableSurfaceMap.characterScaleRatio, confidence: playableSurfaceMap.confidence } : {}),
360
381
  authoredPlayableSeconds,
382
+ traversalSeconds,
361
383
  surfaceCount: platforms.length,
362
384
  checkpointCount: checkpoints.length
363
385
  }
@@ -368,7 +390,7 @@ export function createGameAssetBoundRacingRoute(options) {
368
390
  assertGameAssetId(options.trackAsset, "trackAsset");
369
391
  const points = [...options.route.points];
370
392
  const checkpoints = [...(options.route.checkpoints ?? [])];
371
- const minLapSeconds = options.minLapSeconds ?? 30;
393
+ const minLapSeconds = Math.max(30, options.minLapSeconds ?? 30);
372
394
  const minCheckpoints = options.minCheckpoints ?? 4;
373
395
  const minRouteLength = options.minRouteLength ?? 6;
374
396
  if (points.length < 8)
@@ -386,6 +408,8 @@ export function createGameAssetBoundRacingRoute(options) {
386
408
  if (options.topology) {
387
409
  validateRacingTrackTopology(options.topology, options.trackAsset, points, checkpoints, minLapSeconds);
388
410
  }
411
+ const authoredLapSeconds = roundGameMetric(options.authoredLapSeconds);
412
+ const certifiedSpeed = roundGameMetric(routeLength / authoredLapSeconds);
389
413
  return {
390
414
  ...options.route,
391
415
  assetBinding: {
@@ -395,19 +419,53 @@ export function createGameAssetBoundRacingRoute(options) {
395
419
  trackAsset: options.trackAsset,
396
420
  ...(options.topology ? { trackAssetHash: options.topology.assetHash, topologySource: options.topology.source, confidence: options.topology.confidence } : {}),
397
421
  routeLength,
398
- authoredLapSeconds: roundGameMetric(options.authoredLapSeconds),
422
+ authoredLapSeconds,
423
+ speedModel: {
424
+ kind: "route-length-over-authored-lap-seconds",
425
+ routeLength,
426
+ authoredLapSeconds,
427
+ certifiedSpeed,
428
+ units: "game-units-per-second"
429
+ },
399
430
  pointCount: points.length,
400
431
  checkpointCount: checkpoints.length
401
432
  }
402
433
  };
403
434
  }
435
+ export function createGameRacingSurfaceQuery(route) {
436
+ const segments = createRaceSegments(route);
437
+ const length = segments.at(-1) ? segments[segments.length - 1].start + segments[segments.length - 1].length : 1;
438
+ const roadHalfWidth = (isAssetBoundRacingRoute(route)
439
+ ? Math.max(0.002, route.width ?? 1.2)
440
+ : Math.max(0.25, route.width ?? 1.2)) * 0.5;
441
+ return {
442
+ kind: "aura-game-racing-surface-query",
443
+ certified: isAssetBoundRacingRoute(route),
444
+ query(position) {
445
+ const nearest = nearestRacePoint(segments, length, position);
446
+ return {
447
+ onTrack: nearest.offset <= roadHalfWidth,
448
+ progress: nearest.progress,
449
+ distance: nearest.distance,
450
+ trackOffset: nearest.offset,
451
+ roadHalfWidth
452
+ };
453
+ }
454
+ };
455
+ }
404
456
  export function createGameRacingKit(options) {
405
457
  const routeId = options.route.id ?? "racing-route";
406
458
  const segments = createRaceSegments(options.route);
407
459
  const length = segments.at(-1) ? segments[segments.length - 1].start + segments[segments.length - 1].length : 1;
408
460
  const checkpoints = options.route.checkpoints?.length ? [...options.route.checkpoints] : [0.25, 0.5, 0.75, 0.98];
409
- const width = Math.max(0.25, options.route.width ?? 1.2);
410
- const maxSpeed = options.maxSpeed ?? 18;
461
+ const surfaceQuery = createGameRacingSurfaceQuery(options.route);
462
+ const certifiedSpeed = isAssetBoundRacingRoute(options.route) ? options.route.assetBinding.speedModel.certifiedSpeed : undefined;
463
+ const paceMultiplier = clampNumber(options.paceMultiplier ?? 1, 0.5, 4);
464
+ const certifiedGameplaySpeed = certifiedSpeed === undefined ? undefined : certifiedSpeed * paceMultiplier;
465
+ if (certifiedGameplaySpeed !== undefined && options.maxSpeed !== undefined && Math.abs(options.maxSpeed - certifiedGameplaySpeed) > 0.001) {
466
+ throw new Error(`game.racing maxSpeed ${options.maxSpeed} conflicts with certified route speed ${certifiedGameplaySpeed} at gameplay pace ${paceMultiplier}.`);
467
+ }
468
+ const maxSpeed = certifiedGameplaySpeed ?? options.maxSpeed ?? 18;
411
469
  const acceleration = options.acceleration ?? 16;
412
470
  const brakeStrength = options.brakeStrength ?? 24;
413
471
  const reverseSpeed = options.reverseSpeed ?? 4;
@@ -465,6 +523,8 @@ export function createGameRacingKit(options) {
465
523
  };
466
524
  return {
467
525
  kind: "aura-game-racing-kit",
526
+ maxSpeed,
527
+ surfaceQuery,
468
528
  step(dt, input = {}) {
469
529
  events = [];
470
530
  const step = Math.min(0.05, Math.max(0, dt || 0));
@@ -487,16 +547,24 @@ export function createGameRacingKit(options) {
487
547
  const steer = clampNumber(input.steer ?? 0, -1, 1);
488
548
  const drift = clampNumber(state.drift + ((input.drift && Math.abs(steer) > 0.1 && speed > 2) ? step * 1.8 : -step * 1.2), 0, 1);
489
549
  const heading = state.heading + steer * steerRate * (0.28 + Math.min(1, Math.abs(speed) / maxSpeed)) * (1 + drift * 0.55) * step * (speed < 0 ? -1 : 1);
490
- const position = {
550
+ let position = {
491
551
  x: state.position.x + Math.cos(heading) * speed * step,
492
552
  y: state.position.y + Math.sin(heading) * speed * step
493
553
  };
494
- const nearest = nearestRacePoint(segments, length, position);
495
- const offTrack = nearest.offset > width * 0.5;
554
+ let contact = surfaceQuery.query(position);
555
+ const offTrack = !contact.onTrack;
496
556
  if (offTrack) {
497
557
  speed *= Math.max(0, 1 - offTrackDrag * step);
498
558
  if (!state.offTrack)
499
559
  emit("off-track");
560
+ if (surfaceQuery.certified) {
561
+ const center = sampleRaceRoute(segments, length, contact.progress);
562
+ const dx = position.x - center.x;
563
+ const dy = position.y - center.y;
564
+ const scale = contact.trackOffset > 0 ? (contact.roadHalfWidth * 0.98) / contact.trackOffset : 0;
565
+ position = { x: center.x + dx * scale, y: center.y + dy * scale };
566
+ contact = surfaceQuery.query(position);
567
+ }
500
568
  }
501
569
  state = {
502
570
  ...state,
@@ -504,9 +572,9 @@ export function createGameRacingKit(options) {
504
572
  drift,
505
573
  heading,
506
574
  position,
507
- progress: nearest.progress,
508
- distance: nearest.distance,
509
- trackOffset: nearest.offset,
575
+ progress: contact.progress,
576
+ distance: contact.distance,
577
+ trackOffset: contact.trackOffset,
510
578
  offTrack
511
579
  };
512
580
  const target = checkpoints[state.checkpoint] ?? 1;
@@ -892,11 +960,33 @@ function createPlatformerState(config, checkpointId = "start") {
892
960
  function platformerSpawn(config, checkpointId) {
893
961
  if (checkpointId !== "start") {
894
962
  const checkpoint = config.checkpoints.find((candidate) => candidate.id === checkpointId);
895
- if (checkpoint)
963
+ if (checkpoint) {
964
+ const supportingSurface = platformerSpawnSurface(config.platforms, checkpoint.x);
965
+ if (supportingSurface) {
966
+ const minX = supportingSurface.x + Math.min(config.playerSize[0] * 0.5, supportingSurface.width * 0.25);
967
+ const maxX = supportingSurface.x + supportingSurface.width - Math.min(config.playerSize[0] * 0.5, supportingSurface.width * 0.25);
968
+ return {
969
+ x: clampNumber(checkpoint.x, Math.min(minX, maxX), Math.max(minX, maxX)),
970
+ y: platformTop(supportingSurface)
971
+ };
972
+ }
896
973
  return checkpoint;
974
+ }
897
975
  }
898
976
  return config.start;
899
977
  }
978
+ function platformerSpawnSurface(platforms, checkpointX) {
979
+ const containing = platforms
980
+ .filter((surface) => checkpointX >= surface.x && checkpointX <= surface.x + surface.width)
981
+ .sort((left, right) => platformTop(right) - platformTop(left));
982
+ if (containing[0])
983
+ return containing[0];
984
+ return [...platforms].sort((left, right) => {
985
+ const leftDistance = Math.abs(checkpointX - clampNumber(checkpointX, left.x, left.x + left.width));
986
+ const rightDistance = Math.abs(checkpointX - clampNumber(checkpointX, right.x, right.x + right.width));
987
+ return leftDistance - rightDistance;
988
+ })[0];
989
+ }
900
990
  function platformerMovingRectsAt(time, config) {
901
991
  return config.movingPlatforms.map((platform) => {
902
992
  const phase = ((time / Math.max(0.001, platform.period)) + (platform.phase ?? 0)) * Math.PI * 2;
@@ -947,6 +1037,14 @@ function measureRacingRouteLength(route) {
947
1037
  const segments = createRaceSegments(route);
948
1038
  return segments.at(-1) ? segments[segments.length - 1].start + segments[segments.length - 1].length : 0;
949
1039
  }
1040
+ function isAssetBoundRacingRoute(route) {
1041
+ const candidate = route;
1042
+ return candidate.assetBinding?.kind === "aura-game-asset-bound-racing-route";
1043
+ }
1044
+ function isAssetBoundPlatformerLevel(level) {
1045
+ const candidate = level;
1046
+ return candidate.assetBinding?.kind === "aura-game-asset-bound-platformer-level";
1047
+ }
950
1048
  function validatePlatformerWorldBindings(bindings, surfaceIds) {
951
1049
  if (bindings.length === 0)
952
1050
  throw new Error("game.assetBoundPlatformerLevel requires at least one world asset binding.");
@@ -1036,7 +1134,7 @@ function validatePlatformerPlayableSurfaceMap(playableSurfaceMap, bindings, surf
1036
1134
  }
1037
1135
  }
1038
1136
  function isPublicPlatformerPlayableSurface(surface) {
1039
- return surface.kind === "ground" || surface.kind === "platform" || surface.kind === "moving";
1137
+ return surface.kind === "ground" || surface.kind === "platform" || surface.kind === "moving" || surface.kind === "finish";
1040
1138
  }
1041
1139
  function assertFiniteNumber(value, field) {
1042
1140
  if (!Number.isFinite(value))