auto-git:

[change] src/app/App.tsx
 [change] src/controls/control-surface.ts
 [change] src/document/migrate-scene-document.ts
 [change] src/document/scene-document-validation.ts
 [change] src/document/scene-document.ts
 [change] src/interactions/interaction-links.ts
 [change] src/runtime-three/runtime-audio-system.ts
 [change] src/runtime-three/runtime-host.ts
 [change] src/runtime-three/runtime-interaction-system.ts
 [change] src/runtime-three/runtime-scene-build.ts
 [change] tests/domain/runtime-control-foundation.test.ts
 [change] tests/domain/runtime-interaction-system.test.ts
 [change] tests/serialization/control-interaction-links.test.ts
 [change] tests/unit/runtime-host.test.ts
This commit is contained in:
2026-04-14 01:40:15 +02:00
parent 3ae63c83d1
commit c1f1ff7488
14 changed files with 1354 additions and 810 deletions

View File

@@ -206,7 +206,9 @@ export function createToggleVisibilityInteractionLink(
assertNonEmptyString(options.targetBrushId, "Visibility target brush id");
if (options.visible !== undefined && typeof options.visible !== "boolean") {
throw new Error("Visibility action visible must be a boolean when authored.");
throw new Error(
"Visibility action visible must be a boolean when authored."
);
}
return {
@@ -326,13 +328,17 @@ export function getInteractionActionControlEffect(
switch (action.type) {
case "playAnimation":
return createPlayModelAnimationControlEffect({
target: createModelInstanceControlTargetRef(action.targetModelInstanceId),
target: createModelInstanceControlTargetRef(
action.targetModelInstanceId
),
clipName: action.clipName,
loop: action.loop
});
case "stopAnimation":
return createStopModelAnimationControlEffect({
target: createModelInstanceControlTargetRef(action.targetModelInstanceId)
target: createModelInstanceControlTargetRef(
action.targetModelInstanceId
)
});
case "playSound":
return createPlaySoundControlEffect({
@@ -410,7 +416,8 @@ export function areInteractionLinksEqual(
return (
left.action.targetModelInstanceId ===
(right.action as PlayAnimationAction).targetModelInstanceId &&
left.action.clipName === (right.action as PlayAnimationAction).clipName &&
left.action.clipName ===
(right.action as PlayAnimationAction).clipName &&
left.action.loop === (right.action as PlayAnimationAction).loop
);
case "stopAnimation":