three

Render deterministic Three.js/WebGL scenes from HyperFrames time using hf-seek events.

182|8|Updated Apr 4, 2026
One-click install
npx skills add https://github.com/compozy/agh --skill three-compozy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: three
Source: https://github.com/compozy/agh/tree/main/.agents/skills/hyperframes/three
Command: npx skills add https://github.com/compozy/agh --skill three-compozy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill solves the challenge of making Three.js/WebGL rendering deterministic and frame-accurate inside HyperFrames timelines, instead of relying on real-time clocks or free-running animation loops.

Core Features & Use Cases

  • Deterministic frame rendering: Render from HyperFrames time and respond to hf-seek so the same composition produces the same visuals every run.
  • Scene ownership-safe adapter integration: Use the three runtime adapter as a timing/dispatch layer rather than letting it own the scene.
  • Render-critical loading discipline: Load models, textures, and HDRIs before seek-critical rendering to avoid jitter during time-locked frames.
  • AnimationMixer-friendly seeking: Seek AnimationMixer timelines directly with a provided frame time for GLTF/clip animations.

Quick Start

Use the HyperFrames Three.js adapter by listening to the hf-seek event and rendering your scene from event.detail.time for the target canvas layer.

Frequently Asked Questions about three

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make Three.js rendering deterministic and frame-accurate instead of using real-time clocks?

To make Three.js rendering deterministic, you render from HyperFrames time and respond to `hf-seek` events, ensuring the same composition produces identical visuals every run by avoiding wall-clock updates.

How do I synchronize GLTF AnimationMixer timelines with HyperFrames seek time?

You synchronize AnimationMixer timelines by seeking them directly with the frame time provided by the `hf-seek` event, matching GLTF clip animations to the exact HyperFrames time.

Why does my Three.js scene jitter during time-locked frame rendering?

Jitter during time-locked frame rendering occurs when assets like models, textures, and HDRIs are fetched at render time; loading them before seek-critical rendering eliminates the jitter.

Can I use the Three.js runtime adapter to own my WebGL scene directly?

The Three.js runtime adapter functions as a timing and dispatch layer rather than owning the scene, ensuring scene ownership remains safe while synchronizing to HyperFrames frames.

What is the best way to handle shader-driven visuals and camera motion in HyperFrames?

The best way to handle shader-driven visuals and camera motion is applying deterministic frame rendering by listening to `hf-seek` events and rendering your scene from `event.detail.time`.

Do I need to avoid wall-clock updates for deterministic Three.js scene rendering?

Yes, you must avoid wall-clock updates and render-time asset fetching for deterministic Three.js scene rendering, relying exclusively on HyperFrames time to drive reproducible visuals.