PresentationVideoExport
Submit one `construct/render_export` job for a video of the view clock (field-presentation §FVE-10, matrix FVW-72).
| Inherits | QObject |
In the namespace construct::render. Declared in src/libs/libconstruct/construct/batch/rendering/PresentationVideoExport.hpp.
Detailed description
The one code path of "Export animation…" and `construct.field.export_video`. start() takes a request with the presentation frames, the path, the size, the fps and the overlay flag. Then:
\1. A video that steps an axis needs the fields of each step, which the render worker cannot build (§MTH-7 F1). For each axis value of the frames, this asks the asset store for the fields of every shown tet volume and mesh item at that value, in the slot ahead (AssetStore::prefetchTet()). It waits on a timer until they are built, as the view clock holds a step (§FVG-6: "a video waits for each one"), and keeps them in the snapshot's ConstructSnapshot::fieldSteps. The data that the viewport shows stays. 2. It takes the snapshot of the host. When a frame has a phase, each item of the snapshot that shows its deformation animates, so the phase moves it. Only the snapshot's copy changes, never the document. 3. It submits the job and emits submitted(). A video with no axis step submits in start(), before it returns.
failed() gives the reason when a step does not build or the document closes. One object for one video. With setAutoDelete(), it deletes itself after its signal.