Templates & expression rigs
Build controllable templates and expression-driven rigs (MOGRTs).
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- After Effects · Premiere Pro Essential Graphics
- Class GUI-need label
HY· Hybrid
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R06.05.01.02-T01 Build a lower-third MOGRT with a duration-responsive outro
Original instruction
In After Effects, from fixtures/lt_design.aep build comp 'LT_Template' and export out/LowerThird.mogrt exposing Name, Title (text) and Accent Color in Essential Graphics. Set responsive-design time (protected regions) so when the clip is lengthened in Premiere the intro and the 10-frame outro stay intact. Test in Premiere with fixtures/test.prproj.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects · Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickdrag· Drag & droptype· Text & forms- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
Unzip .mogrt: definition JSON lists 3 controls of correct types. Premiere test harness instantiates it at 5 s and 9 s with new text/color: renders show the text and color; outro occupies the last 10 frames (±1) and intro the first N frames in both lengths.
Proposed partial credit
30% three controls exposed; 20% text/color applied in Premiere; 40% protected regions behave at both lengths; 10% mogrt export valid.
R06.05.01.02-T02 Rig a bar chart driven by per-bar slider controls
Original instruction
In After Effects comp 'BarRig' (fixtures/bars.aep) with 6 bar layers, add a 'Controls' null with 6 Slider Controls (Bar 1…Bar 6, 0–100) and expressions so each bar's height = slider × 6 px from a fixed baseline, with value labels showing the slider value. Save out/bar_rig.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formscode· Code & commands- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Harness opens the .aep, sets sliders to 3 random value sets, renders a frame each: bar heights = value × 6 ± 1 px from baseline (y fixed), labels OCR equal values. Expressions must reference the Controls null (not hard-coded).
Proposed partial credit
20% controls null; 50% bar heights follow sliders; 20% labels; 10% baseline fixed.
R06.05.01.02-T03 Publish a color parameter in a Motion title for Final Cut Pro
Original instruction
In Apple Motion, open fixtures/title_template.motn (Final Cut Title). Publish the text, the background bar's color and the bar's width as parameters (rename them 'Headline', 'Bar Color', 'Bar Width'), save, then in Final Cut Pro apply the title to project 'Test' and set Bar Color to #00A3E0.
- Platforms
mac· macOS- Applications
- Motion · Final Cut Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
.motn XML: three published parameters with those names; FCP project FCPXML shows the title with Bar Color param = #00A3E0; rendered frame bar color ΔE2000 ≤ 2 to #00A3E0. Neither Motion nor Final Cut Pro has a scripting API, and .motn/FCPXML files written by other processes are detected, so publishing and applying must be done in the apps.
Proposed partial credit
45% three published parameters; 15% names; 40% used in FCP with color set.
R06.05.01.02-T04 Make a text box that auto-resizes to its text
Original instruction
In After Effects comp 'AutoBox' (fixtures/autobox.aep), make shape layer 'Box' size and position follow text layer 'Label' via sourceRectAtTime() with 24 px horizontal and 12 px vertical padding, staying left-anchored, for any text length including two-line text. Save out/autobox.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formscode· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Harness swaps Label text to 4 test strings (short, long, two-line, empty) and renders: box bbox equals text bbox expanded by 24/12 px (±1); box left edge fixed; no expression errors.
Proposed partial credit
60% four test strings fit (15 points each); 20% left anchoring; 20% no expression errors.
R06.05.01.02-T05 Set protected intro and outro regions for a responsive title
Original instruction
In After Effects comp 'Title_Resp' (fixtures/title_resp.aep, 5 s), add comp markers with Protected Region so the first 15 frames (build-in) and last 12 frames (build-out) stay fixed when the MOGRT is stretched in Premiere. Export out/TitleResp.mogrt.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickdrag· Drag & drop- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
MOGRT definition shows two protected markers with durations 15 and 12 frames; Premiere harness stretches it to 10 s: frames 0–14 and the last 12 frames match the 5 s render's intro/outro frames (SSIM ≥ 0.98).
Proposed partial credit
40% protected markers configured; 50% stretched behavior correct; 10% mogrt exported.
R06.05.01.02-T06 Use Master Properties to vary three instances of one card
Original instruction
In After Effects, precomp 'Card' (fixtures/cards.aep) has a title, subtitle and accent color. Add them as Master Properties and place 3 instances in comp 'Cards_3up' with titles/subtitles/colors from input/cards.csv, without duplicating the precomp. Render out/cards_3up.png (frame 60).
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Probe .aep: exactly one 'Card' comp source used by 3 layers; essential properties defined; per-instance overrides equal CSV. Rendered frame: OCR text per card and accent ΔE2000 ≤ 2.
Proposed partial credit
25% single source precomp; 25% master properties defined; 40% overrides per CSV; 10% render.
R06.05.01.02-T07 Make a data-driven chart MOGRT fed by a spreadsheet
Original instruction
In After Effects, build a data-driven MOGRT from input/chart_data.csv (6 rows: label, value) where bars and labels read from the CSV via the data layer, then export out/DataChart.mogrt. In Premiere, replace the spreadsheet with input/chart_data_q4.csv in the Essential Graphics panel and render out/q4_chart.png.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects · Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickdrag· Drag & dropcode· Code & commandsmulti· Cross-app- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
MOGRT includes a spreadsheet data source; Premiere render with Q4 CSV: bar heights proportional to Q4 values (±1%), labels OCR equal Q4 labels; Q3 render similarly correct.
Proposed partial credit
30% data-driven bars; 20% labels; 30% CSV replacement in Premiere works; 20% mogrt valid.
R06.05.01.02-T08 Drive a progress bar, percent text and color from one slider
Original instruction
In After Effects comp 'Progress' (fixtures/progress.aep) add a null 'CTRL' with Slider 'Progress' (0–100). Expressions: bar width = Progress% of 1200 px, text shows 'NN%' (integer), bar turns #2ECC71 at 100 and stays #3498DB below. Keyframe Progress 0→100 over 3 s. Render out/progress.mp4.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Render per frame: bar width = 12 × slider ± 2 px; OCR text integer equals floor(slider) and has '%'; color #3498DB below 100 and #2ECC71 at 100 (ΔE2000 ≤ 2); harness also sets slider to 37 → width 444.
Proposed partial credit
35% width link; 25% text; 25% color switch; 15% keyframed animation.
R06.05.01.02-T09 Add a controllable wiggle with seed and on/off switch
Original instruction
In After Effects comp 'Shake' (fixtures/shake.aep) give layer 'Logo' a position wiggle controlled by a 'Shake CTRL' null with Sliders Frequency, Amplitude, Seed and a Checkbox 'Enable' (off → no motion). Save out/shake.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Harness: Enable off → logo static; on with amplitude 20 → displacement std 8–16 px; changing seed changes path (correlation < 0.5); frequency 2 vs 8 changes dominant frequency accordingly.
Proposed partial credit
25% enable switch; 25% amplitude; 25% seed; 25% frequency.
R06.05.01.02-T10 Build one responsive comp that adapts to three aspect ratios
Original instruction
In After Effects comp 'Promo_Resp' (fixtures/promo_resp.aep), rig logo, headline and CTA with expressions anchored to comp edges (logo top-left 5% margin, CTA bottom-center 8% margin, headline width ≤ 80% of comp width, scaling text) so duplicating the comp at 1080×1920, 1080×1080 and 1920×1080 needs no manual changes. Render all three to out/.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsgeom· Precise geometryvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
For each render: logo bbox top-left at 5% ± 0.5% margins; CTA centered with bottom margin 8% ± 0.5%; headline width ≤ 80% and fully inside; no overlaps between elements; the three comps share the same expressions (no per-comp keyframe edits).
Proposed partial credit
25% logo anchoring; 25% CTA anchoring; 25% headline fit; 25% no overlaps and no manual per-comp edits.
R06.05.01.02-T11 Turn a Fusion title into a macro with exposed controls
Original instruction
In DaVinci Resolve Fusion, from comp fixtures/title_fx.comp, group the nodes into a macro 'BrandTitle' exposing Text, Color, Size and Animation Speed, save it as an Edit-page title template, and use it on timeline 'Test' with Text 'Q4 RESULTS'. Render out/brandtitle.mov.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve Fusion
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickdrag· Drag & droptype· Text & forms- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Macro .setting file in Templates/Edit/Titles with 4 published inputs of correct types; timeline uses it; render OCR 'Q4 RESULTS'; harness changes Animation Speed to 2× and the build-in completes in half the frames.
Proposed partial credit
30% macro with 4 inputs; 20% installed as template; 25% used with text; 25% speed control works.
R06.05.01.02-T12 Expose a media drop zone and a layout dropdown in a MOGRT
Original instruction
In After Effects build out/SplitPromo.mogrt from fixtures/split.aep: a replaceable media slot (image or video) for the left panel, a Dropdown Menu Control 'Layout' with options 'Left', 'Right', 'Full' that repositions the media and text accordingly, and editable headline text. Test in Premiere.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects · Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickcode· Code & commandsdrag· Drag & drop- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
MOGRT definition: media replacement control, dropdown with 3 options, text control. Premiere harness: replaces media with a test image and renders all 3 layouts; media region placement per layout spec (IoU ≥ 0.9); headline OCR correct.
Proposed partial credit
25% media slot; 25% dropdown defined; 35% three layouts render correctly; 15% headline control.
R06.05.01.02-T13 Repair a template broken by layer renames
Original instruction
fixtures/broken_template.aep throws 12 expression errors after layers were renamed and a control null was moved into a precomp. Fix all expressions so the template behaves as documented in input/template_doc.md, without changing animation timing. Save out/fixed_template.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & clickvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro apphidden· Hidden/stale state- Proposed difficulty
- 3 / 5
Proposed verifier
Harness reports 0 expression errors; behavior tests from the doc (8 control checks) pass on renders; keyframe times unchanged vs original.
Proposed partial credit
40% zero errors; 45% documented behaviors (pro rata per behavior); 15% timing unchanged.
R06.05.01.02-T14 Rig a countdown timer from minute and second sliders
Original instruction
In After Effects comp 'Countdown' (fixtures/countdown.aep), add sliders Minutes and Seconds on a 'CTRL' null; text layer 'Clock' shows MM:SS counting down from the set value to 00:00 at the comp end, holding 00:00 after, with zero padding. Save out/countdown.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Harness sets 1:30 and 0:45 with comp lengths 90 s and 45 s: OCR per second shows correct MM:SS countdown (zero-padded); reaches 00:00 at the end; no negative values.
Proposed partial credit
40% countdown correct at 1:30; 30% at 0:45; 20% zero padding; 10% clamps at 00:00.
R06.05.01.02-T15 Produce twenty lower thirds from a CSV in Premiere
Original instruction
Premiere Pro project fixtures/conf.prproj has 20 speaker clips and input/speakers.csv (name, title, clip). Using the LowerThird.mogrt in Essential Graphics, add a lower third over the first 5 s of each speaker's clip with that speaker's name and title. Export out/conf_reel.mp4.
- Platforms
mac· macOSwin· Windows- Applications
- Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & droptype· Text & formsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
.prproj: 20 MOGRT instances, each over the correct clip starting at its in point, 5 s long; text params equal CSV; render OCR confirms names/titles (CER ≤ 2%).
Proposed partial credit
30% instances placed over correct clips; 50% text matches CSV; 20% timing.
R06.05.01.02-T16 Rig a Motion template with a layout pop-up and publish it to FCP
Original instruction
In Apple Motion, from fixtures/promo.motn build a Final Cut Generator with a Pop-up rig widget 'Layout' (Center, Left, Split) controlling positions of 3 groups, a Slider widget 'Accent' for bar width, published, and saved to the Motion Templates library. Apply it in Final Cut Pro with 'Split' and Accent 70.
- Platforms
mac· macOS- Applications
- Motion · Final Cut Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickdrag· Drag & dropmulti· Cross-app- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
.motn: rig with pop-up (3 snapshots) and slider widgets published; FCPXML uses the generator with Layout = Split, Accent = 70; render shows group positions matching the Split snapshot (bbox IoU ≥ 0.9) and bar width per slider. Neither Motion nor Final Cut Pro has a scripting API, and .motn/FCPXML files written by other processes are detected, so publishing and applying must be done in the apps.
Proposed partial credit
35% pop-up rig with 3 snapshots; 20% slider widget; 15% published/saved; 30% used correctly in FCP.
R06.05.01.02-T17 Control: generate the T02 bar-chart rig with a script
Original instruction
Control pair of T02 (API half). Write an ExtendScript/UXP script run by After Effects' command-line or script runner that creates the 'Controls' null, 6 sliders and expressions in fixtures/bars.aep exactly as in T02, saving out/bar_rig_script.aep.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
api· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Same harness as T02 (3 slider value sets, bar heights and labels). The script file must reproduce the output when rerun. Paired with T02 to measure the GUI vs scripting route.
Proposed partial credit
20% controls; 50% bars follow sliders; 20% labels; 10% script reruns.
R06.05.01.02-T18 Drive an analog clock's hands from one time slider
Original instruction
In After Effects comp 'Clock' (fixtures/clock.aep), add Slider 'Hours' (0–24, decimals) on a control null and expressions so hour hand rotation = (Hours mod 12) × 30° and minute hand = fractional hour × 360°, with second hand optional. Keyframe Hours 9.0 → 11.5 over 5 s. Render out/clock.mp4.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Harness sets Hours to 3.25 and 14.75: measured hand angles within 1° of expected; render: angles track keyframed hours per frame within 1°.
Proposed partial credit
35% hour hand formula; 35% minute hand formula; 30% animated render.
R06.05.01.02-T19 Package a four-template brand graphics set
Original instruction
From input/brand_guide.pdf and fixtures/brand_assets/, build in After Effects four MOGRTs (LowerThird, FullTitle, EndCard, CornerBug) with brand fonts and a locked palette exposed as a color dropdown of 4 brand colors only, responsive time, and text fields. Export to out/brand_pack/ and verify all in a Premiere test sequence.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects · Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickcode· Code & commandsdrag· Drag & dropmulti· Cross-app- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro applong· Long-horizonmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
Four valid MOGRTs; each exposes text controls and a 4-option color dropdown whose values equal brand hex; fonts embedded per guide; Premiere harness renders each at two durations and two text lengths: no overflow, protected regions intact, colors ΔE2000 ≤ 1.
Proposed partial credit
20% four templates exported; 25% brand color dropdowns; 20% fonts; 35% responsive time and no text overflow.
R06.05.01.02-T20 Build a sports score bug driven by a JSON feed file
Original instruction
In After Effects build comp 'ScoreBug' (fixtures/bug_design.aep) whose team names, scores, period and clock come from input/game_state.json via a data layer/expressions; when a score value changes between JSON keyframe snapshots (input/game_states/*.json imported in sequence), the score digit flips with a 10-frame animation. Render out/scorebug.mov for the provided sequence.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & clickvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Render OCR per state segment equals JSON fields; at each score change a 10 ± 1 frame transition occurs only on the changed digit; harness swaps game_state.json and re-renders: text updates without editing layers.
Proposed partial credit
35% fields bound to JSON; 30% score-change animation; 20% only changed digit animates; 15% re-render with new JSON.
Mapped research references
No benchmark reference is assigned to this class in the current mapping.