mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-10 06:34:20 +00:00
remove subtree file
This commit is contained in:
parent
c3d810bcd0
commit
47e46de74f
1 changed files with 0 additions and 30 deletions
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
This is a WIP module
|
||||
|
||||
Subtrees allow the virtualdom to split up the mutation stream into smaller chunks which can be directed to different parts of the dom.
|
||||
It's core to implementing multiwindow desktop support, portals, and alternative inline renderers like react-three-fiber.
|
||||
|
||||
The primary idea is to give each renderer a linear element tree managed by Dioxus to maximize performance and minimize memory usage.
|
||||
This can't be done if two renderers need to share the same native tree.
|
||||
With subtrees, we have an entirely different slab of elements
|
||||
|
||||
*/
|
||||
|
||||
use std::borrow::Cow;
|
||||
|
||||
use slab::Slab;
|
||||
|
||||
use crate::{ElementPath, ScopeId};
|
||||
|
||||
/// A collection of elements confined to a single scope under a chunk of the tree
|
||||
///
|
||||
/// All elements in this collection are guaranteed to be in the same scope and share the same numbering
|
||||
///
|
||||
/// This unit can be multithreaded
|
||||
/// Whenever multiple subtrees are present, we can perform **parallel diffing**
|
||||
pub struct Subtree {
|
||||
id: usize,
|
||||
namespace: Cow<'static, str>,
|
||||
root: ScopeId,
|
||||
elements: Slab<ElementPath>,
|
||||
}
|
Loading…
Reference in a new issue