|
@@ -55,6 +55,7 @@ export const addAM = (data: AnimationModel): Promise<AnimationModel3D> => {
|
|
|
Object.values(des.actions || {}).forEach((frame) => frame.destroy());
|
|
|
Object.values(des.paths || {}).forEach((frame) => frame.destroy());
|
|
|
des.am?.destroy();
|
|
|
+ console.error('destory', key, data)
|
|
|
delete amMap[key];
|
|
|
} else if (!amMap[key]) {
|
|
|
amMap[key] = {
|
|
@@ -267,7 +268,6 @@ export const addPath = (
|
|
|
amMap[key]?.paths[data.id]?.changeDuration(data.duration)
|
|
|
),
|
|
|
watch(path, (p) => {
|
|
|
- console.log('0.0 changePath', p)
|
|
|
const path = toRaw(p)
|
|
|
path && amMap[key]?.paths[data.id]?.changePath(path);
|
|
|
|
|
@@ -456,11 +456,11 @@ export const associationAnimation = (sdk: SDK, el: HTMLDivElement) => {
|
|
|
watch(
|
|
|
() => [...ams.value],
|
|
|
(newv, oldv = []) => {
|
|
|
- console.log("diffam", newv, oldv);
|
|
|
- const { added } = diffArrayChange(newv, oldv);
|
|
|
+ const { added, deleted } = diffArrayChange(newv, oldv);
|
|
|
+ console.log("diffam", added, deleted, ams.value);
|
|
|
added.forEach(addAM);
|
|
|
},
|
|
|
- { immediate: true }
|
|
|
+ { immediate: true, deep: true }
|
|
|
);
|
|
|
|
|
|
watch(
|
|
@@ -469,7 +469,7 @@ export const associationAnimation = (sdk: SDK, el: HTMLDivElement) => {
|
|
|
const { added } = diffArrayChange(newv, oldv);
|
|
|
added.forEach(addFrame);
|
|
|
},
|
|
|
- { immediate: true }
|
|
|
+ { immediate: true, deep: true }
|
|
|
);
|
|
|
|
|
|
watch(
|
|
@@ -478,7 +478,7 @@ export const associationAnimation = (sdk: SDK, el: HTMLDivElement) => {
|
|
|
const { added } = diffArrayChange(newv, oldv);
|
|
|
added.forEach(addAction);
|
|
|
},
|
|
|
- { immediate: true }
|
|
|
+ { immediate: true, deep: true }
|
|
|
);
|
|
|
|
|
|
watch(
|
|
@@ -487,7 +487,7 @@ export const associationAnimation = (sdk: SDK, el: HTMLDivElement) => {
|
|
|
const { added } = diffArrayChange(newv, oldv);
|
|
|
added.forEach(addPath);
|
|
|
},
|
|
|
- { immediate: true }
|
|
|
+ { immediate: true, deep: true }
|
|
|
);
|
|
|
watch(
|
|
|
() => ams.value.flatMap((am) => am.subtitles),
|
|
@@ -495,7 +495,7 @@ export const associationAnimation = (sdk: SDK, el: HTMLDivElement) => {
|
|
|
const { added } = diffArrayChange(newv, oldv);
|
|
|
added.forEach(addSubtitle);
|
|
|
},
|
|
|
- { immediate: true }
|
|
|
+ { immediate: true, deep: true }
|
|
|
);
|
|
|
|
|
|
let cleanupMap: Record<string, () => void> = {};
|