simvx.core._spatial_property

Internal Property subclass for Node2D/Node3D spatial vector fields.

_SpatialVecProperty is a :class:Property subclass that lazy-materialises an _ObservedVec2 / _ObservedVec3 whose _notify callback fires the owner’s _invalidate_transform method on in-place mutation (pos.x = 5, pos[0] = 5, pos += v).

Replacement assignment (node.position = Vec2(...)) re-wraps the value as an observed vector so subsequent in-place mutation continues to invalidate. The owner’s _invalidate_transform is also called eagerly on replacement.

Persisted (persist=True) by default so

class:

~simvx.core.save_manager.SaveManager auto-snapshots position/scale; the underlying observed vector is a numpy.ndarray subclass and pickles cleanly.