Module dioxus_core::changelist[][src]

Changelist

This module exposes the “changelist” object which allows 3rd party implementors to handle diffs to the virtual dom.

Design


In essence, the changelist object connects a diff of two vdoms to the actual edits required to update the output renderer.

This abstraction relies on the assumption that the final renderer accepts a tree of elements. For most target platforms, this is an appropriate abstraction .

During the diff phase, the change list is built. Once the diff phase is over, the change list is finished and returned back to the renderer. The renderer is responsible for propogating the updates (a stream of u32) to the final display.

Because the change list references data internal to the vdom, it needs to be consumed by the renderer before the vdom can continue to work. This means once a change list is generated, it should be consumed as fast as possible, otherwise the dom will be blocked from progressing. This is enforced by lifetimes on the returend changelist object.

Structs

CbIdx

Re-export a cover over generational ID for libraries that don’t need it We can go back and forth between the two via methods on GI

EditMachine
Moves
StringKey
Traversal

Enums

Edit

The Edit represents a single modifcation of the renderer tree.

MoveTo

Type Definitions

EditList