An animation reaches the scene's own background and objects inside placed containers (#109)
game-maker / gate (push) Successful in 1m33s
game-maker / suite (push) Successful in 5m37s

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
adminandClaude Opus 5 committed 2026-09-17 06:48:21 +02:00
1 parent 353b348c3c
commit f68941fa3a
7 files changed
+334 -128

No files matched your search

+7 -11
View File
@@ -2,9 +2,8 @@ import {
AddAnimationTrackCommand,
RetargetAnimationTrackCommand,
} from '../../core/commands/animationCommands';
import { animatableDefs, animatedKind, rootObjects, targetAssetOf } from '../../core/model/animation';
import { animatableDefs, animatedKind, animationTargets, targetAssetOf } from '../../core/model/animation';
import type { AnimationAsset, AnimationTrack } from '../../core/model/Asset';
import { treeOrder } from '../../core/model/hierarchy';
import { findAsset } from '../../core/model/Project';
import type { PropertyDef } from '../../core/properties/PropertySchema';
import { Button, Dropdown, HStack, Label, Menu, type MenuItem, Popup, Spacer, Theme } from '../../ui';
@@ -126,12 +125,11 @@ export class RowDialog extends Popup {
const root = findAsset(this.state.project, this.asset.root);
if (!root) return [];
const choices: TargetChoice[] = [{ id: '', label: `${root.name} (itself)` }];
if (root.type === 'container' || root.type === 'scene')
for (const { object, depth } of treeOrder(root))
choices.push({
id: object.id,
label: `${' '.repeat(depth)}${object.name || findAsset(this.state.project, object.assetId)?.name || '?'}`,
});
for (const { id, object, depth } of animationTargets(this.state.project, root))
choices.push({
id,
label: `${' '.repeat(depth)}${object.name || findAsset(this.state.project, object.assetId)?.name || '?'}`,
});
return choices;
}
@@ -166,9 +164,7 @@ export class RowDialog extends Popup {
this.refresh();
},
}));
new Menu(items, {
searchable: rootObjects(findAsset(this.state.project, this.asset.root)).length > 8,
}).openBelow(this.targetButton);
new Menu(items, { searchable: items.length > 9 }).openBelow(this.targetButton);
}
private openProperties(): void {