diff --git a/frontend/app/player/MessageDistributor/managers/DOM/DOMManager.ts b/frontend/app/player/MessageDistributor/managers/DOM/DOMManager.ts index 19e35d8f6..9e7b4a5f3 100644 --- a/frontend/app/player/MessageDistributor/managers/DOM/DOMManager.ts +++ b/frontend/app/player/MessageDistributor/managers/DOM/DOMManager.ts @@ -130,8 +130,11 @@ export default class DOMManager extends ListWalker { fRoot.innerText = ''; vn = new VElement(fRoot) - this.vElements = new Map([[0, vn ]]) - this.stylesManager.reset(); + this.vElements = new Map([[0, vn]]) + const vDoc = new VDocument(doc) + vDoc.insertChildAt(vn, 0) + this.vRoots = new Map([[-1, vDoc]]) // todo: start from 0 (sync logic with tracker) + this.stylesManager.reset() return case "create_text_node": vn = new VText() @@ -298,8 +301,6 @@ export default class DOMManager extends ListWalker { moveReady(t: number): Promise { this.moveApply(t, this.applyMessage) // This function autoresets pointer if necessary (better name?) - // @ts-ignore - this.vElements.get(0).applyChanges() this.vRoots.forEach(rt => rt.applyChanges()) // MBTODO (optimisation): affected set // Thinkabout (read): css preload diff --git a/frontend/app/player/MessageDistributor/managers/DOM/VirtualDOM.ts b/frontend/app/player/MessageDistributor/managers/DOM/VirtualDOM.ts index c25f07caf..76f2cdf67 100644 --- a/frontend/app/player/MessageDistributor/managers/DOM/VirtualDOM.ts +++ b/frontend/app/player/MessageDistributor/managers/DOM/VirtualDOM.ts @@ -80,7 +80,7 @@ export class VElement extends VParent { this.newAttributes.set(name, false) } - enforceInsertion() { + enforceInsertion() { // mbtodo: priority insertion instead let vNode: VElement = this while (vNode.parentNode instanceof VElement) { vNode = vNode.parentNode