Vox
Client
Server
Vox is the entry point for all voxel edits. Each method returns an operation builder — OpAdd, OpRemove, OpPaint, OpCopy, OpSubtract — which you configure with a fluent chain and finalize with :Run():
Vox:Add(Sphere(pos, 2)) -- operation + shape (see Shape)
:Force(ob) -- limit to one object (by default ops affect everything)
:Run() -- schedules the edit; it commits a frame or more later
:Run() is asynchronous — chain :OnFinished(fn) to run code once the edit actually lands. Full walkthrough: Voxel Edits.
Methods
OpRemove Remove(opTarget target)
Remove a shape from something
OpAdd Add(opTarget target)
Add voxels. If Vox:Add is called with just a shape (no Force/ForceTag), every Run() does a collision overlap at the current shape to discover what to add onto — this is required since objects can move between runs. If a force list is set (via object target, Force, or ForceTag), the overlap is skipped and filter.forceList is used directly. Prefer Force() when the target is known; it's cheaper and avoids per-Run allocation churn from the overlap query.
OpPaint Paint(opTarget target)
Change the color of surface voxels
OpCopy Copy(opTarget target)
Copy voxels from somewhere to an object
OpSubtract Subtract(Object|Object[] subtractObject)
Subtract the exact shape of the object passed from something