Skip to content

Commit f907071

Browse files
committed
Fix the Text.sync being applied before the Text data is set.
1 parent 35acc55 commit f907071

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/ThreeD/Text.svelte

+11-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
export let outlineColor = 0;
1414
const { getScene, markDirty } = getContext(key);
1515
16+
const triggerRender = () => {
17+
markDirty && markDirty();
18+
};
19+
1620
const myText = new Text();
21+
myText.addEventListener('synccomplete', triggerRender);
1722
myText.anchorX = 'center';
1823
myText.anchorY = 'middle';
1924
$: myText.text = text;
@@ -30,21 +35,21 @@
3035
$: myText.color = color;
3136
$: myText.outlineWidth = outlineWidth;
3237
$: myText.outlineColor = outlineColor;
33-
myText.sync(() => {
34-
markDirty && markDirty();
35-
if (!markDirty)
36-
console.log('No dirty');
37-
else console.log('got a dirty')
38-
});
38+
$: {
39+
myText.sync();
40+
}
41+
3942
4043
onMount( () => {
4144
console.log('Adding to scene');
45+
4246
getScene().add(myText);
4347
markDirty && markDirty();
4448
});
4549
onDestroy( () => {
4650
if(myText.parent)
4751
myText.parent.remove(myText);
52+
myText.removeEventListener('synccomplete', triggerRender);
4853
myText.dispose();
4954
});
5055
</script>

0 commit comments

Comments
 (0)