vuer.rtc.operations.registry
Registry for operation apply functions.
Each operation type has a registered apply function that handles applying
the operation to a scene node.
register_apply_fn
python
def register_apply_fn(otype: str) -> Callable[[ApplyFn], ApplyFn]
Source
Decorator to register an apply function for an operation type.
Usage:
@register_apply_fn("vector3.set")
def apply_vector3_set(node: SceneNode, op: Operation, lamport_time: int) -> None:
...
get_apply_fn
python
def get_apply_fn(otype: str) -> Optional[ApplyFn]
Source
Get the apply function for an operation type.
Registry
Source
Registry providing access to all registered apply functions.
Registry.get
python
def get(self, otype: str) -> Optional[ApplyFn]
Source
Get apply function for operation type.
Registry.has
python
def has(self, otype: str) -> bool
Source
Check if operation type is registered.
Registry.apply
python
def apply(self, node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Apply an operation to a node.
Args:
node: The scene node to modify (mutated in place)
op: The operation to apply
lamport_time: Lamport timestamp for LWW operations
Registry.registered_types
python
def registered_types(self) -> list
Source
List all registered operation types.
apply_number_set
python
def apply_number_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for numbers.
apply_number_add
python
def apply_number_add(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Additive operation for numbers.
apply_number_multiply
python
def apply_number_multiply(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Multiplicative operation for numbers.
apply_number_min
python
def apply_number_min(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Take minimum of current and new value.
apply_number_max
python
def apply_number_max(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Take maximum of current and new value.
apply_string_set
python
def apply_string_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for strings.
apply_string_concat
python
def apply_string_concat(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Concatenate strings.
apply_boolean_set
python
def apply_boolean_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for booleans.
apply_boolean_or
python
def apply_boolean_or(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Logical OR (enable wins).
apply_boolean_and
python
def apply_boolean_and(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Logical AND (disable wins).
apply_vector3_set
python
def apply_vector3_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for Vector3.
apply_vector3_add
python
def apply_vector3_add(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Component-wise addition for Vector3.
apply_vector3_multiply
python
def apply_vector3_multiply(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Component-wise multiplication for Vector3.
apply_vector3_apply_euler
python
def apply_vector3_apply_euler(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Rotate vector by Euler angles (XYZ order).
apply_vector3_apply_quaternion
python
def apply_vector3_apply_quaternion(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Rotate vector by quaternion [x, y, z, w].
apply_euler_set
python
def apply_euler_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for Euler angles.
apply_euler_add
python
def apply_euler_add(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Component-wise addition for Euler angles.
apply_quaternion_set
python
def apply_quaternion_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for quaternions.
apply_quaternion_multiply
python
def apply_quaternion_multiply(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Quaternion multiplication (composition).
apply_color_set
python
def apply_color_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for colors.
apply_color_blend
python
def apply_color_blend(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Blend colors (average RGB values).
apply_array_set
python
def apply_array_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for arrays.
apply_array_push
python
def apply_array_push(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Append item to array.
apply_array_union
python
def apply_array_union(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Union of arrays (set-like, no duplicates).
apply_array_remove
python
def apply_array_remove(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Remove item from array by value.
apply_object_set
python
def apply_object_set(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Last-Write-Wins set for objects.
apply_object_merge
python
def apply_object_merge(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Deep merge objects (LWW per key at top level).
apply_text_init
python
def apply_text_init(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Initialize a text property.
apply_text_insert
python
def apply_text_insert(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Insert text at position.
apply_text_delete
python
def apply_text_delete(node: SceneNode, op: Operation, lamport_time: int) -> None
Source
Delete text at position.
Public imports
These symbols are available from this module. Their definitions are documented in the linked modules.