<sk-disc>

← prev index next →

Draws a flat circle or ring — solid or with a hole punched out — for platforms, halos, and selection indicators.

Remarks

This is a member of the AbstractMeshNode geometry-primitive family: a solid, renderable shape you position, paint, and animate like any scene node. It is the shape to reach for whenever you need a circular platform, a halo, a gauge ring, or a flat cap.

Key attributes. outer-radius (animatable) is the circle's size; inner-radius (animatable) punches a hole — inner-radius="0" is a solid disc, and a positive value makes an annulus (ring), so animating it opens and closes the hole. orientation (+x, -x, +y, -y, +z, -z) picks the axis the disc faces (default +y lays it flat). rotation-segments (minimum 3) sets how round the rim is — raise it for a smooth circle; radial-segments subdivides from center to rim for radial gradients or deformation. Because a disc is flat it is double-sided by default (cull-mode="none").

Related. Give it appearance with a sk-surface-paint (fills the face) or an sk-edge-paint (draws the wireframe), each naming a sk-plain-material. It is the round counterpart of the flat sk-plane and the flat relative of the sk-torus, and, like every mesh, can supply clone positions to a sk-cloner.

Serve these docs to run the live example. WebGPU needs a secure context — open this page via grunt serve rather than double-clicking the file. The Markup tab works from disk.

Attributes

AttributeTypeDefaultDescription
id <id> The element's unique identifier — the standard HTML global id attribute.
draggable <boolean> false Gets whether this node can be dragged.
xanimatable <number> 0 X position.
yanimatable <number> 0 Y position.
zanimatable <number> 0 Z position.
hanimatable <angle> 0 Heading (Y-axis rotation) in radians.
panimatable <angle> 0 Pitch (X-axis rotation) in radians.
banimatable <angle> 0 Bank (Z-axis rotation) in radians.
quaternionanimatable <quaternion> ({ <number>, <number>, <number>, <number> }) Rotation as quaternion (overrides h, p, b if provided)
sxanimatable <number> 1 X-axis scale factor.
syanimatable <number> 1 Y-axis scale factor.
szanimatable <number> 1 Z-axis scale factor.
s <number> Uniform scale factor for all axes (overrides sx, sy, sz if provided) write-only
overlay <boolean> false Whether this node renders as an overlay with depth-aware translucency.
overlay-occluded-opacity <number> 0.3 Alpha multiplier for overlay fragments occluded by scene geometry.
cast-shadowanimatable <boolean> true Gets whether this mesh casts shadows.
inner-radiusanimatable <number> 0 Inner radius of the disc. Use 0 for a solid disc.
outer-radiusanimatable <number> 1 Outer radius of the disc.
rotation-segments <number> 8 Number of segments around the circumference. Minimum 3.
radial-segments <number> 1 Number of segments from center to edge.
orientation <orientation-axis> ("+x" | "-x" | "+y" | "-y" | "+z" | "-z") "+y" Axis perpendicular to the disc plane. See AxisOrientation for all valid values.
cull-mode <cull-mode> ("front" | "back" | "none") Default face culling mode for surface paints.

Event handler attributes

Standard DOM event-handler content attributes — the value is JavaScript run when the event fires. They behave exactly as on any HTML element.

onclick, ondblclick, onauxclick, oncontextmenu, onpointerdown, onpointerup, onpointermove, onpointercancel, onpointerover, onpointerout, onpointerenter, onpointerleave, ongotpointercapture, onlostpointercapture, onwheel, ondragstart, ondrag, ondragenter, ondragover, ondragleave, ondrop, ondragend