@aura3d/engine 1.4.0 → 1.4.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 +30 -14
- package/dist/aura3d-cli/asset-core-types.d.ts +18 -2
- package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/create-aura3d/showcase-spec-artifacts.d.ts +1 -0
- package/dist/create-aura3d/showcase-spec-artifacts.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-artifacts.js +1 -0
- package/dist/create-aura3d/showcase-spec-artifacts.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-evidence.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-evidence.js +66 -0
- package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-parser.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-parser.js +28 -0
- package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +2 -4
- package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
- package/dist/create-aura3d/showcase-spec-types.d.ts +15 -0
- package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +1 -0
- package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js +1 -1
- package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
- package/dist/engine/agent-api/PublicGameGeometry.d.ts +117 -0
- package/dist/engine/agent-api/PublicGameGeometry.d.ts.map +1 -0
- package/dist/engine/agent-api/PublicGameGeometry.js +118 -0
- package/dist/engine/agent-api/PublicGameGeometry.js.map +1 -0
- package/dist/engine/agent-api/index.d.ts +119 -2
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +608 -56
- 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 +29 -31
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
export function certifyPublicRacingGeometry(contract) {
|
|
2
|
+
const blockers = [];
|
|
3
|
+
if (!isCertifiedRacingTrack(contract.trackCertification))
|
|
4
|
+
blockers.push(`racing:track-certification:${contract.trackCertification}`);
|
|
5
|
+
if (contract.vehicleCertification !== "certified-racing-vehicle")
|
|
6
|
+
blockers.push(`racing:vehicle-certification:${contract.vehicleCertification}`);
|
|
7
|
+
if (contract.roadCenterline.length < 8)
|
|
8
|
+
blockers.push(`racing:too-few-road-centerline-points:${contract.roadCenterline.length}`);
|
|
9
|
+
if (!isPositive(contract.roadWidth))
|
|
10
|
+
blockers.push("racing:road-width-invalid");
|
|
11
|
+
if (contract.checkpoints.length < 4)
|
|
12
|
+
blockers.push(`racing:too-few-checkpoints:${contract.checkpoints.length}`);
|
|
13
|
+
if (!isFinitePoint2(contract.startPose, "z"))
|
|
14
|
+
blockers.push("racing:start-pose-invalid");
|
|
15
|
+
if (!isPositive(contract.lap.lapsToWin))
|
|
16
|
+
blockers.push("racing:laps-to-win-invalid");
|
|
17
|
+
if (contract.lap.finishProgress < 0.9 || contract.lap.finishProgress > 1)
|
|
18
|
+
blockers.push("racing:finish-progress-invalid");
|
|
19
|
+
if (contract.lap.minLapSeconds < 30)
|
|
20
|
+
blockers.push(`racing:min-lap-seconds-too-low:${contract.lap.minLapSeconds}`);
|
|
21
|
+
if (!hasPositiveBounds(contract.drivableBounds, "z"))
|
|
22
|
+
blockers.push("racing:drivable-bounds-invalid");
|
|
23
|
+
if (!hasPositiveBounds(contract.cameraBounds, "z"))
|
|
24
|
+
blockers.push("racing:camera-bounds-invalid");
|
|
25
|
+
if (!isPositive(contract.vehicleScale.width) || !isPositive(contract.vehicleScale.length))
|
|
26
|
+
blockers.push("racing:vehicle-scale-invalid");
|
|
27
|
+
if (isPositive(contract.roadWidth) && contract.vehicleScale.width > contract.roadWidth)
|
|
28
|
+
blockers.push("racing:vehicle-wider-than-road");
|
|
29
|
+
blockers.push(...validateRetainedProof("racing", contract.retainedProof));
|
|
30
|
+
return certification("racing", blockers, contract.trackCertification, contract.vehicleCertification);
|
|
31
|
+
}
|
|
32
|
+
export function certifyPublicPlatformerGeometry(contract) {
|
|
33
|
+
const blockers = [];
|
|
34
|
+
if (!isCertifiedPlatformerWorld(contract.worldCertification))
|
|
35
|
+
blockers.push(`platformer:world-certification:${contract.worldCertification}`);
|
|
36
|
+
if (contract.characterCertification !== "certified-platformer-character")
|
|
37
|
+
blockers.push(`platformer:character-certification:${contract.characterCertification}`);
|
|
38
|
+
if (contract.worldAssets.length === 0)
|
|
39
|
+
blockers.push("platformer:world-assets-missing");
|
|
40
|
+
const playableSurfaceCount = contract.surfaces.filter(isPlayableSurface).length;
|
|
41
|
+
if (playableSurfaceCount < 4)
|
|
42
|
+
blockers.push(`platformer:too-few-playable-surfaces:${playableSurfaceCount}`);
|
|
43
|
+
if (contract.hazards.length === 0)
|
|
44
|
+
blockers.push("platformer:missing-hazards");
|
|
45
|
+
if (contract.checkpoints.length === 0)
|
|
46
|
+
blockers.push("platformer:missing-checkpoints");
|
|
47
|
+
if (!isFinitePoint2(contract.spawn, "y"))
|
|
48
|
+
blockers.push("platformer:spawn-invalid");
|
|
49
|
+
if (!isFinitePoint2(contract.finish, "y") || contract.finish.x <= contract.spawn.x)
|
|
50
|
+
blockers.push("platformer:finish-invalid");
|
|
51
|
+
if (!hasPositiveBounds(contract.worldBounds, "y"))
|
|
52
|
+
blockers.push("platformer:world-bounds-invalid");
|
|
53
|
+
if (!hasPositiveBounds(contract.cameraBounds, "y"))
|
|
54
|
+
blockers.push("platformer:camera-bounds-invalid");
|
|
55
|
+
if (!isPositive(contract.characterScale.width) || !isPositive(contract.characterScale.height))
|
|
56
|
+
blockers.push("platformer:character-scale-invalid");
|
|
57
|
+
blockers.push(...validateRetainedProof("platformer", contract.retainedProof));
|
|
58
|
+
return certification("platformer", blockers, contract.worldCertification, contract.characterCertification);
|
|
59
|
+
}
|
|
60
|
+
function certification(category, blockers, primary, secondary) {
|
|
61
|
+
return {
|
|
62
|
+
kind: "aura-public-game-geometry-certification",
|
|
63
|
+
category,
|
|
64
|
+
publicReady: blockers.length === 0,
|
|
65
|
+
blockers,
|
|
66
|
+
certifications: { primary, secondary }
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function isCertifiedRacingTrack(status) {
|
|
70
|
+
return status === "certified-racing-track" || status === "certified-generated-game-world";
|
|
71
|
+
}
|
|
72
|
+
function isCertifiedPlatformerWorld(status) {
|
|
73
|
+
return status === "certified-platformer-world" || status === "certified-generated-game-world";
|
|
74
|
+
}
|
|
75
|
+
function validateRetainedProof(category, proof) {
|
|
76
|
+
const blockers = [];
|
|
77
|
+
if (!proof.routePrimaryScreenshot.trim())
|
|
78
|
+
blockers.push(`${category}:retained-proof:screenshot-missing`);
|
|
79
|
+
if (!isSha256(proof.routePrimaryScreenshotSha256))
|
|
80
|
+
blockers.push(`${category}:retained-proof:screenshot-sha256-missing`);
|
|
81
|
+
if (!proof.geometryReport.trim())
|
|
82
|
+
blockers.push(`${category}:retained-proof:geometry-report-missing`);
|
|
83
|
+
if (!isSha256(proof.manifestHash))
|
|
84
|
+
blockers.push(`${category}:retained-proof:manifest-hash-missing`);
|
|
85
|
+
if (proof.visualReview !== "pass")
|
|
86
|
+
blockers.push(`${category}:retained-proof:visual-review-not-pass:${proof.visualReview}`);
|
|
87
|
+
if (proof.assetPairPass !== true)
|
|
88
|
+
blockers.push(`${category}:retained-proof:asset-pair-not-pass`);
|
|
89
|
+
for (const blocker of proof.blockers)
|
|
90
|
+
blockers.push(`${category}:retained-proof:blocker:${blocker}`);
|
|
91
|
+
return blockers;
|
|
92
|
+
}
|
|
93
|
+
function isPlayableSurface(surface) {
|
|
94
|
+
return surface.kind === "ground" || surface.kind === "platform" || surface.kind === "moving";
|
|
95
|
+
}
|
|
96
|
+
function hasPositiveBounds(bounds, secondAxis) {
|
|
97
|
+
const minSecond = secondAxis === "y" ? bounds.minY : bounds.minZ;
|
|
98
|
+
const maxSecond = secondAxis === "y" ? bounds.maxY : bounds.maxZ;
|
|
99
|
+
return Number.isFinite(bounds.minX) &&
|
|
100
|
+
Number.isFinite(bounds.maxX) &&
|
|
101
|
+
Number.isFinite(minSecond) &&
|
|
102
|
+
Number.isFinite(maxSecond) &&
|
|
103
|
+
bounds.maxX > bounds.minX &&
|
|
104
|
+
maxSecond !== undefined &&
|
|
105
|
+
minSecond !== undefined &&
|
|
106
|
+
maxSecond > minSecond;
|
|
107
|
+
}
|
|
108
|
+
function isFinitePoint2(point, secondAxis) {
|
|
109
|
+
const second = secondAxis === "y" ? point.y : point.z;
|
|
110
|
+
return Number.isFinite(point.x) && Number.isFinite(second);
|
|
111
|
+
}
|
|
112
|
+
function isPositive(value) {
|
|
113
|
+
return Number.isFinite(value) && value > 0;
|
|
114
|
+
}
|
|
115
|
+
function isSha256(value) {
|
|
116
|
+
return /^sha256-[a-f0-9]{64}$/.test(value);
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=PublicGameGeometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublicGameGeometry.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/PublicGameGeometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,11 +53,14 @@ import { collectGameRuntimeEvidence as collectGameRuntimeEvidenceV105, type Game
|
|
|
53
53
|
import { type AuraRuntimeNodeAnimationPoseBindingMetadata, type AuraRuntimeNodeAnimationBindingMetadata, type AuraRuntimeNodeBounds, type AuraRuntimeNodeEffectAttachment, type RuntimeNodeBoundsInput, type RuntimeNodeMorphTargetWeights } from "./RuntimeNodeHandle";
|
|
54
54
|
import { createRuntimeNodeSpec } from "./GameSceneBridge";
|
|
55
55
|
import { createFightingGameKit } from "./game-kits/fighting";
|
|
56
|
-
import { createGameAssetBoundPlatformerLevel, createGameAssetBoundRacingRoute, createGameFallingBlocksKit, createGameLocomotionKit, createGamePlatformerKit, createGameRacingKit, type GameAssetBoundPlatformerLevel, type GameAssetBoundRacingRoute } from "./GameGenreKits";
|
|
57
|
-
import { createGamePlatformerSceneBinding, createGamePlatformerPresentationCamera, createGameRacingPresentationCamera, createGameRacingSceneBinding, type GamePlatformerSceneBinding, type GameRacingSceneBinding } from "./GameSceneGeometryBindings";
|
|
56
|
+
import { createGameAssetBoundPlatformerLevel, createGameAssetBoundRacingRoute, createGameFallingBlocksKit, createGameLocomotionKit, createGamePlatformerKit, createGameRacingKit, type GameAssetBoundPlatformerLevel, type GameAssetBoundRacingRoute, type GameKitRect, type GameKitVec2, type GamePlatformerCheckpoint } from "./GameGenreKits";
|
|
57
|
+
import { createGamePlatformerSceneBinding, createGamePlatformerPresentationCamera, createGameRacingPresentationCamera, createGameRacingSceneBinding, type GamePlatformerPresentationCameraOptions, type GamePlatformerSceneBinding, type GameRacingPresentationCameraOptions, type GameScenePresentationCameraSpec, type GameRacingSceneBinding } from "./GameSceneGeometryBindings";
|
|
58
|
+
import { certifyPublicPlatformerGeometry, certifyPublicRacingGeometry, type PublicGameGeometryCertification, type PublicPlatformerGeometryContract, type PublicRacingGeometryContract } from "./PublicGameGeometry";
|
|
58
59
|
export { GAME_FALLING_BLOCK_PIECES, createGameAssetBoundPlatformerLevel, createGameAssetBoundRacingRoute, createGameFallingBlocksKit, createGameLocomotionKit, createGamePlatformerKit, createGameRacingKit } from "./GameGenreKits";
|
|
59
60
|
export { createGamePlatformerSceneBinding, createGamePlatformerPresentationCamera, createGameRacingPresentationCamera, createGameRacingSceneBinding } from "./GameSceneGeometryBindings";
|
|
61
|
+
export { certifyPublicPlatformerGeometry, certifyPublicRacingGeometry } from "./PublicGameGeometry";
|
|
60
62
|
export type { GameAssetBoundPlatformerLevel, GameAssetBoundPlatformerLevelBinding, GameAssetBoundPlatformerLevelOptions, GameAssetBoundRacingRoute, GameAssetBoundRacingRouteBinding, GameAssetBoundRacingRouteOptions, GameFallingBlockAction, GameFallingBlockActivePiece, GameFallingBlockBoard, GameFallingBlockCell, GameFallingBlockPiece, GameFallingBlockRotation, GameFallingBlocksEvent, GameFallingBlocksKit, GameFallingBlocksOptions, GameFallingBlocksSnapshot, GameKitRect, GameKitVec2, GameLocomotionClipMap, GameLocomotionEventInput, GameLocomotionInput, GameLocomotionKit, GameLocomotionOptions, GameLocomotionSnapshot, GameLocomotionState, GamePlatformerCheckpoint, GamePlatformerCollectible, GamePlatformerEvent, GamePlatformerEventType, GamePlatformerHazard, GamePlatformerInput, GamePlatformerKit, GamePlatformerLevel, GamePlatformerMovingPlatform, GamePlatformerPlayerState, GamePlatformerSnapshot, GamePlatformerWorldAssetBinding, GameRacingCameraSnapshot, GameRacingEvent, GameRacingEventType, GameRacingInput, GameRacingKit, GameRacingOptions, GameRacingRoute, GameRacingSnapshot } from "./GameGenreKits";
|
|
63
|
+
export type { PublicGameAssetCertification, PublicGameBounds2, PublicGameGeometryCategory, PublicGameGeometryCertification, PublicGameGeometrySource, PublicGameRetainedProof, PublicPlatformerCheckpoint, PublicPlatformerGeometryContract, PublicPlatformerHazard, PublicPlatformerSurface, PublicRacingGeometryCheckpoint, PublicRacingGeometryContract, PublicRacingGeometryPoint } from "./PublicGameGeometry";
|
|
61
64
|
export type { GamePlatformerSceneBinding, GamePlatformerSceneBindingOptions, GamePlatformerPresentationCameraOptions, GameRacingSceneBinding, GameRacingSceneBindingOptions, GameRacingPresentationCameraOptions, GameRacingScenePose, GameScenePresentationCameraSpec, GameSceneTransform } from "./GameSceneGeometryBindings";
|
|
62
65
|
import { createPromptAnimationEpisodePlan, createPromptAnimationStoryBible, definePromptAnimationStoryboard } from "./PromptAnimationContract";
|
|
63
66
|
import { applyShotPlaybackFrame, createShotPlaybackPlan, createShotTimeline, installShotPlayback, sampleShotPlaybackPlan } from "./ShotTimeline";
|
|
@@ -1565,6 +1568,49 @@ export interface AuraRacingPresentationTrackOptions {
|
|
|
1565
1568
|
readonly curbColor?: AuraColor;
|
|
1566
1569
|
readonly laneColor?: AuraColor;
|
|
1567
1570
|
}
|
|
1571
|
+
export interface AuraRacingRoadMeshOptions extends Omit<AuraRacingPresentationTrackOptions, "guideVisibility"> {
|
|
1572
|
+
readonly includeTerrain?: boolean;
|
|
1573
|
+
readonly pitLaneColor?: AuraColor;
|
|
1574
|
+
readonly markingVisibility?: "full" | "subtle" | "none";
|
|
1575
|
+
readonly terrainPaddingScale?: number;
|
|
1576
|
+
}
|
|
1577
|
+
export interface AuraRacingCheckpointGateOptions {
|
|
1578
|
+
readonly sceneBinding: GameRacingSceneBinding;
|
|
1579
|
+
readonly route: GameAssetBoundRacingRoute;
|
|
1580
|
+
readonly progress: number;
|
|
1581
|
+
readonly index?: number;
|
|
1582
|
+
readonly mode?: "scene-bound" | "asset-bound";
|
|
1583
|
+
readonly roadY?: number;
|
|
1584
|
+
readonly roadWidth?: number;
|
|
1585
|
+
readonly gateColor?: AuraColor;
|
|
1586
|
+
readonly accentColor?: AuraColor;
|
|
1587
|
+
readonly lightColor?: AuraColor;
|
|
1588
|
+
}
|
|
1589
|
+
export interface AuraRacingStartFinishOptions {
|
|
1590
|
+
readonly sceneBinding: GameRacingSceneBinding;
|
|
1591
|
+
readonly route: GameAssetBoundRacingRoute;
|
|
1592
|
+
readonly mode?: "scene-bound" | "asset-bound";
|
|
1593
|
+
readonly roadY?: number;
|
|
1594
|
+
readonly roadWidth?: number;
|
|
1595
|
+
readonly checkerColorA?: AuraColor;
|
|
1596
|
+
readonly checkerColorB?: AuraColor;
|
|
1597
|
+
readonly gantryColor?: AuraColor;
|
|
1598
|
+
readonly lightColor?: AuraColor;
|
|
1599
|
+
}
|
|
1600
|
+
export interface AuraPublicRacingPresentationOptions extends Omit<AuraRacingRoadMeshOptions, "mode"> {
|
|
1601
|
+
readonly checkpointColor?: AuraColor;
|
|
1602
|
+
readonly checkpointAccentColor?: AuraColor;
|
|
1603
|
+
readonly startLightColor?: AuraColor;
|
|
1604
|
+
}
|
|
1605
|
+
export interface AuraRacingPresentationCertificationInput extends PublicRacingGeometryContract {
|
|
1606
|
+
readonly presentation?: {
|
|
1607
|
+
readonly roadMeshNodes?: number;
|
|
1608
|
+
readonly checkpointGateNodes?: number;
|
|
1609
|
+
readonly startFinishNodes?: number;
|
|
1610
|
+
readonly cameraMode?: "follow" | "perspective" | "overview";
|
|
1611
|
+
readonly debugMarkerCount?: number;
|
|
1612
|
+
};
|
|
1613
|
+
}
|
|
1568
1614
|
export interface AuraPlatformerPresentationSurfaceOptions {
|
|
1569
1615
|
readonly sceneBinding: GamePlatformerSceneBinding;
|
|
1570
1616
|
readonly level: GameAssetBoundPlatformerLevel;
|
|
@@ -1575,8 +1621,63 @@ export interface AuraPlatformerPresentationSurfaceOptions {
|
|
|
1575
1621
|
readonly hazardColor?: AuraColor;
|
|
1576
1622
|
readonly collectibleColor?: AuraColor;
|
|
1577
1623
|
readonly finishColor?: AuraColor;
|
|
1624
|
+
readonly includeBackdrop?: boolean;
|
|
1625
|
+
}
|
|
1626
|
+
export type AuraPlatformerPublicSurfaceMode = "scene-bound" | "asset-bound" | "game-level";
|
|
1627
|
+
export interface AuraPublicPlatformerPresentationOptions extends Omit<AuraPlatformerPresentationSurfaceOptions, "mode" | "guideVisibility"> {
|
|
1628
|
+
}
|
|
1629
|
+
export interface AuraPlatformerSurfaceMeshOptions {
|
|
1630
|
+
readonly sceneBinding: GamePlatformerSceneBinding;
|
|
1631
|
+
readonly surface: GameKitRect;
|
|
1632
|
+
readonly mode?: AuraPlatformerPublicSurfaceMode;
|
|
1633
|
+
readonly color?: AuraColor;
|
|
1634
|
+
readonly trimColor?: AuraColor;
|
|
1635
|
+
}
|
|
1636
|
+
export interface AuraPlatformerHazardOptions {
|
|
1637
|
+
readonly sceneBinding: GamePlatformerSceneBinding;
|
|
1638
|
+
readonly hazard: GameKitRect;
|
|
1639
|
+
readonly mode?: AuraPlatformerPublicSurfaceMode;
|
|
1640
|
+
readonly color?: AuraColor;
|
|
1641
|
+
}
|
|
1642
|
+
export interface AuraPlatformerCheckpointOptions {
|
|
1643
|
+
readonly sceneBinding: GamePlatformerSceneBinding;
|
|
1644
|
+
readonly checkpoint: GamePlatformerCheckpoint;
|
|
1645
|
+
readonly color?: AuraColor;
|
|
1646
|
+
}
|
|
1647
|
+
export interface AuraPlatformerFinishOptions {
|
|
1648
|
+
readonly sceneBinding: GamePlatformerSceneBinding;
|
|
1649
|
+
readonly finish: GameKitVec2 & {
|
|
1650
|
+
readonly id?: string;
|
|
1651
|
+
};
|
|
1652
|
+
readonly color?: AuraColor;
|
|
1653
|
+
}
|
|
1654
|
+
export interface AuraPlatformerPresentationCertificationInput extends PublicPlatformerGeometryContract {
|
|
1655
|
+
readonly presentation?: {
|
|
1656
|
+
readonly groundMeshNodes?: number;
|
|
1657
|
+
readonly platformMeshNodes?: number;
|
|
1658
|
+
readonly hazardNodes?: number;
|
|
1659
|
+
readonly checkpointNodes?: number;
|
|
1660
|
+
readonly finishNodes?: number;
|
|
1661
|
+
readonly cameraMode?: "follow" | "perspective" | "establishing";
|
|
1662
|
+
readonly debugMarkerCount?: number;
|
|
1663
|
+
readonly characterGrounded?: boolean;
|
|
1664
|
+
};
|
|
1578
1665
|
}
|
|
1666
|
+
export declare function createGameRacingRoadMeshNodes(options: AuraRacingRoadMeshOptions): readonly AuraSceneNode[];
|
|
1667
|
+
export declare function createGameRacingCheckpointGateNodes(options: AuraRacingCheckpointGateOptions): readonly AuraSceneNode[];
|
|
1668
|
+
export declare function createGameRacingStartFinishNodes(options: AuraRacingStartFinishOptions): readonly AuraSceneNode[];
|
|
1669
|
+
export declare function createGamePublicRacingPresentationNodes(options: AuraPublicRacingPresentationOptions): readonly AuraSceneNode[];
|
|
1670
|
+
export declare function createGameRacingCameraRig(options: GameRacingPresentationCameraOptions): GameScenePresentationCameraSpec;
|
|
1671
|
+
export declare function certifyPublicRacingPresentation(input: AuraRacingPresentationCertificationInput): PublicGameGeometryCertification;
|
|
1579
1672
|
export declare function createGameRacingPresentationTrackNodes(options: AuraRacingPresentationTrackOptions): readonly AuraSceneNode[];
|
|
1673
|
+
export declare function createGamePublicPlatformerPresentationNodes(options: AuraPublicPlatformerPresentationOptions): readonly AuraSceneNode[];
|
|
1674
|
+
export declare function createGamePlatformerGroundMeshNodes(options: AuraPlatformerSurfaceMeshOptions): readonly AuraSceneNode[];
|
|
1675
|
+
export declare function createGamePlatformerPlatformMeshNodes(options: AuraPlatformerSurfaceMeshOptions): readonly AuraSceneNode[];
|
|
1676
|
+
export declare function createGamePlatformerHazardNodes(options: AuraPlatformerHazardOptions): readonly AuraSceneNode[];
|
|
1677
|
+
export declare function createGamePlatformerCheckpointNodes(options: AuraPlatformerCheckpointOptions): readonly AuraSceneNode[];
|
|
1678
|
+
export declare function createGamePlatformerFinishNodes(options: AuraPlatformerFinishOptions): readonly AuraSceneNode[];
|
|
1679
|
+
export declare function createGamePlatformerCameraRig(options: GamePlatformerPresentationCameraOptions): GameScenePresentationCameraSpec;
|
|
1680
|
+
export declare function certifyPublicPlatformerPresentation(input: AuraPlatformerPresentationCertificationInput): PublicGameGeometryCertification;
|
|
1580
1681
|
export declare function createGamePlatformerPresentationSurfaceNodes(options: AuraPlatformerPresentationSurfaceOptions): readonly AuraSceneNode[];
|
|
1581
1682
|
export declare const game: {
|
|
1582
1683
|
readonly createRuntime: typeof createAuraGameRuntime;
|
|
@@ -1600,11 +1701,27 @@ export declare const game: {
|
|
|
1600
1701
|
readonly platformerSceneBinding: typeof createGamePlatformerSceneBinding;
|
|
1601
1702
|
readonly platformerPresentationCamera: typeof createGamePlatformerPresentationCamera;
|
|
1602
1703
|
readonly platformerPresentationSurfaces: typeof createGamePlatformerPresentationSurfaceNodes;
|
|
1704
|
+
readonly publicPlatformerPresentation: typeof createGamePublicPlatformerPresentationNodes;
|
|
1705
|
+
readonly platformerGroundMesh: typeof createGamePlatformerGroundMeshNodes;
|
|
1706
|
+
readonly platformerPlatformMesh: typeof createGamePlatformerPlatformMeshNodes;
|
|
1707
|
+
readonly platformerHazard: typeof createGamePlatformerHazardNodes;
|
|
1708
|
+
readonly platformerCheckpoint: typeof createGamePlatformerCheckpointNodes;
|
|
1709
|
+
readonly platformerFinish: typeof createGamePlatformerFinishNodes;
|
|
1710
|
+
readonly platformerCameraRig: typeof createGamePlatformerCameraRig;
|
|
1711
|
+
readonly certifyPlatformerGeometry: typeof certifyPublicPlatformerGeometry;
|
|
1712
|
+
readonly certifyPlatformerPresentation: typeof certifyPublicPlatformerPresentation;
|
|
1603
1713
|
readonly platformer: typeof createGamePlatformerKit;
|
|
1604
1714
|
readonly assetBoundRacingRoute: typeof createGameAssetBoundRacingRoute;
|
|
1605
1715
|
readonly racingSceneBinding: typeof createGameRacingSceneBinding;
|
|
1606
1716
|
readonly racingPresentationCamera: typeof createGameRacingPresentationCamera;
|
|
1717
|
+
readonly racingCameraRig: typeof createGameRacingCameraRig;
|
|
1718
|
+
readonly racingRoadMesh: typeof createGameRacingRoadMeshNodes;
|
|
1719
|
+
readonly racingCheckpointGate: typeof createGameRacingCheckpointGateNodes;
|
|
1720
|
+
readonly racingStartFinish: typeof createGameRacingStartFinishNodes;
|
|
1607
1721
|
readonly racingPresentationTrack: typeof createGameRacingPresentationTrackNodes;
|
|
1722
|
+
readonly publicRacingPresentation: typeof createGamePublicRacingPresentationNodes;
|
|
1723
|
+
readonly certifyRacingGeometry: typeof certifyPublicRacingGeometry;
|
|
1724
|
+
readonly certifyRacingPresentation: typeof certifyPublicRacingPresentation;
|
|
1608
1725
|
readonly racing: typeof createGameRacingKit;
|
|
1609
1726
|
readonly fallingBlocks: typeof createGameFallingBlocksKit;
|
|
1610
1727
|
readonly fallingBlockPieces: readonly ["I", "J", "L", "O", "S", "T", "Z"];
|