Bitbybit Docs
    Preparing search index...

    Type Alias Entity (Inputs.Draw)

    Entity:
        | number[]
        | Point3
        | Line3
        | Segment3
        | Polyline3
        | Bit.Inputs.Base.VerbCurve
        | Bit.Inputs.Base.VerbSurface
        | TopoDSShapePointer
        | DecomposedMeshDto
        | ManifoldPointer
        | CrossSectionPointer
        | JSCADEntity
        | TagDto
        | CustomGeometryDrawable
        | CustomOverlayDrawable
        | BABYLON.TransformNode
        | number[][]
        | Point3[]
        | Line3[]
        | Segment3[]
        | Polyline3[]
        | Bit.Inputs.Base.VerbCurve[]
        | Bit.Inputs.Base.VerbSurface[]
        | TopoDSShapePointer[]
        | DecomposedMeshDto[]
        | ManifoldPointer[]
        | CrossSectionPointer[]
        | JSCADEntity[]
        | TagDto[]
        | BABYLON.TransformNode[]

    Everything a draw call will accept: points, lines, segments and polylines; Verb curves and surfaces; the handles the OCCT, Manifold and JSCAD kernels return; tags; a BabylonJS node, which draws as an axis triad; whatever a layer above these packages has taught the call to draw; and a list of any one of them. This union is what makes one draw call able to render anything these packages produce without you having to say which kind it is.

    The list arms are one per kind rather than a single list of the union, because that is what is true: drawing a list applies one set of options to one kind of thing, and every plural handler reads its list as homogeneous. A mixed list is not something this call can draw, and saying so here is what stops one being written.

    Base.Vector3 is not listed and is still accepted: it is the same type as Base.Point3.

    number[] and number[][] are listed, and are the loosest members here on purpose. A point is the tuple Base.Point3, but the vector services are honestly number[] - they operate on a vector of any length - so every result of vector.add, cross, lerp and their siblings is a number[], and drawing one is ordinary. Dropping these arms would narrow the union at the cost of making the library's own output undrawable without a cast.