OptionalboundsThe box around the vertices the mesh's live triangles use, in local
render coordinates, or null without live triangles. Optional:
bindMesh takes its bounds from it and walks the mirrors on a host
without it.
OptionalcoloringThe rule the mesh is coloured by, or null without colouring. Optional:
bindMesh's fragment shading needs it (with views(mesh).values) and
falls back to vertex colours on a host without it.
Flushes pending changes to the listeners and returns them.
The column-major world matrix of the mesh's local render coordinates.
Registers a change listener; returns the function that removes it.
Views of the mesh's render buffers. Slot counts follow from them, so
positions() must be exactly 3 × vertex slots long and indices()
exactly 3 × triangle slots long (normals 3, colours 4 and UVs 2 per vertex
slot, when present): positions().length / 3 vertex slots and
indices().length / 3 triangle slots.
What the adapters need from a scene: render buffers, placements, section results, change notification and drags. All methods are synchronous.