Adds Filament lights via addLight() — directional, point, and spot.
Mirrors Android's LightNode demos. Each added light is tracked so
removeNode() can clear it.
Drives glTF keyframe & skinning animation via playAnimation() /
stopAnimation() — the web counterpart of Android's Animation demos.
Renders text as a textured quad via createText() — the web face of
Android's Text demo. Optionally billboards to always face the camera.
A chaotic two-link pendulum. The integrator math mirrors the shared
DoublePendulum simulation in sceneview-core (KMP) — the
same physics drives the Android and iOS demos. Adapted from
@radcli14's twolinks.
A looping bell tone orbits the scene as a SpatialAudioNode.
The sound pans between your ears and fades with distance — driven by a
Web Audio PannerNode in HRTF mode. The audio
listener tracks the orbit camera, so the same code maps 1:1 onto the
Android and iOS Spatial Audio demos. Headphones recommended.