Apparatus for compositing video with three dimensional graphics, comprising: one or more data processing devices configured to perform playback of the video; at least one graphics processing unit (209, 309); a display device (201, 301); a Web browser (215, 315) configured to send instructions to the graphics processing unit (209, 309): and a memory device storing a program to be executed in the Web browser, said program comprising: a scene display section configured to cause the graphics processing unit to display a scene on the display device that includes a background layer, a video layer, and a three dimensional graphics layer on top of the video layer; a rendering module configured to add and remove objects to be included for rendering in the three dimensional graphics layer; a video module configured to track playback timing of the video; and a moment module, for creating a moment object, wherein the moment object represents a period of time in which 3D graphic objects associated with the moment object are to be updated and rendered, the moment object having a start time within the video, an end time within the video, an identifier, and a state, the state indicating that the moment object is currently being activated, the moment module being configured to update the state of the moment object based on the playback timing of the video, the moment object being identified by the identifier, and in accordance with the start time and the end time, wherein objects that are added to be included for rendering check the state of an associated moment object, and when the state of the moment object is activated, update their display state. one or more data processing devices configured to perform playback of the video; at least one graphics processing unit (209, 309); a display device (201, 301); a Web browser (215, 315) configured to send instructions to the graphics processing unit (209, 309): and a memory device storing a program to be executed in the Web browser, said program comprising: a scene display section configured to cause the graphics processing unit to display a scene on the display device that includes a background layer, a video layer, and a three dimensional graphics layer on top of the video layer; a rendering module configured to add and remove objects to be included for rendering in the three dimensional graphics layer; a video module configured to track playback timing of the video; and a moment module, for creating a moment object, wherein the moment object represents a period of time in which 3D graphic objects associated with the moment object are to be updated and rendered, the moment object having a start time within the video, an end time within the video, an identifier, and a state, the state indicating that the moment object is currently being activated, the moment module being configured to update the state of the moment object based on the playback timing of the video, the moment object being identified by the identifier, and in accordance with the start time and the end time, wherein objects that are added to be included for rendering check the state of an associated moment object, and when the state of the moment object is activated, update their display state. a scene display section configured to cause the graphics processing unit to display a scene on the display device that includes a background layer, a video layer, and a three dimensional graphics layer on top of the video layer; a rendering module configured to add and remove objects to be included for rendering in the three dimensional graphics layer; a video module configured to track playback timing of the video; and a moment module, for creating a moment object, wherein the moment object represents a period of time in which 3D graphic objects associated with the moment object are to be updated and rendered, the moment object having a start time within the video, an end time within the video, an identifier, and a state, the state indicating that the moment object is currently being activated, the moment module being configured to update the state of the moment object based on the playback timing of the video, the moment object being identified by the identifier, and in accordance with the start time and the end time, wherein objects that are added to be included for rendering check the state of an associated moment object, and when the state of the moment object is activated, update their display state.