The composition of HyperFrames uses HTML, CSS and JavaScript as the main intermediate representations.
The picture structure, time attributes and GSAP animation are all saved in readable source code, and then converted into the final video by Runtime, Chrome and FFmpeg.
The bottom layer is still HTML.
data-start, data-duration, and data-track-index declare the time and level of the clip.
Pictures, videos, and audio are all DOM elements; GSAP is responsible for movement and transitions.
Agent generates code and Studio adjusts the timeline.
People and models always operate on the same source code.
There is no need to export projects back and forth or synchronize two sets of states.
Breaking down the architecture, it is roughly this chain: Composition → Runtime / Frame Adapter → Studio / Player → Producer / Engine → CLI / QA Runtime is the time base of the entire system.
When rendering the Nth frame, it will calculate the time based on the frame index, and then let GSAP, DOM, Canvas and other states seek to this frame.
Rendering can be slower than real-time playback, and as long as seekFrame(frame) always returns the same result for the same frame, the output will not drop frames or be out of order due to differences in machine performance.
One of the video samples, although still very rough, can still be continuously optimized because the route and structure are fixed.
