@aura3d/engine 1.0.8 → 1.0.10
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 +15 -15
- package/dist/animation/AnimationController.d.ts +1 -0
- package/dist/animation/AnimationController.d.ts.map +1 -1
- package/dist/animation/AnimationController.js +7 -0
- package/dist/animation/AnimationController.js.map +1 -1
- package/dist/audio/AudioFileManager.d.ts +54 -0
- package/dist/audio/AudioFileManager.d.ts.map +1 -0
- package/dist/audio/AudioFileManager.js +108 -0
- package/dist/audio/AudioFileManager.js.map +1 -0
- package/dist/audio/AudioTimelineTrack.d.ts +110 -0
- package/dist/audio/AudioTimelineTrack.d.ts.map +1 -0
- package/dist/audio/AudioTimelineTrack.js +297 -0
- package/dist/audio/AudioTimelineTrack.js.map +1 -0
- package/dist/audio/AudioWaveform.d.ts +42 -0
- package/dist/audio/AudioWaveform.d.ts.map +1 -0
- package/dist/audio/AudioWaveform.js +128 -0
- package/dist/audio/AudioWaveform.js.map +1 -0
- package/dist/audio/index.d.ts +6 -0
- package/dist/audio/index.d.ts.map +1 -1
- package/dist/audio/index.js +3 -0
- package/dist/audio/index.js.map +1 -1
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +14 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +1 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.js +42 -0
- package/dist/aura3d-cli/cartoon-asset-profiles.js.map +1 -0
- package/dist/aura3d-cli/cli.js +16 -6
- package/dist/aura3d-cli/cli.js.map +1 -1
- package/dist/aura3d-cli/game-asset-profiles.d.ts +13 -0
- package/dist/aura3d-cli/game-asset-profiles.d.ts.map +1 -0
- package/dist/aura3d-cli/game-asset-profiles.js +36 -0
- package/dist/aura3d-cli/game-asset-profiles.js.map +1 -0
- package/dist/aura3d-cli/game-asset-validator.d.ts +9 -0
- package/dist/aura3d-cli/game-asset-validator.d.ts.map +1 -0
- package/dist/aura3d-cli/game-asset-validator.js +5 -0
- package/dist/aura3d-cli/game-asset-validator.js.map +1 -0
- package/dist/aura3d-cli/index.d.ts +2 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +1 -0
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/aura3d-cli/pull-bridge.d.ts +3 -3
- package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
- package/dist/aura3d-cli/pull-bridge.js +52 -21
- package/dist/aura3d-cli/pull-bridge.js.map +1 -1
- package/dist/create-aura3d/index.d.ts +1 -1
- package/dist/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +4 -2
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/editor-runtime/AssetDropZone.d.ts +50 -0
- package/dist/editor-runtime/AssetDropZone.d.ts.map +1 -0
- package/dist/editor-runtime/AssetDropZone.js +101 -0
- package/dist/editor-runtime/AssetDropZone.js.map +1 -0
- package/dist/editor-runtime/CartoonSceneEditor.d.ts +87 -0
- package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +1 -0
- package/dist/editor-runtime/CartoonSceneEditor.js +252 -0
- package/dist/editor-runtime/CartoonSceneEditor.js.map +1 -0
- package/dist/editor-runtime/CurveEditor.d.ts +38 -0
- package/dist/editor-runtime/CurveEditor.d.ts.map +1 -0
- package/dist/editor-runtime/CurveEditor.js +112 -0
- package/dist/editor-runtime/CurveEditor.js.map +1 -0
- package/dist/editor-runtime/KeyframeEditor.d.ts +49 -0
- package/dist/editor-runtime/KeyframeEditor.d.ts.map +1 -0
- package/dist/editor-runtime/KeyframeEditor.js +161 -0
- package/dist/editor-runtime/KeyframeEditor.js.map +1 -0
- package/dist/editor-runtime/PropertyPanel.d.ts +21 -0
- package/dist/editor-runtime/PropertyPanel.d.ts.map +1 -0
- package/dist/editor-runtime/PropertyPanel.js +72 -0
- package/dist/editor-runtime/PropertyPanel.js.map +1 -0
- package/dist/editor-runtime/SceneOutliner.d.ts +19 -0
- package/dist/editor-runtime/SceneOutliner.d.ts.map +1 -0
- package/dist/editor-runtime/SceneOutliner.js +64 -0
- package/dist/editor-runtime/SceneOutliner.js.map +1 -0
- package/dist/editor-runtime/TimelineEditorController.d.ts +92 -0
- package/dist/editor-runtime/TimelineEditorController.d.ts.map +1 -0
- package/dist/editor-runtime/TimelineEditorController.js +424 -0
- package/dist/editor-runtime/TimelineEditorController.js.map +1 -0
- package/dist/editor-runtime/TimelineTrackTypes.d.ts +25 -0
- package/dist/editor-runtime/TimelineTrackTypes.d.ts.map +1 -0
- package/dist/editor-runtime/TimelineTrackTypes.js +48 -0
- package/dist/editor-runtime/TimelineTrackTypes.js.map +1 -0
- package/dist/editor-runtime/TimelineUI.d.ts +27 -0
- package/dist/editor-runtime/TimelineUI.d.ts.map +1 -0
- package/dist/editor-runtime/TimelineUI.js +118 -0
- package/dist/editor-runtime/TimelineUI.js.map +1 -0
- package/dist/editor-runtime/index.d.ts +18 -0
- package/dist/editor-runtime/index.d.ts.map +1 -1
- package/dist/editor-runtime/index.js +9 -0
- package/dist/editor-runtime/index.js.map +1 -1
- package/dist/engine/advanced-runtime/A3DRenderer.d.ts +24 -2
- package/dist/engine/advanced-runtime/A3DRenderer.d.ts.map +1 -1
- package/dist/engine/advanced-runtime/A3DRenderer.js +70 -9
- package/dist/engine/advanced-runtime/A3DRenderer.js.map +1 -1
- package/dist/engine/agent-api/AssetLibraryBrowser.d.ts +39 -0
- package/dist/engine/agent-api/AssetLibraryBrowser.d.ts.map +1 -0
- package/dist/engine/agent-api/AssetLibraryBrowser.js +60 -0
- package/dist/engine/agent-api/AssetLibraryBrowser.js.map +1 -0
- package/dist/engine/agent-api/AudioMuxer.d.ts +68 -0
- package/dist/engine/agent-api/AudioMuxer.d.ts.map +1 -0
- package/dist/engine/agent-api/AudioMuxer.js +74 -0
- package/dist/engine/agent-api/AudioMuxer.js.map +1 -0
- package/dist/engine/agent-api/AudioVisemeAnalyzer.d.ts +43 -0
- package/dist/engine/agent-api/AudioVisemeAnalyzer.d.ts.map +1 -0
- package/dist/engine/agent-api/AudioVisemeAnalyzer.js +110 -0
- package/dist/engine/agent-api/AudioVisemeAnalyzer.js.map +1 -0
- package/dist/engine/agent-api/BodyLanguageLibrary.d.ts +4 -0
- package/dist/engine/agent-api/BodyLanguageLibrary.d.ts.map +1 -0
- package/dist/engine/agent-api/BodyLanguageLibrary.js +10 -0
- package/dist/engine/agent-api/BodyLanguageLibrary.js.map +1 -0
- package/dist/engine/agent-api/CameraChoreographer.d.ts +69 -0
- package/dist/engine/agent-api/CameraChoreographer.d.ts.map +1 -0
- package/dist/engine/agent-api/CameraChoreographer.js +165 -0
- package/dist/engine/agent-api/CameraChoreographer.js.map +1 -0
- package/dist/engine/agent-api/CameraPathEditor.d.ts +20 -0
- package/dist/engine/agent-api/CameraPathEditor.d.ts.map +1 -0
- package/dist/engine/agent-api/CameraPathEditor.js +47 -0
- package/dist/engine/agent-api/CameraPathEditor.js.map +1 -0
- package/dist/engine/agent-api/CameraPresetLibrary.d.ts +22 -0
- package/dist/engine/agent-api/CameraPresetLibrary.d.ts.map +1 -0
- package/dist/engine/agent-api/CameraPresetLibrary.js +91 -0
- package/dist/engine/agent-api/CameraPresetLibrary.js.map +1 -0
- package/dist/engine/agent-api/CaptionExporter.d.ts +19 -0
- package/dist/engine/agent-api/CaptionExporter.d.ts.map +1 -0
- package/dist/engine/agent-api/CaptionExporter.js +54 -0
- package/dist/engine/agent-api/CaptionExporter.js.map +1 -0
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts +32 -0
- package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +1 -0
- package/dist/engine/agent-api/CartoonAssetManifest.js +4 -0
- package/dist/engine/agent-api/CartoonAssetManifest.js.map +1 -0
- package/dist/engine/agent-api/DialogueAlignment.d.ts +18 -0
- package/dist/engine/agent-api/DialogueAlignment.d.ts.map +1 -0
- package/dist/engine/agent-api/DialogueAlignment.js +23 -0
- package/dist/engine/agent-api/DialogueAlignment.js.map +1 -0
- package/dist/engine/agent-api/EpisodeStructure.d.ts +77 -0
- package/dist/engine/agent-api/EpisodeStructure.d.ts.map +1 -0
- package/dist/engine/agent-api/EpisodeStructure.js +123 -0
- package/dist/engine/agent-api/EpisodeStructure.js.map +1 -0
- package/dist/engine/agent-api/EpisodeTemplates.d.ts +13 -0
- package/dist/engine/agent-api/EpisodeTemplates.d.ts.map +1 -0
- package/dist/engine/agent-api/EpisodeTemplates.js +14 -0
- package/dist/engine/agent-api/EpisodeTemplates.js.map +1 -0
- package/dist/engine/agent-api/FrameEncoder.d.ts +62 -0
- package/dist/engine/agent-api/FrameEncoder.d.ts.map +1 -0
- package/dist/engine/agent-api/FrameEncoder.js +117 -0
- package/dist/engine/agent-api/FrameEncoder.js.map +1 -0
- package/dist/engine/agent-api/GameEvidence.d.ts +43 -0
- package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -1
- package/dist/engine/agent-api/GameEvidence.js +30 -1
- package/dist/engine/agent-api/GameEvidence.js.map +1 -1
- package/dist/engine/agent-api/GameInspector.d.ts +65 -0
- package/dist/engine/agent-api/GameInspector.d.ts.map +1 -0
- package/dist/engine/agent-api/GameInspector.js +53 -0
- package/dist/engine/agent-api/GameInspector.js.map +1 -0
- package/dist/engine/agent-api/GameRuntime.d.ts +67 -1
- package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
- package/dist/engine/agent-api/GameRuntime.js +191 -7
- package/dist/engine/agent-api/GameRuntime.js.map +1 -1
- package/dist/engine/agent-api/PerformanceBlender.d.ts +11 -0
- package/dist/engine/agent-api/PerformanceBlender.d.ts.map +1 -0
- package/dist/engine/agent-api/PerformanceBlender.js +29 -0
- package/dist/engine/agent-api/PerformanceBlender.js.map +1 -0
- package/dist/engine/agent-api/PerformancePoseEditor.d.ts +21 -0
- package/dist/engine/agent-api/PerformancePoseEditor.d.ts.map +1 -0
- package/dist/engine/agent-api/PerformancePoseEditor.js +23 -0
- package/dist/engine/agent-api/PerformancePoseEditor.js.map +1 -0
- package/dist/engine/agent-api/PerformanceScriptParser.d.ts +9 -0
- package/dist/engine/agent-api/PerformanceScriptParser.d.ts.map +1 -0
- package/dist/engine/agent-api/PerformanceScriptParser.js +16 -0
- package/dist/engine/agent-api/PerformanceScriptParser.js.map +1 -0
- package/dist/engine/agent-api/PublishingPipeline.d.ts +57 -0
- package/dist/engine/agent-api/PublishingPipeline.d.ts.map +1 -0
- package/dist/engine/agent-api/PublishingPipeline.js +67 -0
- package/dist/engine/agent-api/PublishingPipeline.js.map +1 -0
- package/dist/engine/agent-api/RenderProgressTracker.d.ts +49 -0
- package/dist/engine/agent-api/RenderProgressTracker.d.ts.map +1 -0
- package/dist/engine/agent-api/RenderProgressTracker.js +106 -0
- package/dist/engine/agent-api/RenderProgressTracker.js.map +1 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +50 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/RuntimeNodeHandle.js +48 -0
- package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
- package/dist/engine/agent-api/SceneSequencer.d.ts +54 -0
- package/dist/engine/agent-api/SceneSequencer.d.ts.map +1 -0
- package/dist/engine/agent-api/SceneSequencer.js +64 -0
- package/dist/engine/agent-api/SceneSequencer.js.map +1 -0
- package/dist/engine/agent-api/ShotCompositionRules.d.ts +45 -0
- package/dist/engine/agent-api/ShotCompositionRules.d.ts.map +1 -0
- package/dist/engine/agent-api/ShotCompositionRules.js +54 -0
- package/dist/engine/agent-api/ShotCompositionRules.js.map +1 -0
- package/dist/engine/agent-api/ShotTransitionEngine.d.ts +46 -0
- package/dist/engine/agent-api/ShotTransitionEngine.d.ts.map +1 -0
- package/dist/engine/agent-api/ShotTransitionEngine.js +98 -0
- package/dist/engine/agent-api/ShotTransitionEngine.js.map +1 -0
- package/dist/engine/agent-api/ThumbnailGenerator.d.ts +44 -0
- package/dist/engine/agent-api/ThumbnailGenerator.d.ts.map +1 -0
- package/dist/engine/agent-api/ThumbnailGenerator.js +82 -0
- package/dist/engine/agent-api/ThumbnailGenerator.js.map +1 -0
- package/dist/engine/agent-api/VideoExportPipeline.d.ts +66 -0
- package/dist/engine/agent-api/VideoExportPipeline.d.ts.map +1 -0
- package/dist/engine/agent-api/VideoExportPipeline.js +108 -0
- package/dist/engine/agent-api/VideoExportPipeline.js.map +1 -0
- package/dist/engine/agent-api/VisemeTimelineTrack.d.ts +29 -0
- package/dist/engine/agent-api/VisemeTimelineTrack.d.ts.map +1 -0
- package/dist/engine/agent-api/VisemeTimelineTrack.js +34 -0
- package/dist/engine/agent-api/VisemeTimelineTrack.js.map +1 -0
- package/dist/engine/agent-api/WaveformVisualizer.d.ts +61 -0
- package/dist/engine/agent-api/WaveformVisualizer.d.ts.map +1 -0
- package/dist/engine/agent-api/WaveformVisualizer.js +108 -0
- package/dist/engine/agent-api/WaveformVisualizer.js.map +1 -0
- package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts +21 -0
- package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts.map +1 -0
- package/dist/engine/agent-api/YouTubeMetadataGenerator.js +51 -0
- package/dist/engine/agent-api/YouTubeMetadataGenerator.js.map +1 -0
- package/dist/engine/agent-api/game-kits/fighting.d.ts +20 -0
- package/dist/engine/agent-api/game-kits/fighting.d.ts.map +1 -1
- package/dist/engine/agent-api/game-kits/fighting.js +20 -0
- package/dist/engine/agent-api/game-kits/fighting.js.map +1 -1
- package/dist/engine/agent-api/index.d.ts +92 -3
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +116 -2
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
- package/dist/engine/game/GameAudio.d.ts +65 -0
- package/dist/engine/game/GameAudio.d.ts.map +1 -0
- package/dist/engine/game/GameAudio.js +155 -0
- package/dist/engine/game/GameAudio.js.map +1 -0
- package/dist/engine/game/index.d.ts +3 -0
- package/dist/engine/game/index.d.ts.map +1 -0
- package/dist/engine/game/index.js +2 -0
- package/dist/engine/game/index.js.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +2 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/production-runtime/GameAppRuntime.d.ts +3 -0
- package/dist/engine/production-runtime/GameAppRuntime.d.ts.map +1 -0
- package/dist/engine/production-runtime/GameAppRuntime.js +2 -0
- package/dist/engine/production-runtime/GameAppRuntime.js.map +1 -0
- package/dist/engine/production-runtime/GameRenderPreset.d.ts +55 -0
- package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -0
- package/dist/engine/production-runtime/GameRenderPreset.js +90 -0
- package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -0
- package/dist/engine/production-runtime/index.d.ts +18 -1
- package/dist/engine/production-runtime/index.d.ts.map +1 -1
- package/dist/engine/production-runtime/index.js +35 -1
- package/dist/engine/production-runtime/index.js.map +1 -1
- package/dist/engine/runtime/AssetPreloader.d.ts +14 -0
- package/dist/engine/runtime/AssetPreloader.d.ts.map +1 -0
- package/dist/engine/runtime/AssetPreloader.js +22 -0
- package/dist/engine/runtime/AssetPreloader.js.map +1 -0
- package/dist/engine/runtime/ResourceManager.d.ts +48 -0
- package/dist/engine/runtime/ResourceManager.d.ts.map +1 -0
- package/dist/engine/runtime/ResourceManager.js +156 -0
- package/dist/engine/runtime/ResourceManager.js.map +1 -0
- package/dist/engine/runtime/index.d.ts +5 -0
- package/dist/engine/runtime/index.d.ts.map +1 -0
- package/dist/engine/runtime/index.js +3 -0
- package/dist/engine/runtime/index.js.map +1 -0
- package/dist/physics/CharacterController.d.ts +31 -0
- package/dist/physics/CharacterController.d.ts.map +1 -1
- package/dist/physics/CharacterController.js +90 -0
- package/dist/physics/CharacterController.js.map +1 -1
- package/dist/physics/CollisionVolumes.d.ts +29 -0
- package/dist/physics/CollisionVolumes.d.ts.map +1 -1
- package/dist/physics/CollisionVolumes.js +43 -0
- package/dist/physics/CollisionVolumes.js.map +1 -1
- package/dist/physics/KinematicBody.d.ts +15 -0
- package/dist/physics/KinematicBody.d.ts.map +1 -1
- package/dist/physics/KinematicBody.js +28 -0
- package/dist/physics/KinematicBody.js.map +1 -1
- package/dist/physics/KinematicWorld.js +6 -0
- package/dist/physics/KinematicWorld.js.map +1 -1
- package/dist/scripting/CartoonNodeCategories.d.ts +3 -0
- package/dist/scripting/CartoonNodeCategories.d.ts.map +1 -0
- package/dist/scripting/CartoonNodeCategories.js +9 -0
- package/dist/scripting/CartoonNodeCategories.js.map +1 -0
- package/dist/scripting/CartoonVisualNodes.d.ts +3 -0
- package/dist/scripting/CartoonVisualNodes.d.ts.map +1 -0
- package/dist/scripting/CartoonVisualNodes.js +41 -0
- package/dist/scripting/CartoonVisualNodes.js.map +1 -0
- package/dist/scripting/VisualGraphExecutor.js +46 -0
- package/dist/scripting/VisualGraphExecutor.js.map +1 -1
- package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
- package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
- package/dist/scripting/VisualNodeCatalog.js +3 -1
- package/dist/scripting/VisualNodeCatalog.js.map +1 -1
- package/dist/scripting/index.d.ts +3 -0
- package/dist/scripting/index.d.ts.map +1 -1
- package/dist/scripting/index.js +2 -0
- package/dist/scripting/index.js.map +1 -1
- package/package.json +126 -126
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { TimelineEditorController } from "./TimelineEditorController.js";
|
|
2
|
+
export class TimelineUI {
|
|
3
|
+
controller;
|
|
4
|
+
container;
|
|
5
|
+
options;
|
|
6
|
+
documentRef;
|
|
7
|
+
listeners = [];
|
|
8
|
+
constructor(controller, container, options = {}) {
|
|
9
|
+
this.controller = controller;
|
|
10
|
+
this.container = container;
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.documentRef = options.document ?? container.ownerDocument;
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
this.dispose();
|
|
16
|
+
const snapshot = this.controller.snapshot();
|
|
17
|
+
this.container.replaceChildren();
|
|
18
|
+
this.container.className = this.options.className ?? "aura-timeline";
|
|
19
|
+
this.container.tabIndex = this.container.tabIndex >= 0 ? this.container.tabIndex : 0;
|
|
20
|
+
const toolbar = this.el("div", "aura-timeline__toolbar");
|
|
21
|
+
toolbar.append(this.button("Play", () => {
|
|
22
|
+
this.controller.togglePlayback();
|
|
23
|
+
this.render();
|
|
24
|
+
}), this.button("Start", () => {
|
|
25
|
+
this.controller.scrubTo(0);
|
|
26
|
+
this.render();
|
|
27
|
+
}), this.button("End", () => {
|
|
28
|
+
this.controller.scrubTo(this.controller.timeline.duration);
|
|
29
|
+
this.render();
|
|
30
|
+
}));
|
|
31
|
+
const ruler = this.el("div", "aura-timeline__ruler");
|
|
32
|
+
const durationPixels = Math.max(1, this.controller.timeline.duration * snapshot.zoomPixelsPerSecond);
|
|
33
|
+
ruler.style.width = `${durationPixels}px`;
|
|
34
|
+
ruler.append(this.marker("playhead", this.controller.timeline.currentTime));
|
|
35
|
+
for (let second = 0; second <= Math.ceil(this.controller.timeline.duration); second += 1) {
|
|
36
|
+
const tick = this.marker("tick", second);
|
|
37
|
+
tick.textContent = `${second}s`;
|
|
38
|
+
ruler.append(tick);
|
|
39
|
+
}
|
|
40
|
+
const tracks = this.el("div", "aura-timeline__tracks");
|
|
41
|
+
for (const track of this.controller.timeline.tracks) {
|
|
42
|
+
const trackSnapshot = snapshot.tracks.find((candidate) => candidate.id === track.id);
|
|
43
|
+
const lane = this.el("div", "aura-timeline__track");
|
|
44
|
+
lane.dataset.trackId = track.id;
|
|
45
|
+
lane.style.minHeight = `${trackSnapshot?.laneHeight ?? 32}px`;
|
|
46
|
+
const label = this.el("div", "aura-timeline__track-label");
|
|
47
|
+
label.textContent = track.name;
|
|
48
|
+
const clips = this.el("div", "aura-timeline__clips");
|
|
49
|
+
clips.style.width = `${durationPixels}px`;
|
|
50
|
+
for (const clip of track.clips) {
|
|
51
|
+
const clipEl = this.el("button", "aura-timeline__clip");
|
|
52
|
+
clipEl.type = "button";
|
|
53
|
+
clipEl.dataset.clipId = clip.id;
|
|
54
|
+
clipEl.textContent = clip.name;
|
|
55
|
+
clipEl.style.left = `${clip.startTime * snapshot.zoomPixelsPerSecond}px`;
|
|
56
|
+
clipEl.style.width = `${Math.max(8, clip.duration * snapshot.zoomPixelsPerSecond)}px`;
|
|
57
|
+
clipEl.style.background = trackSnapshot?.color ?? "#334155";
|
|
58
|
+
if (snapshot.selectedIds.includes(clip.id))
|
|
59
|
+
clipEl.dataset.selected = "true";
|
|
60
|
+
const click = (event) => {
|
|
61
|
+
this.controller.selectClip(clip.id, event.shiftKey);
|
|
62
|
+
this.render();
|
|
63
|
+
};
|
|
64
|
+
clipEl.addEventListener("click", click);
|
|
65
|
+
this.listeners.push(() => clipEl.removeEventListener("click", click));
|
|
66
|
+
clips.append(clipEl);
|
|
67
|
+
}
|
|
68
|
+
lane.append(label, clips);
|
|
69
|
+
tracks.append(lane);
|
|
70
|
+
}
|
|
71
|
+
const minimap = this.el("div", "aura-timeline__minimap");
|
|
72
|
+
minimap.style.setProperty("--aura-timeline-duration-px", `${durationPixels}px`);
|
|
73
|
+
minimap.textContent = `${snapshot.timeline.clipCount} clips`;
|
|
74
|
+
const keydown = (event) => {
|
|
75
|
+
if (this.controller.handleKeyboardShortcut(event.key)) {
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
this.render();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
this.container.addEventListener("keydown", keydown);
|
|
81
|
+
this.listeners.push(() => this.container.removeEventListener("keydown", keydown));
|
|
82
|
+
this.container.append(toolbar, ruler, tracks, minimap);
|
|
83
|
+
this.options.onRender?.(snapshot);
|
|
84
|
+
return {
|
|
85
|
+
root: this.container,
|
|
86
|
+
snapshot,
|
|
87
|
+
dispose: () => this.dispose(),
|
|
88
|
+
render: () => this.render()
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
dispose() {
|
|
92
|
+
for (const dispose of this.listeners.splice(0))
|
|
93
|
+
dispose();
|
|
94
|
+
}
|
|
95
|
+
button(label, onClick) {
|
|
96
|
+
const button = this.el("button", "aura-timeline__button");
|
|
97
|
+
button.type = "button";
|
|
98
|
+
button.textContent = label;
|
|
99
|
+
button.addEventListener("click", onClick);
|
|
100
|
+
this.listeners.push(() => button.removeEventListener("click", onClick));
|
|
101
|
+
return button;
|
|
102
|
+
}
|
|
103
|
+
marker(kind, time) {
|
|
104
|
+
const marker = this.el("div", `aura-timeline__${kind}`);
|
|
105
|
+
marker.style.left = `${time * this.controller.zoomPixelsPerSecond}px`;
|
|
106
|
+
marker.dataset.time = String(time);
|
|
107
|
+
return marker;
|
|
108
|
+
}
|
|
109
|
+
el(tagName, className) {
|
|
110
|
+
const element = this.documentRef.createElement(tagName);
|
|
111
|
+
element.className = className;
|
|
112
|
+
return element;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
export function renderTimelineUI(controller, container, options = {}) {
|
|
116
|
+
return new TimelineUI(controller, container, options).render();
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=TimelineUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineUI.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/TimelineUI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export type { Command, CommandContext } from "./Command";
|
|
2
2
|
export { CommandHistory, CommandTransactionError } from "./CommandHistory";
|
|
3
|
+
export { AssetDropZone, readAssetFromDataTransfer, serializeAssetForDrag } from "./AssetDropZone";
|
|
4
|
+
export type { AssetDropPlacement, AssetDropResult, AssetDropZoneOptions, CartoonAssetCategory, CartoonEditorAssetReference } from "./AssetDropZone";
|
|
5
|
+
export { CartoonSceneEditor, createCartoonSceneNode } from "./CartoonSceneEditor";
|
|
6
|
+
export type { CartoonSceneEditorOptions, CartoonSceneEditorSnapshot, CartoonSceneNode, CartoonSceneTransform } from "./CartoonSceneEditor";
|
|
7
|
+
export { CurveEditor } from "./CurveEditor";
|
|
8
|
+
export type { TimelineCurveEvidence, TimelineCurvePoint, TimelineCurveSample } from "./CurveEditor";
|
|
3
9
|
export { DiagnosticsOverlayModel } from "./DiagnosticsOverlayModel";
|
|
4
10
|
export type { EditorDiagnosticsInput, EditorDiagnosticsResource, EditorDiagnosticsSnapshot } from "./DiagnosticsOverlayModel";
|
|
5
11
|
export { EditorRuntime } from "./EditorRuntime";
|
|
@@ -15,6 +21,8 @@ export { HierarchyModel } from "./HierarchyModel";
|
|
|
15
21
|
export type { HierarchyLikeNode, HierarchyNodeDescriptor } from "./HierarchyModel";
|
|
16
22
|
export { InspectorModel } from "./InspectorModel";
|
|
17
23
|
export type { InspectorEditableValue, InspectorProperty } from "./InspectorModel";
|
|
24
|
+
export { KeyframeEditor, encodeTimelineKeyframes, readTimelineKeyframes, timelineKeyframesByProperty } from "./KeyframeEditor";
|
|
25
|
+
export type { CreateTimelineKeyframeOptions, PasteTimelineKeyframesOptions, TimelineBezierHandle, TimelineKeyframe, TimelineKeyframeInterpolation, TimelineKeyframeValue } from "./KeyframeEditor";
|
|
18
26
|
export { sampleLocalizationAccessibilityFixture } from "./LocalizationAccessibilityFixtures";
|
|
19
27
|
export type { EditorAccessibilityElementSample, EditorAccessibilityRole, EditorLocalizationAccessibilityFixture, EditorLocalizedStringSample, EditorLocaleDescriptor, EditorLocaleDirection, EditorPluralCategory } from "./LocalizationAccessibilityFixtures";
|
|
20
28
|
export { MaterialVariantWorkflow } from "./MaterialVariantWorkflow";
|
|
@@ -25,8 +33,12 @@ export { PlayModeBridge } from "./PlayModeBridge";
|
|
|
25
33
|
export type { SnapshotAdapter } from "./PlayModeBridge";
|
|
26
34
|
export { PrefabRegistry, validatePrefab } from "./PrefabRegistry";
|
|
27
35
|
export type { CreatePrefabOptions, EditorPrefab, EditorPrefabNodeBase, EditorPrefabSchemaVersion, InstantiatePrefabOptions } from "./PrefabRegistry";
|
|
36
|
+
export { PropertyPanel } from "./PropertyPanel";
|
|
37
|
+
export type { PropertyPanelField, PropertyPanelOptions } from "./PropertyPanel";
|
|
28
38
|
export { RotateGizmo } from "./RotateGizmo";
|
|
29
39
|
export { ScaleGizmo } from "./ScaleGizmo";
|
|
40
|
+
export { SceneOutliner } from "./SceneOutliner";
|
|
41
|
+
export type { SceneOutlinerItem, SceneOutlinerOptions } from "./SceneOutliner";
|
|
30
42
|
export { Selection } from "./Selection";
|
|
31
43
|
export type { SelectionChange, SelectionId, SelectionListener } from "./Selection";
|
|
32
44
|
export { createOldBranchShaderGraphFixture } from "./ShaderGraphModel";
|
|
@@ -37,8 +49,14 @@ export * from "./ProjectSerializer.js";
|
|
|
37
49
|
export { TimelineRuntimeBridge, createTimelineRuntimeBridge } from "./TimelineRuntimeBridge";
|
|
38
50
|
export type { TimelineRuntimeAnimationApplication, TimelineRuntimeBindingConfig, TimelineRuntimeBridgeConfig, TimelineRuntimeBridgeSnapshot, TimelineRuntimeSignalDispatch, TimelineRuntimeTarget, TimelineRuntimeTargetSnapshot } from "./TimelineRuntimeBridge";
|
|
39
51
|
export { TranslateGizmo } from "./TranslateGizmo";
|
|
52
|
+
export { TimelineEditorController } from "./TimelineEditorController";
|
|
53
|
+
export type { TimelineEditorClipboard, TimelineEditorControllerOptions, TimelineEditorSnapshot } from "./TimelineEditorController";
|
|
40
54
|
export { TimelineClip, TimelineModel, TimelineTrack } from "./TimelineModel";
|
|
41
55
|
export type { TimelineActiveClipSnapshot, TimelineClipBlendMode, TimelineClipConfig, TimelineEasingName, TimelineLoopMode, TimelineModelConfig, TimelineSignalEventSnapshot, TimelineSnapshot, TimelineTrackConfig, TimelineTrackSnapshot } from "./TimelineModel";
|
|
56
|
+
export { TIMELINE_TRACK_TYPES, createTimelineTrackConfig, timelineTrackKindFromConfig, timelineTrackTypeDefinition } from "./TimelineTrackTypes";
|
|
57
|
+
export type { CreateTimelineTrackConfigOptions, TimelineEditorTrackKind, TimelineTrackTypeDefinition } from "./TimelineTrackTypes";
|
|
58
|
+
export { TimelineUI, renderTimelineUI } from "./TimelineUI";
|
|
59
|
+
export type { TimelineUIOptions, TimelineUIRenderResult } from "./TimelineUI";
|
|
42
60
|
export { CreateNodeCommand } from "./commands/CreateNodeCommand";
|
|
43
61
|
export type { NodeContainer } from "./commands/CreateNodeCommand";
|
|
44
62
|
export { DeleteNodeCommand } from "./commands/DeleteNodeCommand";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { CommandHistory, CommandTransactionError } from "./CommandHistory.js";
|
|
2
|
+
export { AssetDropZone, readAssetFromDataTransfer, serializeAssetForDrag } from "./AssetDropZone.js";
|
|
3
|
+
export { CartoonSceneEditor, createCartoonSceneNode } from "./CartoonSceneEditor.js";
|
|
4
|
+
export { CurveEditor } from "./CurveEditor.js";
|
|
2
5
|
export { DiagnosticsOverlayModel } from "./DiagnosticsOverlayModel.js";
|
|
3
6
|
export { EditorRuntime } from "./EditorRuntime.js";
|
|
4
7
|
export { EditorStateModel, createMemoryEditorStateStorage } from "./EditorStateModel.js";
|
|
@@ -7,20 +10,26 @@ export { Gizmo } from "./Gizmo.js";
|
|
|
7
10
|
export { DEFAULT_GIZMO_SETTINGS, normalizeGizmoSettings } from "./Gizmo.js";
|
|
8
11
|
export { HierarchyModel } from "./HierarchyModel.js";
|
|
9
12
|
export { InspectorModel } from "./InspectorModel.js";
|
|
13
|
+
export { KeyframeEditor, encodeTimelineKeyframes, readTimelineKeyframes, timelineKeyframesByProperty } from "./KeyframeEditor.js";
|
|
10
14
|
export { sampleLocalizationAccessibilityFixture } from "./LocalizationAccessibilityFixtures.js";
|
|
11
15
|
export { MaterialVariantWorkflow } from "./MaterialVariantWorkflow.js";
|
|
12
16
|
export { PickingService } from "./PickingService.js";
|
|
13
17
|
export { PlayModeBridge } from "./PlayModeBridge.js";
|
|
14
18
|
export { PrefabRegistry, validatePrefab } from "./PrefabRegistry.js";
|
|
19
|
+
export { PropertyPanel } from "./PropertyPanel.js";
|
|
15
20
|
export { RotateGizmo } from "./RotateGizmo.js";
|
|
16
21
|
export { ScaleGizmo } from "./ScaleGizmo.js";
|
|
22
|
+
export { SceneOutliner } from "./SceneOutliner.js";
|
|
17
23
|
export { Selection } from "./Selection.js";
|
|
18
24
|
export { createOldBranchShaderGraphFixture } from "./ShaderGraphModel.js";
|
|
19
25
|
export { createStaticExportHtml, createStaticExportRuntime } from "./StaticExportRuntime.js";
|
|
20
26
|
export * from "./ProjectSerializer.js";
|
|
21
27
|
export { TimelineRuntimeBridge, createTimelineRuntimeBridge } from "./TimelineRuntimeBridge.js";
|
|
22
28
|
export { TranslateGizmo } from "./TranslateGizmo.js";
|
|
29
|
+
export { TimelineEditorController } from "./TimelineEditorController.js";
|
|
23
30
|
export { TimelineClip, TimelineModel, TimelineTrack } from "./TimelineModel.js";
|
|
31
|
+
export { TIMELINE_TRACK_TYPES, createTimelineTrackConfig, timelineTrackKindFromConfig, timelineTrackTypeDefinition } from "./TimelineTrackTypes.js";
|
|
32
|
+
export { TimelineUI, renderTimelineUI } from "./TimelineUI.js";
|
|
24
33
|
export { CreateNodeCommand } from "./commands/CreateNodeCommand.js";
|
|
25
34
|
export { DeleteNodeCommand } from "./commands/DeleteNodeCommand.js";
|
|
26
35
|
export { ReparentNodeCommand } from "./commands/ReparentNodeCommand.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAU7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAElG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAS/H,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAU7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAE1F,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEjJ,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
import { Scene } from "@aura3d/scene";
|
|
2
|
-
import { Renderer, type CameraLike, type ProductionRendererInput, type RuntimeParityFrameRenderResult, type RenderDeviceDiagnostics, type RendererAnimationLoop, type RendererFrameCaptureWithMetadata, type RendererInput, type RendererOptions, type RenderItem, type RenderSource, type ResizeToDisplayOptions, type ResizeToDisplayResult } from "@aura3d/rendering";
|
|
2
|
+
import { Renderer, type CameraLike, type ProductionRendererInput, type RuntimeParityFrameRenderResult, type RenderDevice, type RenderDeviceDiagnostics, type RendererAnimationLoop, type RendererFrameCaptureWithMetadata, type RendererInput, type RendererOptions, type RenderItem, type RenderSource, type ResizeToDisplayOptions, type ResizeToDisplayResult } from "@aura3d/rendering";
|
|
3
3
|
import { A3DScene } from "./A3DScene.js";
|
|
4
4
|
export type A3DRendererOptions = RendererOptions;
|
|
5
|
+
export interface A3DRendererEvidenceOptions {
|
|
6
|
+
readonly assetFailures?: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
export interface A3DRendererEvidence {
|
|
9
|
+
readonly backend: RenderDevice["kind"];
|
|
10
|
+
readonly drawCalls: number;
|
|
11
|
+
readonly frameTimeMs: number;
|
|
12
|
+
readonly renderSize: {
|
|
13
|
+
readonly width: number;
|
|
14
|
+
readonly height: number;
|
|
15
|
+
};
|
|
16
|
+
readonly assetFailures: readonly string[];
|
|
17
|
+
readonly contextLost: boolean;
|
|
18
|
+
readonly disposed: boolean;
|
|
19
|
+
readonly lastError: string | null;
|
|
20
|
+
}
|
|
5
21
|
export declare class A3DRenderer {
|
|
6
22
|
readonly renderer: Renderer;
|
|
23
|
+
private lastDiagnostics;
|
|
24
|
+
private lastFrameTimeMs;
|
|
25
|
+
private renderSize;
|
|
26
|
+
private disposed;
|
|
7
27
|
private constructor();
|
|
8
28
|
static create(options?: A3DRendererOptions): Promise<A3DRenderer>;
|
|
9
|
-
get device():
|
|
29
|
+
get device(): RenderDevice;
|
|
10
30
|
resize(width: number, height: number): void;
|
|
11
31
|
resizeToDisplay(options?: ResizeToDisplayOptions): ResizeToDisplayResult;
|
|
12
32
|
startAnimationLoop(callback: (timeMs: number, renderer: A3DRenderer) => void): RendererAnimationLoop;
|
|
@@ -17,6 +37,8 @@ export declare class A3DRenderer {
|
|
|
17
37
|
renderFrame(input: ProductionRendererInput): RuntimeParityFrameRenderResult;
|
|
18
38
|
captureFrame(source?: A3DScene | RenderSource | Iterable<RenderItem> | Scene, camera?: CameraLike): RendererFrameCaptureWithMetadata;
|
|
19
39
|
getDiagnostics(): RenderDeviceDiagnostics;
|
|
40
|
+
evidence(options?: A3DRendererEvidenceOptions): A3DRendererEvidence;
|
|
20
41
|
dispose(): void;
|
|
42
|
+
private recordFrame;
|
|
21
43
|
}
|
|
22
44
|
//# sourceMappingURL=A3DRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A3DRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/advanced-runtime/A3DRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EAEf,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,
|
|
1
|
+
{"version":3,"file":"A3DRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/advanced-runtime/A3DRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EAEf,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,WAAW;IAMF,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAL/C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO;WAIM,MAAM,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI3E,IAAI,MAAM,iBAET;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,qBAAqB;IAM5E,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,GAAG,qBAAqB;IAIpG,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,uBAAuB;IACrD,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,uBAAuB;IAgBpH,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC;IACnE,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBlI,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,8BAA8B;IAS3E,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,gCAAgC;IAQpI,cAAc,IAAI,uBAAuB;IAIzC,QAAQ,CAAC,OAAO,GAAE,0BAA+B,GAAG,mBAAmB;IAgBvE,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -3,41 +3,61 @@ import { Renderer } from "../../rendering/index.js";
|
|
|
3
3
|
import { A3DScene } from "./A3DScene.js";
|
|
4
4
|
export class A3DRenderer {
|
|
5
5
|
renderer;
|
|
6
|
-
|
|
6
|
+
lastDiagnostics = null;
|
|
7
|
+
lastFrameTimeMs = 0;
|
|
8
|
+
renderSize;
|
|
9
|
+
disposed = false;
|
|
10
|
+
constructor(renderer, initialSize) {
|
|
7
11
|
this.renderer = renderer;
|
|
12
|
+
this.renderSize = initialSize;
|
|
8
13
|
}
|
|
9
14
|
static async create(options = {}) {
|
|
10
|
-
return new A3DRenderer(await Renderer.create(options));
|
|
15
|
+
return new A3DRenderer(await Renderer.create(options), initialRenderSize(options));
|
|
11
16
|
}
|
|
12
17
|
get device() {
|
|
13
18
|
return this.renderer.device;
|
|
14
19
|
}
|
|
15
20
|
resize(width, height) {
|
|
16
21
|
this.renderer.resize(width, height);
|
|
22
|
+
this.renderSize = { width, height };
|
|
17
23
|
}
|
|
18
24
|
resizeToDisplay(options = {}) {
|
|
19
|
-
|
|
25
|
+
const result = this.renderer.resizeToDisplay(options);
|
|
26
|
+
this.renderSize = { width: result.width, height: result.height };
|
|
27
|
+
return result;
|
|
20
28
|
}
|
|
21
29
|
startAnimationLoop(callback) {
|
|
22
30
|
return this.renderer.startAnimationLoop((timeMs) => callback(timeMs, this));
|
|
23
31
|
}
|
|
24
32
|
render(sourceOrInput, camera) {
|
|
33
|
+
const start = nowMs();
|
|
34
|
+
let diagnostics;
|
|
25
35
|
if (isRendererInput(sourceOrInput)) {
|
|
26
|
-
|
|
36
|
+
diagnostics = this.renderer.render({
|
|
27
37
|
...sourceOrInput,
|
|
28
38
|
source: normalizeSource(sourceOrInput.source)
|
|
29
39
|
});
|
|
30
40
|
}
|
|
31
|
-
|
|
41
|
+
else {
|
|
42
|
+
diagnostics = this.renderer.render(normalizeSource(sourceOrInput), camera);
|
|
43
|
+
}
|
|
44
|
+
this.recordFrame(diagnostics, nowMs() - start);
|
|
45
|
+
return diagnostics;
|
|
32
46
|
}
|
|
33
|
-
renderAsync(sourceOrInput, camera) {
|
|
47
|
+
async renderAsync(sourceOrInput, camera) {
|
|
48
|
+
const start = nowMs();
|
|
49
|
+
let diagnostics;
|
|
34
50
|
if (isRendererInput(sourceOrInput)) {
|
|
35
|
-
|
|
51
|
+
diagnostics = await this.renderer.renderAsync({
|
|
36
52
|
...sourceOrInput,
|
|
37
53
|
source: normalizeSource(sourceOrInput.source)
|
|
38
54
|
});
|
|
39
55
|
}
|
|
40
|
-
|
|
56
|
+
else {
|
|
57
|
+
diagnostics = await this.renderer.renderAsync(normalizeSource(sourceOrInput), camera);
|
|
58
|
+
}
|
|
59
|
+
this.recordFrame(diagnostics, nowMs() - start);
|
|
60
|
+
return diagnostics;
|
|
41
61
|
}
|
|
42
62
|
renderFrame(input) {
|
|
43
63
|
const diagnostics = this.render({ source: input.source, camera: input.camera });
|
|
@@ -48,13 +68,38 @@ export class A3DRenderer {
|
|
|
48
68
|
};
|
|
49
69
|
}
|
|
50
70
|
captureFrame(source, camera) {
|
|
51
|
-
|
|
71
|
+
const start = nowMs();
|
|
72
|
+
const frame = this.renderer.captureFrame(source ? normalizeSource(source) : undefined, camera);
|
|
73
|
+
this.renderSize = { width: frame.width, height: frame.height };
|
|
74
|
+
this.recordFrame(frame.diagnostics, nowMs() - start);
|
|
75
|
+
return frame;
|
|
52
76
|
}
|
|
53
77
|
getDiagnostics() {
|
|
54
78
|
return this.renderer.getDiagnostics();
|
|
55
79
|
}
|
|
80
|
+
evidence(options = {}) {
|
|
81
|
+
const diagnostics = this.disposed
|
|
82
|
+
? this.lastDiagnostics ?? this.renderer.getDiagnostics()
|
|
83
|
+
: this.renderer.getDiagnostics();
|
|
84
|
+
return {
|
|
85
|
+
backend: this.device.kind,
|
|
86
|
+
drawCalls: diagnostics.drawCalls,
|
|
87
|
+
frameTimeMs: this.lastFrameTimeMs,
|
|
88
|
+
renderSize: { ...this.renderSize },
|
|
89
|
+
assetFailures: [...(options.assetFailures ?? [])],
|
|
90
|
+
contextLost: diagnostics.contextLost || this.device.contextLost,
|
|
91
|
+
disposed: this.disposed || this.device.disposed,
|
|
92
|
+
lastError: diagnostics.lastError
|
|
93
|
+
};
|
|
94
|
+
}
|
|
56
95
|
dispose() {
|
|
96
|
+
this.lastDiagnostics = this.renderer.getDiagnostics();
|
|
57
97
|
this.renderer.dispose();
|
|
98
|
+
this.disposed = true;
|
|
99
|
+
}
|
|
100
|
+
recordFrame(diagnostics, frameTimeMs) {
|
|
101
|
+
this.lastDiagnostics = diagnostics;
|
|
102
|
+
this.lastFrameTimeMs = roundFrameTime(frameTimeMs);
|
|
58
103
|
}
|
|
59
104
|
}
|
|
60
105
|
function normalizeSource(source) {
|
|
@@ -63,6 +108,22 @@ function normalizeSource(source) {
|
|
|
63
108
|
function isRendererInput(value) {
|
|
64
109
|
return typeof value === "object" && value !== null && "source" in value;
|
|
65
110
|
}
|
|
111
|
+
function initialRenderSize(options) {
|
|
112
|
+
return {
|
|
113
|
+
width: options.width ?? canvasDimension(options.canvas, "width"),
|
|
114
|
+
height: options.height ?? canvasDimension(options.canvas, "height")
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function canvasDimension(canvas, axis) {
|
|
118
|
+
const value = canvas?.[axis];
|
|
119
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0 ? Math.round(value) : 1;
|
|
120
|
+
}
|
|
121
|
+
function nowMs() {
|
|
122
|
+
return globalThis.performance?.now?.() ?? Date.now();
|
|
123
|
+
}
|
|
124
|
+
function roundFrameTime(value) {
|
|
125
|
+
return Number(value.toFixed(3));
|
|
126
|
+
}
|
|
66
127
|
function createPublicFrameFeatures(diagnostics, input) {
|
|
67
128
|
return [
|
|
68
129
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A3DRenderer.js","sourceRoot":"","sources":["../../../../../packages/engine/src/advanced-runtime/A3DRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,QAAQ,
|
|
1
|
+
{"version":3,"file":"A3DRenderer.js","sourceRoot":"","sources":["../../../../../packages/engine/src/advanced-runtime/A3DRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CartoonAssetManifest, CartoonAssetManifestEntry, CartoonAssetManifestKind } from "./CartoonAssetManifest.js";
|
|
2
|
+
export interface AssetLibraryBrowserFilter {
|
|
3
|
+
readonly kind?: CartoonAssetManifestKind;
|
|
4
|
+
readonly style?: string;
|
|
5
|
+
readonly license?: string;
|
|
6
|
+
readonly lipSyncReady?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface AssetLibraryBrowserSnapshot {
|
|
9
|
+
readonly kind: "asset-library-browser";
|
|
10
|
+
readonly total: number;
|
|
11
|
+
readonly visible: number;
|
|
12
|
+
readonly selectedId?: string;
|
|
13
|
+
readonly assets: readonly CartoonAssetManifestEntry[];
|
|
14
|
+
}
|
|
15
|
+
export interface AssetLibraryAssetDetail {
|
|
16
|
+
readonly kind: "asset-library-detail";
|
|
17
|
+
readonly asset: CartoonAssetManifestEntry;
|
|
18
|
+
readonly animationPreview: {
|
|
19
|
+
readonly clips: readonly string[];
|
|
20
|
+
readonly previewable: boolean;
|
|
21
|
+
};
|
|
22
|
+
readonly materialPreview: {
|
|
23
|
+
readonly materialCount: number;
|
|
24
|
+
readonly swatches: readonly string[];
|
|
25
|
+
readonly celShadingReady: boolean;
|
|
26
|
+
};
|
|
27
|
+
readonly metadata: Readonly<Record<string, string | number | boolean | readonly string[]>>;
|
|
28
|
+
}
|
|
29
|
+
export declare class AssetLibraryBrowser {
|
|
30
|
+
private readonly manifest;
|
|
31
|
+
private filter;
|
|
32
|
+
private selectedId?;
|
|
33
|
+
constructor(manifest: CartoonAssetManifest);
|
|
34
|
+
setFilter(filter: AssetLibraryBrowserFilter): AssetLibraryBrowserSnapshot;
|
|
35
|
+
select(id: string): AssetLibraryBrowserSnapshot;
|
|
36
|
+
detail(id?: string): AssetLibraryAssetDetail;
|
|
37
|
+
snapshot(): AssetLibraryBrowserSnapshot;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=AssetLibraryBrowser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetLibraryBrowser.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/AssetLibraryBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE3H,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACvD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE;QACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC5F;AAED,qBAAa,mBAAmB;IAIlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,UAAU,CAAC,CAAS;gBAEC,QAAQ,EAAE,oBAAoB;IAE3D,SAAS,CAAC,MAAM,EAAE,yBAAyB,GAAG,2BAA2B;IAKzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B;IAM/C,MAAM,CAAC,EAAE,GAAE,MAA8B,GAAG,uBAAuB;IA4BnE,QAAQ,IAAI,2BAA2B;CAexC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export class AssetLibraryBrowser {
|
|
2
|
+
manifest;
|
|
3
|
+
filter = {};
|
|
4
|
+
selectedId;
|
|
5
|
+
constructor(manifest) {
|
|
6
|
+
this.manifest = manifest;
|
|
7
|
+
}
|
|
8
|
+
setFilter(filter) {
|
|
9
|
+
this.filter = filter;
|
|
10
|
+
return this.snapshot();
|
|
11
|
+
}
|
|
12
|
+
select(id) {
|
|
13
|
+
if (!this.manifest.entries.some((entry) => entry.id === id))
|
|
14
|
+
throw new Error(`Unknown cartoon asset: ${id}`);
|
|
15
|
+
this.selectedId = id;
|
|
16
|
+
return this.snapshot();
|
|
17
|
+
}
|
|
18
|
+
detail(id = this.selectedId ?? "") {
|
|
19
|
+
const asset = this.manifest.entries.find((entry) => entry.id === id);
|
|
20
|
+
if (!asset)
|
|
21
|
+
throw new Error(`Unknown cartoon asset: ${id}`);
|
|
22
|
+
const clips = asset.preview?.animationPreviewClips ?? asset.animationClips ?? [];
|
|
23
|
+
return {
|
|
24
|
+
kind: "asset-library-detail",
|
|
25
|
+
asset,
|
|
26
|
+
animationPreview: {
|
|
27
|
+
clips,
|
|
28
|
+
previewable: clips.length > 0
|
|
29
|
+
},
|
|
30
|
+
materialPreview: {
|
|
31
|
+
materialCount: asset.materialPreview?.materialCount ?? 0,
|
|
32
|
+
swatches: asset.materialPreview?.swatches ?? [],
|
|
33
|
+
celShadingReady: asset.materialPreview?.celShadingReady ?? asset.style.toLowerCase().includes("cartoon")
|
|
34
|
+
},
|
|
35
|
+
metadata: {
|
|
36
|
+
...(asset.sourcePage ? { sourcePage: asset.sourcePage } : {}),
|
|
37
|
+
...(asset.attribution ? { attribution: asset.attribution } : {}),
|
|
38
|
+
license: asset.license,
|
|
39
|
+
assetId: asset.assetId,
|
|
40
|
+
style: asset.style,
|
|
41
|
+
...(asset.lipSyncReady !== undefined ? { lipSyncReady: asset.lipSyncReady } : {}),
|
|
42
|
+
...(asset.metadata ?? {})
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
snapshot() {
|
|
47
|
+
const assets = this.manifest.entries.filter((entry) => (!this.filter.kind || entry.kind === this.filter.kind)
|
|
48
|
+
&& (!this.filter.style || entry.style.toLowerCase().includes(this.filter.style.toLowerCase()))
|
|
49
|
+
&& (!this.filter.license || entry.license === this.filter.license)
|
|
50
|
+
&& (this.filter.lipSyncReady === undefined || entry.lipSyncReady === this.filter.lipSyncReady));
|
|
51
|
+
return {
|
|
52
|
+
kind: "asset-library-browser",
|
|
53
|
+
total: this.manifest.entries.length,
|
|
54
|
+
visible: assets.length,
|
|
55
|
+
selectedId: this.selectedId,
|
|
56
|
+
assets
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=AssetLibraryBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetLibraryBrowser.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/AssetLibraryBrowser.ts"],"names":[],"mappings":"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"}
|