diff --git a/fastn-js/ftd.html b/fastn-js/ftd.html deleted file mode 100644 index 5d79577136..0000000000 --- a/fastn-js/ftd.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -__html_body__ - - - - - diff --git a/fastn-js/js/dom.js b/fastn-js/js/dom.js index cae4c94ce1..f6b15f5169 100644 --- a/fastn-js/js/dom.js +++ b/fastn-js/js/dom.js @@ -812,7 +812,7 @@ class Node2 { return this.#parent; } removeAllFaviconLinks() { - if (hydrating || rerender) { + if (doubleBuffering) { const links = document.head.querySelectorAll('link[rel="shortcut icon"]'); links.forEach( link => { link.parentNode.removeChild(link); @@ -821,7 +821,7 @@ class Node2 { } setFavicon(url) { - if (hydrating || rerender) { + if (doubleBuffering) { if (url instanceof fastn.recordInstanceClass) url = url.get('src'); while (true) { if (url instanceof fastn.mutableClass) url = url.get(); @@ -889,7 +889,7 @@ class Node2 { } updatePositionForNodeById(node_id, value) { if (!ssr) { - const target_node = document.querySelector(`[id="${node_id}"]`); + const target_node = fastnVirtual.root.querySelector(`[id="${node_id}"]`); if (!fastn_utils.isNull(target_node)) target_node.style['position'] = value; } @@ -908,7 +908,7 @@ class Node2 { } } updateMetaTitle(value) { - if (!ssr && (hydrating || rerender)) { + if (!ssr && doubleBuffering) { if (!fastn_utils.isNull(value)) window.document.title = value; } } @@ -917,7 +917,7 @@ class Node2 { this.removeMetaTagByName(name); return; } - if (!ssr && (hydrating || rerender)) { + if (!ssr && doubleBuffering) { const metaTag = window.document.createElement('meta'); metaTag.setAttribute('name', name); metaTag.setAttribute('content', value); @@ -929,7 +929,7 @@ class Node2 { this.removeMetaTagByProperty(property); return; } - if (!ssr && (hydrating || rerender)) { + if (!ssr && doubleBuffering) { const metaTag = window.document.createElement('meta'); metaTag.setAttribute('property', property); metaTag.setAttribute('content', value); @@ -937,7 +937,7 @@ class Node2 { } } removeMetaTagByName(name) { - if (!ssr && (hydrating || rerender)) { + if (!ssr && doubleBuffering) { const metaTags = document.getElementsByTagName('meta'); for (let i = 0; i < metaTags.length; i++) { const metaTag = metaTags[i]; @@ -949,7 +949,7 @@ class Node2 { } } removeMetaTagByProperty(property) { - if (!ssr && (hydrating || rerender)) { + if (!ssr && doubleBuffering) { const metaTags = document.getElementsByTagName('meta'); for (let i = 0; i < metaTags.length; i++) { const metaTag = metaTags[i]; @@ -978,7 +978,7 @@ class Node2 { const obj = { property, value }; if (value === undefined) { - if (!ssr && !hydrating) { + if (!ssr) { for (const className of this.#node.classList.values()) { if (className.startsWith(`${propertyShort}-`)) { this.#node.classList.remove(className); @@ -989,7 +989,7 @@ class Node2 { return cls; } - if (!ssr && !hydrating) { + if (!ssr) { if (!!className) { if (!fastn_dom.classes[cssClass]) { fastn_dom.classes[cssClass] = fastn_dom.classes[cssClass] || obj; @@ -1328,7 +1328,7 @@ class Node2 { } } attachExternalCss(css) { - if (hydrating || rerender) { + if (doubleBuffering) { let css_tag = document.createElement('link'); css_tag.rel = 'stylesheet'; css_tag.type = 'text/css'; @@ -1342,7 +1342,7 @@ class Node2 { } } attachExternalJs(js) { - if (hydrating || rerender) { + if (doubleBuffering) { let js_tag = document.createElement('script'); js_tag.src = js; @@ -2161,14 +2161,12 @@ class Node2 { this.#rawInnerValue = staticValue; } else if (kind === fastn_dom.PropertyKind.StringValue) { this.#rawInnerValue = staticValue; - if (!hydrating || this.#node.innerHTML === "undefined") { - staticValue = fastn_utils.markdown_inline(fastn_utils.escapeHtmlInMarkdown(staticValue)); - } else { - staticValue = this.#node.innerHTML; - } + staticValue = fastn_utils.markdown_inline(fastn_utils.escapeHtmlInMarkdown(staticValue)); staticValue = fastn_utils.process_post_markdown(this.#node, staticValue); if(!fastn_utils.isNull(staticValue)) { this.#node.innerHTML = staticValue; + } else { + this.#node.innerHTML = ""; } } else { throw ("invalid fastn_dom.PropertyKind: " + kind); diff --git a/fastn-js/js/ftd.js b/fastn-js/js/ftd.js index 2fefbab34f..63bea9a431 100644 --- a/fastn-js/js/ftd.js +++ b/fastn-js/js/ftd.js @@ -236,7 +236,7 @@ const ftd = (function() { }, get(key) { key = this._get_key(key); - if(ssr && !hydrating) { + if(ssr) { return; } const item = localStorage.getItem(key); diff --git a/fastn-js/js/utils.js b/fastn-js/js/utils.js index a205e63eaa..eea18da5b1 100644 --- a/fastn-js/js/utils.js +++ b/fastn-js/js/utils.js @@ -46,7 +46,7 @@ let fastn_utils = { return [node, css, attributes]; }, createStyle(cssClass, obj) { - if (rerender) { + if (doubleBuffering) { fastn_dom.styleClasses = `${fastn_dom.styleClasses}${getClassAsString(cssClass, obj)}\n`; } else { let styles = document.getElementById('styles'); @@ -336,7 +336,7 @@ let fastn_utils = { }, createNodeHelper(node, classes, attributes) { let tagName = node; - let element = fastn_virtual.document.createElement(node); + let element = fastnVirtual.document.createElement(node); for (let key in attributes) { element.setAttribute(key, attributes[key]) } @@ -525,6 +525,24 @@ let fastn_utils = { } return args; }, + + /** + * Replaces the children of `document.body` with the children from + * newChildrenWrapper and updates the styles based on the + * `fastn_dom.styleClasses`. + * + * @param {HTMLElement} newChildrenWrapper - The wrapper element + * containing the new children. + */ + replaceBodyStyleAndChildren(newChildrenWrapper) { + // Update styles based on `fastn_dom.styleClasses` + let styles = document.getElementById("styles"); + styles.innerHTML = fastn_dom.styleClasses; + + // Replace the children of document.body with the children from + // newChildrenWrapper + fastn_utils.private.replaceChildren(document.body, newChildrenWrapper); + }, } @@ -640,6 +658,33 @@ fastn_utils.private = { } return text; }, + + /** + * Replaces the children of a parent element with the children from a + * new children wrapper. + * + * @param {HTMLElement} parent - The parent element whose children will + * be replaced. + * @param {HTMLElement} newChildrenWrapper - The wrapper element + * containing the new children. + * @returns {void} + */ + replaceChildren(parent, newChildrenWrapper) { + // Remove existing children of the parent + var children = parent.children; + // Loop through the direct children and remove those with tagName 'div' + for (var i = children.length - 1; i >= 0; i--) { + var child = children[i]; + if (child.tagName === 'DIV') { + parent.removeChild(child); + } + } + + // Cut and append the children from newChildrenWrapper to the parent + while (newChildrenWrapper.firstChild) { + parent.appendChild(newChildrenWrapper.firstChild); + } + } } diff --git a/fastn-js/js/virtual.js b/fastn-js/js/virtual.js index 8ff4bb3b6b..8c4c29d2e7 100644 --- a/fastn-js/js/virtual.js +++ b/fastn-js/js/virtual.js @@ -1,9 +1,8 @@ -let fastn_virtual = {} +let fastnVirtual = {} let id_counter = 0; -let hydrating = false; let ssr = false; -let rerender = false; +let doubleBuffering = false; class ClassList { #classes = []; @@ -124,28 +123,14 @@ class Document2 { if (fastn_utils.isWrapperNode(tagName)) { return window.document.createComment(fastn_dom.commentMessage); } - if (hydrating) { - let node = this.getElementByDataID(id_counter); - if (fastn_utils.isCommentNode(tagName)) { - let comment= window.document.createComment(fastn_dom.commentMessage); - node.parentNode.replaceChild(comment, node); - return comment; - } - return node; - } else { - if (fastn_utils.isCommentNode(tagName)) { - return window.document.createComment(fastn_dom.commentMessage); - } - return window.document.createElement(tagName); + if (fastn_utils.isCommentNode(tagName)) { + return window.document.createComment(fastn_dom.commentMessage); } - } - - getElementByDataID(id) { - return window.document.querySelector(`[data-id=\"${id}\"]`); + return window.document.createElement(tagName); } } -fastn_virtual.document = new Document2(); +fastnVirtual.document = new Document2(); function addClosureToBreakpointWidth() { let closure = fastn.closureWithoutExecute(function() { @@ -161,39 +146,22 @@ function addClosureToBreakpointWidth() { ftd.breakpoint_width.addClosure(closure); } -fastn_virtual.hydrate = function(main) { +fastnVirtual.doubleBuffer = function(main) { addClosureToBreakpointWidth(); + let parent = document.createElement("div"); let current_device = ftd.get_device(); - let found_device = ftd.device.get(); - if (current_device !== found_device) { - rerender = true - ftd.device = fastn.mutable(current_device); - let styles = document.getElementById("styles"); - styles.innerText = ""; - var children = document.body.children; - // Loop through the direct children and remove those with tagName 'div' - for (var i = children.length - 1; i >= 0; i--) { - var child = children[i]; - if (child.tagName === 'DIV') { - document.body.removeChild(child); - } - } - - main(document.body); - rerender = false; - styles.innerHTML = fastn_dom.styleClasses; - return; - } - hydrating = true; - let body = fastn_virtual.document.createElement("body"); - main(body); - id_counter = 0; - hydrating = false; + ftd.device = fastn.mutable(current_device); + doubleBuffering = true; + fastnVirtual.root = parent; + main(parent); + fastn_utils.replaceBodyStyleAndChildren(parent) + doubleBuffering = false; + fastnVirtual.root = document.body; } -fastn_virtual.ssr = function(main) { +fastnVirtual.ssr = function(main) { ssr = true; - let body = fastn_virtual.document.createElement("body"); + let body = fastnVirtual.document.createElement("body"); main(body) ssr = false; id_counter = 0; diff --git a/fastn-js/src/main.rs b/fastn-js/src/main.rs index 42bcf38d16..771b71d21f 100644 --- a/fastn-js/src/main.rs +++ b/fastn-js/src/main.rs @@ -17,7 +17,7 @@ fn js() -> &'static str { i.done(); } - fastn_virtual.ssr(main) + fastnVirtual.ssr(main) "# } diff --git a/fastn-js/src/ssr.rs b/fastn-js/src/ssr.rs index f4d6cba9e4..e34b39c90b 100644 --- a/fastn-js/src/ssr.rs +++ b/fastn-js/src/ssr.rs @@ -30,7 +30,7 @@ pub fn ssr(ast: &[fastn_js::Ast]) -> String { parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); }}; - fastn_virtual.ssr(main_wrapper);", fastn_js::to_js(ast, + fastnVirtual.ssr(main_wrapper);", fastn_js::to_js(ast, "foo")); ssr_str(&js) } @@ -44,7 +44,7 @@ pub fn ssr_with_js_string(package_name: &str, js: &str) -> String { parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); }}; - fastn_virtual.ssr(main_wrapper);", package_name, js); + fastnVirtual.ssr(main_wrapper);", package_name, js); ssr_str(&js) } diff --git a/fastn-js/tests/01-basic.html b/fastn-js/tests/01-basic.html index 92db3f1d5e..c33aa2945e 100644 --- a/fastn-js/tests/01-basic.html +++ b/fastn-js/tests/01-basic.html @@ -16,9 +16,9 @@ i.setProperty(fastn_dom.PropertyKind.IntegerValue, index$num); } - main(fastn_virtual.document.createElement("body")) + main(fastnVirtual.document.createElement("body")) - // document.body.innerHTML = fastn_virtual.ssr(main); + // document.body.innerHTML = fastnVirtual.ssr(main); // fastn_virtual.hydrate(main); })(); diff --git a/fastn-js/tests/02-basic-event.html b/fastn-js/tests/02-basic-event.html index 48c385fab0..33167d7406 100644 --- a/fastn-js/tests/02-basic-event.html +++ b/fastn-js/tests/02-basic-event.html @@ -19,7 +19,7 @@ }); } - main(fastn_virtual.document.createElement("body")) + main(fastnVirtual.document.createElement("body")) })(); diff --git a/fastn-js/tests/03-event-1.html b/fastn-js/tests/03-event-1.html index 17708b8032..80035b3cc5 100644 --- a/fastn-js/tests/03-event-1.html +++ b/fastn-js/tests/03-event-1.html @@ -20,8 +20,8 @@ }); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/04-component.html b/fastn-js/tests/04-component.html index fd45a7bd51..8240bee6bb 100644 --- a/fastn-js/tests/04-component.html +++ b/fastn-js/tests/04-component.html @@ -22,8 +22,8 @@ }); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/05-complex-component.html b/fastn-js/tests/05-complex-component.html index 9252c4874f..c25f01a1e9 100644 --- a/fastn-js/tests/05-complex-component.html +++ b/fastn-js/tests/05-complex-component.html @@ -32,8 +32,8 @@ }); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/06-complex.html b/fastn-js/tests/06-complex.html index b11804ffa7..322ee88dce 100644 --- a/fastn-js/tests/06-complex.html +++ b/fastn-js/tests/06-complex.html @@ -42,8 +42,8 @@ }); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/07-dynamic-dom.html b/fastn-js/tests/07-dynamic-dom.html index 01b2030d32..eda6bcecd9 100644 --- a/fastn-js/tests/07-dynamic-dom.html +++ b/fastn-js/tests/07-dynamic-dom.html @@ -39,8 +39,8 @@ return i; } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/08-dynamic-dom-2.html b/fastn-js/tests/08-dynamic-dom-2.html index 11d527e9ea..841327d37c 100644 --- a/fastn-js/tests/08-dynamic-dom-2.html +++ b/fastn-js/tests/08-dynamic-dom-2.html @@ -37,8 +37,8 @@ return i; } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); // main(document.body); })(); diff --git a/fastn-js/tests/09-dynamic-dom-3.html b/fastn-js/tests/09-dynamic-dom-3.html index 8923809342..e745610338 100644 --- a/fastn-js/tests/09-dynamic-dom-3.html +++ b/fastn-js/tests/09-dynamic-dom-3.html @@ -44,8 +44,8 @@ return i; } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); // main(document.body); })(); diff --git a/fastn-js/tests/10-dynamic-dom-list.html b/fastn-js/tests/10-dynamic-dom-list.html index c63bee7c44..071c15e327 100644 --- a/fastn-js/tests/10-dynamic-dom-list.html +++ b/fastn-js/tests/10-dynamic-dom-list.html @@ -50,7 +50,7 @@ } main(document.body); - // document.body.innerHTML = fastn_virtual.ssr(main); + // document.body.innerHTML = fastnVirtual.ssr(main); // fastn_virtual.hydrate(main); })(); diff --git a/fastn-js/tests/14-passing-mutable.html b/fastn-js/tests/14-passing-mutable.html index c50be3e0bb..46eb62ee0e 100644 --- a/fastn-js/tests/14-passing-mutable.html +++ b/fastn-js/tests/14-passing-mutable.html @@ -58,8 +58,8 @@ }) } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/15-conditional-property.html b/fastn-js/tests/15-conditional-property.html index 7a6e89867d..56ccac81fd 100644 --- a/fastn-js/tests/15-conditional-property.html +++ b/fastn-js/tests/15-conditional-property.html @@ -44,8 +44,8 @@ }) } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/16-color.html b/fastn-js/tests/16-color.html index 620a0b244e..ac72bbae53 100644 --- a/fastn-js/tests/16-color.html +++ b/fastn-js/tests/16-color.html @@ -16,8 +16,8 @@ i1.done(); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/fastn-js/tests/17-children.html b/fastn-js/tests/17-children.html index e8fc8eaa4a..6ec9af77d5 100644 --- a/fastn-js/tests/17-children.html +++ b/fastn-js/tests/17-children.html @@ -35,8 +35,8 @@ args.children.values().forEach(fun => fun(i0)); } - document.body.innerHTML = fastn_virtual.ssr(main); - fastn_virtual.hydrate(main); + document.body.innerHTML = fastnVirtual.ssr(main); + fastnVirtual.doubleBuffer(main); })(); diff --git a/ftd/ftd-js.html b/ftd/ftd-js.html index d9cad7d961..2bfaea0395 100644 --- a/ftd/ftd-js.html +++ b/ftd/ftd-js.html @@ -28,7 +28,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/src/js/ftd_test_helpers.rs b/ftd/src/js/ftd_test_helpers.rs index 8e0c4c4119..4a86f327e1 100644 --- a/ftd/src/js/ftd_test_helpers.rs +++ b/ftd/src/js/ftd_test_helpers.rs @@ -113,7 +113,7 @@ fn p(s: &str, t: &str, fix: bool, manual: bool, script: bool, file_location: &st {all_js} {js_ftd_script} {js_document_script} - fastn_virtual.ssr(main); + fastnVirtual.ssr(main); "}, diff --git a/ftd/t/js/01-basic-module.html b/ftd/t/js/01-basic-module.html index 24e0e01450..01ef0507dc 100644 --- a/ftd/t/js/01-basic-module.html +++ b/ftd/t/js/01-basic-module.html @@ -117,7 +117,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/01-basic.html b/ftd/t/js/01-basic.html index 003b446fb6..77164d1150 100644 --- a/ftd/t/js/01-basic.html +++ b/ftd/t/js/01-basic.html @@ -80,7 +80,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/02-property.html b/ftd/t/js/02-property.html index c36f033866..e42c27a136 100644 --- a/ftd/t/js/02-property.html +++ b/ftd/t/js/02-property.html @@ -104,7 +104,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/03-common-properties.html b/ftd/t/js/03-common-properties.html index 72ad4accb6..2e37f0b0ca 100644 --- a/ftd/t/js/03-common-properties.html +++ b/ftd/t/js/03-common-properties.html @@ -1855,7 +1855,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/04-variable.html b/ftd/t/js/04-variable.html index 155ea3e52c..c02e902e64 100644 --- a/ftd/t/js/04-variable.html +++ b/ftd/t/js/04-variable.html @@ -186,7 +186,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/05-dynamic-dom-list.html b/ftd/t/js/05-dynamic-dom-list.html index adcd3460ad..8e9e0405c3 100644 --- a/ftd/t/js/05-dynamic-dom-list.html +++ b/ftd/t/js/05-dynamic-dom-list.html @@ -170,7 +170,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/06-dynamic-dom-list-2.html b/ftd/t/js/06-dynamic-dom-list-2.html index dbf14826e5..5388cb6bcc 100644 --- a/ftd/t/js/06-dynamic-dom-list-2.html +++ b/ftd/t/js/06-dynamic-dom-list-2.html @@ -148,7 +148,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/07-dynamic-dom-record-list.html b/ftd/t/js/07-dynamic-dom-record-list.html index 8630486b8d..37365704ce 100644 --- a/ftd/t/js/07-dynamic-dom-record-list.html +++ b/ftd/t/js/07-dynamic-dom-record-list.html @@ -130,7 +130,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/08-inherited.html b/ftd/t/js/08-inherited.html index c10138f0d4..5a97234145 100644 --- a/ftd/t/js/08-inherited.html +++ b/ftd/t/js/08-inherited.html @@ -532,7 +532,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/09-text-properties.html b/ftd/t/js/09-text-properties.html index 16c7d844e9..9f89e2f82a 100644 --- a/ftd/t/js/09-text-properties.html +++ b/ftd/t/js/09-text-properties.html @@ -224,7 +224,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/10-color-test.html b/ftd/t/js/10-color-test.html index ccc8cecc99..30e394645d 100644 --- a/ftd/t/js/10-color-test.html +++ b/ftd/t/js/10-color-test.html @@ -192,7 +192,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/11-device.html b/ftd/t/js/11-device.html index d4276cd45a..f8ce0104b1 100644 --- a/ftd/t/js/11-device.html +++ b/ftd/t/js/11-device.html @@ -138,7 +138,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/12-children.html b/ftd/t/js/12-children.html index be9a03ac8f..45552fbac8 100644 --- a/ftd/t/js/12-children.html +++ b/ftd/t/js/12-children.html @@ -126,7 +126,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/13-non-style-properties.html b/ftd/t/js/13-non-style-properties.html index 860a80950f..5194f863bd 100644 --- a/ftd/t/js/13-non-style-properties.html +++ b/ftd/t/js/13-non-style-properties.html @@ -173,7 +173,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/14-code.html b/ftd/t/js/14-code.html index f70155a508..2f0ff3da97 100644 --- a/ftd/t/js/14-code.html +++ b/ftd/t/js/14-code.html @@ -267,7 +267,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/15-function-call-in-property.html b/ftd/t/js/15-function-call-in-property.html index d0cd3d7244..0bb160574d 100644 --- a/ftd/t/js/15-function-call-in-property.html +++ b/ftd/t/js/15-function-call-in-property.html @@ -109,7 +109,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/16-container.html b/ftd/t/js/16-container.html index 41e5171343..cc7cbe961c 100644 --- a/ftd/t/js/16-container.html +++ b/ftd/t/js/16-container.html @@ -69,7 +69,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/17-clone.html b/ftd/t/js/17-clone.html index 5dc101f52f..34e78ab5a8 100644 --- a/ftd/t/js/17-clone.html +++ b/ftd/t/js/17-clone.html @@ -125,7 +125,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/17-events.html b/ftd/t/js/17-events.html index eebe2ca712..90914c9f07 100644 --- a/ftd/t/js/17-events.html +++ b/ftd/t/js/17-events.html @@ -112,7 +112,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/18-rive.html b/ftd/t/js/18-rive.html index fd86f6142d..ed6c9bf4a7 100644 --- a/ftd/t/js/18-rive.html +++ b/ftd/t/js/18-rive.html @@ -237,7 +237,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/19-image.html b/ftd/t/js/19-image.html index c405c465f6..e875b3eba6 100644 --- a/ftd/t/js/19-image.html +++ b/ftd/t/js/19-image.html @@ -73,7 +73,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/20-background-properties.html b/ftd/t/js/20-background-properties.html index 776859504a..3b542b4293 100644 --- a/ftd/t/js/20-background-properties.html +++ b/ftd/t/js/20-background-properties.html @@ -160,7 +160,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/21-markdown.html b/ftd/t/js/21-markdown.html index e31fa7c3ad..66581c0d82 100644 --- a/ftd/t/js/21-markdown.html +++ b/ftd/t/js/21-markdown.html @@ -83,7 +83,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/22-document.html b/ftd/t/js/22-document.html index 238bc79bc3..9f3eeaf943 100644 --- a/ftd/t/js/22-document.html +++ b/ftd/t/js/22-document.html @@ -87,7 +87,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/23-record-list.html b/ftd/t/js/23-record-list.html index 2c87bb6e04..5ee249feb1 100644 --- a/ftd/t/js/23-record-list.html +++ b/ftd/t/js/23-record-list.html @@ -167,7 +167,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/24-device.html b/ftd/t/js/24-device.html index 3489f4f9c9..b4f9ef8b21 100644 --- a/ftd/t/js/24-device.html +++ b/ftd/t/js/24-device.html @@ -118,7 +118,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/24-re-export.html b/ftd/t/js/24-re-export.html index 79ad4c3adb..591d423bca 100644 --- a/ftd/t/js/24-re-export.html +++ b/ftd/t/js/24-re-export.html @@ -126,7 +126,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/25-re-re-export.html b/ftd/t/js/25-re-re-export.html index 29a3fadbb7..ce5a8504f9 100644 --- a/ftd/t/js/25-re-re-export.html +++ b/ftd/t/js/25-re-re-export.html @@ -157,7 +157,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/26-re-export.html b/ftd/t/js/26-re-export.html index f2c4e6a1b1..f360ebc878 100644 --- a/ftd/t/js/26-re-export.html +++ b/ftd/t/js/26-re-export.html @@ -91,7 +91,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/27-for-loop.html b/ftd/t/js/27-for-loop.html index 830172e820..6ad5451aa9 100644 --- a/ftd/t/js/27-for-loop.html +++ b/ftd/t/js/27-for-loop.html @@ -100,7 +100,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/28-mutable-component-arguments.html b/ftd/t/js/28-mutable-component-arguments.html index 4a0c413094..dac7078a64 100644 --- a/ftd/t/js/28-mutable-component-arguments.html +++ b/ftd/t/js/28-mutable-component-arguments.html @@ -107,7 +107,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/28-web-component.html b/ftd/t/js/28-web-component.html index 1d9a9dea8a..ad2638d3ea 100644 --- a/ftd/t/js/28-web-component.html +++ b/ftd/t/js/28-web-component.html @@ -94,7 +94,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/29-dom-list.html b/ftd/t/js/29-dom-list.html index 417e1033c4..52fdf3709c 100644 --- a/ftd/t/js/29-dom-list.html +++ b/ftd/t/js/29-dom-list.html @@ -249,7 +249,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/30-web-component.html b/ftd/t/js/30-web-component.html index 848c585116..3a5ed7303b 100644 --- a/ftd/t/js/30-web-component.html +++ b/ftd/t/js/30-web-component.html @@ -468,7 +468,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/31-advance-list.html b/ftd/t/js/31-advance-list.html index c5f4e4f972..680d1d5a4d 100644 --- a/ftd/t/js/31-advance-list.html +++ b/ftd/t/js/31-advance-list.html @@ -352,7 +352,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/31-ftd-len.html b/ftd/t/js/31-ftd-len.html index 4d2e532852..4c78f4747a 100644 --- a/ftd/t/js/31-ftd-len.html +++ b/ftd/t/js/31-ftd-len.html @@ -90,7 +90,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/32-ftd-len.html b/ftd/t/js/32-ftd-len.html index 5206899c8e..2bdb9a7352 100644 --- a/ftd/t/js/32-ftd-len.html +++ b/ftd/t/js/32-ftd-len.html @@ -236,7 +236,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/33-list-indexing.html b/ftd/t/js/33-list-indexing.html index 2718f39a3b..14e5cc1459 100644 --- a/ftd/t/js/33-list-indexing.html +++ b/ftd/t/js/33-list-indexing.html @@ -114,7 +114,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/34-ftd-ui.html b/ftd/t/js/34-ftd-ui.html index 82e70de293..29487605e1 100644 --- a/ftd/t/js/34-ftd-ui.html +++ b/ftd/t/js/34-ftd-ui.html @@ -146,7 +146,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/36-single-ui.html b/ftd/t/js/36-single-ui.html index 534a0e9849..b947aaf494 100644 --- a/ftd/t/js/36-single-ui.html +++ b/ftd/t/js/36-single-ui.html @@ -117,7 +117,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/37-expander.html b/ftd/t/js/37-expander.html index 52b120bc48..ee9194fd6d 100644 --- a/ftd/t/js/37-expander.html +++ b/ftd/t/js/37-expander.html @@ -192,7 +192,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/38-background-image-properties.html b/ftd/t/js/38-background-image-properties.html index 099dec159d..e36591ca22 100644 --- a/ftd/t/js/38-background-image-properties.html +++ b/ftd/t/js/38-background-image-properties.html @@ -81,7 +81,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/40-code-themes.html b/ftd/t/js/40-code-themes.html index c88d1d4117..3416d6427c 100644 --- a/ftd/t/js/40-code-themes.html +++ b/ftd/t/js/40-code-themes.html @@ -388,7 +388,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/41-document-favicon.html b/ftd/t/js/41-document-favicon.html index 9f3565ec0a..9fcf380237 100644 --- a/ftd/t/js/41-document-favicon.html +++ b/ftd/t/js/41-document-favicon.html @@ -80,7 +80,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/42-links.html b/ftd/t/js/42-links.html index fabf6a47ab..c6e198de40 100644 --- a/ftd/t/js/42-links.html +++ b/ftd/t/js/42-links.html @@ -95,7 +95,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/43-image-object-fit.html b/ftd/t/js/43-image-object-fit.html index 792a7f9d3b..88bf2505f6 100644 --- a/ftd/t/js/43-image-object-fit.html +++ b/ftd/t/js/43-image-object-fit.html @@ -182,7 +182,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/44-local-storage.html b/ftd/t/js/44-local-storage.html index 7ee99d8d27..46e64b2a9a 100644 --- a/ftd/t/js/44-local-storage.html +++ b/ftd/t/js/44-local-storage.html @@ -107,7 +107,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/44-module.html b/ftd/t/js/44-module.html index 77f902a972..98f7fdc97a 100644 --- a/ftd/t/js/44-module.html +++ b/ftd/t/js/44-module.html @@ -165,7 +165,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/45-re-module.html b/ftd/t/js/45-re-module.html index 6bfeaf264a..c8211db505 100644 --- a/ftd/t/js/45-re-module.html +++ b/ftd/t/js/45-re-module.html @@ -223,7 +223,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/45-re-re-module.html b/ftd/t/js/45-re-re-module.html index 0c5d306aa4..5eaf6f0aa9 100644 --- a/ftd/t/js/45-re-re-module.html +++ b/ftd/t/js/45-re-re-module.html @@ -185,7 +185,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/46-code-languages.html b/ftd/t/js/46-code-languages.html index 8e0540c626..2edf683e8f 100644 --- a/ftd/t/js/46-code-languages.html +++ b/ftd/t/js/46-code-languages.html @@ -188,7 +188,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/47-ftd-code-syntax.html b/ftd/t/js/47-ftd-code-syntax.html index 736ff5a620..c8aff45302 100644 --- a/ftd/t/js/47-ftd-code-syntax.html +++ b/ftd/t/js/47-ftd-code-syntax.html @@ -277,7 +277,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/48-video.html b/ftd/t/js/48-video.html index 658d97b277..2a3be420b6 100644 --- a/ftd/t/js/48-video.html +++ b/ftd/t/js/48-video.html @@ -78,7 +78,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/49-align-content.html b/ftd/t/js/49-align-content.html index be2ee5a441..426e444a11 100644 --- a/ftd/t/js/49-align-content.html +++ b/ftd/t/js/49-align-content.html @@ -915,7 +915,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/50-iframe-fullscreen.html b/ftd/t/js/50-iframe-fullscreen.html index 41dfa9bbb6..5c877a2b07 100644 --- a/ftd/t/js/50-iframe-fullscreen.html +++ b/ftd/t/js/50-iframe-fullscreen.html @@ -115,7 +115,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/51-markdown-table.html b/ftd/t/js/51-markdown-table.html index 199e3833d7..09fcda2d93 100644 --- a/ftd/t/js/51-markdown-table.html +++ b/ftd/t/js/51-markdown-table.html @@ -134,7 +134,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/52-events.html b/ftd/t/js/52-events.html index 5e10cc36b3..d0e31b4299 100644 --- a/ftd/t/js/52-events.html +++ b/ftd/t/js/52-events.html @@ -202,7 +202,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/53-link-color.html b/ftd/t/js/53-link-color.html index c2d68c587b..126c86b579 100644 --- a/ftd/t/js/53-link-color.html +++ b/ftd/t/js/53-link-color.html @@ -76,7 +76,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/54-class-fix.html b/ftd/t/js/54-class-fix.html index f63a67cdf9..aacf8d5dca 100644 --- a/ftd/t/js/54-class-fix.html +++ b/ftd/t/js/54-class-fix.html @@ -79,7 +79,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/56-title-fix.html b/ftd/t/js/56-title-fix.html index 9762741fe0..d224ac7d52 100644 --- a/ftd/t/js/56-title-fix.html +++ b/ftd/t/js/56-title-fix.html @@ -66,7 +66,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/57-code-dark-mode.html b/ftd/t/js/57-code-dark-mode.html index 2269cd535f..7be62ebfc7 100644 --- a/ftd/t/js/57-code-dark-mode.html +++ b/ftd/t/js/57-code-dark-mode.html @@ -89,7 +89,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/59-text-shadow.html b/ftd/t/js/59-text-shadow.html index 23cc119eff..6c11afa452 100644 --- a/ftd/t/js/59-text-shadow.html +++ b/ftd/t/js/59-text-shadow.html @@ -80,7 +80,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/60-conditional-module-headers.html b/ftd/t/js/60-conditional-module-headers.html index 494ee2d7c5..66edacbac5 100644 --- a/ftd/t/js/60-conditional-module-headers.html +++ b/ftd/t/js/60-conditional-module-headers.html @@ -102,7 +102,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/61-functions.html b/ftd/t/js/61-functions.html index 5ad1b43532..71266292ce 100644 --- a/ftd/t/js/61-functions.html +++ b/ftd/t/js/61-functions.html @@ -128,7 +128,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/62-fallback-fonts.html b/ftd/t/js/62-fallback-fonts.html index 7b63caa087..70d83d1219 100644 --- a/ftd/t/js/62-fallback-fonts.html +++ b/ftd/t/js/62-fallback-fonts.html @@ -150,7 +150,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/63-external-js.html b/ftd/t/js/63-external-js.html index fc3d9e4942..566e4ca52a 100644 --- a/ftd/t/js/63-external-js.html +++ b/ftd/t/js/63-external-js.html @@ -131,7 +131,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/64-selectable.html b/ftd/t/js/64-selectable.html index 360544a2d4..87a111c9df 100644 --- a/ftd/t/js/64-selectable.html +++ b/ftd/t/js/64-selectable.html @@ -69,7 +69,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/65-legacy.html b/ftd/t/js/65-legacy.html index a95b895d8a..3b5a47dc04 100644 --- a/ftd/t/js/65-legacy.html +++ b/ftd/t/js/65-legacy.html @@ -105,7 +105,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/66-backdrop-filter.html b/ftd/t/js/66-backdrop-filter.html index a3c902b5cf..15db2d63d9 100644 --- a/ftd/t/js/66-backdrop-filter.html +++ b/ftd/t/js/66-backdrop-filter.html @@ -135,7 +135,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/67-counter.html b/ftd/t/js/67-counter.html index 43c01a8c6b..5aa327aa75 100644 --- a/ftd/t/js/67-counter.html +++ b/ftd/t/js/67-counter.html @@ -139,7 +139,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/68-mask.html b/ftd/t/js/68-mask.html index ffb9eca430..a60160cb2a 100644 --- a/ftd/t/js/68-mask.html +++ b/ftd/t/js/68-mask.html @@ -667,7 +667,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/69-chained-dot-value-in-functions.html b/ftd/t/js/69-chained-dot-value-in-functions.html index 8bacdcdcf2..abc825fcbb 100644 --- a/ftd/t/js/69-chained-dot-value-in-functions.html +++ b/ftd/t/js/69-chained-dot-value-in-functions.html @@ -146,7 +146,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/72-document-breakpoint.html b/ftd/t/js/72-document-breakpoint.html index 7844bc3a12..660e8bfa92 100644 --- a/ftd/t/js/72-document-breakpoint.html +++ b/ftd/t/js/72-document-breakpoint.html @@ -89,7 +89,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })(); diff --git a/ftd/t/js/loop.html b/ftd/t/js/loop.html index 19a5223f2f..cac110cfcf 100644 --- a/ftd/t/js/loop.html +++ b/ftd/t/js/loop.html @@ -70,7 +70,7 @@ parenti0.setProperty(fastn_dom.PropertyKind.Height, fastn_dom.Resizing.FillContainer, inherited); main(parenti0); } - fastn_virtual.hydrate(main_wrapper); + fastnVirtual.doubleBuffer(main_wrapper); ftd.post_init(); })();