[
  {
    "id": "FX-001",
    "name": "Light leak",
    "family": "Light & optics",
    "description": "A colored wash suggests light entering the image beyond the intended exposure.",
    "aliases": [
      "burn-in",
      "film leak"
    ],
    "tags": [
      "warm",
      "organic",
      "nostalgic",
      "overlay"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Add a spatially uneven luminous overlay.",
    "web": "Conceptual: Animate translucent gradient masks.",
    "video": "Conceptual: Composite a photographed or generated light overlay.",
    "caution": "A leak is spatial exposure contamination; it need not bend image edges."
  },
  {
    "id": "FX-002",
    "name": "Bloom",
    "family": "Light & optics",
    "description": "Bright regions spread a soft halo into neighboring pixels.",
    "aliases": [
      "highlight glow"
    ],
    "tags": [
      "luminous",
      "soft",
      "bright",
      "dreamy"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Threshold highlights, blur them, then add the result.",
    "web": "Conceptual: Blur a brightness-selected texture in a shader.",
    "video": "Conceptual: Isolate highlights and composite a blurred pass.",
    "caution": "Blurring the whole frame creates haze rather than selective bloom."
  },
  {
    "id": "FX-003",
    "name": "Chromatic aberration",
    "family": "Light & optics",
    "description": "Color fringes grow around edges as if a lens focuses wavelengths differently.",
    "aliases": [
      "color fringing",
      "lateral chromatic aberration"
    ],
    "tags": [
      "lens",
      "fringe",
      "prismatic",
      "edge"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset color sampling according to distance from an optical center.",
    "web": "Conceptual: Apply a radial per-channel sampling shader.",
    "video": "Conceptual: Use a lens-distortion pass with separated color sampling.",
    "caution": "Radial lens fringing differs from uniform RGB displacement."
  },
  {
    "id": "FX-004",
    "name": "Lens flare",
    "family": "Light & optics",
    "description": "A visible light source produces ghosts, streaks, or veiling glare across the frame.",
    "aliases": [
      "optical flare"
    ],
    "tags": [
      "cinematic",
      "glare",
      "streak",
      "light"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Position secondary luminous shapes relative to a light source.",
    "web": "Conceptual: Track a light anchor and render additive sprites.",
    "video": "Conceptual: Track the source and composite lens-element reflections.",
    "caution": "Unmotivated flares can contradict the scene lighting."
  },
  {
    "id": "FX-005",
    "name": "Anamorphic streak",
    "family": "Light & optics",
    "description": "A bright source extends into a narrow horizontal light streak.",
    "aliases": [
      "horizontal flare"
    ],
    "tags": [
      "cinematic",
      "horizontal",
      "blue",
      "highlight"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Stretch and blur a highlight mask mainly along one axis.",
    "web": "Conceptual: Use an anisotropic highlight-blur shader.",
    "video": "Conceptual: Composite a horizontally stretched highlight pass.",
    "caution": "A streak alone does not reproduce anamorphic lens geometry."
  },
  {
    "id": "FX-006",
    "name": "Diffusion halation",
    "family": "Light & optics",
    "description": "Highlights acquire a warm edge glow associated with light scattering through a recording medium.",
    "aliases": [
      "halation"
    ],
    "tags": [
      "film",
      "red",
      "soft",
      "highlight"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Expand a highlight mask and tint its outer fringe.",
    "web": "Conceptual: Composite a tinted ring around thresholded highlights.",
    "video": "Conceptual: Build a warm edge-glow pass from bright areas.",
    "caution": "Keep separate from global bloom and overall color warming."
  },
  {
    "id": "FX-007",
    "name": "Caustics",
    "family": "Light & optics",
    "description": "Moving bands of focused light suggest illumination passing through rippled glass or water.",
    "aliases": [
      "water light"
    ],
    "tags": [
      "liquid",
      "sunlight",
      "shimmer",
      "pattern"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modulate light intensity with a refractive interference pattern.",
    "web": "Conceptual: Animate a caustic texture or procedural shader.",
    "video": "Conceptual: Project or composite an animated caustic light pass.",
    "caution": "Lighting patterns alone do not distort underlying geometry."
  },
  {
    "id": "FX-008",
    "name": "Volumetric rays",
    "family": "Light & optics",
    "description": "Visible light shafts appear to pass through suspended particles.",
    "aliases": [
      "god rays",
      "light shafts"
    ],
    "tags": [
      "atmosphere",
      "dramatic",
      "depth",
      "light"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scatter brightness along paths from a light source.",
    "web": "Conceptual: Use a restrained radial light-scattering shader.",
    "video": "Conceptual: Composite ray passes through a density mask.",
    "caution": "Rays should respect occluding shapes and the implied source."
  },
  {
    "id": "FX-009",
    "name": "Bokeh overlay",
    "family": "Light & optics",
    "description": "Soft out-of-focus highlights float above or behind the subject.",
    "aliases": [
      "defocused lights"
    ],
    "tags": [
      "soft",
      "night",
      "romantic",
      "depth"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Render blurred aperture-shaped light discs at varied depths.",
    "web": "Conceptual: Animate translucent discs on canvas or WebGL.",
    "video": "Conceptual: Composite defocused light footage with depth-aware masks.",
    "caution": "Identical disc sizes can read as graphic dots rather than depth."
  },
  {
    "id": "FX-010",
    "name": "RGB split",
    "family": "Color & channels",
    "description": "Red, green, and blue versions of the same image separate by a controlled offset.",
    "aliases": [
      "channel shift",
      "color separation"
    ],
    "tags": [
      "glitch",
      "offset",
      "red",
      "cyan"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Displace channel samples independently.",
    "web": "Conceptual: Sample RGB channels at separate texture coordinates.",
    "video": "Conceptual: Offset isolated channel layers and recombine them.",
    "caution": "Uniform separation is a graphic treatment, not a full lens model."
  },
  {
    "id": "FX-011",
    "name": "Channel remap",
    "family": "Color & channels",
    "description": "Existing color-channel values are reassigned to different output channels.",
    "aliases": [
      "channel swap",
      "channel routing"
    ],
    "tags": [
      "false color",
      "experimental",
      "color",
      "remap"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Route input channels through a new channel-mixing matrix.",
    "web": "Conceptual: Apply a shader or SVG color matrix.",
    "video": "Conceptual: Use channel-routing or channel-mixer controls.",
    "caution": "This rearranges values; it does not physically move edges."
  },
  {
    "id": "FX-012",
    "name": "Duotone",
    "family": "Color & channels",
    "description": "Image luminance is recolored between two chosen inks or colors.",
    "aliases": [
      "two-tone",
      "gradient map"
    ],
    "tags": [
      "brand",
      "poster",
      "graphic",
      "color"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map luminance through a two-color gradient.",
    "web": "Conceptual: Apply a luminance-to-gradient shader or SVG filter.",
    "video": "Conceptual: Use gradient mapping on a monochrome base.",
    "caution": "Two endpoint colors can still produce many intermediate tones."
  },
  {
    "id": "FX-013",
    "name": "Selective color",
    "family": "Color & channels",
    "description": "One chosen hue or object remains colorful within a restrained image.",
    "aliases": [
      "color isolation",
      "color pop"
    ],
    "tags": [
      "focus",
      "accent",
      "monochrome",
      "color"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Isolate a hue or semantic mask and desaturate its complement.",
    "web": "Conceptual: Combine masked color and monochrome layers.",
    "video": "Conceptual: Use secondary color keys or tracked masks.",
    "caution": "A hue key may affect unrelated objects of the same color."
  },
  {
    "id": "FX-014",
    "name": "Posterization",
    "family": "Color & channels",
    "description": "Continuous tones collapse into a limited set of flat intensity bands.",
    "aliases": [
      "tone quantization"
    ],
    "tags": [
      "flat",
      "graphic",
      "limited palette",
      "bands"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Quantize color or luminance values.",
    "web": "Conceptual: Round sampled values into a chosen number of levels.",
    "video": "Conceptual: Apply controlled tonal quantization before grading.",
    "caution": "Compression banding is accidental; posterization is designed."
  },
  {
    "id": "FX-015",
    "name": "Gradient mapping",
    "family": "Color & channels",
    "description": "Brightness values select colors from a designed multistop gradient.",
    "aliases": [
      "color ramp mapping"
    ],
    "tags": [
      "spectrum",
      "brand",
      "psychedelic",
      "color"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use luminance as the lookup position in a color ramp.",
    "web": "Conceptual: Sample a one-dimensional gradient texture.",
    "video": "Conceptual: Map a monochrome signal through a color gradient.",
    "caution": "Equal brightness can merge visually distinct source colors."
  },
  {
    "id": "FX-016",
    "name": "Solarization",
    "family": "Color & channels",
    "description": "A portion of the tonal range reverses while other tones retain their original ordering.",
    "aliases": [
      "pseudo-solarization",
      "sabattier look"
    ],
    "tags": [
      "surreal",
      "contour",
      "experimental",
      "tone"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Invert selected luminance intervals around a threshold.",
    "web": "Conceptual: Use a piecewise tone curve in a shader.",
    "video": "Conceptual: Build an inverted segment in a tonal curve.",
    "caution": "This is a tonal reversal, not simply a negative image."
  },
  {
    "id": "FX-017",
    "name": "Color cycling",
    "family": "Color & channels",
    "description": "A stable indexed image appears animated as its palette assignments rotate.",
    "aliases": [
      "palette cycling"
    ],
    "tags": [
      "retro",
      "loop",
      "psychedelic",
      "palette"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Shift palette indices over time without moving geometry.",
    "web": "Conceptual: Animate lookup-table offsets in a shader.",
    "video": "Conceptual: Animate gradient offsets over a fixed indexed-style base.",
    "caution": "Needs a purposeful palette; arbitrary hue rotation looks different."
  },
  {
    "id": "FX-018",
    "name": "Split toning",
    "family": "Color & channels",
    "description": "Shadows and highlights receive different color biases.",
    "aliases": [
      "shadow-highlight tint"
    ],
    "tags": [
      "mood",
      "grade",
      "teal",
      "warm"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blend separate tints according to luminance weights.",
    "web": "Conceptual: Use luminance masks with distinct shadow and highlight colors.",
    "video": "Conceptual: Grade shadow and highlight regions independently.",
    "caution": "Strong weighting can tint skin or flatten neutral regions."
  },
  {
    "id": "FX-019",
    "name": "Film grain",
    "family": "Analog & texture",
    "description": "Fine irregular density variations add a photographic texture to the image.",
    "aliases": [
      "grain",
      "photochemical texture"
    ],
    "tags": [
      "film",
      "texture",
      "organic",
      "noise"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modulate brightness with temporally varying noise.",
    "web": "Conceptual: Use a subtle animated noise texture scaled to output size.",
    "video": "Conceptual: Composite grain with luminance-dependent weighting.",
    "caution": "Static noise reads as a texture overlay; animated grain changes each frame."
  },
  {
    "id": "FX-020",
    "name": "Gate weave",
    "family": "Analog & texture",
    "description": "The whole frame drifts slightly as if film transport were mechanically imperfect.",
    "aliases": [
      "film weave"
    ],
    "tags": [
      "analog",
      "drift",
      "jitter",
      "film"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate low-amplitude translation and rotation of the image.",
    "web": "Conceptual: Move an overscanned image within a clipped container.",
    "video": "Conceptual: Offset the frame while maintaining extra image coverage.",
    "caution": "Without overscan, moving borders reveal empty edges."
  },
  {
    "id": "FX-021",
    "name": "Dust and scratches",
    "family": "Analog & texture",
    "description": "Transient specks and vertical abrasions imply a physically worn recording surface.",
    "aliases": [
      "film damage"
    ],
    "tags": [
      "aged",
      "film",
      "imperfection",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Overlay irregular marks with distinct persistence times.",
    "web": "Conceptual: Animate sparse mask textures over the image.",
    "video": "Conceptual: Composite damage footage or generated masks.",
    "caution": "Continuous identical scratches can look like a repeating asset."
  },
  {
    "id": "FX-022",
    "name": "VHS tracking noise",
    "family": "Analog & texture",
    "description": "Horizontal noise bands suggest unstable playback of magnetic video tape.",
    "aliases": [
      "tape tracking"
    ],
    "tags": [
      "retro",
      "analog",
      "noise",
      "video"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Disturb selected scan regions with noise and offset.",
    "web": "Conceptual: Use a band-limited displacement and noise shader.",
    "video": "Conceptual: Composite moving noise bands with line displacement.",
    "caution": "Tape artifacts are not interchangeable with digital codec glitches."
  },
  {
    "id": "FX-023",
    "name": "Scanlines",
    "family": "Analog & texture",
    "description": "Alternating horizontal luminance bands evoke a scanned display.",
    "aliases": [
      "raster lines"
    ],
    "tags": [
      "crt",
      "retro",
      "horizontal",
      "display"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modulate brightness with a repeating horizontal mask.",
    "web": "Conceptual: Overlay a resolution-aware line pattern or shader.",
    "video": "Conceptual: Add a line mask at final delivery resolution.",
    "caution": "Fine lines can alias or disappear after scaling and compression."
  },
  {
    "id": "FX-024",
    "name": "Phosphor mask",
    "family": "Analog & texture",
    "description": "A repeated subpixel structure suggests the colored emitters of a CRT display.",
    "aliases": [
      "aperture grille",
      "shadow mask"
    ],
    "tags": [
      "crt",
      "rgb",
      "display",
      "retro"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Tile a small RGB dot or stripe mask.",
    "web": "Conceptual: Render a scale-aware subpixel mask in a shader.",
    "video": "Conceptual: Composite a tiled RGB mask at output resolution.",
    "caution": "The mask must be coarse enough to survive viewing scale."
  },
  {
    "id": "FX-025",
    "name": "Paper tooth",
    "family": "Analog & texture",
    "description": "Uneven fibers and surface roughness break up otherwise smooth graphic fills.",
    "aliases": [
      "paper grain"
    ],
    "tags": [
      "tactile",
      "print",
      "rough",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modulate fills with a fibrous luminance texture.",
    "web": "Conceptual: Mask colored layers with a paper texture.",
    "video": "Conceptual: Multiply a paper scan into graphic surfaces.",
    "caution": "A uniform full-frame texture may obscure intended material boundaries."
  },
  {
    "id": "FX-026",
    "name": "Ink bleed",
    "family": "Analog & texture",
    "description": "Printed shapes spread irregularly into a porous surface.",
    "aliases": [
      "ink spread",
      "feathered ink"
    ],
    "tags": [
      "print",
      "organic",
      "rough",
      "edge"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Expand shape edges through an uneven noise field.",
    "web": "Conceptual: Use SVG morphology with a textured edge mask.",
    "video": "Conceptual: Distort and expand matte boundaries before compositing.",
    "caution": "Excessive expansion closes counters in small letters."
  },
  {
    "id": "FX-027",
    "name": "Print misregistration",
    "family": "Analog & texture",
    "description": "Separately printed color plates fail to align precisely.",
    "aliases": [
      "misregister",
      "registration error"
    ],
    "tags": [
      "print",
      "offset",
      "ink",
      "retro"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset selected ink masks independently.",
    "web": "Conceptual: Layer slightly offset spot-color silhouettes.",
    "video": "Conceptual: Separate color plates and shift their alignment.",
    "caution": "Unlike RGB split, the intended logic is physical ink overlap."
  },
  {
    "id": "FX-028",
    "name": "Displacement ripple",
    "family": "Distortion & refraction",
    "description": "Concentric waves bend an image around a moving or stationary disturbance.",
    "aliases": [
      "water ripple",
      "ripple distortion"
    ],
    "tags": [
      "liquid",
      "radial",
      "interactive",
      "wave"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset texture coordinates using a radial wave field.",
    "web": "Conceptual: Run a radial displacement shader.",
    "video": "Conceptual: Drive a displacement map with expanding ring waves.",
    "caution": "Large offsets reveal texture boundaries without padded coverage."
  },
  {
    "id": "FX-029",
    "name": "Heat haze",
    "family": "Distortion & refraction",
    "description": "Localized wavering makes air above a hot surface appear unstable.",
    "aliases": [
      "heat shimmer",
      "mirage distortion"
    ],
    "tags": [
      "air",
      "organic",
      "shimmer",
      "distortion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Displace image sampling with slowly drifting turbulent noise.",
    "web": "Conceptual: Use a masked noise-displacement shader.",
    "video": "Conceptual: Apply tracked turbulent displacement over the hot region.",
    "caution": "The effect should remain localized to plausible hot air."
  },
  {
    "id": "FX-030",
    "name": "Glass refraction",
    "family": "Distortion & refraction",
    "description": "A transparent shape bends the scene visible through it.",
    "aliases": [
      "refractive glass"
    ],
    "tags": [
      "glass",
      "transparent",
      "liquid",
      "depth"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sample the background with offsets derived from a surface normal field.",
    "web": "Conceptual: Use a captured background texture and a refractive shader.",
    "video": "Conceptual: Displace a background copy inside a glass-shaped mask.",
    "caution": "CSS blur alone produces frosted softness, not geometric refraction."
  },
  {
    "id": "FX-031",
    "name": "Fisheye warp",
    "family": "Distortion & refraction",
    "description": "A radial warp compresses peripheral space while enlarging the central region.",
    "aliases": [
      "barrel lens",
      "fisheye distortion"
    ],
    "tags": [
      "lens",
      "wide",
      "radial",
      "warp"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Remap radius nonlinearly around an optical center.",
    "web": "Conceptual: Use a radial texture-coordinate transform.",
    "video": "Conceptual: Apply a lens-warp pass with a defined center.",
    "caution": "Straight lines curve; this is different from a simple zoom."
  },
  {
    "id": "FX-032",
    "name": "Pinch distortion",
    "family": "Distortion & refraction",
    "description": "Image content contracts toward or expands away from a local center.",
    "aliases": [
      "bulge warp",
      "pinch warp"
    ],
    "tags": [
      "elastic",
      "radial",
      "warp",
      "focus"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scale sample radius according to a localized falloff curve.",
    "web": "Conceptual: Use a radial pinch shader.",
    "video": "Conceptual: Animate a localized bulge or pinch warp.",
    "caution": "Strong warps can severely reduce source detail near the center."
  },
  {
    "id": "FX-033",
    "name": "Turbulent displacement",
    "family": "Distortion & refraction",
    "description": "Organic noise bends edges and surfaces into irregular moving shapes.",
    "aliases": [
      "liquid distortion",
      "noise warp"
    ],
    "tags": [
      "organic",
      "liquid",
      "noise",
      "warp"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use a smoothly varying noise field as a two-axis offset map.",
    "web": "Conceptual: Animate a procedural displacement texture.",
    "video": "Conceptual: Drive a displacement effect with evolving noise.",
    "caution": "Noise scale and temporal rate determine whether it reads as smoke or jitter."
  },
  {
    "id": "FX-034",
    "name": "Flow-map distortion",
    "family": "Distortion & refraction",
    "description": "An image follows directional paths encoded in a vector field.",
    "aliases": [
      "vector warp",
      "flow distortion"
    ],
    "tags": [
      "fluid",
      "directional",
      "loop",
      "distortion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Read two-channel flow vectors to advect texture coordinates.",
    "web": "Conceptual: Animate flow-map sampling with a looping blend.",
    "video": "Conceptual: Use vector-field displacement or repeated offset passes.",
    "caution": "Long continuous advection stretches textures unless the motion is reset or blended."
  },
  {
    "id": "FX-035",
    "name": "Mesh warp",
    "family": "Distortion & refraction",
    "description": "A controllable grid bends an image while preserving coherent regions.",
    "aliases": [
      "grid warp",
      "lattice deformation"
    ],
    "tags": [
      "elastic",
      "shape",
      "controlled",
      "warp"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Interpolate positions between displaced grid vertices.",
    "web": "Conceptual: Render a textured deformable mesh in WebGL.",
    "video": "Conceptual: Animate a mesh or spline-based warp.",
    "caution": "Grid density limits local control and can introduce visible folds."
  },
  {
    "id": "FX-036",
    "name": "Kaleidoscope",
    "family": "Distortion & refraction",
    "description": "Repeated mirrored sectors turn a source image into a radial pattern.",
    "aliases": [
      "radial mirror"
    ],
    "tags": [
      "symmetry",
      "radial",
      "pattern",
      "psychedelic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Fold angular coordinates into a repeating mirrored wedge.",
    "web": "Conceptual: Use polar-coordinate folding in a shader.",
    "video": "Conceptual: Mirror and rotate masked sectors around a center.",
    "caution": "Busy sources can reduce legibility and create rapid spatial flicker."
  },
  {
    "id": "FX-037",
    "name": "Datamosh look",
    "family": "Digital & glitch",
    "description": "Motion-like blocks smear content across a cut or moving region.",
    "aliases": [
      "motion-vector smear"
    ],
    "tags": [
      "glitch",
      "compression",
      "smear",
      "temporal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reuse or displace prior-frame blocks to imitate corrupted prediction.",
    "web": "Conceptual: Use retained frame textures with block motion masks.",
    "video": "Conceptual: Build an intentional frame-feedback or codec-artifact treatment.",
    "caution": "A simulation is not the same process as corrupting compressed video data."
  },
  {
    "id": "FX-038",
    "name": "Pixel sorting",
    "family": "Digital & glitch",
    "description": "Runs of pixels are reordered into elongated streaks according to a value rule.",
    "aliases": [
      "pixel sort"
    ],
    "tags": [
      "glitch",
      "streak",
      "digital",
      "procedural"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sort contiguous pixel segments by brightness or another chosen property.",
    "web": "Conceptual: Process image pixels or use a specialized GPU pipeline.",
    "video": "Conceptual: Generate sorted frames and composite selected regions.",
    "caution": "Sorting entire rows differs from threshold-bounded sorting."
  },
  {
    "id": "FX-039",
    "name": "Block corruption",
    "family": "Digital & glitch",
    "description": "Rectangular image regions jump, freeze, or adopt incorrect data.",
    "aliases": [
      "macroblock glitch"
    ],
    "tags": [
      "compression",
      "blocks",
      "glitch",
      "digital"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Replace selected tiles with displaced or delayed image blocks.",
    "web": "Conceptual: Render a seeded grid of alternate texture samples.",
    "video": "Conceptual: Composite displaced and time-offset rectangular patches.",
    "caution": "Random blocks without temporal logic can resemble a collage rather than decoding failure."
  },
  {
    "id": "FX-040",
    "name": "Frame tearing",
    "family": "Digital & glitch",
    "description": "Horizontal regions show incompatible moments or offsets in the same image.",
    "aliases": [
      "screen tear"
    ],
    "tags": [
      "glitch",
      "horizontal",
      "temporal",
      "display"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Split the frame into bands with separate time or position samples.",
    "web": "Conceptual: Sample retained frames through horizontal masks.",
    "video": "Conceptual: Stack masked frame offsets or spatial band shifts.",
    "caution": "Distinguish spatial tearing from simple full-frame shake."
  },
  {
    "id": "FX-041",
    "name": "Edge ringing",
    "family": "Digital & glitch",
    "description": "Alternating bright and dark halos surround strong edges as if a signal were oversharpened or poorly reconstructed.",
    "aliases": [
      "sharpening halos",
      "signal ringing"
    ],
    "tags": [
      "digital",
      "edge",
      "halo",
      "signal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Add controlled oscillating overshoot around a high-contrast edge signal.",
    "web": "Conceptual: Combine edge detection with a signed multi-ring convolution shader.",
    "video": "Conceptual: Build alternating light and dark edge bands around a contrast mask.",
    "caution": "A single soft halo reads as glow; ringing requires alternating edge overshoot and undershoot."
  },
  {
    "id": "FX-042",
    "name": "Dithered shading",
    "family": "Digital & glitch",
    "description": "Small contrasting marks simulate intermediate tones from a limited palette.",
    "aliases": [
      "ordered dithering",
      "error diffusion"
    ],
    "tags": [
      "retro",
      "pixel",
      "pattern",
      "limited palette"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Distribute quantization error or threshold through a patterned matrix.",
    "web": "Conceptual: Use an ordered-dither or error-diffusion pipeline.",
    "video": "Conceptual: Render dithered frames at a stable spatial scale.",
    "caution": "Moving patterns can shimmer after resampling and compression."
  },
  {
    "id": "FX-043",
    "name": "Signal dropout",
    "family": "Digital & glitch",
    "description": "Brief local or full-frame losses interrupt an otherwise stable image.",
    "aliases": [
      "video dropout"
    ],
    "tags": [
      "interruption",
      "noise",
      "glitch",
      "sparse"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Gate image visibility with sparse irregular events.",
    "web": "Conceptual: Toggle masked noise or missing-signal regions.",
    "video": "Conceptual: Insert controlled dropout mattes and sound-independent interruptions.",
    "caution": "Avoid conflating intentional interruptions with actual loading failures."
  },
  {
    "id": "FX-044",
    "name": "Data bending simulation",
    "family": "Digital & glitch",
    "description": "Nonuniform stripes and malformed regions evoke media interpreted with the wrong structure.",
    "aliases": [
      "databending look"
    ],
    "tags": [
      "experimental",
      "digital",
      "corruption",
      "abstract"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reinterpret or spatially rearrange pixel data under a controlled mapping.",
    "web": "Conceptual: Transform image buffers into repeatable distorted layouts.",
    "video": "Conceptual: Generate altered image sequences and composite them.",
    "caution": "Label the look as simulated unless actual file reinterpretation was used."
  },
  {
    "id": "FX-045",
    "name": "Feedback trail",
    "family": "Digital & glitch",
    "description": "Past frames recursively re-enter the current image and leave persistent visual residue.",
    "aliases": [
      "video feedback",
      "recursive feedback"
    ],
    "tags": [
      "temporal",
      "trail",
      "recursive",
      "psychedelic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blend the previous output into the current frame with decay.",
    "web": "Conceptual: Use ping-pong framebuffers for retained image feedback.",
    "video": "Conceptual: Build a recursive delay composite with controlled attenuation.",
    "caution": "Unbounded feedback can clip brightness or hide the current subject."
  },
  {
    "id": "FX-046",
    "name": "Double exposure",
    "family": "Compositing & masking",
    "description": "Two subjects occupy a shared silhouette or tonal structure.",
    "aliases": [
      "multiple exposure"
    ],
    "tags": [
      "surreal",
      "portrait",
      "blend",
      "layer"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blend two images using a subject matte and luminance relationship.",
    "web": "Conceptual: Combine masked image layers with controlled blending.",
    "video": "Conceptual: Composite secondary footage through a subject mask.",
    "caution": "Simple equal-opacity overlap may lose both subjects' visual hierarchy."
  },
  {
    "id": "FX-047",
    "name": "Luma matte",
    "family": "Compositing & masking",
    "description": "Brightness in one image controls the visibility of another.",
    "aliases": [
      "luminance mask"
    ],
    "tags": [
      "mask",
      "reveal",
      "texture",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Convert a source image's luminance into alpha.",
    "web": "Conceptual: Use a luminance mask in SVG or a shader.",
    "video": "Conceptual: Assign a luminance-derived matte to the target layer.",
    "caution": "The mask's color hue is irrelevant unless converted intentionally."
  },
  {
    "id": "FX-048",
    "name": "Chroma key",
    "family": "Compositing & masking",
    "description": "A selected color region becomes transparent for a replacement background.",
    "aliases": [
      "green screen",
      "color key"
    ],
    "tags": [
      "isolation",
      "composite",
      "background",
      "mask"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Estimate transparency from color distance and suppress spill.",
    "web": "Conceptual: Use a keyed-video shader where platform support permits.",
    "video": "Conceptual: Key the background and refine matte edges and spill.",
    "caution": "Transparent edges and similarly colored subjects require additional masking."
  },
  {
    "id": "FX-049",
    "name": "Rotoscope cutout",
    "family": "Compositing & masking",
    "description": "A moving subject is isolated with an animated silhouette.",
    "aliases": [
      "roto",
      "subject isolation"
    ],
    "tags": [
      "cutout",
      "subject",
      "mask",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Track or draw a time-varying subject mask.",
    "web": "Conceptual: Display prepared alpha video or an animated matte.",
    "video": "Conceptual: Create and refine tracked segmentation or manual masks.",
    "caution": "Fine hair and motion blur require edge treatment beyond a hard contour."
  },
  {
    "id": "FX-050",
    "name": "Light wrap",
    "family": "Compositing & masking",
    "description": "Background illumination softens and colors the outer edge of a foreground subject.",
    "aliases": [
      "edge light wrap"
    ],
    "tags": [
      "integration",
      "edge",
      "light",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blur background values into a narrow interior edge band.",
    "web": "Conceptual: Composite a masked background blur along the subject edge.",
    "video": "Conceptual: Derive an edge matte and blend nearby background color into it.",
    "caution": "Too much wrap looks like a halo and can shrink apparent subject detail."
  },
  {
    "id": "FX-051",
    "name": "Difference blend",
    "family": "Compositing & masking",
    "description": "Overlapping images form high-contrast regions according to their per-pixel difference.",
    "aliases": [
      "difference compositing"
    ],
    "tags": [
      "contrast",
      "inversion",
      "interactive",
      "blend"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Take the absolute difference between corresponding color values.",
    "web": "Conceptual: Use a difference blend mode with controlled backdrops.",
    "video": "Conceptual: Composite layers with a difference operation.",
    "caution": "Results depend on the background and can invert intended brand colors."
  },
  {
    "id": "FX-052",
    "name": "Multiply shadow pass",
    "family": "Compositing & masking",
    "description": "Dark texture or shadows deepen a base image while pale areas largely disappear.",
    "aliases": [
      "multiply blend"
    ],
    "tags": [
      "shadow",
      "ink",
      "texture",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Multiply normalized color values between two layers.",
    "web": "Conceptual: Apply multiply blending to an isolated shadow layer.",
    "video": "Conceptual: Composite a shadow or ink pass using multiplication.",
    "caution": "A bright background is not equivalent to transparent alpha."
  },
  {
    "id": "FX-053",
    "name": "Screen light pass",
    "family": "Compositing & masking",
    "description": "Bright elements add apparent light while dark regions contribute little.",
    "aliases": [
      "screen blend"
    ],
    "tags": [
      "light",
      "overlay",
      "bright",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine layers with the inverse-product screen operation.",
    "web": "Conceptual: Use screen blending for prepared luminous overlays.",
    "video": "Conceptual: Composite light footage with a screen operation.",
    "caution": "Screen is not physically identical to linear additive light."
  },
  {
    "id": "FX-054",
    "name": "Depth holdout",
    "family": "Compositing & masking",
    "description": "Foreground objects hide parts of an inserted element according to scene depth.",
    "aliases": [
      "occlusion matte",
      "holdout matte"
    ],
    "tags": [
      "depth",
      "occlusion",
      "composite",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Compare depth or use explicit occlusion masks.",
    "web": "Conceptual: Use a depth buffer or layered occlusion geometry.",
    "video": "Conceptual: Build holdout mattes or depth-aware composites.",
    "caution": "Without accurate occlusion, inserted objects appear pasted on top."
  },
  {
    "id": "FX-055",
    "name": "Motion blur",
    "family": "Motion & time",
    "description": "Fast movement stretches exposure along its direction of travel.",
    "aliases": [
      "shutter blur"
    ],
    "tags": [
      "speed",
      "smooth",
      "exposure",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Accumulate multiple temporal samples or approximate their path.",
    "web": "Conceptual: Use sampled transforms, trails, or velocity-based rendering.",
    "video": "Conceptual: Render shutter-based blur or motion-vector blur.",
    "caution": "A directional blur on a still frame cannot fully describe changing occlusions."
  },
  {
    "id": "FX-056",
    "name": "Echo trail",
    "family": "Motion & time",
    "description": "Several delayed copies expose a subject's recent path.",
    "aliases": [
      "motion echo",
      "time echo"
    ],
    "tags": [
      "trail",
      "temporal",
      "repeat",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Composite discrete temporal offsets with decreasing opacity.",
    "web": "Conceptual: Retain successive position or frame samples.",
    "video": "Conceptual: Stack delayed duplicates with an opacity falloff.",
    "caution": "Discrete echoes differ from a continuous exposure blur."
  },
  {
    "id": "FX-057",
    "name": "Time remapping",
    "family": "Motion & time",
    "description": "Playback speed varies within one shot while its spatial content stays coherent.",
    "aliases": [
      "speed ramp",
      "time warp"
    ],
    "tags": [
      "pace",
      "slow motion",
      "timing",
      "temporal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map output time through an adjustable source-time curve.",
    "web": "Conceptual: Control a prepared sequence or supported playback timeline.",
    "video": "Conceptual: Animate a source-time mapping and review interpolation.",
    "caution": "Extreme slowdowns reveal insufficient captured frames."
  },
  {
    "id": "FX-058",
    "name": "Freeze-frame cutout",
    "family": "Motion & time",
    "description": "A paused subject persists while surrounding action continues.",
    "aliases": [
      "freeze hold",
      "held subject"
    ],
    "tags": [
      "pause",
      "cutout",
      "time",
      "emphasis"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Hold an isolated subject from one moment over later frames.",
    "web": "Conceptual: Layer a still cutout over playing video.",
    "video": "Conceptual: Extract a held subject matte and composite it over live footage.",
    "caution": "The frozen subject needs convincing boundaries and any intended cast shadow."
  },
  {
    "id": "FX-059",
    "name": "Stroboscopic sampling",
    "family": "Motion & time",
    "description": "Movement appears as a sequence of discrete temporal positions.",
    "aliases": [
      "stutter motion",
      "stepped motion"
    ],
    "tags": [
      "staccato",
      "stop motion",
      "temporal",
      "rhythm"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Hold selected source frames and omit intermediate motion.",
    "web": "Conceptual: Use stepped animation timing or sampled frame playback.",
    "video": "Conceptual: Lower the motion sampling cadence while preserving output timing.",
    "caution": "Rapid brightness changes can be uncomfortable; reduced motion should use a still state."
  },
  {
    "id": "FX-060",
    "name": "Slit-scan time",
    "family": "Motion & time",
    "description": "Different parts of one frame show different moments of the same action.",
    "aliases": [
      "time displacement",
      "slit scan"
    ],
    "tags": [
      "temporal",
      "stretch",
      "surreal",
      "scan"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map spatial position to source-frame delay.",
    "web": "Conceptual: Sample a frame-history texture by pixel position.",
    "video": "Conceptual: Composite temporal slices through a moving spatial mask.",
    "caution": "Requires frame history; a static displacement cannot create true time slices."
  },
  {
    "id": "FX-061",
    "name": "Reverse motion",
    "family": "Motion & time",
    "description": "An action runs backward and reveals an unfamiliar physical sequence.",
    "aliases": [
      "backward playback"
    ],
    "tags": [
      "surreal",
      "time",
      "reversal",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Read source frames in descending time order.",
    "web": "Conceptual: Play a prepared reversed sequence.",
    "video": "Conceptual: Reverse a clip and reassess motion and sound cues.",
    "caution": "HTML video playback support for negative rates is not consistently usable."
  },
  {
    "id": "FX-062",
    "name": "Ping-pong loop",
    "family": "Motion & time",
    "description": "A motion alternates between forward and reverse playback without returning by a cut.",
    "aliases": [
      "boomerang loop",
      "alternate loop"
    ],
    "tags": [
      "loop",
      "rhythm",
      "repeat",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reflect the animation timeline at its endpoints.",
    "web": "Conceptual: Use alternate animation direction or a mirrored time function.",
    "video": "Conceptual: Append a reversed movement segment and refine endpoints.",
    "caution": "A visible velocity reversal can feel mechanical without a suitable turning point."
  },
  {
    "id": "FX-063",
    "name": "Temporal median",
    "family": "Motion & time",
    "description": "Moving objects disappear or smear as multiple times contribute to a median image.",
    "aliases": [
      "time median"
    ],
    "tags": [
      "time",
      "removal",
      "ghost",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Take a per-pixel median across a temporal window.",
    "web": "Conceptual: Precompute results or process a limited frame buffer.",
    "video": "Conceptual: Generate median composites from aligned frames.",
    "caution": "Camera movement must be aligned or it contaminates the statistic."
  },
  {
    "id": "FX-064",
    "name": "Match cut",
    "family": "Transitions",
    "description": "A cut connects two scenes through a shared shape, pose, color, or movement.",
    "aliases": [
      "graphic match"
    ],
    "tags": [
      "edit",
      "continuity",
      "shape",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Align a perceptual feature across the edit boundary.",
    "web": "Conceptual: Sequence prepared shots or matched visual states.",
    "video": "Conceptual: Choose and align shots around a matching feature.",
    "caution": "The continuity comes from composition; a crossfade can weaken the match."
  },
  {
    "id": "FX-065",
    "name": "Whip-pan transition",
    "family": "Transitions",
    "description": "Rapid directional camera motion hides the boundary between shots.",
    "aliases": [
      "swish pan"
    ],
    "tags": [
      "speed",
      "camera",
      "blur",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Match direction and blur around a high-speed pan.",
    "web": "Conceptual: Animate coordinated translating layers with directional blur.",
    "video": "Conceptual: Join compatible pans near their fastest movement.",
    "caution": "Opposing directions or mismatched horizons expose the join."
  },
  {
    "id": "FX-066",
    "name": "Luma dissolve",
    "family": "Transitions",
    "description": "A transition progresses through bright or dark regions before the rest of the image.",
    "aliases": [
      "luminance dissolve"
    ],
    "tags": [
      "reveal",
      "light",
      "organic",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate a threshold through a luminance-derived matte.",
    "web": "Conceptual: Use an animated luminance threshold shader.",
    "video": "Conceptual: Drive the transition with a graded luminance matte.",
    "caution": "A flat exposure distribution can make the transition happen almost all at once."
  },
  {
    "id": "FX-067",
    "name": "Displacement transition",
    "family": "Transitions",
    "description": "The outgoing image bends into a distortion field as the incoming image emerges.",
    "aliases": [
      "warp transition"
    ],
    "tags": [
      "warp",
      "liquid",
      "blend",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate shared displacement while crossfading sources.",
    "web": "Conceptual: Blend two textures under a coordinated warp shader.",
    "video": "Conceptual: Use a common displacement map on both clips.",
    "caution": "The underlying source alignment matters near the midpoint."
  },
  {
    "id": "FX-068",
    "name": "Object wipe",
    "family": "Transitions",
    "description": "A passing foreground object hides the cut between scenes.",
    "aliases": [
      "foreground wipe",
      "occlusion wipe"
    ],
    "tags": [
      "cinematic",
      "occlusion",
      "edit",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Place the edit behind a moving occlusion matte.",
    "web": "Conceptual: Use a foreground layer to reveal a replacement scene.",
    "video": "Conceptual: Track the occluder and time the cut behind its coverage.",
    "caution": "The object must cover enough of the frame or use a precise matte."
  },
  {
    "id": "FX-069",
    "name": "Shape morph",
    "family": "Transitions",
    "description": "One silhouette deforms continuously into another silhouette.",
    "aliases": [
      "path morph"
    ],
    "tags": [
      "shape",
      "fluid",
      "graphic",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Interpolate compatible paths or deform a shared mesh.",
    "web": "Conceptual: Animate normalized SVG paths or mesh vertices.",
    "video": "Conceptual: Morph paths or use controlled shape interpolation.",
    "caution": "Unmatched topology can produce folds or ambiguous intermediate shapes."
  },
  {
    "id": "FX-070",
    "name": "Ink reveal",
    "family": "Transitions",
    "description": "A spreading irregular stain uncovers the next image.",
    "aliases": [
      "ink wipe",
      "liquid reveal"
    ],
    "tags": [
      "organic",
      "ink",
      "texture",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Expand a textured organic matte through the frame.",
    "web": "Conceptual: Animate a threshold over an organic reveal texture.",
    "video": "Conceptual: Use ink footage or a generated spreading matte.",
    "caution": "A generic turbulent wipe lacks the branching detail of real ink."
  },
  {
    "id": "FX-071",
    "name": "Iris transition",
    "family": "Transitions",
    "description": "A bounded aperture opens or closes around a chosen focal point.",
    "aliases": [
      "iris wipe"
    ],
    "tags": [
      "focus",
      "circle",
      "classic",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate a mask's scale or radius.",
    "web": "Conceptual: Animate a circular or custom clip path.",
    "video": "Conceptual: Scale a shaped matte around the subject.",
    "caution": "An iris is an aperture change, not a camera zoom."
  },
  {
    "id": "FX-072",
    "name": "Page peel",
    "family": "Transitions",
    "description": "A surface curls away to expose content beneath it.",
    "aliases": [
      "page curl"
    ],
    "tags": [
      "paper",
      "fold",
      "depth",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Deform a textured surface with shading along a moving fold.",
    "web": "Conceptual: Use a deformable mesh and controlled lighting.",
    "video": "Conceptual: Render or composite a curling page with a shadow pass.",
    "caution": "A flat rotating rectangle does not reproduce a curved fold."
  },
  {
    "id": "FX-073",
    "name": "Dust motes",
    "family": "Particles & atmosphere",
    "description": "Small floating particles reveal subtle air movement and depth.",
    "aliases": [
      "airborne dust"
    ],
    "tags": [
      "atmosphere",
      "soft",
      "organic",
      "depth"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Advect sparse points with varied focus and brightness.",
    "web": "Conceptual: Render restrained particle sprites with depth scaling.",
    "video": "Conceptual: Composite particles with matching focus and illumination.",
    "caution": "Uniformly sharp particles flatten the implied space."
  },
  {
    "id": "FX-074",
    "name": "Ember drift",
    "family": "Particles & atmosphere",
    "description": "Bright fragments rise and fade as if carried by hot air.",
    "aliases": [
      "embers",
      "sparks drift"
    ],
    "tags": [
      "fire",
      "warm",
      "particles",
      "energy"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move emissive particles upward with turbulence and decay.",
    "web": "Conceptual: Animate additive particles with varied lifetimes.",
    "video": "Conceptual: Simulate or composite emissive particles with glow.",
    "caution": "A consistent upward tendency distinguishes embers from generic confetti."
  },
  {
    "id": "FX-075",
    "name": "Snow field",
    "family": "Particles & atmosphere",
    "description": "Layered flakes descend with lateral drift at different apparent depths.",
    "aliases": [
      "snowfall"
    ],
    "tags": [
      "winter",
      "soft",
      "particles",
      "depth"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate particle layers with depth-dependent speed and size.",
    "web": "Conceptual: Use a bounded particle system with adaptive density.",
    "video": "Conceptual: Composite multiple snowfall layers with matching focus.",
    "caution": "Dense near-field flakes can obscure text and overwhelm compression."
  },
  {
    "id": "FX-076",
    "name": "Rain streaks",
    "family": "Particles & atmosphere",
    "description": "Falling droplets form directional marks and occasional foreground splashes.",
    "aliases": [
      "rainfall"
    ],
    "tags": [
      "weather",
      "streak",
      "atmosphere",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate elongated particles with a consistent fall direction.",
    "web": "Conceptual: Render a sparse streak field and selected impact rings.",
    "video": "Conceptual: Composite rain layers and match scene exposure.",
    "caution": "Rain visibility depends on lighting; bright white streaks are not always plausible."
  },
  {
    "id": "FX-077",
    "name": "Smoke wisps",
    "family": "Particles & atmosphere",
    "description": "Semi-transparent forms curl, expand, and dissipate through the frame.",
    "aliases": [
      "smoke trails"
    ],
    "tags": [
      "fluid",
      "atmosphere",
      "soft",
      "organic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Advect density through a flow field with diffusion.",
    "web": "Conceptual: Use a pre-rendered alpha loop or fluid-like shader.",
    "video": "Conceptual: Composite simulated or filmed smoke with appropriate light.",
    "caution": "Flat opacity animation alone cannot convey internal swirling motion."
  },
  {
    "id": "FX-078",
    "name": "Fog depth",
    "family": "Particles & atmosphere",
    "description": "Distant content loses contrast and color separation through an atmospheric veil.",
    "aliases": [
      "distance fog",
      "aerial haze"
    ],
    "tags": [
      "depth",
      "atmosphere",
      "soft",
      "mood"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blend toward a fog color according to distance.",
    "web": "Conceptual: Apply depth-based fog in a 3D scene.",
    "video": "Conceptual: Use depth maps or layered masks to increase distant haze.",
    "caution": "A uniform translucent overlay creates haze without depth ordering."
  },
  {
    "id": "FX-079",
    "name": "Particle assembly",
    "family": "Particles & atmosphere",
    "description": "Dispersed points converge to form a recognizable image or word.",
    "aliases": [
      "particle formation"
    ],
    "tags": [
      "assemble",
      "particles",
      "type",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Interpolate particle positions toward sampled target geometry.",
    "web": "Conceptual: Map particles to image or text sample points.",
    "video": "Conceptual: Animate particles toward target shapes with a settling phase.",
    "caution": "The target needs enough samples to remain legible at delivery size."
  },
  {
    "id": "FX-080",
    "name": "Particle dissolution",
    "family": "Particles & atmosphere",
    "description": "A solid form breaks into independently moving fragments.",
    "aliases": [
      "disintegration",
      "particle breakup"
    ],
    "tags": [
      "dissolve",
      "particles",
      "fragment",
      "exit"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Transfer visibility from a surface mask to emitted particles.",
    "web": "Conceptual: Emit particles from sampled edges while eroding the source.",
    "video": "Conceptual: Coordinate an eroding matte with fragment emission.",
    "caution": "Without matched timing, particles appear detached from the original form."
  },
  {
    "id": "FX-081",
    "name": "Confetti burst",
    "family": "Particles & atmosphere",
    "description": "Colored pieces scatter with varied rotation and downward acceleration.",
    "aliases": [
      "confetti explosion"
    ],
    "tags": [
      "celebration",
      "color",
      "particles",
      "burst"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Emit shape particles with velocity, gravity, drag, and spin.",
    "web": "Conceptual: Run a short bounded particle animation.",
    "video": "Conceptual: Simulate or animate lightweight falling fragments.",
    "caution": "Repeated full-screen bursts can overwhelm content; bound duration and density."
  },
  {
    "id": "FX-082",
    "name": "Halftone",
    "family": "Graphic patterns",
    "description": "Variable-size dots or marks translate continuous tones into a printable pattern.",
    "aliases": [
      "dot screen",
      "screen tone"
    ],
    "tags": [
      "print",
      "dots",
      "graphic",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Encode local brightness through mark size or coverage.",
    "web": "Conceptual: Use a dot-screen shader at a stable output scale.",
    "video": "Conceptual: Render halftone screens after setting the intended image scale.",
    "caution": "Different screen frequencies can cause moire when the image is resized."
  },
  {
    "id": "FX-083",
    "name": "Hatching",
    "family": "Graphic patterns",
    "description": "Parallel or crossed strokes represent tonal shading.",
    "aliases": [
      "crosshatching",
      "line shading"
    ],
    "tags": [
      "drawing",
      "lines",
      "print",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Select line density or layering according to brightness.",
    "web": "Conceptual: Render luminance-driven line masks.",
    "video": "Conceptual: Composite thresholded hatch patterns over the source.",
    "caution": "Line direction should reinforce the intended form rather than only fill space."
  },
  {
    "id": "FX-084",
    "name": "Stipple",
    "family": "Graphic patterns",
    "description": "Distributed dots form shaded regions through local density.",
    "aliases": [
      "stippling",
      "point shading"
    ],
    "tags": [
      "dots",
      "drawn",
      "texture",
      "organic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sample point density according to luminance.",
    "web": "Conceptual: Generate a point field from image brightness.",
    "video": "Conceptual: Render a stippled still or temporally stable point sequence.",
    "caution": "Resampling random dots every frame can produce distracting sparkle."
  },
  {
    "id": "FX-085",
    "name": "Moire field",
    "family": "Graphic patterns",
    "description": "Overlapping regular patterns create larger apparent waves and bands.",
    "aliases": [
      "interference pattern"
    ],
    "tags": [
      "wave",
      "lines",
      "optical",
      "abstract"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Interfere two nearby spatial frequencies or orientations.",
    "web": "Conceptual: Animate layered line patterns with deliberate frequency limits.",
    "video": "Conceptual: Composite rotated or scaled periodic patterns.",
    "caution": "Patterns may alias unpredictably across displays and delivery sizes."
  },
  {
    "id": "FX-086",
    "name": "Contour lines",
    "family": "Graphic patterns",
    "description": "Nested curves describe value levels or surface height.",
    "aliases": [
      "isolines",
      "topographic lines"
    ],
    "tags": [
      "map",
      "lines",
      "technical",
      "contour"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Trace or render equal-value boundaries through a scalar field.",
    "web": "Conceptual: Use threshold bands over noise, image luminance, or geometry.",
    "video": "Conceptual: Generate isolines from a height or luminance map.",
    "caution": "Luminance contours do not necessarily correspond to physical surface depth."
  },
  {
    "id": "FX-087",
    "name": "Voronoi cells",
    "family": "Graphic patterns",
    "description": "A plane divides into regions nearest to scattered seed points.",
    "aliases": [
      "cellular pattern",
      "voronoi tessellation"
    ],
    "tags": [
      "cells",
      "geometry",
      "procedural",
      "abstract"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign each pixel to its closest seed.",
    "web": "Conceptual: Use a Voronoi shader or generated SVG polygons.",
    "video": "Conceptual: Animate cell geometry or composite a cellular map.",
    "caution": "Changing seed order can create abrupt topology changes."
  },
  {
    "id": "FX-088",
    "name": "Truchet tiling",
    "family": "Graphic patterns",
    "description": "Repeated rotated tiles create continuous winding graphic paths.",
    "aliases": [
      "truchet pattern"
    ],
    "tags": [
      "tiles",
      "maze",
      "geometry",
      "modular"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange a small tile set under rotation rules.",
    "web": "Conceptual: Build a seeded SVG or canvas tile grid.",
    "video": "Conceptual: Animate tile rotations or reveal a prepared tiled pattern.",
    "caution": "Tile edge connections must match to preserve continuous paths."
  },
  {
    "id": "FX-089",
    "name": "Lissajous trace",
    "family": "Graphic patterns",
    "description": "A looping line forms from linked oscillations on perpendicular axes.",
    "aliases": [
      "oscilloscope curve"
    ],
    "tags": [
      "loop",
      "line",
      "mathematical",
      "retro"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Drive x and y positions with related sine waves.",
    "web": "Conceptual: Draw parametric paths on canvas or SVG.",
    "video": "Conceptual: Animate a traced parametric curve.",
    "caution": "Frequency ratios determine whether a path closes cleanly."
  },
  {
    "id": "FX-090",
    "name": "Reaction-diffusion texture",
    "family": "Graphic patterns",
    "description": "Organic spots and bands grow from interacting simulated concentrations.",
    "aliases": [
      "turing pattern"
    ],
    "tags": [
      "organic",
      "procedural",
      "growth",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Iterate coupled diffusion and reaction fields.",
    "web": "Conceptual: Use a bounded GPU simulation or pre-rendered loop.",
    "video": "Conceptual: Generate simulated textures and animate their evolution.",
    "caution": "The pattern is simulation-dependent and may not loop naturally."
  },
  {
    "id": "FX-091",
    "name": "Line reveal",
    "family": "Type reveals",
    "description": "Lines of text emerge through clipping boundaries one after another.",
    "aliases": [
      "masked line reveal"
    ],
    "tags": [
      "type",
      "editorial",
      "reveal",
      "clean"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate each line behind its own fixed mask.",
    "web": "Conceptual: Animate line wrappers with overflow clipping.",
    "video": "Conceptual: Animate text lines through individual rectangular mattes.",
    "caution": "Real line breaks must be resolved after fonts and layout settle."
  },
  {
    "id": "FX-092",
    "name": "Character reveal",
    "family": "Type reveals",
    "description": "Letters appear one at a time according to a deliberate sequence.",
    "aliases": [
      "letter reveal"
    ],
    "tags": [
      "type",
      "sequence",
      "reveal",
      "character"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Gate individual glyph opacity or visibility.",
    "web": "Conceptual: Wrap accessible text visually and stagger character states.",
    "video": "Conceptual: Animate per-character visibility with a controlled cadence.",
    "caution": "Preserve a readable text alternative instead of exposing split glyphs to assistive reading."
  },
  {
    "id": "FX-093",
    "name": "Word reveal",
    "family": "Type reveals",
    "description": "Whole words enter in sequence while retaining their internal letter relationships.",
    "aliases": [
      "word stagger"
    ],
    "tags": [
      "type",
      "rhythm",
      "reveal",
      "word"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate word groups with separate start times.",
    "web": "Conceptual: Apply transforms and opacity to word wrappers.",
    "video": "Conceptual: Animate word-level text groups.",
    "caution": "Long words and responsive wrapping can change the intended rhythm."
  },
  {
    "id": "FX-094",
    "name": "Typewriter reveal",
    "family": "Type reveals",
    "description": "A cursor-led text line grows through discrete character additions.",
    "aliases": [
      "typing effect"
    ],
    "tags": [
      "type",
      "cursor",
      "terminal",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Advance a character index through a fixed text string.",
    "web": "Conceptual: Reveal text in steps while keeping layout stable.",
    "video": "Conceptual: Animate a text selector with a cursor element.",
    "caution": "Do not make essential information wait behind a long typing sequence."
  },
  {
    "id": "FX-095",
    "name": "Stroke draw-on type",
    "family": "Type reveals",
    "description": "Letter strokes appear to be traced by a moving writing tool.",
    "aliases": [
      "write-on lettering"
    ],
    "tags": [
      "type",
      "handwriting",
      "path",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reveal a stroke path over time with a matching glyph mask.",
    "web": "Conceptual: Animate SVG stroke length through a filled-letter mask.",
    "video": "Conceptual: Use stroke paths or write-on mattes matched to glyphs.",
    "caution": "A font outline traces both edges and is not equivalent to a handwriting centerline."
  },
  {
    "id": "FX-096",
    "name": "Scramble decode",
    "family": "Type reveals",
    "description": "Temporary characters resolve into the final intended text.",
    "aliases": [
      "text scramble",
      "decoding text"
    ],
    "tags": [
      "type",
      "digital",
      "scramble",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Replace unresolved glyphs until each position locks to its target.",
    "web": "Conceptual: Animate a seeded replacement sequence over a stable layout.",
    "video": "Conceptual: Use controlled per-character substitutions.",
    "caution": "Random replacements can alter width; keep the final text available immediately to assistive tools."
  },
  {
    "id": "FX-097",
    "name": "Masked gradient reveal",
    "family": "Type reveals",
    "description": "A soft moving opacity boundary progressively uncovers lettering.",
    "aliases": [
      "soft wipe type"
    ],
    "tags": [
      "type",
      "soft",
      "mask",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sweep an alpha gradient through a text mask.",
    "web": "Conceptual: Animate a CSS mask gradient or composited text layer.",
    "video": "Conceptual: Animate a gradient matte across text.",
    "caution": "This changes transparency; it does not recolor the letters."
  },
  {
    "id": "FX-098",
    "name": "Liquid type reveal",
    "family": "Type reveals",
    "description": "An organic fluid boundary spreads to expose a word.",
    "aliases": [
      "ink fill type"
    ],
    "tags": [
      "type",
      "liquid",
      "organic",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Threshold an evolving fluid-like mask within text geometry.",
    "web": "Conceptual: Use a noise-driven alpha shader over a text texture.",
    "video": "Conceptual: Reveal a text matte with an animated organic field.",
    "caution": "Small counters may fill unevenly and delay legibility."
  },
  {
    "id": "FX-099",
    "name": "Focus reveal",
    "family": "Type reveals",
    "description": "Lettering becomes readable as its apparent defocus decreases.",
    "aliases": [
      "blur reveal"
    ],
    "tags": [
      "type",
      "focus",
      "soft",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate blur down while preserving the text's final placement.",
    "web": "Conceptual: Animate a modest blur and opacity with a reduced-motion fallback.",
    "video": "Conceptual: Animate lens-style or Gaussian defocus over a text layer.",
    "caution": "Large animated blur can be expensive and reduces readability during the reveal."
  },
  {
    "id": "FX-100",
    "name": "Tracking expansion",
    "family": "Type motion",
    "description": "The spacing between letters increases or contracts over time.",
    "aliases": [
      "tracking animation",
      "letter spacing"
    ],
    "tags": [
      "type",
      "spacing",
      "editorial",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate glyph spacing around a chosen alignment anchor.",
    "web": "Conceptual: Animate letter spacing or individual glyph positions.",
    "video": "Conceptual: Animate a tracking property on a text layer.",
    "caution": "Spacing changes can reflow lines and must be checked across sizes."
  },
  {
    "id": "FX-101",
    "name": "Kinetic stagger",
    "family": "Type motion",
    "description": "Letters or words perform the same movement with offset start times.",
    "aliases": [
      "staggered type"
    ],
    "tags": [
      "type",
      "rhythm",
      "sequence",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply a shared animation with index-based delays.",
    "web": "Conceptual: Stagger transform animations across visual text groups.",
    "video": "Conceptual: Use a delayed per-character or per-word animator.",
    "caution": "Excessive delays fragment the reading order."
  },
  {
    "id": "FX-102",
    "name": "Wave type",
    "family": "Type motion",
    "description": "A traveling oscillation moves through a line of lettering.",
    "aliases": [
      "sine-wave text"
    ],
    "tags": [
      "type",
      "wave",
      "playful",
      "loop"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset each glyph using a phase-shifted periodic function.",
    "web": "Conceptual: Compute per-glyph transforms from time and character index.",
    "video": "Conceptual: Animate glyph positions with a phase-delayed wave.",
    "caution": "Large vertical travel can collide with adjacent lines."
  },
  {
    "id": "FX-103",
    "name": "Orbit type",
    "family": "Type motion",
    "description": "Words or letters travel around a circular or elliptical center.",
    "aliases": [
      "circular text motion"
    ],
    "tags": [
      "type",
      "radial",
      "path",
      "loop"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate angular position while managing glyph orientation.",
    "web": "Conceptual: Use an SVG path or calculated orbital transforms.",
    "video": "Conceptual: Animate text along a closed path.",
    "caution": "Choose whether letters rotate with the path or remain upright."
  },
  {
    "id": "FX-104",
    "name": "Path-following type",
    "family": "Type motion",
    "description": "A text string moves along a designed curve.",
    "aliases": [
      "text on a path"
    ],
    "tags": [
      "type",
      "path",
      "curve",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map glyph baselines to positions on an animated path.",
    "web": "Conceptual: Animate SVG text-path offsets.",
    "video": "Conceptual: Animate a text baseline or path position.",
    "caution": "Tight curvature can cause letters to overlap or distort spacing."
  },
  {
    "id": "FX-105",
    "name": "Spring-settle type",
    "family": "Type motion",
    "description": "Lettering overshoots its destination and settles with decreasing oscillation.",
    "aliases": [
      "bouncy type",
      "spring typography"
    ],
    "tags": [
      "type",
      "elastic",
      "playful",
      "entrance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Drive position or scale with a damped spring response.",
    "web": "Conceptual: Use a bounded spring animation on text groups.",
    "video": "Conceptual: Animate overshoot and decaying oscillation with controlled easing.",
    "caution": "Large overshoot can make short words difficult to track."
  },
  {
    "id": "FX-106",
    "name": "Flipboard type",
    "family": "Type motion",
    "description": "Characters change through a hinged split-flap motion.",
    "aliases": [
      "split-flap type"
    ],
    "tags": [
      "type",
      "mechanical",
      "retro",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rotate upper and lower glyph panels around a shared hinge.",
    "web": "Conceptual: Animate paired masked panels with perspective.",
    "video": "Conceptual: Build and animate upper and lower character halves.",
    "caution": "The two halves need coordinated glyph changes at the hidden midpoint."
  },
  {
    "id": "FX-107",
    "name": "Rolling odometer",
    "family": "Type motion",
    "description": "Digits advance vertically through a strip before stopping at a new value.",
    "aliases": [
      "rolling numbers",
      "number reel"
    ],
    "tags": [
      "type",
      "data",
      "mechanical",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate a clipped stack of digit glyphs.",
    "web": "Conceptual: Animate digit columns with tabular numerals.",
    "video": "Conceptual: Move number strips through fixed digit windows.",
    "caution": "Variable-width numerals cause alignment changes unless explicitly managed."
  },
  {
    "id": "FX-108",
    "name": "Marquee loop",
    "family": "Type motion",
    "description": "A repeated text run moves continuously across a bounded area.",
    "aliases": [
      "ticker",
      "scrolling type"
    ],
    "tags": [
      "type",
      "loop",
      "editorial",
      "horizontal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate duplicated text by exactly one repeat width.",
    "web": "Conceptual: Animate a duplicated text track with pause controls.",
    "video": "Conceptual: Repeat a text strip and translate it at constant speed.",
    "caution": "The loop seam and user ability to pause need deliberate handling."
  },
  {
    "id": "FX-109",
    "name": "Outline type",
    "family": "Type form",
    "description": "Letter contours remain visible while their interiors are open.",
    "aliases": [
      "hollow type",
      "stroke type"
    ],
    "tags": [
      "type",
      "outline",
      "graphic",
      "clean"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Render only the boundary of each glyph shape.",
    "web": "Conceptual: Use text stroke or SVG glyph outlines.",
    "video": "Conceptual: Apply a text outline while removing the fill.",
    "caution": "Thin outlines disappear at small sizes or against busy imagery."
  },
  {
    "id": "FX-110",
    "name": "Inline type",
    "family": "Type form",
    "description": "Fine lines sit inside the strokes of a heavier letterform.",
    "aliases": [
      "inset lettering"
    ],
    "tags": [
      "type",
      "decorative",
      "line",
      "display"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Inset a decorative line within the glyph's stroke region.",
    "web": "Conceptual: Use a designed inline font or prepared SVG lettering.",
    "video": "Conceptual: Use inline glyph assets or custom inset paths.",
    "caution": "Simple outline duplication does not create a consistent internal centerline."
  },
  {
    "id": "FX-111",
    "name": "Extruded type",
    "family": "Type form",
    "description": "Lettering gains visible side faces and apparent physical thickness.",
    "aliases": [
      "3D text extrusion"
    ],
    "tags": [
      "type",
      "depth",
      "dimensional",
      "solid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Extend glyph geometry along a depth axis.",
    "web": "Conceptual: Render a text mesh or a restrained layered approximation.",
    "video": "Conceptual: Extrude text geometry with lighting and material choices.",
    "caution": "Repeated flat shadows approximate depth but cannot show correct rotating side faces."
  },
  {
    "id": "FX-112",
    "name": "Beveled type",
    "family": "Type form",
    "description": "Letter edges slope inward or outward and catch highlights.",
    "aliases": [
      "embossed edge type"
    ],
    "tags": [
      "type",
      "edge",
      "dimensional",
      "light"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Add chamfered edge geometry or a normal-based shading approximation.",
    "web": "Conceptual: Use bevel geometry in WebGL or a prepared asset.",
    "video": "Conceptual: Bevel text geometry and light the edge faces.",
    "caution": "Small bevels may vanish at delivery resolution."
  },
  {
    "id": "FX-113",
    "name": "Variable-font morph",
    "family": "Type form",
    "description": "A letterform changes weight, width, or another designed font axis smoothly.",
    "aliases": [
      "variable typography",
      "font axis animation"
    ],
    "tags": [
      "type",
      "font",
      "morph",
      "weight"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate supported variation axes within one variable font.",
    "web": "Conceptual: Animate font-variation settings supported by the chosen font.",
    "video": "Conceptual: Use axis-capable tooling or render intermediate font instances.",
    "caution": "Only axes actually present in the licensed font can be animated reliably."
  },
  {
    "id": "FX-114",
    "name": "Condensed stretch",
    "family": "Type form",
    "description": "Lettering narrows or widens while preserving a chosen vertical dimension.",
    "aliases": [
      "wide type",
      "narrow type"
    ],
    "tags": [
      "type",
      "width",
      "elastic",
      "display"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scale glyph width or use a designed width axis.",
    "web": "Conceptual: Prefer a font width axis; use geometric scale when distortion is intended.",
    "video": "Conceptual: Animate width-axis instances or horizontal scale.",
    "caution": "Geometric stretching changes stroke proportions unlike a designed width axis."
  },
  {
    "id": "FX-115",
    "name": "Stencil type",
    "family": "Type form",
    "description": "Breaks in glyph strokes create separate connected pieces characteristic of stencil lettering.",
    "aliases": [
      "stencil lettering"
    ],
    "tags": [
      "type",
      "industrial",
      "cutout",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Remove designed bridges from letter shapes.",
    "web": "Conceptual: Use a stencil font or custom vector paths.",
    "video": "Conceptual: Use stencil glyph assets with preserved bridge spacing.",
    "caution": "Bridges must be designed around counters and remain visible at small sizes."
  },
  {
    "id": "FX-116",
    "name": "Modular type",
    "family": "Type form",
    "description": "Letters are assembled from a limited reusable set of geometric pieces.",
    "aliases": [
      "geometric alphabet",
      "modular lettering"
    ],
    "tags": [
      "type",
      "geometry",
      "system",
      "construct"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange repeated modules according to a glyph construction system.",
    "web": "Conceptual: Render module-based SVG or canvas glyphs.",
    "video": "Conceptual: Animate component shapes into letter arrangements.",
    "caution": "A consistent module system still needs optical correction for legibility."
  },
  {
    "id": "FX-117",
    "name": "Ligature substitution",
    "family": "Type form",
    "description": "Selected letter sequences transform into alternate joined glyph shapes.",
    "aliases": [
      "discretionary ligatures"
    ],
    "tags": [
      "type",
      "font",
      "editorial",
      "detail"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Replace supported glyph sequences using font features or custom vectors.",
    "web": "Conceptual: Enable documented OpenType features or swap prepared glyph groups.",
    "video": "Conceptual: Use alternate glyphs or animated vector replacements.",
    "caution": "Availability and meaning depend on the chosen font and language."
  },
  {
    "id": "FX-118",
    "name": "Gradient type",
    "family": "Type surfaces",
    "description": "A color gradient fills the interior of letterforms.",
    "aliases": [
      "gradient-filled text"
    ],
    "tags": [
      "type",
      "color",
      "gradient",
      "fill"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Clip a multicolor field to text geometry.",
    "web": "Conceptual: Use background clipping or SVG gradient fills.",
    "video": "Conceptual: Fill a text matte with a gradient layer.",
    "caution": "Check contrast at every part of the gradient, not only at its endpoints."
  },
  {
    "id": "FX-119",
    "name": "Video-filled type",
    "family": "Type surfaces",
    "description": "Moving footage appears only inside the letters.",
    "aliases": [
      "video text mask"
    ],
    "tags": [
      "type",
      "video",
      "mask",
      "fill"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use the text silhouette as the alpha mask for a video layer.",
    "web": "Conceptual: Mask prepared video with text geometry or a shader.",
    "video": "Conceptual: Use a text matte over footage.",
    "caution": "Narrow strokes may hide the footage's subject and reduce text contrast."
  },
  {
    "id": "FX-120",
    "name": "Image-filled type",
    "family": "Type surfaces",
    "description": "A still image supplies the color and texture inside glyphs.",
    "aliases": [
      "photo-filled text"
    ],
    "tags": [
      "type",
      "image",
      "mask",
      "fill"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Clip a positioned image to letter shapes.",
    "web": "Conceptual: Use image background clipping or an SVG mask.",
    "video": "Conceptual: Apply a text matte to a still image.",
    "caution": "The image crop must be designed around the word's shape."
  },
  {
    "id": "FX-121",
    "name": "Chrome type",
    "family": "Type surfaces",
    "description": "Reflective metallic shading gives letters a polished hard surface.",
    "aliases": [
      "metallic type",
      "liquid chrome lettering"
    ],
    "tags": [
      "type",
      "metal",
      "reflective",
      "luxury"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Shade letter geometry with high-contrast environment reflections.",
    "web": "Conceptual: Use reflective 3D text or a prepared reflection-map treatment.",
    "video": "Conceptual: Render metallic text with a designed lighting environment.",
    "caution": "A moving gradient can suggest chrome but lacks geometric reflection accuracy."
  },
  {
    "id": "FX-122",
    "name": "Neon type",
    "family": "Type surfaces",
    "description": "Bright tubular letterforms emit colored light into their surroundings.",
    "aliases": [
      "neon lettering"
    ],
    "tags": [
      "type",
      "glow",
      "night",
      "electric"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine a bright stroke core with layered glow and spill.",
    "web": "Conceptual: Use SVG strokes with controlled glow layers.",
    "video": "Conceptual: Composite emissive lettering with glow and nearby light spill.",
    "caution": "Glowing outlines are not automatically readable on bright backgrounds."
  },
  {
    "id": "FX-123",
    "name": "Distressed type",
    "family": "Type surfaces",
    "description": "Irregular chips and erosion remove portions of a letter's surface.",
    "aliases": [
      "eroded type",
      "worn lettering"
    ],
    "tags": [
      "type",
      "aged",
      "rough",
      "texture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Subtract a textured damage mask from glyphs.",
    "web": "Conceptual: Mask text with a scalable distress texture.",
    "video": "Conceptual: Apply a damage matte to the text layer.",
    "caution": "Small text loses recognition quickly when counters or joins are damaged."
  },
  {
    "id": "FX-124",
    "name": "Foil type",
    "family": "Type surfaces",
    "description": "Lettering catches shifting sharp highlights like stamped metallic foil.",
    "aliases": [
      "hot foil lettering"
    ],
    "tags": [
      "type",
      "metal",
      "luxury",
      "print"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modulate a reflective color field within a text mask.",
    "web": "Conceptual: Animate a restrained reflection band within glyph masks.",
    "video": "Conceptual: Composite moving specular bands over a foil texture.",
    "caution": "Foil should preserve a material-specific grain or reflection character."
  },
  {
    "id": "FX-125",
    "name": "Water-filled type",
    "family": "Type surfaces",
    "description": "Letter interiors behave as windows onto a fluid surface or moving water volume.",
    "aliases": [
      "liquid fill lettering"
    ],
    "tags": [
      "type",
      "water",
      "liquid",
      "fill"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine a text mask with liquid motion and refractive detail.",
    "web": "Conceptual: Use a masked water shader or prepared alpha footage.",
    "video": "Conceptual: Composite liquid footage or simulation inside the text.",
    "caution": "A moving blue fill alone does not communicate water."
  },
  {
    "id": "FX-126",
    "name": "Cut-paper type",
    "family": "Type surfaces",
    "description": "Lettering appears cut from tactile sheets with imperfect edges and shallow shadows.",
    "aliases": [
      "paper lettering"
    ],
    "tags": [
      "type",
      "tactile",
      "paper",
      "collage"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine irregular vector contours, paper texture, and offset shadowing.",
    "web": "Conceptual: Layer textured SVG shapes with modest shadows.",
    "video": "Conceptual: Composite paper textures into letter mattes with contact shadows.",
    "caution": "Large soft shadows imply floating objects rather than paper close to a surface."
  },
  {
    "id": "FX-127",
    "name": "Echo type",
    "family": "Type space & repetition",
    "description": "Repeated copies of the same lettering create a controlled trail or rhythmic stack.",
    "aliases": [
      "repeated shadow type",
      "text echo"
    ],
    "tags": [
      "type",
      "repeat",
      "trail",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Duplicate glyph shapes with systematic offsets and attenuation.",
    "web": "Conceptual: Layer text copies or repeated SVG instances.",
    "video": "Conceptual: Duplicate text layers with coordinated offsets.",
    "caution": "Unlike motion echo, this can be a static graphic arrangement."
  },
  {
    "id": "FX-128",
    "name": "Stacked type",
    "family": "Type space & repetition",
    "description": "Repeated words form a vertical field with a deliberate focal line.",
    "aliases": [
      "word stack"
    ],
    "tags": [
      "type",
      "repeat",
      "vertical",
      "editorial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Repeat text rows while varying emphasis or clipping.",
    "web": "Conceptual: Build a responsive repeated text stack with decorative copies hidden from assistive reading.",
    "video": "Conceptual: Duplicate text rows with controlled spacing and emphasis.",
    "caution": "Decorative repetition should not be announced repeatedly by screen readers."
  },
  {
    "id": "FX-129",
    "name": "Perspective floor type",
    "family": "Type space & repetition",
    "description": "Lettering appears laid across a receding horizontal plane.",
    "aliases": [
      "ground-plane text"
    ],
    "tags": [
      "type",
      "perspective",
      "depth",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Project text through a perspective transform.",
    "web": "Conceptual: Use a 3D transformed plane or WebGL mesh.",
    "video": "Conceptual: Place text on a ground plane and match the camera.",
    "caution": "A cast shadow and vanishing point need to agree with the plane."
  },
  {
    "id": "FX-130",
    "name": "Cylindrical type",
    "family": "Type space & repetition",
    "description": "A word wraps around a curved cylindrical surface.",
    "aliases": [
      "wrapped text",
      "cylinder lettering"
    ],
    "tags": [
      "type",
      "curve",
      "3d",
      "loop"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map glyphs onto a cylindrical mesh or equivalent projection.",
    "web": "Conceptual: Use a textured cylinder with a readable front-facing region.",
    "video": "Conceptual: Wrap text around cylinder geometry.",
    "caution": "A simple sine displacement does not reproduce perspective and backside occlusion."
  },
  {
    "id": "FX-131",
    "name": "Spherical type",
    "family": "Type space & repetition",
    "description": "Words follow the curved surface of a globe or orb.",
    "aliases": [
      "globe typography"
    ],
    "tags": [
      "type",
      "sphere",
      "3d",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Project text onto sphere coordinates with depth occlusion.",
    "web": "Conceptual: Map text textures or glyph meshes onto a sphere.",
    "video": "Conceptual: Place glyphs on sphere geometry with controlled lighting.",
    "caution": "Glyphs near the silhouette become compressed and difficult to read."
  },
  {
    "id": "FX-132",
    "name": "Tunnel type",
    "family": "Type space & repetition",
    "description": "Repeated text frames recede toward a central vanishing point.",
    "aliases": [
      "typographic tunnel"
    ],
    "tags": [
      "type",
      "depth",
      "repeat",
      "perspective"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scale and position text copies through simulated depth.",
    "web": "Conceptual: Render repeated transformed layers or a 3D text tunnel.",
    "video": "Conceptual: Arrange repeated words along a camera axis.",
    "caution": "Depth speed can create intense motion; provide a static composition when needed."
  },
  {
    "id": "FX-133",
    "name": "Type shadow play",
    "family": "Type space & repetition",
    "description": "A letter's cast shadow becomes an independent graphic or narrative element.",
    "aliases": [
      "projected lettering shadow"
    ],
    "tags": [
      "type",
      "shadow",
      "light",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Project text-shaped occlusion onto another surface.",
    "web": "Conceptual: Use a 3D light and receiving plane or a prepared projected mask.",
    "video": "Conceptual: Render text shadows or animate shadow mattes.",
    "caution": "Shadow direction and softness should follow the implied light geometry."
  },
  {
    "id": "FX-134",
    "name": "Anamorphic type",
    "family": "Type space & repetition",
    "description": "Distorted lettering resolves into a readable word from one intended viewpoint.",
    "aliases": [
      "perspective illusion text"
    ],
    "tags": [
      "type",
      "illusion",
      "perspective",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Project legible text from a chosen camera onto angled surfaces.",
    "web": "Conceptual: Use projective text mapping in a 3D scene.",
    "video": "Conceptual: Project text onto geometry from the target viewpoint.",
    "caution": "The word intentionally loses legibility outside the designed view."
  },
  {
    "id": "FX-135",
    "name": "Occluded type",
    "family": "Type space & repetition",
    "description": "Letters appear behind scene elements while remaining part of the composition.",
    "aliases": [
      "integrated scene text"
    ],
    "tags": [
      "type",
      "occlusion",
      "depth",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Place text beneath selected foreground holdout masks.",
    "web": "Conceptual: Layer text behind foreground cutouts or depth geometry.",
    "video": "Conceptual: Use tracked occlusion mattes above the text.",
    "caution": "Do not obscure the only identifying parts of a short or unfamiliar word."
  },
  {
    "id": "FX-136",
    "name": "Shared-element layout transition",
    "family": "Transitions",
    "description": "Persistent words, images or interface objects move between corresponding positions in different layouts, maintaining a recognizable relationship across the change.",
    "aliases": [
      "animated reflow",
      "Text reflow choreography",
      "shared layout animation",
      "shared-element transition"
    ],
    "tags": [
      "layout",
      "continuity",
      "identity",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Identify corresponding elements, measure their geometry in each layout state, and interpolate their placement while preserving content identity.",
    "web": "Conceptual: Map stable item identifiers between measured layouts and animate their placement; preserve keyboard focus and provide an immediate reduced-motion transition.",
    "video": "Conceptual: Animate the same original text or image elements between prepared compositions, keeping correspondence and reading order clear.",
    "caution": "Measure text after fonts and line breaks settle, and account for image dimensions and layout changes. A crossfade between unrelated elements does not establish shared-element continuity."
  },
  {
    "id": "FX-137",
    "name": "Scroll-linked type",
    "family": "Type layout & interaction",
    "description": "The viewer's scroll position determines a text animation's progress.",
    "aliases": [
      "scroll typography"
    ],
    "tags": [
      "type",
      "scroll",
      "interactive",
      "progress"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map normalized scroll progress to bounded typography states.",
    "web": "Conceptual: Use a supported scroll timeline or a measured scroll-progress controller.",
    "video": "Conceptual: Render the same progression to a fixed timeline for video.",
    "caution": "Essential text must remain available without requiring precise scrolling."
  },
  {
    "id": "FX-138",
    "name": "Cursor repulsion type",
    "family": "Type layout & interaction",
    "description": "Nearby letters move away from a pointer and return when it leaves.",
    "aliases": [
      "magnetic text repulsion"
    ],
    "tags": [
      "type",
      "interactive",
      "elastic",
      "pointer"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply distance-based forces to glyph positions.",
    "web": "Conceptual: Run a bounded pointer force simulation with keyboard-neutral presentation.",
    "video": "Conceptual: Animate a virtual attractor path over glyph positions.",
    "caution": "Touch users need an equivalent static or intentional touch interaction."
  },
  {
    "id": "FX-139",
    "name": "Cursor spotlight type",
    "family": "Type layout & interaction",
    "description": "A moving light or mask emphasizes text near the pointer.",
    "aliases": [
      "text spotlight"
    ],
    "tags": [
      "type",
      "interactive",
      "light",
      "focus"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reveal a highlighted text copy through a localized radial mask.",
    "web": "Conceptual: Track pointer position within a text-local mask.",
    "video": "Conceptual: Animate a spotlight matte over a duplicate text layer.",
    "caution": "Keep a readable base layer when the pointer is absent."
  },
  {
    "id": "FX-140",
    "name": "Responsive type scaling",
    "family": "Type layout & interaction",
    "description": "Display text changes size to maintain a deliberate relationship to its container.",
    "aliases": [
      "fluid typography",
      "fit text"
    ],
    "tags": [
      "type",
      "responsive",
      "layout",
      "scale"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Derive font size from container dimensions within bounds.",
    "web": "Conceptual: Use container-based sizing or measured fit with minimum readable sizes.",
    "video": "Conceptual: Create size variants for each delivery format.",
    "caution": "Automatic fit must not shrink long copy below a readable threshold."
  },
  {
    "id": "FX-141",
    "name": "Baseline shift composition",
    "family": "Type layout & interaction",
    "description": "Selected glyphs rise or fall from the normal baseline to create a rhythmic silhouette.",
    "aliases": [
      "bouncing baseline"
    ],
    "tags": [
      "type",
      "layout",
      "rhythm",
      "editorial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset selected glyph positions without changing the text order.",
    "web": "Conceptual: Transform visual glyph groups while preserving semantic text.",
    "video": "Conceptual: Animate or position individual glyph baselines.",
    "caution": "Excessive offsets can confuse reading order or resemble unintended superscripts."
  },
  {
    "id": "FX-142",
    "name": "Radial word layout",
    "family": "Type layout & interaction",
    "description": "Words fan around a central point to create a wheel-like composition.",
    "aliases": [
      "type wheel",
      "radial typography"
    ],
    "tags": [
      "type",
      "radial",
      "layout",
      "diagram"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Place text groups at angular intervals with deliberate alignment.",
    "web": "Conceptual: Position text using polar coordinates or SVG transforms.",
    "video": "Conceptual: Arrange text layers around a shared pivot.",
    "caution": "Orientation decisions affect reading effort and available label length."
  },
  {
    "id": "FX-143",
    "name": "Text silhouette fill",
    "family": "Type layout & interaction",
    "description": "Lines of text fill a larger image or letter silhouette.",
    "aliases": [
      "typographic portrait",
      "shape text fill"
    ],
    "tags": [
      "type",
      "shape",
      "texture",
      "layout"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Flow or clip text within a larger shape boundary.",
    "web": "Conceptual: Use prepared line layouts or a shape mask over decorative text.",
    "video": "Conceptual: Mask repeated copy to a silhouette.",
    "caution": "Clipping prose can destroy meaning; reserve truncated copy for decorative texture."
  },
  {
    "id": "FX-144",
    "name": "Editorial overlap",
    "family": "Type layout & interaction",
    "description": "Oversized type and imagery deliberately share the same visual space.",
    "aliases": [
      "overlapping typography"
    ],
    "tags": [
      "type",
      "editorial",
      "layer",
      "layout"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Layer type across image boundaries while managing contrast and occlusion.",
    "web": "Conceptual: Use controlled stacking, masks, and responsive layout rules.",
    "video": "Conceptual: Compose type and image layers with deliberate crossing points.",
    "caution": "Overlap needs review at each breakpoint and cannot rely on one fixed crop."
  },
  {
    "id": "FX-145",
    "name": "Rack focus",
    "family": "Camera & capture looks",
    "description": "Attention shifts between objects at different apparent depths through changing focus.",
    "aliases": [
      "focus pull"
    ],
    "tags": [
      "camera",
      "depth",
      "focus",
      "cinematic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate the focus plane while preserving scene placement.",
    "web": "Conceptual: Use depth-aware blur in a 3D scene or prepared footage.",
    "video": "Conceptual: Change focus during capture or use a reliable depth-aware composite.",
    "caution": "Uniform blur cannot isolate one depth plane from another."
  },
  {
    "id": "FX-146",
    "name": "Shallow depth of field",
    "family": "Camera & capture looks",
    "description": "Only a narrow depth region appears sharp while nearer and farther regions soften.",
    "aliases": [
      "selective focus",
      "background blur"
    ],
    "tags": [
      "camera",
      "depth",
      "soft",
      "portrait"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blur according to distance from a focal plane.",
    "web": "Conceptual: Use depth-aware rendering or prepared imagery.",
    "video": "Conceptual: Capture or render with a narrow focus region.",
    "caution": "A segmentation blur needs careful hair, glass, and motion edges."
  },
  {
    "id": "FX-147",
    "name": "Dolly zoom",
    "family": "Camera & capture looks",
    "description": "A subject holds its apparent size while background perspective changes dramatically.",
    "aliases": [
      "vertigo effect"
    ],
    "tags": [
      "camera",
      "perspective",
      "dramatic",
      "space"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate camera translation with a compensating field-of-view change.",
    "web": "Conceptual: Animate camera distance and focal length in a 3D scene.",
    "video": "Conceptual: Coordinate a physical or virtual dolly with zoom.",
    "caution": "Scaling flat footage cannot reconstruct the changing perspective."
  },
  {
    "id": "FX-148",
    "name": "Parallax drift",
    "family": "Camera & capture looks",
    "description": "Foreground and background move at different rates to suggest layered depth.",
    "aliases": [
      "2.5D parallax"
    ],
    "tags": [
      "depth",
      "camera",
      "layer",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate separated depth layers relative to a virtual viewpoint.",
    "web": "Conceptual: Move layered image planes with bounded pointer or scroll input.",
    "video": "Conceptual: Animate separated layers under a virtual camera.",
    "caution": "Newly exposed regions require reconstructed background coverage."
  },
  {
    "id": "FX-149",
    "name": "Handheld drift",
    "family": "Camera & capture looks",
    "description": "Small irregular camera motions create an intentionally unstabilized viewpoint.",
    "aliases": [
      "handheld camera look"
    ],
    "tags": [
      "camera",
      "organic",
      "drift",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine low-frequency drift with smaller rotational disturbances.",
    "web": "Conceptual: Animate an overscanned composition with restrained noise motion.",
    "video": "Conceptual: Apply or capture coherent handheld movement.",
    "caution": "Independent random jitter each frame reads as vibration rather than handheld motion."
  },
  {
    "id": "FX-150",
    "name": "Stop-motion cadence",
    "family": "Camera & capture looks",
    "description": "Physical or graphic motion advances in intentionally held poses.",
    "aliases": [
      "stop motion look"
    ],
    "tags": [
      "handmade",
      "stepped",
      "pose",
      "rhythm"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Design discrete pose changes with a limited movement cadence.",
    "web": "Conceptual: Use stepped transforms with curated poses.",
    "video": "Conceptual: Animate held frames or capture incremental physical movements.",
    "caution": "Lowering frame rate alone does not reproduce handcrafted pose variation."
  },
  {
    "id": "FX-151",
    "name": "Miniature tilt-shift look",
    "family": "Camera & capture looks",
    "description": "A narrow band of focus makes a distant scene resemble a small-scale model.",
    "aliases": [
      "miniature effect",
      "tilt-shift look"
    ],
    "tags": [
      "camera",
      "miniature",
      "focus",
      "playful"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply selective blur around a strategically placed focus band.",
    "web": "Conceptual: Use a banded blur mask over suitable imagery.",
    "video": "Conceptual: Use tilt optics or controlled focus-band compositing.",
    "caution": "The effect depends strongly on camera angle and scene scale cues."
  },
  {
    "id": "FX-152",
    "name": "Rolling-shutter skew",
    "family": "Camera & capture looks",
    "description": "Moving or vibrating objects lean or wobble because different scan rows imply different capture times.",
    "aliases": [
      "jello effect",
      "scan skew"
    ],
    "tags": [
      "camera",
      "distortion",
      "temporal",
      "scan"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset rows according to motion over a scan interval.",
    "web": "Conceptual: Use a time-buffer shader or a controlled row displacement approximation.",
    "video": "Conceptual: Simulate scanline timing with temporal displacement.",
    "caution": "Static row skew approximates geometry but not changing occlusion over time."
  },
  {
    "id": "FX-153",
    "name": "Long-exposure trails",
    "family": "Camera & capture looks",
    "description": "Moving lights or subjects accumulate into continuous paths over a fixed scene.",
    "aliases": [
      "shutter drag",
      "light trails"
    ],
    "tags": [
      "camera",
      "exposure",
      "trail",
      "night"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Integrate many temporal samples within an exposure window.",
    "web": "Conceptual: Accumulate motion in a framebuffer with calibrated decay.",
    "video": "Conceptual: Capture or composite a sustained exposure interval.",
    "caution": "Background camera motion affects the entire accumulation unless aligned."
  },
  {
    "id": "FX-154",
    "name": "Pixelation",
    "family": "Image abstraction",
    "description": "Image detail becomes a grid of clearly visible coarse samples.",
    "aliases": [
      "pixel mosaic"
    ],
    "tags": [
      "pixel",
      "retro",
      "coarse",
      "grid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Downsample the image and enlarge it with nearest-neighbor sampling.",
    "web": "Conceptual: Sample a low-resolution render target without smoothing.",
    "video": "Conceptual: Resize down and back up with nearest-neighbor processing.",
    "caution": "A pixelated face is not guaranteed to provide privacy."
  },
  {
    "id": "FX-155",
    "name": "ASCII image",
    "family": "Image abstraction",
    "description": "Characters with different visual densities replace image regions.",
    "aliases": [
      "textmode image",
      "character art"
    ],
    "tags": [
      "type",
      "retro",
      "terminal",
      "grid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map local brightness to a calibrated glyph palette.",
    "web": "Conceptual: Render an image-sampled character grid on canvas or DOM.",
    "video": "Conceptual: Generate character-based frames at a fixed cell size.",
    "caution": "Font choice changes glyph density and therefore tonal accuracy."
  },
  {
    "id": "FX-156",
    "name": "Edge extraction",
    "family": "Image abstraction",
    "description": "Contours replace or overlay the filled appearance of an image.",
    "aliases": [
      "edge detect",
      "outline image"
    ],
    "tags": [
      "line",
      "technical",
      "contour",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Estimate local brightness or color gradients.",
    "web": "Conceptual: Use an edge-detection shader such as a gradient kernel.",
    "video": "Conceptual: Create an edge pass and grade it for clarity.",
    "caution": "Texture noise can generate many unwanted edges."
  },
  {
    "id": "FX-157",
    "name": "Threshold silhouette",
    "family": "Image abstraction",
    "description": "Image regions collapse to two values separated by a chosen threshold.",
    "aliases": [
      "binary image",
      "high-contrast threshold"
    ],
    "tags": [
      "silhouette",
      "black white",
      "graphic",
      "contrast"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Classify luminance above or below a cutoff.",
    "web": "Conceptual: Use a step function in a shader or SVG transfer filter.",
    "video": "Conceptual: Apply a controlled luminance threshold.",
    "caution": "A single threshold can merge a subject with similarly bright surroundings."
  },
  {
    "id": "FX-158",
    "name": "Low-poly image",
    "family": "Image abstraction",
    "description": "Faceted polygons approximate the forms and colors of a source image.",
    "aliases": [
      "triangulated image"
    ],
    "tags": [
      "facets",
      "geometry",
      "abstract",
      "polygon"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Triangulate chosen points and assign regional colors.",
    "web": "Conceptual: Render generated SVG triangles or a mesh.",
    "video": "Conceptual: Create faceted source frames or render a polygonal scene.",
    "caution": "Automatic triangulation may ignore meaningful subject boundaries."
  },
  {
    "id": "FX-159",
    "name": "Point-cloud image",
    "family": "Image abstraction",
    "description": "A subject resolves from spatially scattered points rather than filled surfaces.",
    "aliases": [
      "point portrait",
      "point rendering"
    ],
    "tags": [
      "points",
      "depth",
      "digital",
      "abstract"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sample color and optional depth into point primitives.",
    "web": "Conceptual: Render a point cloud from image or depth data.",
    "video": "Conceptual: Render colored points with a camera and depth-aware sizing.",
    "caution": "A flat image supplies color but not reliable physical depth."
  },
  {
    "id": "FX-160",
    "name": "Contour extrusion",
    "family": "Image abstraction",
    "description": "Image values rise into layered or continuous relief geometry.",
    "aliases": [
      "height-map relief",
      "image extrusion"
    ],
    "tags": [
      "relief",
      "depth",
      "contour",
      "3d"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map a scalar image value to geometric height.",
    "web": "Conceptual: Displace a mesh from a luminance or authored height map.",
    "video": "Conceptual: Build and light a height-field extrusion.",
    "caution": "Brightness is a design input, not an automatic estimate of object depth."
  },
  {
    "id": "FX-161",
    "name": "Mosaic tiles",
    "family": "Image abstraction",
    "description": "An image is reconstructed from colored or textured cells with visible seams.",
    "aliases": [
      "tiled image"
    ],
    "tags": [
      "tile",
      "pattern",
      "tactile",
      "grid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Aggregate local image regions into tile shapes.",
    "web": "Conceptual: Render cells with sampled colors and deliberate grout spacing.",
    "video": "Conceptual: Generate a tile composite from the source image.",
    "caution": "Tile scale controls recognition and needs review at final size."
  },
  {
    "id": "FX-162",
    "name": "Vector tracing",
    "family": "Image abstraction",
    "description": "Raster regions become simplified shapes with editable contours.",
    "aliases": [
      "image vectorization"
    ],
    "tags": [
      "vector",
      "flat",
      "shape",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Segment regions and fit vector paths to their boundaries.",
    "web": "Conceptual: Use prepared SVG paths with controlled simplification.",
    "video": "Conceptual: Trace selected frames or animate a stable vector interpretation.",
    "caution": "Independent tracing of every frame can produce unstable crawling contours."
  },
  {
    "id": "FX-163",
    "name": "Liquid metal surface",
    "family": "Material & dimensional treatments",
    "description": "A reflective surface deforms as if it were viscous polished metal.",
    "aliases": [
      "mercury look",
      "liquid chrome"
    ],
    "tags": [
      "metal",
      "fluid",
      "reflective",
      "3d"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine smoothly changing geometry with metallic environment reflections.",
    "web": "Conceptual: Render a deformed reflective mesh in WebGL.",
    "video": "Conceptual: Simulate or animate a metallic surface under designed lighting.",
    "caution": "Reflections must move coherently with surface shape to convey material."
  },
  {
    "id": "FX-164",
    "name": "Frosted glass",
    "family": "Material & dimensional treatments",
    "description": "Translucent surfaces soften background detail while retaining broad color and light.",
    "aliases": [
      "ground glass"
    ],
    "tags": [
      "glass",
      "soft",
      "translucent",
      "material"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Blur transmitted background inside a shaped surface mask.",
    "web": "Conceptual: Use supported backdrop blur or a captured-background shader.",
    "video": "Conceptual: Blur and tint the background beneath a glass matte.",
    "caution": "Backdrop blur alone lacks glass thickness and edge refraction."
  },
  {
    "id": "FX-165",
    "name": "Holographic foil",
    "family": "Material & dimensional treatments",
    "description": "A surface shifts through spectral colors as view or light angle changes.",
    "aliases": [
      "iridescent foil",
      "holographic sheen"
    ],
    "tags": [
      "spectrum",
      "reflective",
      "iridescent",
      "material"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map angle-dependent values into a moving spectral palette.",
    "web": "Conceptual: Use a normal/view-dependent shader or a restrained gradient approximation.",
    "video": "Conceptual: Render an iridescent material or composite spectral reflection passes.",
    "caution": "Random hue cycling does not reproduce coherent angular response."
  },
  {
    "id": "FX-166",
    "name": "Emboss and deboss",
    "family": "Material & dimensional treatments",
    "description": "Shapes appear raised above or pressed into a surface through edge lighting and shadow.",
    "aliases": [
      "pressed relief",
      "embossing"
    ],
    "tags": [
      "tactile",
      "relief",
      "print",
      "shadow"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Perturb surface normals or displace geometry along the shape boundary.",
    "web": "Conceptual: Use normal-mapped relief or restrained paired highlight and shadow layers.",
    "video": "Conceptual: Render relief geometry or light a bump-map pass.",
    "caution": "Light direction must remain consistent across all raised and recessed shapes."
  },
  {
    "id": "FX-167",
    "name": "Cloth deformation",
    "family": "Material & dimensional treatments",
    "description": "A graphic flexes with folds and ripples like a flexible fabric surface.",
    "aliases": [
      "fabric wave",
      "flag motion"
    ],
    "tags": [
      "fabric",
      "flexible",
      "fold",
      "3d"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Deform a textured mesh under wave, constraint, or simulation forces.",
    "web": "Conceptual: Animate a constrained mesh with fabric-like shading.",
    "video": "Conceptual: Simulate cloth or animate fold geometry with a texture map.",
    "caution": "A free-floating wave mesh lacks the attachment and gravity cues of cloth."
  },
  {
    "id": "FX-168",
    "name": "Paper fold",
    "family": "Material & dimensional treatments",
    "description": "A flat graphic bends along a crease into connected planar or curved sections.",
    "aliases": [
      "origami fold"
    ],
    "tags": [
      "paper",
      "fold",
      "tactile",
      "geometry"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rotate connected mesh regions around a defined fold line.",
    "web": "Conceptual: Animate a segmented textured mesh with a hinge.",
    "video": "Conceptual: Animate paper geometry with crease lighting and contact shadows.",
    "caution": "Thickness and fold direction affect which surface becomes visible."
  },
  {
    "id": "FX-169",
    "name": "Plastic inflation",
    "family": "Material & dimensional treatments",
    "description": "Flat shapes swell into rounded soft volumes.",
    "aliases": [
      "puffy shapes",
      "inflated lettering"
    ],
    "tags": [
      "soft",
      "rounded",
      "plastic",
      "3d"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Increase surface depth while preserving a constrained outline.",
    "web": "Conceptual: Morph a shape mesh or use prepared inflated geometry.",
    "video": "Conceptual: Animate inflation through mesh deformation or simulation.",
    "caution": "Uniform scaling does not produce the bulging profile of inflation."
  },
  {
    "id": "FX-170",
    "name": "Wireframe reveal",
    "family": "Material & dimensional treatments",
    "description": "A surface is represented or uncovered by its underlying edge network.",
    "aliases": [
      "mesh wireframe"
    ],
    "tags": [
      "technical",
      "mesh",
      "geometry",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Render mesh edges independently from the shaded surface.",
    "web": "Conceptual: Blend wireframe and solid mesh passes.",
    "video": "Conceptual: Composite edge renders with shaded geometry.",
    "caution": "Dense triangulation can overwhelm the intended silhouette."
  },
  {
    "id": "FX-171",
    "name": "Clay render",
    "family": "Material & dimensional treatments",
    "description": "A scene uses a largely uniform matte material to emphasize form and lighting.",
    "aliases": [
      "clay shading",
      "material override"
    ],
    "tags": [
      "matte",
      "sculptural",
      "form",
      "3d"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Replace surface materials with a common diffuse treatment.",
    "web": "Conceptual: Apply a shared matte material to scene meshes.",
    "video": "Conceptual: Render a material-override pass with controlled lighting.",
    "caution": "Uniform material does not remove the need for accurate shadows and geometry."
  },
  {
    "id": "FX-172",
    "name": "Anticipation",
    "family": "Animation systems",
    "description": "A small preparatory movement makes the following action easier to read.",
    "aliases": [
      "wind-up motion"
    ],
    "tags": [
      "timing",
      "character",
      "readability",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move briefly against or toward the coming action before its main phase.",
    "web": "Conceptual: Add a measured pre-action segment to an animation timeline.",
    "video": "Conceptual: Animate a preparation pose before the main motion.",
    "caution": "Overlong preparation can make interface actions feel delayed."
  },
  {
    "id": "FX-173",
    "name": "Squash and stretch",
    "family": "Animation systems",
    "description": "A form changes proportions to convey impact, flexibility, or speed.",
    "aliases": [
      "elastic deformation"
    ],
    "tags": [
      "elastic",
      "playful",
      "impact",
      "shape"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Compress one dimension while expanding another with controlled apparent volume.",
    "web": "Conceptual: Animate coordinated scale axes around a meaningful pivot.",
    "video": "Conceptual: Deform geometry or animate scale with volume awareness.",
    "caution": "Uncontrolled distortion can harm logos and text recognition."
  },
  {
    "id": "FX-174",
    "name": "Follow-through",
    "family": "Animation systems",
    "description": "Parts of an object continue moving after its main body stops.",
    "aliases": [
      "secondary settling"
    ],
    "tags": [
      "organic",
      "secondary",
      "motion",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Give secondary elements delayed settling and different damping.",
    "web": "Conceptual: Animate child elements with lagging spring responses.",
    "video": "Conceptual: Offset secondary motion and settling after the primary stop.",
    "caution": "Every element should not share identical delay and amplitude."
  },
  {
    "id": "FX-175",
    "name": "Overshoot",
    "family": "Animation systems",
    "description": "An object passes its final position before returning to rest.",
    "aliases": [
      "settle overshoot"
    ],
    "tags": [
      "elastic",
      "arrival",
      "timing",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Continue beyond the target then animate a controlled correction.",
    "web": "Conceptual: Use a bounded overshoot timing curve or spring.",
    "video": "Conceptual: Shape position curves around the final destination.",
    "caution": "Overshoot can conflict with precise controls or small target areas."
  },
  {
    "id": "FX-176",
    "name": "Motion on an arc",
    "family": "Animation systems",
    "description": "An object's trajectory curves through space instead of following a straight segment.",
    "aliases": [
      "arc motion",
      "curved trajectory"
    ],
    "tags": [
      "path",
      "organic",
      "spatial",
      "motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Interpolate movement along a curved spatial path.",
    "web": "Conceptual: Use a motion path or parametric curve.",
    "video": "Conceptual: Animate position along a spline.",
    "caution": "A curve needs appropriate speed changes rather than uniform parameter steps."
  },
  {
    "id": "FX-177",
    "name": "Smear frame",
    "family": "Animation systems",
    "description": "A brief distorted intermediate shape bridges a fast movement.",
    "aliases": [
      "animation smear"
    ],
    "tags": [
      "speed",
      "cartoon",
      "shape",
      "impact"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Stretch or redraw the moving form for selected transition frames.",
    "web": "Conceptual: Use a short-lived vector or mesh deformation.",
    "video": "Conceptual: Insert designed smear poses or distorted transition frames.",
    "caution": "A smear is a posed shape change, not simply a blur filter."
  },
  {
    "id": "FX-178",
    "name": "Loop phase offset",
    "family": "Animation systems",
    "description": "Repeated elements share one animation but begin at different phases.",
    "aliases": [
      "phase stagger"
    ],
    "tags": [
      "loop",
      "repeat",
      "rhythm",
      "system"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Offset a common periodic timeline by element index or position.",
    "web": "Conceptual: Drive instances with phase-shifted time values.",
    "video": "Conceptual: Offset repeated layer timelines within one loop period.",
    "caution": "The full composition only loops when all phase schedules share a compatible period."
  },
  {
    "id": "FX-179",
    "name": "Audio-reactive modulation",
    "family": "Animation systems",
    "description": "Sound features control visual parameters such as size, light, or density.",
    "aliases": [
      "music reactive",
      "sound driven"
    ],
    "tags": [
      "audio",
      "reactive",
      "rhythm",
      "interactive"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map measured audio bands or envelope values through smoothed control curves.",
    "web": "Conceptual: Use permission-appropriate audio analysis with bounded visual mappings.",
    "video": "Conceptual: Extract audio features and connect them to animation controls.",
    "caution": "Audio analysis needs smoothing; raw amplitude often produces unstable flicker."
  },
  {
    "id": "FX-180",
    "name": "Procedural growth",
    "family": "Animation systems",
    "description": "A graphic develops by extending branches or adding connected elements under rules.",
    "aliases": [
      "generative growth",
      "branching animation"
    ],
    "tags": [
      "organic",
      "generative",
      "growth",
      "system"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Iterate a growth system with spatial and temporal constraints.",
    "web": "Conceptual: Animate a bounded branching graph or rule-based geometry.",
    "video": "Conceptual: Generate growth geometry and render its staged emergence.",
    "caution": "Random growth should be seeded for reproducible variations."
  },
  {
    "id": "FX-181",
    "name": "Prism image multiplication",
    "family": "Light & optics",
    "description": "A faceted optical element produces several spatially offset images of the same subject.",
    "aliases": [
      "prism duplication",
      "multifaceted prism"
    ],
    "tags": [
      "optical",
      "prism",
      "duplicate",
      "portrait"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Refract or reflect incoming light through several optical facets.",
    "web": "Conceptual: Approximate with masked image duplicates and facet-specific transforms.",
    "video": "Conceptual: Film through a suitable prism or composite explicitly simulated facet images.",
    "caution": "Prism copies are an optical multiplicity; kaleidoscopic sector mirroring is a different construction."
  },
  {
    "id": "FX-182",
    "name": "In-camera camera shake",
    "family": "Camera & capture looks",
    "description": "Brief physical camera movement adds visible vibration at the moment of capture.",
    "aliases": [
      "physical camera vibration",
      "camera vibration"
    ],
    "tags": [
      "camera",
      "impact",
      "vibration",
      "practical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move the camera during exposure to combine image displacement with real exposure blur.",
    "web": "Conceptual: Simulate a short bounded camera transform with optional temporal sampling.",
    "video": "Conceptual: Capture a controlled camera vibration or label a post-production approximation.",
    "caution": "A physical shake affects exposure and perspective; random layer offsets only approximate it."
  },
  {
    "id": "FX-183",
    "name": "Kinetic sculpture",
    "family": "Material & dimensional treatments",
    "description": "Physical sculptural forms change position through an intentionally designed mechanical motion.",
    "aliases": [
      "moving sculpture",
      "mechanical sculpture"
    ],
    "tags": [
      "practical",
      "mechanical",
      "object",
      "sculpture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Build linked or articulated forms driven by a repeatable motion system.",
    "web": "Conceptual: Animate original modeled or vector components with matching pivots and constraints.",
    "video": "Conceptual: Film a moving sculpture or render a clearly identified digital reconstruction.",
    "caution": "A mechanically moving object is not evidence of stop-motion capture."
  },
  {
    "id": "FX-184",
    "name": "Hand-drawn rotoscoping",
    "family": "Image abstraction",
    "description": "Authored drawings follow live-action reference frame by frame to turn photographed movement into animation.",
    "aliases": [
      "drawn rotoscope",
      "rotoscope animation"
    ],
    "tags": [
      "drawn",
      "animation",
      "frame by frame",
      "reference"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Trace and interpret successive reference poses as drawn images.",
    "web": "Conceptual: Display prepared drawn frames or vector sequences with controlled playback.",
    "video": "Conceptual: Draw over selected reference frames and author transitions between them.",
    "caution": "This creates drawn animation; rotoscope cutout instead creates an isolation matte."
  },
  {
    "id": "FX-185",
    "name": "Live-action/animation compositing",
    "family": "Compositing & masking",
    "description": "Photographed imagery and authored animation share a coordinated finished frame.",
    "aliases": [
      "hybrid animation",
      "live-action animation hybrid"
    ],
    "tags": [
      "animation",
      "hybrid",
      "composite",
      "live action"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine animated and photographed layers with matched timing, perspective, and masks.",
    "web": "Conceptual: Layer prepared alpha animation over footage or render matched animated elements.",
    "video": "Conceptual: Composite drawn or computer-generated animation into photographed plates.",
    "caution": "Cutting between animation and live action is montage rather than shared-frame compositing."
  },
  {
    "id": "FX-186",
    "name": "Flat-shaded polygonal animation",
    "family": "Material & dimensional treatments",
    "description": "Moving three-dimensional forms expose planar faces through deliberately flat surface shading.",
    "aliases": [
      "flat-shaded CGI",
      "polygonal character animation"
    ],
    "tags": [
      "3d",
      "faceted",
      "animation",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate polygonal geometry while preserving face-level normals and simple materials.",
    "web": "Conceptual: Render animated low-complexity meshes with flat shading.",
    "video": "Conceptual: Animate and render polygonal models with faceted normals.",
    "caution": "A triangulated still image does not provide the geometry or motion of a 3D scene."
  },
  {
    "id": "FX-187",
    "name": "Cutout collage animation",
    "family": "Animation systems",
    "description": "Separately isolated photographic or graphic pieces move as an assembled collage.",
    "aliases": [
      "animated collage",
      "cutout animation"
    ],
    "tags": [
      "collage",
      "cutout",
      "animation",
      "layer"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate the transforms, pivots, and layer order of independent cutout elements.",
    "web": "Conceptual: Animate original transparent assets or SVG cutouts with measured layering.",
    "video": "Conceptual: Composite isolated image pieces and animate their individual transforms.",
    "caution": "The source pieces may be physical or digital; visible cutout style does not establish the capture method."
  },
  {
    "id": "FX-188",
    "name": "Xerographic texture",
    "family": "Analog & texture",
    "description": "Photocopied imagery introduces high-contrast toner breakup, edge distortion, and uneven reproduction.",
    "aliases": [
      "photocopy texture",
      "toner texture"
    ],
    "tags": [
      "photocopy",
      "print",
      "texture",
      "rough"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reproduce or imitate toner deposition and repeated-copy degradation.",
    "web": "Conceptual: Apply a prepared photocopy texture with contrast and edge masks.",
    "video": "Conceptual: Scan original photocopied assets or build a labeled digital approximation.",
    "caution": "Photocopier toner artifacts differ from film grain and porous ink bleed."
  },
  {
    "id": "FX-189",
    "name": "Stop-motion object animation",
    "family": "Animation systems",
    "description": "Physical objects are repositioned between separate photographic exposures to produce apparent movement.",
    "aliases": [
      "object stop motion",
      "stop-frame object animation"
    ],
    "tags": [
      "practical",
      "animation",
      "frame by frame",
      "object"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Capture a sequence of incremental object poses under controlled conditions.",
    "web": "Conceptual: Present the photographed sequence or a clearly labeled pose-based simulation.",
    "video": "Conceptual: Photograph incremental physical poses using planned exposure and registration.",
    "caution": "A low playback rate alone does not make footage physical stop-motion animation."
  },
  {
    "id": "FX-190",
    "name": "Pixilation",
    "family": "Animation systems",
    "description": "A live performer is posed and photographed frame by frame as a stop-motion subject.",
    "aliases": [
      "human stop motion",
      "pixilation animation"
    ],
    "tags": [
      "performer",
      "stop motion",
      "frame by frame",
      "practical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Capture incremental human poses between separate exposures.",
    "web": "Conceptual: Play an authored photographed sequence with a static alternative.",
    "video": "Conceptual: Plan performer poses and photograph each exposure with controlled registration.",
    "caution": "Pixilation animates people; pixelation reduces an image to visible blocks."
  },
  {
    "id": "FX-191",
    "name": "Replacement animation",
    "family": "Animation systems",
    "description": "An object or surface state is replaced between exposures to create a frame-by-frame transformation.",
    "aliases": [
      "replacement stop motion",
      "substitution animation"
    ],
    "tags": [
      "replacement",
      "stop motion",
      "transform",
      "practical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Photograph successive substitute models, components, or rebuilt surface arrangements.",
    "web": "Conceptual: Sequence prepared replacement-state images or an explicitly digital simulation.",
    "video": "Conceptual: Build and photograph successive replacement states with fixed registration.",
    "caution": "Replacement animation describes changed physical states, not merely movement of one unchanged object."
  },
  {
    "id": "FX-192",
    "name": "Feature-based image morphing",
    "family": "Transitions",
    "description": "Two images transform through coordinated feature alignment and an accompanying texture blend.",
    "aliases": [
      "feature morph",
      "landmark-aligned image morph"
    ],
    "tags": [
      "morph",
      "warp",
      "face",
      "transition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Warp both source images toward corresponding feature configurations while crossfading.",
    "web": "Conceptual: Interpolate matched image meshes or implement a feature-driven warp shader.",
    "video": "Conceptual: Define feature correspondences, warp both images, then blend their textures.",
    "caution": "A plain dissolve does not align features, and a silhouette morph does not transform photographic texture."
  },
  {
    "id": "FX-193",
    "name": "Motion-control compositing",
    "family": "Compositing & masking",
    "description": "Repeated camera moves allow separately photographed performances to share one moving view.",
    "aliases": [
      "repeat-pass compositing",
      "repeatable camera compositing"
    ],
    "tags": [
      "camera",
      "repeat",
      "composite",
      "precision"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Repeat a measured camera trajectory and combine the aligned passes.",
    "web": "Conceptual: Prototype with deterministic virtual-camera passes or prepared layered footage.",
    "video": "Conceptual: Capture repeatable motion-control passes and resolve overlaps during compositing.",
    "caution": "A locked camera is a simpler alternative; it is not a moving motion-control capture."
  },
  {
    "id": "FX-194",
    "name": "Beat-synchronized environments",
    "family": "Animation systems",
    "description": "Objects appear or recur along a scene path according to a deliberately authored musical timing map.",
    "aliases": [
      "visual music environment",
      "rhythmic spatial sequencing"
    ],
    "tags": [
      "music",
      "environment",
      "rhythm",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign musical events to spatial positions or timed environmental occurrences.",
    "web": "Conceptual: Drive an original scene from an authored event timeline synchronized to playback.",
    "video": "Conceptual: Lay out or composite environmental elements against a planned musical timeline.",
    "caution": "An authored beat map differs from live audio-reactive modulation driven by measured sound."
  },
  {
    "id": "FX-195",
    "name": "Moving-set illusion",
    "family": "Camera & capture looks",
    "description": "A camera that moves with a set makes independent objects appear to slide through an apparently stable room.",
    "aliases": [
      "camera-set coupling",
      "moving room illusion"
    ],
    "tags": [
      "practical",
      "camera",
      "illusion",
      "reference frame"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Couple camera and set motion while retaining independent world-space references.",
    "web": "Conceptual: Move a virtual room and camera together around separately positioned objects.",
    "video": "Conceptual: Prototype a physically moving set with a coupled camera and controlled sightlines.",
    "caution": "The apparent moving floor may be stationary; explain the actual reference-frame change."
  },
  {
    "id": "FX-196",
    "name": "View interpolation",
    "family": "Image abstraction",
    "description": "An intermediate viewpoint is synthesized from images captured at different camera positions.",
    "aliases": [
      "interpolated viewpoint",
      "image-based view synthesis"
    ],
    "tags": [
      "viewpoint",
      "depth",
      "interpolation",
      "camera"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Estimate correspondences or scene structure and render between sampled views.",
    "web": "Conceptual: Use paired-view reconstruction or a clearly labeled depth-aware approximation.",
    "video": "Conceptual: Capture suitable viewpoints and interpolate with explicit occlusion handling.",
    "caution": "A single-image parallax warp lacks information hidden from that original viewpoint."
  },
  {
    "id": "FX-197",
    "name": "Staged amateur performance",
    "family": "Camera & capture looks",
    "description": "A rehearsed performance deliberately adopts the movement and presentation cues of an incidental amateur recording.",
    "aliases": [
      "constructed amateur aesthetic",
      "staged candid look"
    ],
    "tags": [
      "performance",
      "lo fi",
      "documentary style",
      "direction"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Direct performance, framing, setting, and imperfections as a coordinated aesthetic.",
    "web": "Conceptual: Present original performance loops or translate the timing into restrained character animation.",
    "video": "Conceptual: Rehearse an original scene and film it with intentionally informal framing.",
    "caution": "This is a direction and performance approach, not a digital filter or proof of an actual candid event."
  },
  {
    "id": "FX-198",
    "name": "Practical mechanical puppetry",
    "family": "Material & dimensional treatments",
    "description": "A physical prop or figure performs through an externally operated or mechanically driven rig.",
    "aliases": [
      "mechanical puppet",
      "rigged practical prop"
    ],
    "tags": [
      "puppet",
      "practical",
      "mechanical",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Articulate controlled joints and link them to a deliberate performance system.",
    "web": "Conceptual: Prototype the same joint hierarchy and constrained movements in a virtual rig.",
    "video": "Conceptual: Build or operate an appropriate articulated prop and film its motion.",
    "caution": "Do not infer a particular actuator type from motion alone; practical puppetry need not be autonomous."
  },
  {
    "id": "FX-199",
    "name": "Character duplication",
    "family": "Compositing & masking",
    "description": "Several instances of one performer share a scene while preserving independent actions and overlaps.",
    "aliases": [
      "performer cloning",
      "multiple-performance composite"
    ],
    "tags": [
      "performer",
      "duplicate",
      "composite",
      "time"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine separately timed or captured performances within one coordinated composition.",
    "web": "Conceptual: Layer prepared alpha performances or synchronized original animated instances.",
    "video": "Conceptual: Capture separate performances and composite their interactions, shadows, and occlusions.",
    "caution": "This combines distinct performances; a simple repeated still or echo trail cannot reproduce independent action."
  },
  {
    "id": "FX-200",
    "name": "Practical model/VFX hybrid",
    "family": "Compositing & masking",
    "description": "Photographed physical models are extended or integrated through digital compositing and visual effects.",
    "aliases": [
      "practical digital hybrid",
      "model compositing"
    ],
    "tags": [
      "practical",
      "model",
      "vfx",
      "hybrid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use physical material and lighting as a base, then add matched digital elements or repairs.",
    "web": "Conceptual: Prototype with prepared model footage and original layered or rendered additions.",
    "video": "Conceptual: Photograph models and combine them with matched performance, masks, and digital refinement.",
    "caution": "Evidence of a hybrid approach does not establish which elements were practical in every shot."
  },
  {
    "id": "FX-201",
    "name": "Lyric cue-card performance",
    "family": "Type layout & interaction",
    "description": "Physical lettered cards are revealed or discarded as a timed performance of selected words.",
    "aliases": [
      "physical lyric cards",
      "cue-card typography"
    ],
    "tags": [
      "type",
      "practical",
      "lyrics",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate card order, lettering, handling, and musical or spoken cues.",
    "web": "Conceptual: Animate original card images through a finite sequence with a complete readable transcript.",
    "video": "Conceptual: Film original handwritten cards and choreograph their handling against the intended timing.",
    "caution": "Physical handling and material lettering distinguish this from a generic character reveal."
  },
  {
    "id": "FX-202",
    "name": "Mixed-media digital collage",
    "family": "Compositing & masking",
    "description": "Live action, illustration, typography, and computer animation share a deliberately heterogeneous composition.",
    "aliases": [
      "mixed-media collage",
      "hybrid graphic collage"
    ],
    "tags": [
      "collage",
      "hybrid",
      "animation",
      "type"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange independent media layers under a common visual and temporal structure.",
    "web": "Conceptual: Compose original animated, video, and vector layers with explicit layout and playback states.",
    "video": "Conceptual: Composite distinct media layers while retaining their intended visual differences.",
    "caution": "This describes compositional integration; it does not establish the production medium of each layer."
  },
  {
    "id": "FX-203",
    "name": "Rotating-mask optical illusion",
    "family": "Material & dimensional treatments",
    "description": "A rotating face-like form creates ambiguity about its orientation through coordinated shape, light, and viewing cues.",
    "aliases": [
      "rotating face illusion",
      "mask orientation illusion"
    ],
    "tags": [
      "illusion",
      "mask",
      "perception",
      "rotation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate a face or mask while testing the perceptual interpretation of its surface and rotation.",
    "web": "Conceptual: Prototype an original mask mesh with adjustable lighting and a pause state.",
    "video": "Conceptual: Render or photograph a rotating mask and review the perceived orientation through its full movement.",
    "caution": "Do not label a particular reference a hollow-face illusion unless its specific mechanism is verified."
  },
  {
    "id": "FX-204",
    "name": "Computer-generated portrait animation",
    "family": "Animation systems",
    "description": "A modeled digital face becomes a synthetic performer through designed facial poses and motion.",
    "aliases": [
      "digital portrait animation",
      "virtual mannequin performance"
    ],
    "tags": [
      "portrait",
      "face",
      "3d",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate a portrait mesh using rigged facial controls and a planned temporal performance.",
    "web": "Conceptual: Render an original facial rig with a limited reusable pose vocabulary.",
    "video": "Conceptual: Animate and render a portrait rig with explicit facial pose and timing controls.",
    "caution": "A low-poly filter on a photograph does not provide a time-varying facial rig."
  },
  {
    "id": "FX-205",
    "name": "Dance-reference animation",
    "family": "Animation systems",
    "description": "Recorded dance guides an animated character's timing and poses without requiring literal tracing.",
    "aliases": [
      "performance-reference animation",
      "choreography reference"
    ],
    "tags": [
      "dance",
      "reference",
      "character",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Analyze performance reference and translate its movement into authored character poses.",
    "web": "Conceptual: Play an original rigged or frame-based animation derived from an approved reference performance.",
    "video": "Conceptual: Record dance reference and author key poses and transitions for the intended character.",
    "caution": "Reference-guided animation is not rotoscoping unless drawings actually trace the reference frames."
  },
  {
    "id": "FX-206",
    "name": "Clay animation",
    "family": "Animation systems",
    "description": "Physical clay is reshaped or repositioned between exposures to create motion and material transformation.",
    "aliases": [
      "clay stop motion",
      "claymation"
    ],
    "tags": [
      "clay",
      "practical",
      "stop motion",
      "transform"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Photograph a controlled succession of sculpted clay states.",
    "web": "Conceptual: Display the photographed sequence or label a digital simulation of sculpted states explicitly.",
    "video": "Conceptual: Sculpt and photograph incremental changes with consistent camera and lighting registration.",
    "caution": "A clay-like surface shader alone is a material treatment, not physical clay animation."
  },
  {
    "id": "FX-207",
    "name": "Instrument-to-character choreography",
    "family": "Animation systems",
    "description": "Distinct performers or character groups embody separate musical parts through an authored movement score.",
    "aliases": [
      "musical-part choreography",
      "stem-to-character mapping"
    ],
    "tags": [
      "music",
      "choreography",
      "character",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign each musical part to a group and coordinate its movement on a shared timeline.",
    "web": "Conceptual: Animate original character groups from an explicit musical event map.",
    "video": "Conceptual: Choreograph and film independent performer groups against a common musical score.",
    "caution": "This is composed synchronization; it does not imply automatic or live audio analysis."
  },
  {
    "id": "FX-208",
    "name": "Programmed RGB lighting",
    "family": "Light & optics",
    "description": "Independently controlled colored lights perform a repeatable sequence against a shared timeline.",
    "aliases": [
      "timecoded color lighting",
      "sequenced RGB lights"
    ],
    "tags": [
      "light",
      "rgb",
      "music",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Schedule the red, green, and blue contributions of lighting groups as timed cues.",
    "web": "Conceptual: Prototype the lighting sequence in a virtual scene with calibrated color and intensity controls.",
    "video": "Conceptual: Program practical lighting cues with the performance timeline and review the recorded color response.",
    "caution": "Physical light mixing and camera response are not identical to displaying RGB color values on a screen."
  },
  {
    "id": "FX-209",
    "name": "Speed-synchronized performance",
    "family": "Camera & capture looks",
    "description": "Performance playback and picture timing are coordinated to alter motion while preserving intended musical synchronization.",
    "aliases": [
      "Variable-speed synchronized capture",
      "synchronized undercranking",
      "synchronized overcranking",
      "playback-compensated performance"
    ],
    "tags": [
      "camera",
      "time",
      "performance",
      "synchronization"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Perform against deliberately altered reference timing and coordinate recorded-picture playback with the intended soundtrack; capture-rate control or later conforming may implement that relationship.",
    "web": "Proposed: Compare original prepared sequences with independent guide-track, capture-rate and picture-playback controls; label simulated timing.",
    "video": "Proposed: Rehearse an original performance against altered playback and plan picture timing to recover soundtrack synchronization. Record guide speed, capture cadence, shutter and delivery timing independently.",
    "caution": "A timing relationship does not establish a historical camera rate. Preserve each source's confirmed acquisition details; an ordinary post-only speed change without coordinated performance is outside this approach."
  },
  {
    "id": "FX-210",
    "name": "Hand-cranked capture",
    "family": "Camera & capture looks",
    "description": "Manual camera transport contributes irregular temporal sampling and exposure to the recorded motion.",
    "aliases": [
      "manual-crank camera",
      "manual film transport"
    ],
    "tags": [
      "camera",
      "analog",
      "cadence",
      "exposure"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Let intentional variation in mechanical transport affect capture cadence and exposure.",
    "web": "Conceptual: Approximate with separately controlled temporal sampling and exposure curves labeled as a simulation.",
    "video": "Conceptual: Use an appropriate manually driven capture setup or a clearly identified digital approximation.",
    "caution": "Digital cadence and brightness modulation do not establish equivalence to a particular physical camera or film stock."
  },
  {
    "id": "FX-211",
    "name": "Sustained close-up",
    "family": "Camera & capture looks",
    "description": "An extended close framing lets small facial changes or local events become the structure of a shot.",
    "aliases": [
      "held close-up",
      "extended close view"
    ],
    "tags": [
      "camera",
      "portrait",
      "duration",
      "composition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Hold a carefully composed near view across a meaningful duration.",
    "web": "Conceptual: Present a controlled original close-up sequence with accessible playback controls.",
    "video": "Conceptual: Plan framing, duration, performance, and the timed event within the close view.",
    "caution": "A real-time feeling does not prove a single take, constant capture rate, or absence of editing."
  },
  {
    "id": "FX-212",
    "name": "Selective sky treatment",
    "family": "Color & channels",
    "description": "The sky receives a distinct tonal or color treatment from the surrounding scene.",
    "aliases": [
      "sky grading",
      "regional sky recoloring"
    ],
    "tags": [
      "sky",
      "color",
      "mask",
      "grade"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Isolate a sky region and apply its own color or luminance transformation.",
    "web": "Conceptual: Use an authored sky mask over original imagery and expose separate treatment controls.",
    "video": "Conceptual: Create or track a sky matte and grade the region independently.",
    "caution": "A documented sky look does not establish which isolation or processing method the original production used."
  },
  {
    "id": "FX-213",
    "name": "Prop accumulation through repeated setups",
    "family": "Animation systems",
    "description": "Matching physical objects appear to multiply through a sequence of deliberately altered setups.",
    "aliases": [
      "physical prop accumulation",
      "setup accumulation"
    ],
    "tags": [
      "practical",
      "repeat",
      "object",
      "rhythm"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Add or remove matching props between recorded setups and assemble their order in the edit.",
    "web": "Conceptual: Sequence original photographed setups or a clearly labeled instanced-object simulation.",
    "video": "Conceptual: Plan repeatable framing, change the prop arrangement between setups, and edit the resulting states.",
    "caution": "Repeated physical props do not imply digital cloning or animation of a single object."
  },
  {
    "id": "FX-214",
    "name": "Reverse-synchronized performance",
    "family": "Motion & time",
    "description": "A backward-performed action becomes an intelligible forward performance when its recorded image is reversed.",
    "aliases": [
      "backward-performed lip sync",
      "reverse performance"
    ],
    "tags": [
      "reverse",
      "performance",
      "time",
      "synchronization"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rehearse against a reversed reference, reverse the picture, and align the intended forward audio.",
    "web": "Conceptual: Compare prepared forward and reversed original performances with controlled playback.",
    "video": "Conceptual: Rehearse a short reversed guide, record the performance, reverse the image, and restore forward sound.",
    "caution": "Reversing ordinary footage alone will not preserve lip synchronization or intentional forward gestures."
  },
  {
    "id": "FX-215",
    "name": "Archival reconstruction and intercut",
    "family": "Compositing & masking",
    "description": "New footage reproduces a historical screen world closely enough to alternate convincingly with existing material.",
    "aliases": [
      "archive matching",
      "period reconstruction intercut"
    ],
    "tags": [
      "archive",
      "match",
      "edit",
      "period"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Match sets, framing, performance, and image response before intercutting new and older shots.",
    "web": "Conceptual: Present original or licensed paired scenes with a comparison between matched and untreated images.",
    "video": "Conceptual: Reconstruct key visual cues, capture new material, match its image response, and edit with the archive.",
    "caution": "Archival intercutting does not establish that the performer was digitally inserted inside each archival frame."
  },
  {
    "id": "FX-216",
    "name": "Built-set/VFX hybrid",
    "family": "Compositing & masking",
    "description": "A full-scale physical performance environment is selectively extended or altered through visual effects.",
    "aliases": [
      "set extension hybrid",
      "physical set digital extension"
    ],
    "tags": [
      "set",
      "practical",
      "vfx",
      "architecture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Photograph actors within built scenery and add matched digital extensions or transformations.",
    "web": "Conceptual: Prototype the built space and intended extensions as separable original scene layers.",
    "video": "Conceptual: Plan the physical performance area, capture the set, and composite selected matched extensions.",
    "caution": "A documented hybrid production does not identify the practical and digital elements of every shot."
  },
  {
    "id": "FX-217",
    "name": "Pepper’s ghost reflection",
    "family": "Light & optics",
    "description": "A lit subject against darkness appears as a transparent reflection within a separately visible scene.",
    "aliases": [
      "peppers ghost",
      "ghost reflection illusion"
    ],
    "tags": [
      "reflection",
      "glass",
      "practical",
      "illusion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reflect a separately illuminated subject in angled transparent glass while retaining the transmitted view.",
    "web": "Conceptual: Demonstrate aligned transmitted and reflected image layers as an explicitly digital analogy.",
    "video": "Conceptual: Compose a dark reflected performance area and a visible scene through angled glass, then balance illumination.",
    "caution": "This is a reflection illusion rather than a hologram or proof of digital compositing."
  },
  {
    "id": "FX-218",
    "name": "Practical projection",
    "family": "Light & optics",
    "description": "Projected moving or still imagery becomes part of the photographed lighting and surface appearance of a scene.",
    "aliases": [
      "in-camera projection",
      "projected imagery"
    ],
    "tags": [
      "projection",
      "light",
      "practical",
      "surface"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Cast an image onto real surfaces and capture its interaction with geometry and material.",
    "web": "Conceptual: Prototype with a virtual projector or prepared footage of an original projected installation.",
    "video": "Conceptual: Project original imagery onto a controlled scene and coordinate focus, light balance, and capture timing.",
    "caution": "A digital overlay does not reproduce the way projected light falls across real geometry."
  },
  {
    "id": "FX-219",
    "name": "Prosthetic performance",
    "family": "Material & dimensional treatments",
    "description": "Applied physical alterations transform a performer while their movement gives the altered form life.",
    "aliases": [
      "prosthetic character",
      "makeup effects performance"
    ],
    "tags": [
      "prosthetic",
      "character",
      "practical",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine fitted physical character elements with a rehearsed embodied performance.",
    "web": "Conceptual: Use prepared original footage or a clearly labeled rigged character analogy.",
    "video": "Conceptual: Design appropriate character elements and rehearse their movement before controlled photography.",
    "caution": "A visible transformed face does not prove digital face replacement or identify how a prosthesis was constructed."
  },
  {
    "id": "FX-220",
    "name": "Practical wind interaction",
    "family": "Particles & atmosphere",
    "description": "Controlled moving air visibly deforms hair, fabric, or other materials to express an implied force.",
    "aliases": [
      "airflow interaction",
      "wind-machine effect"
    ],
    "tags": [
      "wind",
      "practical",
      "fabric",
      "force"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply an intentional air movement and photograph the resulting material response.",
    "web": "Conceptual: Animate an original cloth or hair simulation as a digital analogue with a bounded control.",
    "video": "Conceptual: Rehearse modest controlled airflow on materials and frame their response to communicate direction and force.",
    "caution": "A photographed airflow response is distinct from a uniform displacement filter applied to the whole frame."
  },
  {
    "id": "FX-221",
    "name": "Scale exaggeration",
    "family": "Material & dimensional treatments",
    "description": "A familiar subject becomes dramatically larger or smaller relative to a stable visual reference.",
    "aliases": [
      "exaggerated scale",
      "giant-object illusion"
    ],
    "tags": [
      "scale",
      "illusion",
      "proportion",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Alter relative size through a designed physical, optical, or digital construction.",
    "web": "Conceptual: Scale original scene geometry while maintaining clear reference objects and contact cues.",
    "video": "Conceptual: Compare oversized props, controlled perspective, or a tracked digital element as distinct implementation choices.",
    "caution": "An oversized appearance alone does not identify which original production method created it."
  },
  {
    "id": "FX-222",
    "name": "Choreographed camera movement",
    "family": "Camera & capture looks",
    "description": "Camera position and movement are rehearsed with performers so framing reveals actions at deliberate moments.",
    "aliases": [
      "camera choreography",
      "performance camera blocking"
    ],
    "tags": [
      "camera",
      "choreography",
      "performance",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Design camera and performer paths as one coordinated spatial and temporal sequence.",
    "web": "Conceptual: Animate a virtual camera and original characters from a shared finite timeline.",
    "video": "Conceptual: Rehearse camera blocking alongside performer movement and musical or dramatic cues.",
    "caution": "A choreographed view does not imply a particular lens, camera rig, or motion-control system."
  },
  {
    "id": "FX-223",
    "name": "Recursive staging",
    "family": "Material & dimensional treatments",
    "description": "A scene contains a smaller reenactment of itself, making self-reference spatially visible.",
    "aliases": [
      "nested stage",
      "scene within a scene"
    ],
    "tags": [
      "recursive",
      "stage",
      "scale",
      "spatial"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Build nested scene representations that preserve selected landmarks while changing scale or context.",
    "web": "Conceptual: Arrange a finite set of nested original scenes with explicit step-through controls.",
    "video": "Conceptual: Stage successive physical or digital versions of a scene with a recognizable repeated landmark.",
    "caution": "Nested staging is a constructed scene relationship, not recursive video feedback or an endless zoom requirement."
  },
  {
    "id": "FX-224",
    "name": "Miniature scenic staging",
    "family": "Material & dimensional treatments",
    "description": "Small physical scenery represents a larger environment or a deliberately nested stage.",
    "aliases": [
      "miniature set",
      "physical scenic model"
    ],
    "tags": [
      "miniature",
      "set",
      "practical",
      "scale"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Construct and photograph reduced-scale scenery with chosen perspective, materials, and lighting.",
    "web": "Conceptual: Display photographed original models or a labeled virtual model study.",
    "video": "Conceptual: Build a scaled scenic model and plan camera position, lighting, and any performance integration.",
    "caution": "Physical miniature scenery differs from adding a tilt-shift blur to a full-size scene."
  },
  {
    "id": "FX-225",
    "name": "Genre pastiche",
    "family": "Camera & capture looks",
    "description": "A new production combines recognizable genre conventions into a coherent invented screen world.",
    "aliases": [
      "genre homage",
      "screen-genre imitation"
    ],
    "tags": [
      "genre",
      "performance",
      "style",
      "direction"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate framing, wardrobe, performance, editing, and graphic cues around an intentional genre vocabulary.",
    "web": "Conceptual: Present original scenes or cast elements within a consistent genre-inspired interface treatment.",
    "video": "Conceptual: Create an original premise and characters, then coordinate the relevant visual and performance conventions.",
    "caution": "This is a creative strategy; it does not establish a particular capture format, lens, or effects process."
  },
  {
    "id": "FX-226",
    "name": "Character costume transformation",
    "family": "Material & dimensional treatments",
    "description": "Wardrobe, hair, and makeup turn a performer into a deliberately invented screen identity.",
    "aliases": [
      "costume characterization",
      "wardrobe transformation"
    ],
    "tags": [
      "costume",
      "character",
      "practical",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate physical appearance changes with character-specific posture and performance.",
    "web": "Conceptual: Present original character portraits or rigged illustrations with distinct appearance and gesture states.",
    "video": "Conceptual: Develop original costume, hair, makeup, and movement choices as a unified character treatment.",
    "caution": "Wardrobe-based characterization is distinct from prosthetic reshaping or digital body replacement."
  },
  {
    "id": "FX-227",
    "name": "Facial proportion distortion",
    "family": "Distortion & refraction",
    "description": "Alter selected facial proportions while maintaining enough surrounding anatomy to keep the face recognizable.",
    "aliases": [
      "facial warp",
      "exaggerated facial proportions"
    ],
    "tags": [
      "facial",
      "proportion",
      "distortion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Alter selected facial feature size, shape or spacing within an image, integrating the changed region with surrounding facial detail. Tracking can support moving footage but is not intrinsic to the proportional change.",
    "web": "Conceptual: Use an original face illustration with a bounded mesh deformation and an unmodified comparison.",
    "video": "Conceptual: Track an original performance, deform a limited face region and composite it into the unmodified image.",
    "caution": "A facial proportion change does not by itself establish landmark tracking, a mesh-warp algorithm or historical software. Feature replacement, motion-capture transfer and tracked 3D geometry are separate operations."
  },
  {
    "id": "FX-228",
    "name": "3D character animation",
    "family": "Animation systems",
    "description": "Model, rig and animate a three-dimensional character for a rendered scene; this does not imply flat shading, real-time rendering or motion capture.",
    "aliases": [
      "CG character animation",
      "computer animated character"
    ],
    "tags": [
      "d",
      "character",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move a modeled character through a rig, keyed poses or appropriately mapped captured motion, then render the scene.",
    "web": "Conceptual: Prototype an original rigged character with a finite interaction and a static alternative.",
    "video": "Conceptual: Develop an original character, rig and short action before lighting and rendering it for compositing.",
    "caution": "Computer animation does not imply motion capture, real-time rendering or any particular shading style."
  },
  {
    "id": "FX-229",
    "name": "Video-game interface pastiche",
    "family": "Camera & capture looks",
    "description": "Use invented avatars, game-space logic and interface conventions as a coherent visual language without claiming an actual playable game.",
    "aliases": [
      "game-world pastiche",
      "game interface styling"
    ],
    "tags": [
      "video",
      "game",
      "interface",
      "pastiche"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate invented interface graphics, character goals, virtual space and camera conventions around an imagined game.",
    "web": "Conceptual: Combine original interface graphics and a small scene into a clearly labeled visual study.",
    "video": "Conceptual: Storyboard a fictional game sequence and design its interface, avatars and scene transitions together.",
    "caution": "A game-like music video is not necessarily playable or generated by a real-time game engine."
  },
  {
    "id": "FX-230",
    "name": "Anthropomorphic object performance",
    "family": "Material & dimensional treatments",
    "description": "Give an ordinary object recognizable intention and emotion through costume performance, puppetry or animation.",
    "aliases": [
      "object character",
      "personified object"
    ],
    "tags": [
      "anthropomorphic",
      "object",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Give an object a readable intention through pose, timing, gaze, gesture or interaction with its surroundings.",
    "web": "Conceptual: Animate an original object illustration through a few expressive states.",
    "video": "Conceptual: Compare original costume performance, puppetry and animation as distinct production approaches.",
    "caution": "The visible personality of an object does not identify whether it was costumed, puppeteered or animated."
  },
  {
    "id": "FX-231",
    "name": "Continuous-take staging",
    "family": "Camera & capture looks",
    "description": "Coordinate performers, scenery and camera behavior over a sustained captured take, without assuming hidden cuts or a historical first.",
    "aliases": [
      "long-take staging",
      "single-take choreography"
    ],
    "tags": [
      "continuous",
      "take",
      "staging"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate the camera, performers and scene changes over a sustained captured take.",
    "web": "Conceptual: Prototype the blocking on a finite virtual timeline with pause and step controls.",
    "video": "Conceptual: Rehearse a short original action and coordinated camera path, then record a complete take.",
    "caution": "An apparently unbroken scene may contain edits; verify continuity claims separately."
  },
  {
    "id": "FX-232",
    "name": "Reframing reveal",
    "family": "Camera & capture looks",
    "description": "Alter the frame to disclose information that changes the meaning of what was already visible.",
    "aliases": [
      "frame expansion reveal",
      "context reveal"
    ],
    "tags": [
      "reframing",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move or widen the frame so previously excluded information changes the interpretation of the initial view.",
    "web": "Conceptual: Reveal an original composition through a user-controlled crop or camera move.",
    "video": "Conceptual: Plan an initial restricted frame and a second composition that makes the hidden relationship legible.",
    "caution": "This mechanism concerns information revealed by composition, not necessarily an optical zoom."
  },
  {
    "id": "FX-233",
    "name": "Subjective point-of-view camera",
    "family": "Camera & capture looks",
    "description": "Place and move a camera as a character’s apparent visual attention. This describes viewpoint rather than one required rig.",
    "aliases": [
      "first-person camera",
      "subjective camera",
      "POV"
    ],
    "tags": [
      "subjective",
      "point",
      "of",
      "view",
      "camera"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Align framing, attention and movement with the apparent experience of a character.",
    "web": "Conceptual: Prototype a bounded first-person scene or sequence with an accessible fixed-view alternative.",
    "video": "Conceptual: Design a short subjective shot with deliberate eyeline and movement; choose an appropriate controlled camera setup.",
    "caution": "Subjective viewpoint does not require a body-mounted rig or a particular lens."
  },
  {
    "id": "FX-234",
    "name": "Animatic-led scene development",
    "family": "Animation systems",
    "description": "Resolve timing, camera position and spatial relationships using rough storyboard or 3D sequences before final detailed production.",
    "aliases": [
      "previsualization animatic",
      "rough scene blocking"
    ],
    "tags": [
      "animatic",
      "led",
      "scene",
      "development"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Resolve shot order, framing, timing and spatial relationships using rough sequences before final asset production.",
    "web": "Conceptual: Use rough layouts or a simple 3D blocking sequence to compare pacing and comprehension.",
    "video": "Conceptual: Build a low-detail storyboard animatic, test the sequence, then replace approved shots with final production.",
    "caution": "An animatic is a planning artifact; it does not guarantee the feasibility of the eventual effects."
  },
  {
    "id": "FX-235",
    "name": "Selective scene detail",
    "family": "Material & dimensional treatments",
    "description": "Concentrate asset, texture and render detail in visible and compositionally important regions while simplifying what the frame and light conceal.",
    "aliases": [
      "selective asset detail",
      "visibility-led detail"
    ],
    "tags": [
      "selective",
      "scene",
      "detail"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Allocate geometry, textures, lighting and finishing effort according to what the intended view will expose.",
    "web": "Conceptual: Test original scene silhouettes and major detail at the intended display size before adding resolution.",
    "video": "Conceptual: Block the camera and lighting first, then concentrate detail on visible and meaningful parts of the scene.",
    "caution": "Reduced detail must be checked across every final view, exposure change and output resolution."
  },
  {
    "id": "FX-236",
    "name": "Facial motion-capture transfer",
    "family": "Animation systems",
    "description": "Apply recorded facial movement to a controllable animated facial component or rig; the mapping and compositing remain explicit production stages.",
    "aliases": [
      "facial performance transfer",
      "jaw motion capture"
    ],
    "tags": [
      "facial",
      "motion",
      "capture",
      "transfer"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map recorded facial motion onto controlled regions of an animated face, then integrate the result with its target scene.",
    "web": "Conceptual: Demonstrate an original face rig driven by a small recorded or synthetic parameter sequence.",
    "video": "Conceptual: Record a consenting original performance, map it to a face rig, inspect the deformation and composite the rendered result.",
    "caution": "Transferred motion is distinct from an automatic identity replacement or proof of a particular capture system."
  },
  {
    "id": "FX-237",
    "name": "Archival re-editing",
    "family": "Motion & time",
    "description": "Reorder existing material to create new relationships, character emphasis or narrative while preserving attribution and rights context.",
    "aliases": [
      "archive remix editing",
      "found-footage re-edit"
    ],
    "tags": [
      "archival",
      "re",
      "editing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reorder existing shots to establish a new sequence of events, character emphasis or narrative association.",
    "web": "Conceptual: Arrange owned or licensed original excerpts in a new finite sequence with source attribution.",
    "video": "Conceptual: Create an editorial plan for permitted source material and test how changing shot order changes the story.",
    "caution": "Editing existing material does not establish permission to redistribute it or add altered dialogue."
  },
  {
    "id": "FX-238",
    "name": "Palindromic narrative",
    "family": "Motion & time",
    "description": "Organize actions into forward and backward temporal structures that meet at a central event.",
    "aliases": [
      "temporal palindrome",
      "forward-backward narrative"
    ],
    "tags": [
      "palindromic",
      "narrative"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange forward and backward temporal structures around a central event or point of correspondence.",
    "web": "Conceptual: Use an original diagram or animation with two readable timelines and a marked midpoint.",
    "video": "Conceptual: Map the story on paired timelines, test continuity in an animatic and plan capture or reversal for each action.",
    "caution": "Symmetric narrative structure is not proof of a single take or a particular reversing/compositing technique."
  },
  {
    "id": "FX-239",
    "name": "Hand-scratched film lettering",
    "family": "Type surfaces",
    "description": "Letterforms retain the irregular marks of hand scratching through an opaque surface.",
    "aliases": [
      "scratchboard titles",
      "etched lettering"
    ],
    "tags": [
      "type",
      "handmade",
      "scratch"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scratch original lettering into a coated surface, then photograph or scan the marks.",
    "web": "Conceptual: Display scanned original letterforms as masks while preserving accessible live text.",
    "video": "Conceptual: Photograph original scratchboard lettering and composite it over a plate.",
    "caution": "Distress added to a font can approximate texture but does not establish hand-etched provenance."
  },
  {
    "id": "FX-240",
    "name": "Hand-stamped silhouette animation",
    "family": "Image abstraction",
    "description": "Printed impressions of handmade stamps supply poses and irregular edges for animated figures.",
    "aliases": [
      "stamp animation"
    ],
    "tags": [
      "stamp",
      "silhouette",
      "handmade"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Make successive stamped impressions or poses, digitize them and arrange their timing.",
    "web": "Conceptual: Sequence original scanned stamp poses in a sprite or canvas animation.",
    "video": "Conceptual: Capture stamped impressions and register them into an animation or composite.",
    "caution": "A flat silhouette does not establish luminance thresholding; stamp edges come from the artwork."
  },
  {
    "id": "FX-241",
    "name": "Camera projection on geometry",
    "family": "Compositing & masking",
    "description": "Photographs gain limited spatial camera movement when projected onto matching scene geometry.",
    "aliases": [
      "photo projection",
      "2.5D projection",
      "camera mapping"
    ],
    "tags": [
      "projection",
      "parallax",
      "photograph"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Project a source image from a calibrated camera onto simplified geometry and render from nearby viewpoints.",
    "web": "Conceptual: Use original textures on simple depth geometry with tightly bounded camera motion.",
    "video": "Conceptual: Build proxy geometry, project a cleared photograph and repair newly exposed regions.",
    "caution": "A single photograph contains no information about hidden surfaces; large moves expose gaps and stretching."
  },
  {
    "id": "FX-242",
    "name": "Hand-lettered title over footage",
    "family": "Type form",
    "description": "Custom drawn lettering is composed around the visible action and proportions of a photographed plate.",
    "aliases": [
      "grease-pencil lettering",
      "handwritten film titles"
    ],
    "tags": [
      "type",
      "handmade",
      "lettering"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Draw the letterforms for the final frame and composite the resulting artwork over footage.",
    "web": "Conceptual: Use original vector or scanned lettering with an accessible text equivalent.",
    "video": "Conceptual: Draw title artwork over a reference plate and composite with consistent stroke weight.",
    "caution": "Hand-drawn wide or narrow letters do not imply animated horizontal scaling."
  },
  {
    "id": "FX-243",
    "name": "Electrophotographic discharge lettering",
    "family": "Type surfaces",
    "description": "Electrical discharge around conductive letterforms creates irregular luminous edges recorded photographically.",
    "aliases": [
      "Kirlian lettering",
      "discharge type"
    ],
    "tags": [
      "electric",
      "type",
      "photographic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Record the light emitted by a discharge around a shaped conductive subject.",
    "web": "Conceptual: Animate procedural arc textures along original glyph contours and label the result a simulation.",
    "video": "Conceptual: Composite original electric-arc assets or use a procedural simulation around letter masks.",
    "caution": "A neon glow is a different mechanism; physical high-voltage capture requires specialist facilities."
  },
  {
    "id": "FX-244",
    "name": "Viscous fluid envelopment",
    "family": "Material & dimensional treatments",
    "description": "A thick simulated liquid flows around and progressively covers figures or objects.",
    "aliases": [
      "black ooze",
      "liquid envelopment"
    ],
    "tags": [
      "fluid",
      "viscous",
      "simulation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Solve liquid motion against collision geometry with viscosity and material response chosen for the desired flow.",
    "web": "Conceptual: Use a prepared animation or bounded approximation rather than assuming a full real-time fluid solver.",
    "video": "Conceptual: Simulate a short original scene around collision proxies and render the fluid with controlled highlights.",
    "caution": "Dark glossy shading alone is not evidence of fluid simulation; preserve the flow and contact behavior."
  },
  {
    "id": "FX-245",
    "name": "Veiling glare",
    "family": "Light & optics",
    "description": "Stray light within the optical system lowers local contrast and can veil shadow detail.",
    "aliases": [
      "uncoated-lens veiling glare",
      "milky contrast"
    ],
    "tags": [
      "optics",
      "glare",
      "contrast"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Allow or model scattered and internally reflected light that spreads beyond the intended image.",
    "web": "Conceptual: Approximate with a scene-dependent low-frequency light veil while retaining an unprocessed comparison.",
    "video": "Conceptual: Test a flare-prone optical setup or composite a restrained light veil matched to the source direction.",
    "caution": "Veiling glare is broader than a discrete flare ghost and is not identical to defocus or halation."
  },
  {
    "id": "FX-246",
    "name": "Silver-retention processing",
    "family": "Color & channels",
    "description": "Retaining metallic silver during film processing changes contrast, density and color saturation.",
    "aliases": [
      "ENR",
      "bleach bypass look"
    ],
    "tags": [
      "film",
      "laboratory",
      "desaturation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modify the bleaching or silver-removal stage of a laboratory process so silver contributes to the final image.",
    "web": "Conceptual: Present a labeled approximation using coupled contrast and saturation controls.",
    "video": "Conceptual: Test a chosen laboratory process or build a graded approximation from reference exposures.",
    "caution": "Processes and print versus negative treatments differ; lifted blacks are not an inherent definition of silver retention."
  },
  {
    "id": "FX-247",
    "name": "Orthochromatic spectral filtering",
    "family": "Color & channels",
    "description": "Spectral filtering suppresses red sensitivity before a monochrome image is formed.",
    "aliases": [
      "ortho look",
      "short-pass filtering"
    ],
    "tags": [
      "monochrome",
      "spectral",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Restrict the wavelengths reaching the capture medium to change the relative tones of colored subjects.",
    "web": "Conceptual: Approximate a blue-green monochrome response from an original RGB image and identify the limitation.",
    "video": "Conceptual: Test a suitable optical filter with the actual capture medium, lighting and subject colors.",
    "caution": "RGB channel mixing is an approximation; it cannot recover ultraviolet or a missing spectral response."
  },
  {
    "id": "FX-248",
    "name": "Infrared day-for-night composite",
    "family": "Compositing & masking",
    "description": "Matched infrared and visible-light images combine into a night interpretation of a daylight scene.",
    "aliases": [
      "IR day-for-night",
      "dual-camera night"
    ],
    "tags": [
      "infrared",
      "night",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Register an infrared luminance pass with a visible-light pass and combine their complementary information.",
    "web": "Conceptual: Compare cleared infrared and visible images with an adjustable composite and clear source labels.",
    "video": "Conceptual: Plan aligned infrared and color capture, match the images and develop a night grade from both.",
    "caution": "A visible red channel is not equivalent to infrared capture; mismatched timing, focus or parallax can break the composite."
  },
  {
    "id": "FX-249",
    "name": "Available-light fast-lens photography",
    "family": "Camera & capture looks",
    "description": "A fast lens and controlled blocking permit photography under the scene’s existing practical illumination.",
    "aliases": [
      "candlelight cinematography",
      "ultra-fast-lens photography"
    ],
    "tags": [
      "practical",
      "low light",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose exposure, lens aperture and subject placement around the available light level and desired focus depth.",
    "web": "Conceptual: Use original low-light imagery with preserved tonal falloff rather than simulating capture sensitivity.",
    "video": "Conceptual: Test exposure and focus with the intended practical sources, then rehearse blocking within the usable focus range.",
    "caution": "Fast lenses do not guarantee adequate exposure or usable focus; source-only lighting claims require production evidence."
  },
  {
    "id": "FX-250",
    "name": "Day-for-night grading",
    "family": "Color & channels",
    "description": "Daylight footage is shaped in exposure, color and local contrast to suggest night.",
    "aliases": [
      "day for night",
      "blue night grade"
    ],
    "tags": [
      "night",
      "grade",
      "exposure"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Plan daytime lighting and exposure for a later grade that reduces daylight cues and reorganizes tonal relationships.",
    "web": "Conceptual: Offer a labeled grade study with exposure, saturation and sky controls on an original still.",
    "video": "Conceptual: Test the capture and grade together, protecting the highlights and shadow information required for the chosen look.",
    "caution": "Overexposure is one production-specific strategy, not a universal recipe; blue tint alone rarely removes daylight cues."
  },
  {
    "id": "FX-251",
    "name": "Animation on twos",
    "family": "Motion & time",
    "description": "An animated pose or drawing is normally held for two output frames before the next authored pose.",
    "aliases": [
      "two-frame holds",
      "on twos"
    ],
    "tags": [
      "animation",
      "held frames",
      "cadence"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Author motion at a pose cadence of one update per two display frames, with deliberate timing exceptions when needed.",
    "web": "Conceptual: Quantize an authored pose timeline to two-frame holds while keeping playback controls responsive.",
    "video": "Conceptual: Animate and review the sequence on two-frame holds, coordinating simulations and camera motion.",
    "caution": "This is a timing convention, not proof of physical stop-motion capture or a generic dropped-frame effect."
  },
  {
    "id": "FX-252",
    "name": "Practical chain-reaction machine",
    "family": "Material & dimensional treatments",
    "description": "Physical objects transfer motion or energy through a designed sequence of cause and effect.",
    "aliases": [
      "Rube Goldberg sequence"
    ],
    "tags": [
      "practical",
      "chain reaction",
      "mechanism"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange and rehearse successive mechanical triggers so one physical event initiates the next.",
    "web": "Conceptual: Prototype the causal sequence as an original diagram or simplified physics scene.",
    "video": "Conceptual: Test individual handoffs, then film the linked mechanism with a repeatable reset plan.",
    "caution": "An apparently continuous chain may use edits or concealed assistance; continuity claims need separate evidence."
  },
  {
    "id": "FX-253",
    "name": "Invisible stitched take",
    "family": "Transitions",
    "description": "Separate captured takes or plates are joined to appear like one uninterrupted camera passage.",
    "aliases": [
      "hidden cut",
      "seamless join"
    ],
    "tags": [
      "editing",
      "stitch",
      "continuity"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Match image motion and scene geometry across a planned join, using masks, warps or transitions to conceal the boundary.",
    "web": "Conceptual: Demonstrate two original clips with a controllable join and a visible breakdown mode.",
    "video": "Conceptual: Plan overlapping action and camera motion, capture matching coverage and composite the join.",
    "caution": "A seamless result does not establish that the action was captured in one take."
  },
  {
    "id": "FX-254",
    "name": "Mass practical object release",
    "family": "Particles & atmosphere",
    "description": "A large population of real objects moves through a location as a photographed collective event.",
    "aliases": [
      "physical particle event"
    ],
    "tags": [
      "practical",
      "objects",
      "collective"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Stage and record the physical release of many objects whose individual trajectories form the image.",
    "web": "Conceptual: Use an explicitly labeled particle or rigid-body approximation based on original assets.",
    "video": "Conceptual: Test a controlled small-scale release with retrieval and location constraints planned before capture.",
    "caution": "A simulation may imitate the appearance but should not be described as practical capture."
  },
  {
    "id": "FX-255",
    "name": "Still-camera array time slice",
    "family": "Camera & capture looks",
    "description": "Multiple camera positions record a moment or short interval that can be replayed as apparent viewpoint motion.",
    "aliases": [
      "bullet-time rig",
      "frozen-moment array"
    ],
    "tags": [
      "array",
      "time slice",
      "multicamera"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Capture coordinated views around a subject and sequence or interpolate them along the camera array.",
    "web": "Conceptual: Render a navigable sequence of cleared multi-view stills with explicit coverage limits.",
    "video": "Conceptual: Plan camera positions and timing, calibrate the views and construct transitions between recorded viewpoints.",
    "caution": "View interpolation can fill small gaps but does not supply unrestricted camera movement or unseen detail."
  },
  {
    "id": "FX-256",
    "name": "Mechanical assembly reveal",
    "family": "Material & dimensional treatments",
    "description": "A subject becomes visible through a choreographed sequence of assembly, construction or deployed parts.",
    "aliases": [
      "robotic assembly",
      "constructed-figure reveal"
    ],
    "tags": [
      "assembly",
      "mechanical",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Animate or stage components and tooling in an ordered construction sequence that resolves into a complete subject.",
    "web": "Conceptual: Animate original component geometry on a bounded timeline with a static completed state.",
    "video": "Conceptual: Model separable components, plan their assembly order and render or photograph the mechanical sequence.",
    "caution": "Mechanical-looking computer animation is not a physical kinetic sculpture or evidence of a working mechanism."
  },
  {
    "id": "FX-257",
    "name": "Macro tabletop title photography",
    "family": "Camera & capture looks",
    "description": "Small objects photographed at close range provide an intimate spatial setting for titles and credits.",
    "aliases": [
      "macro titles",
      "tabletop credits"
    ],
    "tags": [
      "macro",
      "tabletop",
      "titles"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Compose small objects and lettering for close-range photography with controlled focus and lighting.",
    "web": "Conceptual: Present original close-up assets with restrained camera movement and accessible credit text.",
    "video": "Conceptual: Arrange an original tabletop scene and test focus, reflections and credit placement at the intended magnification.",
    "caution": "Close-up appearance alone does not establish a particular lens or a true 1:1 macro reproduction ratio."
  },
  {
    "id": "FX-258",
    "name": "Performed-backwards action",
    "family": "Motion & time",
    "description": "A performer deliberately reverses the order and character of an action for a planned temporal reversal.",
    "aliases": [
      "backward choreography",
      "inverted action performance"
    ],
    "tags": [
      "reverse",
      "performance",
      "choreography"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rehearse the physical action backwards and coordinate its recorded direction with the intended final playback.",
    "web": "Conceptual: Compare prepared original forward and reversed performances with step controls.",
    "video": "Conceptual: Previsualize both time directions, rehearse short actions and assemble the intended temporal relationship.",
    "caution": "This does not automatically include reversed lip synchronization or prove that all surroundings were reversed in the same take."
  },
  {
    "id": "FX-259",
    "name": "Overhead in-car camera rig",
    "family": "Camera & capture looks",
    "description": "A constrained overhead track moves a camera through a vehicle interior among its performers.",
    "aliases": [
      "roof rig",
      "interior vehicle camera track"
    ],
    "tags": [
      "camera",
      "vehicle",
      "rig"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Guide a camera on a purpose-built overhead path that accommodates the vehicle shell and performer blocking.",
    "web": "Conceptual: Prototype an interior camera path around simple vehicle and occupant geometry.",
    "video": "Conceptual: Develop the camera path and vehicle modification with a qualified rigging team before choreographing the scene.",
    "caution": "A continuous-looking interior shot may contain stitched plates; the rig alone does not establish a single take."
  },
  {
    "id": "FX-260",
    "name": "Optical streak photography",
    "family": "Camera & capture looks",
    "description": "Light accumulates during controlled camera or artwork movement within each exposure to produce spatial streaks.",
    "aliases": [
      "optical slit-scan",
      "streak exposure",
      "moving-camera exposure"
    ],
    "tags": [
      "optical",
      "long exposure",
      "streak"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Integrate light during an exposure while moving camera or illuminated artwork; masks or slits constrain which light is recorded.",
    "web": "Conceptual: Approximate exposure integration by accumulating an original graphic across a planned motion path.",
    "video": "Conceptual: Develop a moving-camera or artwork exposure test, or label a digitally accumulated recreation clearly.",
    "caution": "This exposure-based process differs from temporal slit-scan that maps different source frames to different image regions."
  },
  {
    "id": "FX-261",
    "name": "Bar-sliced type",
    "family": "Type reveals",
    "description": "Letterforms are segmented into bands that travel or align independently as a title appears and disappears.",
    "aliases": [
      "sliced typography",
      "strip-displaced type"
    ],
    "tags": [
      "type",
      "bands",
      "reveal"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Divide glyph artwork with strip masks and animate the resulting pieces along coordinated paths.",
    "web": "Conceptual: Clip duplicate accessible title artwork into bands and animate their transforms.",
    "video": "Conceptual: Separate an original title into masked strips and coordinate entrances, alignment and departures.",
    "caution": "Moving slices within a word differs from revealing whole lines through a fixed text-line mask."
  },
  {
    "id": "FX-262",
    "name": "Physical object credits",
    "family": "Type surfaces",
    "description": "Credits are inscribed or arranged on real objects and photographed as part of the scene.",
    "aliases": [
      "credits on everyday objects",
      "in-camera object lettering"
    ],
    "tags": [
      "type",
      "practical",
      "objects"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Place original lettering on physical props or materials and capture the composed result.",
    "web": "Conceptual: Use original photographs of credited props alongside selectable accessible text.",
    "video": "Conceptual: Design credited objects, photograph their placements and maintain readable lighting and framing.",
    "caution": "Text photographed on a prop does not imply a digital foreground occlusion matte."
  },
  {
    "id": "FX-263",
    "name": "Narrow-shutter capture",
    "family": "Camera & capture looks",
    "description": "A shorter exposure within each frame reduces motion blur and gives fast action a crisp, staccato appearance.",
    "aliases": [
      "short shutter angle",
      "staccato shutter"
    ],
    "tags": [
      "shutter",
      "motion blur",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Shorten per-frame exposure while keeping the chosen recording cadence, compensating exposure as appropriate.",
    "web": "Conceptual: Compare prepared captures or explicitly approximate shorter motion integration in an animation.",
    "video": "Conceptual: Test a short exposure or narrow shutter angle at the intended frame rate and lighting conditions.",
    "caution": "Shorter exposure differs from discarding frames or stroboscopic sampling; flicker and available light must be checked."
  },
  {
    "id": "FX-264",
    "name": "Fragmented glyph reveal",
    "family": "Type reveals",
    "description": "Individual pieces of letterforms arrive before the complete word becomes legible.",
    "aliases": [
      "assembled letterforms",
      "glyph-fragment reveal"
    ],
    "tags": [
      "type",
      "fragments",
      "assembly"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Partition each glyph into planned components and control their visibility or movement independently.",
    "web": "Conceptual: Reveal original SVG glyph components while keeping a complete accessible text equivalent.",
    "video": "Conceptual: Build separate glyph components and choreograph their appearance into a final title.",
    "caution": "Revealing pieces of glyphs differs from showing complete characters one by one or changing tracking."
  },
  {
    "id": "FX-265",
    "name": "Perspective-matched graphic dissolve",
    "family": "Transitions",
    "description": "A graphic structure dissolves into photographed architecture or scenery sharing its perspective and layout.",
    "aliases": [
      "grid-to-scene dissolve",
      "graphic-to-live-action match"
    ],
    "tags": [
      "perspective",
      "dissolve",
      "graphic"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Align graphic lines or shapes to corresponding scene geometry and blend between the matched compositions.",
    "web": "Conceptual: Align an original vector layer to a cleared photograph and animate a controlled crossfade.",
    "video": "Conceptual: Design the graphic from a planned or captured plate, match perspective and time the dissolve.",
    "caution": "This is an alignment and transition technique; it does not require type to pass behind scene objects."
  },
  {
    "id": "FX-266",
    "name": "Sky replacement",
    "family": "Compositing & masking",
    "description": "A separately sourced sky is composited into the sky region of a photographed scene.",
    "aliases": [
      "sky substitution",
      "tracked sky composite"
    ],
    "tags": [
      "sky",
      "composite",
      "tracking"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Separate the sky from foreground geometry, align the replacement and match its illumination and movement.",
    "web": "Conceptual: Composite a cleared sky through an original scene mask with a comparison control.",
    "video": "Conceptual: Track the plate, develop foreground and edge mattes, and match a replacement sky to the scene.",
    "caution": "Recoloring the original sky is a different operation; a replacement must also respect parallax, edge detail and lighting continuity."
  },
  {
    "id": "FX-267",
    "name": "Digital double substitution",
    "family": "Compositing & masking",
    "description": "Replace a photographed performer or object with a modeled animated counterpart for selected views, maintaining appearance and motion continuity across the switch.",
    "aliases": [
      "CG double",
      "digital stand-in"
    ],
    "tags": [
      "digital",
      "double",
      "substitution"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Match the appearance, pose, light and camera between a photographed subject and a synthetic counterpart, choosing a switch point that preserves continuity.",
    "web": "Conceptual: Compare an original photographed object and a simplified model in one small interactive scene.",
    "video": "Conceptual: Develop a matching digital asset, track the camera and compare photographed and synthetic views before compositing.",
    "caution": "Distinct from generic character animation: the technique concerns replacement and continuity with a photographed subject."
  },
  {
    "id": "FX-268",
    "name": "Tracked surface graphics",
    "family": "Compositing & masking",
    "description": "Attach an animated graphic to a moving photographed surface by estimating its motion and, where required, deformation and occlusion.",
    "aliases": [
      "surface tracking",
      "corner-pin graphics"
    ],
    "tags": [
      "tracked",
      "surface",
      "graphics"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Estimate surface motion and attach graphics to its coordinate system, with deformation and foreground occlusion where the surface requires them.",
    "web": "Conceptual: Use an original prerecorded surface track or a bounded manual corner-pin study with an accessible static equivalent.",
    "video": "Conceptual: Track an original surface, apply a graphic and inspect corners, folds and occlusions frame by frame.",
    "caution": "Distinct from chroma key and general compositing: the graphic must follow a specific surface. Planar, mesh and three-dimensional solutions are alternatives, not interchangeable verified methods."
  },
  {
    "id": "FX-269",
    "name": "Image abstraction by obscuration",
    "family": "Image abstraction",
    "description": "Deliberately withhold object identity while retaining rhythm, tone or gesture through selective suppression of image detail.",
    "aliases": [
      "visual obscuration",
      "abstracted footage"
    ],
    "tags": [
      "image",
      "abstraction",
      "by",
      "obscuration"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Suppress selected identifying detail while preserving an intended visual rhythm, shape or gesture; the obscuring process must be recorded separately.",
    "web": "Conceptual: Compare bounded masks, blur and contrast treatments on original imagery to test which details remain legible.",
    "video": "Conceptual: Make separate original trials using masks, blur or tonal simplification and record the process actually used.",
    "caution": "An art-direction approach with several possible implementations. Do not infer a specific threshold, blur or distortion algorithm from an abstract appearance."
  },
  {
    "id": "FX-270",
    "name": "Broadcast-logo lyric animation",
    "family": "Type motion",
    "description": "Transform phrases into a sequence of invented animated identities using the visual grammar and pacing of broadcast logos.",
    "aliases": [
      "broadcast identity pastiche",
      "animated lyric logos"
    ],
    "tags": [
      "broadcast",
      "logo",
      "lyric",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Design phrases as a sequence of distinct graphic identities, each with an entrance, material behavior and transition into the next identity.",
    "web": "Conceptual: Animate a few invented wordmarks in a finite sequence with accessible text and a still view.",
    "video": "Conceptual: Storyboard original phrase identities, establish motion rules for each and coordinate their transitions to the soundtrack.",
    "caution": "Distinct from generic word reveal: each phrase has an identity system and a designed transition. The historical work's borrowed trademarks are not reusable template assets."
  },
  {
    "id": "FX-271",
    "name": "Object-constrained choreography",
    "family": "Motion & time",
    "description": "Compose coordinated human movement around a legible physical object's geometry, motion or operating constraints.",
    "aliases": [
      "prop choreography",
      "physical-constraint performance"
    ],
    "tags": [
      "object",
      "constrained",
      "choreography"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use the geometry, timing or movement of a physical object as a rule that organizes a human or abstract performance.",
    "web": "Conceptual: Animate original shapes through a few visible constraints, with pause and a complete static explanation.",
    "video": "Conceptual: Prototype the score with simple safe props or an animatic, then rehearse the timing and relationships before filming.",
    "caution": "Distinct from camera choreography and audio-reactive animation. A continuous take may expose the rule, but is not mandatory."
  },
  {
    "id": "FX-272",
    "name": "Harness-controlled performance",
    "family": "Camera & capture looks",
    "description": "Use an engineered suspension system and operators to shape a photographed performer's movement before compositing or editing.",
    "aliases": [
      "wire-assisted performance",
      "suspended performance"
    ],
    "tags": [
      "harness",
      "controlled",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use controlled physical suspension to shape a filmed performance; camera design and compositing can conceal or reinterpret its support.",
    "web": "Conceptual: Study an original digital figure with constrained motion rather than attempting physical suspension.",
    "video": "Conceptual: Previsualize the desired motion and camera; a live execution requires qualified rigging design, performers and an appropriate production safety process.",
    "caution": "Distinct from animated character motion and model puppetry. It is a specialist physical production method; the desktop recreation may use a digital substitute."
  },
  {
    "id": "FX-273",
    "name": "Tracked three-dimensional facial transformation",
    "family": "Compositing & masking",
    "description": "Register a synthetic three-dimensional structure to a photographed head and animate a transformation while retaining performance alignment.",
    "aliases": [
      "tracked facial geometry",
      "3D head transformation"
    ],
    "tags": [
      "tracked",
      "three",
      "dimensional",
      "facial",
      "transformation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Register geometry to the head and animate its form, visibility or material while maintaining camera, performance and occlusion alignment.",
    "web": "Conceptual: Use an original modeled head and a manual progress control to study a segmented transformation.",
    "video": "Conceptual: Track an original consenting performance, align a synthetic structure and validate tracking, deformation and composite in separate stages.",
    "caution": "Distinct from two-image feature morphing, simple face warping and motion capture transfer. Geometry, tracking and compositing can all contribute."
  },
  {
    "id": "FX-274",
    "name": "Instruction-based body-object tableau",
    "family": "Camera & capture looks",
    "description": "Use concise performable instructions to form a brief, deliberate sculptural relationship between a person and an object.",
    "aliases": [
      "instruction-based staging",
      "body-object sculpture"
    ],
    "tags": [
      "instruction",
      "based",
      "body",
      "object",
      "tableau"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Give a performer a concise original instruction that creates a temporary sculptural relationship with an object, then frame and hold the result.",
    "web": "Conceptual: Arrange original photographed or illustrated tableaux with their short instructions and consistent framing.",
    "video": "Conceptual: Devise original instructions with stable positions and suitable lightweight props; test silhouette and framing before filming.",
    "caution": "A staging method informed here by Erwin Wurm's credited One Minute Sculptures, not a claim that his individual artworks are public-domain effects."
  },
  {
    "id": "FX-275",
    "name": "Performance-integrated lyric animation",
    "family": "Type motion",
    "description": "Coordinate written words with a filmed performer's gesture, spatial position and timing so text appears to participate in the performance.",
    "aliases": [
      "gesture-linked typography",
      "integrated kinetic lyrics"
    ],
    "tags": [
      "performance",
      "integrated",
      "lyric",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choreograph words against a photographed gesture or position so their timing, scale and depth relationships participate in the performance.",
    "web": "Conceptual: Pair an original short clip with timed accessible captions and a restrained graphic overlay or prerendered treatment.",
    "video": "Conceptual: Film an original phrase with planned gestures, animate selected words and mask or track where the intended spatial relationship requires it.",
    "caution": "Distinct from subtitles and free-floating kinetic typography; foreground masks and tracking may be needed, but are not established by appearance alone."
  },
  {
    "id": "FX-276",
    "name": "Pin-array relief animation",
    "family": "Material & dimensional treatments",
    "description": "A regular array of pin-like elements moves along constrained depth axes to form a changing relief image or performance.",
    "aliases": [
      "pin art",
      "depth-displaced pins"
    ],
    "tags": [
      "pin",
      "array",
      "relief",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Constrain an array of elements to depth movement and sample an original relief field for their positions.",
    "web": "Conceptual: Use an instanced low-resolution grid driven by a designed depth field, with a still view and pause control.",
    "video": "Conceptual: Animate original geometry or depth maps, sample a regular pin array and test lighting that makes relief legible.",
    "caution": "A dimensional relief made from individually displaced elements; different from rendering an unordered point cloud, animating a conventional face mesh, or fabricating a physical pin-screen. The cited video used CG pin art."
  },
  {
    "id": "FX-277",
    "name": "Inflatable costume performance",
    "family": "Material & dimensional treatments",
    "description": "A wearable, air-filled volume changes a performer's silhouette and movement, with inflation and material response contributing to the filmed performance.",
    "aliases": [
      "air-filled costume",
      "inflated silhouette"
    ],
    "tags": [
      "inflatable",
      "costume",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Air pressure and material response shape a wearable volume whose movement participates in the performance.",
    "web": "Conceptual: Explore an original rounded form in a lightweight rendered loop or controllable digital study.",
    "video": "Conceptual: Previsualize silhouette and highlights with cloth simulation; practical costumes need appropriate costume and performance expertise.",
    "caution": "Practical costume design and performance, distinct from digitally inflating flat graphics (Plastic inflation / FX-169). An exaggerated silhouette alone does not establish an inflatable mechanism."
  },
  {
    "id": "FX-278",
    "name": "Physical film-negative distress",
    "family": "Analog & texture",
    "description": "The film negative is deliberately physically altered so material damage becomes part of the photographic image.",
    "aliases": [
      "negative damage",
      "material film treatment"
    ],
    "tags": [
      "physical",
      "film",
      "negative",
      "distress"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Physical alteration of the negative changes the photographed surface before the final image is reproduced.",
    "web": "Conceptual: Use self-produced digitized texture layers sparingly, preserving readable text and an untreated view.",
    "video": "Conceptual: Keep original footage intact and test safely produced abrasion, stain and scratch layers as a digital interpretation of the historic process.",
    "caution": "A documented production process, distinct from adding simulated dust, scratches or stains as digital overlays. Modern original texture studies can emulate aspects of the look without repeating the historical destructive process."
  },
  {
    "id": "FX-279",
    "name": "Camera orbit around a subject",
    "family": "Camera & capture looks",
    "description": "Camera position follows a curved path around a subject while the view remains oriented toward it. The plane and extent of the path distinguish particular variants.",
    "aliases": [
      "subject-centered camera orbit",
      "orbiting camera",
      "camera arc around a subject",
      "Vertical camera orbit",
      "vertical 360 camera move",
      "over-under orbit"
    ],
    "tags": [
      "camera",
      "orbit",
      "parallax",
      "viewpoint",
      "horizontal",
      "vertical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate the viewpoint around a subject and coordinate its aim, path and distance. Record whether the path is horizontal, vertical or another orientation, and whether it is a partial arc or a full revolution.",
    "web": "Conceptual: Compare a target-oriented virtual camera arc with a stationary-camera pan in an original 3D scene. Offer manual progress and a static reduced-motion view.",
    "video": "Conceptual: Previsualize the intended viewpoint changes and target framing. Test a bounded original arc with an appropriate support; specialized over-under or full vertical paths require engineered production arrangements.",
    "caution": "This involves viewpoint translation, not merely camera roll, a stationary pan or rotation of a flat image. The preserved vertical aliases describe specific variants; an orbit association alone does not establish path plane, sweep, constant radius or historical rig."
  },
  {
    "id": "FX-280",
    "name": "Traditional cel animation",
    "family": "Animation systems",
    "description": "Successive drawn images are inked and painted on transparent cels, layered with backgrounds, and photographed to produce motion.",
    "aliases": [
      "hand-inked cels",
      "painted cel animation"
    ],
    "tags": [
      "traditional",
      "cel",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Separate inked and painted transparent cels from their backgrounds and photograph successive layered arrangements.",
    "web": "Conceptual: Present short original animation segments with an accessible narrative and paused frame study.",
    "video": "Conceptual: Resolve timing in an animatic, then draw, ink, paint and photograph cels; label digital layer alternatives as a different production process.",
    "caution": "A specific material pipeline distinct from cutout animation, traced live-action rotoscoping, or digital frame drawing. Digital layered drawing may reproduce a related visual language but should be labeled as a different production process."
  },
  {
    "id": "FX-281",
    "name": "Frame-by-frame color treatment",
    "family": "Color & channels",
    "description": "Color regions are authored or adjusted across individual moving-image frames to impose a deliberate palette, retaining their spatial and temporal relationships.",
    "aliases": [
      "hand-colored moving image",
      "frame tint painting",
      "Frame-by-frame hand tinting",
      "Frame-by-frame color painting"
    ],
    "tags": [
      "color",
      "frame",
      "palette",
      "localized"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply frame-specific color layers or localized color adjustments; source imagery may be monochrome or color, and the implementation must be identified separately.",
    "web": "Conceptual: Compare a short original frame-specific color study with a global grade; provide a still alternative and identify the implementation.",
    "video": "Conceptual: Author localized color changes across original frames, documenting the source color state, chosen medium or software, palette and temporal registration.",
    "caution": "Frame-specific color work does not establish literal paint, software, grayscale conversion or a masking process. A single global grade is not equivalent. The Nirvana source documents hand tinting; the Outkast source documents per-frame coloring with the medium unspecified."
  },
  {
    "id": "FX-282",
    "name": "Film-source restoration and regrading",
    "family": "Analog & texture",
    "description": "Return to an original film source for a new scan and conform, repair identifiable damage, and create a documented color finish for a new delivery. Separate restoration decisions from intentional creative changes.",
    "aliases": [
      "source-film remaster",
      "film rescan and restoration"
    ],
    "tags": [
      "film",
      "scan",
      "restoration",
      "grade"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rescan retained film, conform source frames, repair identified defects, and document the new color finish separately from editorial changes.",
    "web": "Conceptual: Present labeled original/restored comparisons using cleared material and a static comparison option.",
    "video": "Conceptual: Retain untouched scans and an edit decision record; test damage repair and grade as separately reviewable stages before delivery.",
    "caution": "A source-processing approach, distinct from archival re-editing, generic sharpening, artificial grain, or an assumption that enlarging an old delivery recovers original information. The source record must identify which edition was processed."
  },
  {
    "id": "FX-283",
    "name": "Subject-locked camera perspective",
    "family": "Camera & capture looks",
    "description": "Fix a camera’s position and orientation relative to a moving reference object or body segment, so the surrounding scene changes relative to that frame.",
    "aliases": [
      "vehicle-attached viewpoint",
      "car-mounted camera relationship",
      "Vehicle-locked camera perspective",
      "body-mounted subject-lock camera",
      "face-facing helmet camera"
    ],
    "tags": [
      "vehicle",
      "camera",
      "relative-motion",
      "mount",
      "body mount",
      "subject lock"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Couple the camera transform to a specified reference object or body segment using a physical mount or a parented virtual camera; identify the attachment and facing direction.",
    "web": "Conceptual: Compare world-fixed and subject-parented cameras in an original virtual scene, naming the vehicle or body segment used as the reference. Provide manual progress and a still fallback.",
    "video": "Conceptual: Previsualize a camera attached to a model vehicle or virtual body segment, then compare it with a fixed observer camera. Physical production mounts require an appropriate rig.",
    "caution": "The reference object need not be visible, and other parts of an articulated body may move independently. Vehicle and body mounts are subtypes; a face-facing mount is not an eye-view camera. Post stabilization, rig removal and reverse motion are separate mechanisms."
  },
  {
    "id": "FX-284",
    "name": "Digital rig removal",
    "family": "Compositing & masking",
    "description": "Remove visible camera supports, wires, or other production apparatus from photographed footage using tracked patches, clean plates, paint, or reconstructed image regions while preserving surrounding motion and lighting.",
    "aliases": [
      "support cleanup",
      "wire and camera-arm removal"
    ],
    "tags": [
      "cleanup",
      "tracking",
      "paint",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Track an apparatus region and replace it with image content that remains consistent with the surrounding perspective, motion, and light.",
    "web": "Conceptual: Use a pre-rendered original cleanup comparison or a controlled before/after reveal; retain a static option.",
    "video": "Conceptual: Capture an original supported object plus a clean plate, then test tracked patches or paint without assuming one method suits every occlusion.",
    "caution": "An invisible postproduction cleanup method. The historical source verifies removal but does not identify which of these general implementation options was used; a camera mount alone is not evidence that cleanup occurred."
  },
  {
    "id": "FX-285",
    "name": "Small-gauge photochemical capture",
    "family": "Camera & capture looks",
    "description": "Choose a motion-picture film gauge smaller than 35mm as the original capture medium, documenting gauge, stock, processing, exposure, and transfer rather than treating a generic grain overlay as equivalent.",
    "aliases": [
      "16mm capture",
      "Super 8 capture"
    ],
    "tags": [
      "film",
      "gauge",
      "capture",
      "transfer"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Expose a smaller-than-35mm film gauge, process it, and transfer it with explicit capture and scan decisions.",
    "web": "Conceptual: Deliver an approved original transfer as a short loop with a still alternative; label any procedural texture substitute as an emulation.",
    "video": "Conceptual: Compare an original small-gauge test with a digital control and record gauge, stock, processing, optics, exposure, and scan settings.",
    "caution": "A capture-medium approach, separate from grain as a surface treatment or handheld drift as movement. Each reference must state its documented gauge and sequence scope. Grain, contrast, steadiness and color depend on stock, exposure, processing and transfer choices."
  },
  {
    "id": "FX-286",
    "name": "Matte-painted environment",
    "family": "Compositing & masking",
    "description": "A painted or digitally authored environment supplies scenic detail beyond what is photographed or fully modeled.",
    "aliases": [
      "scenic matte painting",
      "painted environment extension"
    ],
    "tags": [
      "painting",
      "environment",
      "scenery",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Construct scenic detail as a painted image and integrate it with the shot's perspective, atmospheric depth, light, and foreground boundaries.",
    "web": "Conceptual: Use an original layered environment with restrained parallax only where the painted geometry supports it, plus a static view.",
    "video": "Conceptual: Plan the camera limits, paint an original environment, and test its integration with foreground plates before committing to camera movement.",
    "caution": "A scenic image construction method, not a luma matte or chroma-key mask. Camera projection on geometry can be one implementation but is not established for this source."
  },
  {
    "id": "FX-287",
    "name": "2D/3D scene integration",
    "family": "Animation systems",
    "description": "Drawn imagery and three-dimensional elements share a coordinated animated scene; the drawn layer may remain static or change frame by frame.",
    "aliases": [
      "drawn and CG animation",
      "hybrid 2D 3D animation",
      "2D/3D animation integration",
      "illustration and 3D integration"
    ],
    "tags": [
      "animation",
      "illustration",
      "CG",
      "integration"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate drawn elements and three-dimensional elements through shared timing, viewpoint, design, and compositing rules.",
    "web": "Conceptual: Combine original illustration and a simple animated 3D object under shared perspective and design rules; identify static and animated layers and retain a representative still.",
    "video": "Conceptual: Coordinate camera, contour, palette and light direction when combining original drawn imagery with three-dimensional animation; record which layers change over time.",
    "caution": "At least one component contributes animation. State whether the drawn layer is static or animated; coherent scene integration differs from deliberately heterogeneous collage and does not imply physical cels or photographic camera projection."
  },
  {
    "id": "FX-288",
    "name": "Segmented split-screen composition",
    "family": "Compositing & masking",
    "description": "Separate picture strips or panels are arranged so selected boundaries align while their content combines, contrasts or breaks apart a subject.",
    "aliases": [
      "picture-strip recombination",
      "aligned split-screen panels"
    ],
    "tags": [
      "panels",
      "crop",
      "alignment",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Crop independently authored picture regions into strips or panels and coordinate their selected boundaries and timing.",
    "web": "Conceptual: Synchronize original cropped layers or use a single composited video when separate playback would be fragile; provide a still arrangement.",
    "video": "Conceptual: Design crop guides for original performances, then align selected boundaries in an edit while leaving intended contrasts visible.",
    "caution": "An editorial/compositing arrangement, not slit-scan capture or simulated frame corruption. The three horizontal strips in Always do not establish a particular camera arrangement."
  },
  {
    "id": "FX-289",
    "name": "Data-mapped animation",
    "family": "Animation systems",
    "description": "Values or relationships in a dataset determine visual properties that are then organized into a timed animated sequence.",
    "aliases": [
      "data-driven motion graphics",
      "animated data mapping"
    ],
    "tags": [
      "data",
      "mapping",
      "animation",
      "systems"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Define a mapping from dataset values or relationships to visual properties, then compose their change over time.",
    "web": "Conceptual: Expose the mapping in a small interactive study and identify invented data; provide readable static states and pause controls.",
    "video": "Conceptual: Choose a cleared or original dataset, document value-to-image mappings, and author temporal transitions without implying scientific accuracy.",
    "caution": "A specified relationship between data and visuals, not necessarily an audio-reactive effect, point cloud, scientific simulation or generic particle animation."
  },
  {
    "id": "FX-290",
    "name": "Forced-perspective scenic construction",
    "family": "Camera & capture looks",
    "description": "Physical scenery is built with deliberately altered scale or convergence so that one camera position reads an exaggerated or deceptive spatial relationship.",
    "aliases": [
      "forced-perspective set",
      "perspective-distorted scenery"
    ],
    "tags": [
      "perspective",
      "scenery",
      "practical",
      "camera"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Build view-dependent scenery with altered scale or convergence and align it to the intended camera position.",
    "web": "Conceptual: Show an original constrained-view scene with a separate construction view and an accessible still.",
    "video": "Conceptual: Test an original tabletop set from its intended viewpoint and an offset viewpoint before committing to larger scenery.",
    "caution": "A view-dependent construction mechanism, distinct from a fisheye image warp or the broader visual outcome of scale exaggeration. The source names forced-perspective sets but does not supply their measurements."
  },
  {
    "id": "FX-291",
    "name": "Character motion-capture transfer",
    "family": "Animation systems",
    "description": "Recorded performance movement is mapped onto a digital character rig, with shot-specific adaptation and cleanup where the source data does not fit the target.",
    "aliases": [
      "character performance retargeting",
      "motion-capture retargeting"
    ],
    "tags": [
      "capture",
      "character",
      "rig",
      "retargeting"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map recorded performance motion onto a digital character rig, then adapt contacts, joint behavior and timing for each shot.",
    "web": "Conceptual: Compare a cleared original motion recording and its rigged interpretation in a finite, pausable study.",
    "video": "Conceptual: Retarget a short consented performance to an original rig and review raw transfer against corrected motion.",
    "caution": "More specific than general 3D character animation and broader than the existing facial motion-capture transfer concept. The Waterfalls source establishes optical capture, rigging and data mapping, not a particular full-body marker arrangement."
  },
  {
    "id": "FX-292",
    "name": "Negative-image treatment",
    "family": "Color & channels",
    "description": "An image is presented with its tonal or color relationships inverted, either for a sustained passage or in juxtaposition with a positive image.",
    "aliases": [
      "positive-negative inversion",
      "image negative"
    ],
    "tags": [
      "negative",
      "inversion",
      "color",
      "tone"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Invert chosen tonal or color relationships to form a negative image, documenting the transform and any positive-image alternation.",
    "web": "Conceptual: Provide a manual positive/negative comparison without automatic flashing.",
    "video": "Conceptual: Compare a controlled full-image inversion with selective tonal reversal and document which transform creates the intended result.",
    "caution": "Ordinary positive/negative inversion differs from solarization, which reverses selected tonal ranges. The source names negative/positive effects without identifying its exact color transform."
  },
  {
    "id": "FX-293",
    "name": "Jump-cut editing",
    "family": "Transitions",
    "description": "A cut omits an interval within a visually continuous subject or action, creating a perceptible jump in position, gesture or time.",
    "aliases": [
      "jump cutting",
      "discontinuous action edit"
    ],
    "tags": [
      "edit",
      "time",
      "discontinuity",
      "rhythm"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Omit a temporal interval across a cut while retaining enough subject or framing continuity for the discontinuity to remain visible.",
    "web": "Conceptual: Sequence a short original clip with selected editorial omissions and provide pause and still controls.",
    "video": "Conceptual: Remove selected intervals from an original action, then compare the resulting position and rhythm discontinuities.",
    "caution": "Unlike a match cut, the discontinuity is the effect rather than a visual bridge between matched shots. It is an editorial omission, not a claim of low-frame-rate capture."
  },
  {
    "id": "FX-294",
    "name": "Cloud-tank photography",
    "family": "Camera & capture looks",
    "description": "Photograph suspended liquids or particles in a tank to create cloud or atmospheric imagery for a composite.",
    "aliases": [
      "liquid-tank cloud plate",
      "practical tank clouds"
    ],
    "tags": [
      "tank",
      "cloud",
      "practical",
      "plate"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Photograph material suspended in liquid as an atmospheric plate, then integrate it with the intended scene.",
    "web": "Conceptual: Use an original photographed plate in a short finite composite and retain a representative still.",
    "video": "Conceptual: Photograph a small original liquid-tank study with controlled background and illumination, then test its scale and edges in a composite.",
    "caution": "Physical fluid/particle behavior supplies the photographed plate; this is not a CG fluid simulation, a generic particle overlay or viscous envelopment."
  },
  {
    "id": "FX-295",
    "name": "Material substitution effects",
    "family": "Material & dimensional treatments",
    "description": "Represent a depicted substance with a deliberately different material treatment whose texture, color, reflectivity or movement changes the scene’s tone.",
    "aliases": [
      "depicted material substitution",
      "stylized substance replacement"
    ],
    "tags": [
      "material",
      "substitution",
      "texture",
      "metaphor"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose a substitute material appearance and use it consistently to represent another substance; identify the practical or digital route only when established.",
    "web": "Conceptual: Compare original still or finite-loop material substitutions using prepared assets or a clearly labeled rendering study.",
    "video": "Conceptual: Test one original material substitute and document its visual rule, then choose and label the capture or rendering route.",
    "caution": "The documented glitter substitution establishes the depicted result, not its practical-versus-digital pipeline. It is distinct from replacement animation."
  },
  {
    "id": "FX-296",
    "name": "Photographic performance sequencing",
    "family": "Motion & time",
    "description": "Assemble discrete photographs of performers into a timed moving-image sequence through editing and frame holds.",
    "aliases": [
      "performance photo sequence",
      "still-photo performance edit"
    ],
    "tags": [
      "photography",
      "performance",
      "sequence",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Select discrete performer photographs and assign their order and display duration to author a moving-image performance.",
    "web": "Conceptual: Play an original photograph sequence with explicit frame holds, pause controls and a still contact sheet.",
    "video": "Conceptual: Edit original performance photographs to chosen accents and compare frame holds without assuming a particular capture cadence.",
    "caution": "Unlike pixilation, this term does not require proof that human poses were incrementally staged between exposures; it also does not assert burst capture or time-lapse."
  },
  {
    "id": "FX-297",
    "name": "Pyrotechnic scene illumination",
    "family": "Light & optics",
    "description": "Use the emitted light from photographed pyrotechnic effects as the scene’s dominant illumination.",
    "aliases": [
      "fireworks illumination",
      "pyrotechnic practical lighting"
    ],
    "tags": [
      "lighting",
      "practical",
      "pyrotechnic",
      "exposure"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Expose the subject using light emitted by a photographed pyrotechnic event so visible spectacle and scene illumination share a source.",
    "web": "Conceptual: Use an original finite lighting simulation or cleared prepared plate with a still alternative and no rapid flashing.",
    "video": "Conceptual: Prototype light-event timing with programmable lamps and an original burst composite; distinguish this simulation from specialist pyrotechnic capture.",
    "caution": "The luminous event lights the subject during capture; this is distinct from overlaying a light-leak image, adding post-production bloom or merely placing fireworks in the background."
  },
  {
    "id": "FX-298",
    "name": "Backlighting",
    "family": "Light & optics",
    "description": "Place dominant illumination behind a subject toward the camera so edge separation, outline and transmitted light shape the image.",
    "aliases": [
      "Backlit performance photography",
      "rear subject illumination"
    ],
    "tags": [
      "lighting",
      "outline",
      "edge",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Place dominant illumination behind the subject relative to the camera and control frontal fill to shape outline and edge separation.",
    "web": "Conceptual: Compare original backlit and front-lit imagery, or a labeled lighting simulation, with a static fallback.",
    "video": "Conceptual: Test an original subject against rear illumination at several frontal-fill levels, reviewing edge separation and highlight clipping.",
    "caution": "Backlighting does not imply a complete silhouette, a particular fixture, light-wrap compositing or a programmed lighting protocol."
  },
  {
    "id": "FX-299",
    "name": "Deep-focus photography",
    "family": "Camera & capture looks",
    "description": "Near and distant subjects remain acceptably sharp within one photographed composition.",
    "aliases": [
      "deep focus",
      "extended depth of field"
    ],
    "tags": [
      "focus",
      "depth",
      "camera",
      "spatial hierarchy"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate focal length, aperture, focus distance, lighting and subject placement to preserve the intended depth of sharpness.",
    "web": "Proposed: Build a labelled depth-of-field simulation with near and distant objects, then compare simultaneous legibility against selective focus while holding framing and object positions constant.",
    "video": "Proposed: Photograph foreground and background subjects at several apertures with compensated exposure, then compare both focal planes at delivery size without confusing compositing with optical capture.",
    "caution": "Deep focus does not prove a single exposure; separately identify any split-focus optic or composite."
  },
  {
    "id": "FX-300",
    "name": "Twilight photography",
    "family": "Camera & capture looks",
    "description": "The short period around sunrise or sunset supplies a rapidly changing low-level sky light for an exterior.",
    "aliases": [
      "magic hour",
      "dusk photography",
      "blue hour"
    ],
    "tags": [
      "exterior",
      "natural light",
      "sky",
      "time of day"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Rehearse and schedule capture around the chosen sky illumination, maintaining exposure and continuity as it changes.",
    "web": "Proposed: Animate a labelled sky-light simulation through dusk, comparing subject separation and text contrast at successive illumination levels while keeping the scene geometry unchanged.",
    "video": "Proposed: Capture the same rehearsed exterior before and after sunset with recorded exposure settings, then compare sky detail, face separation and continuity across the changing light.",
    "caution": "Magic hour is an imprecise label. Record whether the reference is before sunrise, after sunset or another interval; do not assume golden sunlight."
  },
  {
    "id": "FX-301",
    "name": "Top lighting",
    "family": "Light & optics",
    "description": "A high light source shapes the subject with downward illumination and shadows.",
    "aliases": [
      "overhead lighting",
      "downward key light"
    ],
    "tags": [
      "lighting direction",
      "portrait",
      "shadow",
      "shape"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Position and control a principal light above the subject, then set frontal fill for the intended eye and facial detail.",
    "web": "Proposed: Move a virtual area light above a simple head model, comparing overhead and high frontal positions while keeping intensity constant to reveal different eye shadows.",
    "video": "Proposed: Photograph a subject with an overhead source and adjustable frontal fill, comparing eye visibility and facial shape against a high frontal setup at matched exposure.",
    "caution": "Light directly above the head and high frontal light produce different facial shadow patterns."
  },
  {
    "id": "FX-302",
    "name": "Controlled underexposure",
    "family": "Camera & capture looks",
    "description": "A deliberately lower capture exposure places selected tones below a normal exposure reference for a planned finish.",
    "aliases": [
      "intentional underexposure",
      "exposure placement"
    ],
    "tags": [
      "exposure",
      "shadow detail",
      "capture",
      "grading"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose a reference exposure, reduce recorded exposure deliberately and coordinate processing or grading with that decision.",
    "web": "Proposed: Compare labelled captured exposure brackets with a digitally darkened normal exposure, using identical display brightness to reveal differences in shadow detail, noise and highlight retention.",
    "video": "Proposed: Capture a bracketed scene below the reference exposure and apply a consistent finish, then compare shadow texture and recoverable detail against correctly exposed footage darkened afterward.",
    "caution": "Underexposure, push processing and printing down are different operations; record each independently."
  },
  {
    "id": "FX-303",
    "name": "Coaxial mirror eye light",
    "family": "Light & optics",
    "description": "A partially reflecting mirror directs a light toward the subject along the viewing axis to create a conspicuous eye return.",
    "aliases": [
      "mirror eye light",
      "coaxial eye illumination"
    ],
    "tags": [
      "optics",
      "eyes",
      "reflection",
      "camera axis"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Align a light and partially reflecting mirror with the camera axis while controlling reflections and overall scene exposure.",
    "web": "Proposed: Illustrate a virtual camera, partial mirror and light path, comparing coaxial and offset arrangements while clearly labelling the rendered eye response as a simulation.",
    "video": "Proposed: Photograph a reflective eye model with a partial mirror directing light along the camera axis, then compare return brightness against an offset source at matched exposure.",
    "caution": "This is an optical lighting arrangement, not a general red-eye filter or proof of a digital eye replacement."
  },
  {
    "id": "FX-304",
    "name": "Image-based LED lighting",
    "family": "Light & optics",
    "description": "Displayed imagery supplies changing practical illumination and reflections on photographed subjects.",
    "aliases": [
      "LED image lighting",
      "screen-driven lighting",
      "video-wall illumination"
    ],
    "tags": [
      "LED",
      "interactive light",
      "reflections",
      "virtual production"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Map imagery to LED screens arranged around the scene so its spatial color and brightness contribute to the captured light.",
    "web": "Proposed: Map moving imagery onto virtual emissive panels around a reflective object, comparing changing surface illumination against a background-only video to distinguish lighting from scenery.",
    "video": "Proposed: Photograph a reflective prop illuminated by moving screen imagery, then compare it with static illumination while holding exposure constant and documenting any separately composited background.",
    "caution": "Lighting a subject with a screen does not establish an in-camera final background, camera tracking or a real-time engine."
  },
  {
    "id": "FX-305",
    "name": "Additive color lighting",
    "family": "Light & optics",
    "description": "Independently adjustable colored emitters mix into a chosen hue that illuminates the subject.",
    "aliases": [
      "RGB light mixing",
      "multichannel color lighting"
    ],
    "tags": [
      "color",
      "emitters",
      "lighting",
      "additive mixing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Set the contributions of colored light channels and control their placement, diffusion and recorded spectral response.",
    "web": "Proposed: Mix three virtual colored emitters over a neutral object in linear light, comparing channel contributions with a flat color overlay and labelling spectral behavior as approximate.",
    "video": "Proposed: Illuminate a color chart and textured object with adjustable colored emitters, then compare several channel mixtures at matched brightness while checking recorded material and skin responses.",
    "caution": "Static RGB color selection is distinct from FX-208 timed lighting cues; displayed RGB values do not predict camera color exactly."
  },
  {
    "id": "FX-306",
    "name": "Filtered color lighting",
    "family": "Light & optics",
    "description": "A filter placed in a light path changes the spectrum illuminating the subject.",
    "aliases": [
      "gelled lighting",
      "source color filtration"
    ],
    "tags": [
      "color filters",
      "transmission",
      "practical light",
      "material response"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Select source filtration, transmission and placement to shape colored illumination before photography.",
    "web": "Proposed: Show captured filtered-light swatches beside labelled digital tint approximations, comparing material color and shadow relationships without implying that a screen filter recreates spectral transmission.",
    "video": "Proposed: Photograph a color chart and textured object under a source with rated color filters, comparing transmitted brightness and material rendering against unfiltered light at compensated exposure.",
    "caution": "Historical fabric or paper filtering is source evidence, not a safe equipment recipe; use rated modern materials and professional heat management."
  },
  {
    "id": "FX-307",
    "name": "Dye-transfer printing",
    "family": "Color & channels",
    "description": "Color separation matrices transfer dyes to form the colors of a physical release print.",
    "aliases": [
      "imbibition printing",
      "Technicolor dye transfer"
    ],
    "tags": [
      "photochemical",
      "color separation",
      "printing",
      "saturation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Create and register separation matrices whose dye transfers combine into the printed image.",
    "web": "Proposed: Build a labelled conceptual separation-layer study with adjustable color density, comparing neutral balance and saturation against the original while distinguishing simulation from physical dye-transfer printing.",
    "video": "Proposed: Grade an original clip toward a documented dye-transfer reference, comparing neutral patches and saturated objects while labelling the result an interpretation rather than a photochemical print.",
    "caution": "A saturated digital grade can be an interpretation, but it is not the physical dye-transfer process."
  },
  {
    "id": "FX-308",
    "name": "Rotating color-filter lighting",
    "family": "Light & optics",
    "description": "Moving filtered openings produce a changing colored light pattern across a scene.",
    "aliases": [
      "rotating gel lighting",
      "moving color filtration"
    ],
    "tags": [
      "moving light",
      "color filters",
      "reflections",
      "practical effects"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move a filter assembly relative to a fixed source and subject to create repeatable color transitions.",
    "web": "Proposed: Animate a virtual filter pattern across a light illuminating dimensional objects, comparing moving reflections and shadows with a flat hue overlay to expose their different mechanisms.",
    "video": "Proposed: Capture an object under a professionally configured moving color-filter fixture, comparing color transitions on matte and reflective surfaces against a digitally tinted version of neutral lighting.",
    "caution": "A digital color overlay changes pixels rather than the reflections and shadows of a moving practical light."
  },
  {
    "id": "FX-309",
    "name": "Low-light digital photography",
    "family": "Camera & capture looks",
    "description": "Digital capture is planned around low scene illumination while controlling the different noise tolerances of important and secondary image regions.",
    "aliases": [
      "digital night capture",
      "low-illumination capture"
    ],
    "tags": [
      "night",
      "sensor noise",
      "exposure",
      "digital camera"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Test sensor sensitivity, exposure and scene lighting to retain chosen low-level illumination without losing essential subject detail.",
    "web": "Proposed: Present labelled low-light capture crops with adjustable display magnification, comparing facial detail, background noise and denoising tradeoffs rather than claiming a darkness filter recreates sensor behavior.",
    "video": "Proposed: Capture a dim scene using several exposure and sensitivity combinations, comparing subject detail and background noise after matching output brightness and recording any added illumination.",
    "caution": "Night photography does not imply available light only, high gain, fast lenses or deliberately noisy faces."
  },
  {
    "id": "FX-310",
    "name": "Electroluminescent panel lighting",
    "family": "Light & optics",
    "description": "Thin emissive sheets provide a low-level area light within a confined scene.",
    "aliases": [
      "EL panel lighting",
      "electroluminescent sheet light"
    ],
    "tags": [
      "area light",
      "confined spaces",
      "practical illumination",
      "electroluminescence"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Arrange electroluminescent panels around the subject and control their brightness and color contribution.",
    "web": "Proposed: Simulate a thin emissive sheet beside an object in a confined space, comparing wrap and falloff against a point light without claiming spectral equivalence to electroluminescence.",
    "video": "Proposed: Photograph a small confined setup illuminated by an electroluminescent panel, comparing softness, brightness and recorded color against an LED source of similar apparent size.",
    "caution": "Electroluminescent sheets and LED panels use different emission mechanisms even when their shapes are similar."
  },
  {
    "id": "FX-311",
    "name": "Motivated scene lighting",
    "family": "Light & optics",
    "description": "Added illumination is designed to read as light from a credible source within the scene.",
    "aliases": [
      "practical-motivated lighting",
      "source-motivated lighting"
    ],
    "tags": [
      "naturalism",
      "practicals",
      "light direction",
      "continuity"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Relate direction, color, softness and falloff of production lighting to the scene’s visible or implied practical sources.",
    "web": "Proposed: Add a virtual hidden fill aligned with a visible lamp, comparing readability and apparent source credibility against mismatched direction while keeping the practical lamp visible.",
    "video": "Proposed: Photograph a scene with a visible practical lamp and supplementary illumination, comparing matched and mismatched direction, color and softness to judge whether the added light feels motivated.",
    "caution": "Naturalistic appearance does not prove natural or available light. The Revenant steady firelight fill remains a documented application rather than a separate catalogue mechanism."
  },
  {
    "id": "FX-312",
    "name": "Format-matching degradation",
    "family": "Analog & texture",
    "description": "Cleaner material receives controlled texture and resolution changes to integrate with another source format.",
    "aliases": [
      "source-format matching",
      "texture matching",
      "format degradation"
    ],
    "tags": [
      "grain",
      "resolution",
      "compositing",
      "source integration"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Measure visible differences between sources and adjust sharpness, texture, contrast and signal artifacts toward a chosen reference.",
    "web": "Proposed: Build a reversible comparison between a reference frame and a cleaner image, adjusting resolution, texture and contrast independently to judge integration without claiming authentic format recapture.",
    "video": "Proposed: Combine original clips from two formats and match the cleaner source using measured texture and sharpness differences, comparing treated cuts against untreated cuts while preserving source masters.",
    "caution": "Keep source lineage intact and preserve an untreated master; the result is a visual match rather than authentic recapture on the older format."
  },
  {
    "id": "FX-313",
    "name": "Overcranked slow-motion photography",
    "family": "Camera & capture looks",
    "description": "Action captured at a higher frame cadence is played at a lower cadence to show motion more slowly.",
    "aliases": [
      "overcranking",
      "high-frame-rate slow motion"
    ],
    "tags": [
      "capture rate",
      "slow motion",
      "time",
      "motion detail"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose a capture frame rate above delivery rate, then conform the acquired frames to the intended playback cadence.",
    "web": "Proposed: Compare a high-frame-rate clip conformed to slower playback with interpolated standard-rate footage, labelling capture rates and exposing differences in motion detail rather than merely slowing playback.",
    "video": "Proposed: Capture the same action above delivery frame rate and at normal cadence, then compare conformed slow motion with interpolated retiming while documenting shutter and lighting settings.",
    "caution": "Slow motion alone does not establish high-speed photography; Watchmen and Zombieland lack capture-rate evidence in their cited text."
  },
  {
    "id": "FX-314",
    "name": "Scene-integrated 3D typography",
    "family": "Type space & repetition",
    "description": "Three-dimensional lettering is positioned and treated as part of a scene rather than a flat overlaid title.",
    "aliases": [
      "environmental 3D titles",
      "spatially integrated type"
    ],
    "tags": [
      "typography",
      "3D",
      "lighting",
      "perspective"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate the type’s spatial placement, material, lighting and motion with the photographed or rendered scene.",
    "web": "Proposed: Place dimensional type inside a virtual scene with shared illumination and perspective, comparing its readability and spatial belonging against an otherwise identical flat title overlay.",
    "video": "Proposed: Track an original camera move and place dimensional lettering within the scene, comparing matched lighting and perspective against a flat overlay before adding optional occlusion.",
    "caution": "This does not automatically establish glyph extrusion or foreground occlusion; those require their own evidence."
  },
  {
    "id": "FX-315",
    "name": "Text-aware composition",
    "family": "Type space & repetition",
    "description": "Live-action framing reserves deliberate room and visual hierarchy for text added to the image.",
    "aliases": [
      "title-aware framing",
      "reserved title space"
    ],
    "tags": [
      "typography",
      "composition",
      "negative space",
      "reading order"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Plan actor placement, camera framing and visual detail together with the expected text area and reading sequence.",
    "web": "Proposed: Design responsive image-and-text layouts from deliberately reserved image space, comparing multiple crops and screen widths to test reading order, contrast and subject visibility.",
    "video": "Proposed: Frame a short performance with a planned title zone and compare it with an unrestricted composition, checking reading time and subject visibility after adding identical text.",
    "caution": "Reserved space does not by itself imply surface tracking, occlusion or diegetic text."
  },
  {
    "id": "FX-316",
    "name": "Flash-linked graphic afterimage",
    "family": "Color & channels",
    "description": "A graphic begins with a bright flash and fades toward the scene palette to suggest a lingering visual impression.",
    "aliases": [
      "graphic afterimage",
      "flash-cued title fade"
    ],
    "tags": [
      "graphics",
      "color decay",
      "timing",
      "reduced motion"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Synchronize an overbright graphic state with a flash cue and animate its color and opacity toward the surrounding shot.",
    "web": "Proposed: Animate one restrained graphic cue from a bright accent toward surrounding colors, comparing fade timing with a reduced-flash version while labelling the afterimage as authored animation.",
    "video": "Proposed: Composite a brief graphic accent followed by a fading color trace, comparing several decay durations against a flash-free treatment without claiming an actual retinal effect.",
    "caution": "This is an authored visual suggestion, not a claim about a viewer’s retinal response; provide reduced-flash treatments."
  },
  {
    "id": "FX-317",
    "name": "Packaging-inspired title design",
    "family": "Type space & repetition",
    "description": "A credit system borrows the hierarchy, ornament and layout of a coherent packaging vocabulary.",
    "aliases": [
      "packaging-derived credits",
      "label-inspired typography"
    ],
    "tags": [
      "title design",
      "hierarchy",
      "ornament",
      "design systems"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Research a packaging category and build original title compositions from its recurring layout and graphic conventions.",
    "web": "Proposed: Create original title cards using a researched packaging hierarchy, comparing small-screen readability and family resemblance across several names without reproducing existing package artwork.",
    "video": "Proposed: Develop three original credits from one packaging vocabulary, comparing typographic hierarchy, ornament and reveal timing to determine whether the sequence remains coherent across different names.",
    "caution": "Character-specific symbolism is an application of this design system here, not an additional production effect; do not copy protected package artwork."
  },
  {
    "id": "FX-318",
    "name": "Programmed camera movement",
    "family": "Camera & capture looks",
    "description": "A controlled camera system follows an authored spatial trajectory with repeatable timing.",
    "aliases": [
      "robotic camera movement",
      "motion-control camera move"
    ],
    "tags": [
      "camera path",
      "repeatability",
      "timing",
      "motion control"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Translate an intended camera path into a calibrated motor or robotic camera movement and test it against the scene.",
    "web": "Proposed: Preview a virtual camera trajectory with editable position and timing, comparing repeated runs and alternate easing while distinguishing simulation from a calibrated physical camera system.",
    "video": "Proposed: Record a simple authored move with a calibrated motorized camera system, comparing repeated takes for framing and timing consistency without assuming repeated-pass compositing is required.",
    "caution": "A programmed move does not prove repeated-pass compositing. Delicatessen has only a publisher motion-control tag in the reviewed evidence."
  },
  {
    "id": "FX-319",
    "name": "Digital intermediate grading",
    "family": "Color & channels",
    "description": "A film-origin image is digitized for an integrated color finish before a documented output master is made.",
    "aliases": [
      "film digital intermediate",
      "DI color finish"
    ],
    "tags": [
      "film scan",
      "color management",
      "grading",
      "finishing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Scan or transfer film, conform the digital picture, grade it and produce a controlled output master.",
    "web": "Proposed: Present labelled film-scan, graded intermediate and output-preview frames in a comparison viewer, checking scene continuity while distinguishing this workflow from grading digitally captured footage.",
    "video": "Proposed: Grade an authorized film scan through a documented color-managed intermediate workflow, comparing shot matching and output transforms against the ungraded scan while preserving the film-origin metadata.",
    "caution": "Use for film-origin digital-intermediate workflow; a digitally captured film with a digital grade is not automatically a film-scan workflow."
  },
  {
    "id": "FX-320",
    "name": "Virtual-environment compositing",
    "family": "Compositing & masking",
    "description": "Photographed performers and selected props are combined with an extensively authored environment.",
    "aliases": [
      "digital backlot",
      "authored environment composite"
    ],
    "tags": [
      "compositing",
      "environment",
      "foreground plate",
      "integration"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Isolate the foreground plate, construct the intended environment and match camera, light, edges and contact relationships.",
    "web": "Proposed: Place a photographed cutout into an authored virtual setting, comparing perspective, contact shadow and color matching against an untreated placement to identify what supports spatial credibility.",
    "video": "Proposed: Photograph an original performer with selected props, then composite an authored environment and compare matched camera, lighting and contact relationships against an intentionally unmatched version.",
    "caution": "The digital-backlot label does not imply every set is virtual or that no practical props are present."
  },
  {
    "id": "FX-321",
    "name": "Large-format photochemical capture",
    "family": "Camera & capture looks",
    "description": "A comparatively large motion-picture negative area supplies the original photographed image.",
    "aliases": [
      "large-negative film capture",
      "65mm film photography"
    ],
    "tags": [
      "film format",
      "negative area",
      "optics",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose and expose a large film format with corresponding optics, then preserve its image through processing and finishing.",
    "web": "Proposed: Display documented large-format film scans beside labelled digital approximations, comparing detail at matched output scale without treating added grain or shallow focus as proof of format.",
    "video": "Proposed: Arrange a lab-supported large-format film camera test and compare its scan with another format at matched framing, documenting negative dimensions, optics, exposure and finishing differences.",
    "caution": "Large format does not guarantee a particular depth of field; angle of view, aperture and distance also matter. Distinguish 5-perf 65mm from15-perf IMAX."
  },
  {
    "id": "FX-322",
    "name": "Photochemical color timing",
    "family": "Color & channels",
    "description": "Shot-by-shot printer-light adjustments establish a film print’s overall color and density.",
    "aliases": [
      "printer-light timing",
      "film color timing"
    ],
    "tags": [
      "photochemical",
      "printer lights",
      "color balance",
      "print density"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Set controlled printer-light values for individual shots and assess the resulting physical print.",
    "web": "Proposed: Offer a labelled printer-light simulation for overall color and density, comparing adjacent shots while distinguishing these controls from a physically exposed and processed film print.",
    "video": "Proposed: Ask a film laboratory to prepare small timing variations from an authorized negative, then compare projected print density and color against documented printer-light settings.",
    "caution": "A digital printer-light interface is a simulation of controls, not proof of a photochemical finish."
  },
  {
    "id": "FX-323",
    "name": "Simulated time-lapse cues",
    "family": "Motion & time",
    "description": "Authored environmental changes and temporal texture suggest a long elapsed interval without requiring interval photography.",
    "aliases": [
      "synthetic time lapse",
      "authored time compression"
    ],
    "tags": [
      "time",
      "environment",
      "animation",
      "temporal cues"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Coordinate accelerated environmental changes with recognizable temporal cues, documenting which components are captured and which are animated.",
    "web": "Proposed: Animate cloud position, light direction and environmental change in a labelled synthetic scene, comparing combined cues with isolated changes to test whether elapsed time reads clearly.",
    "video": "Proposed: Combine an original locked scene with accelerated animated shadows and environmental changes, comparing the composite against actual interval capture while documenting which elements were simulated.",
    "caution": "Do not label synthetic time compression as an actual time-lapse shoot."
  },
  {
    "id": "FX-324",
    "name": "Practical liquid-burst effects",
    "family": "Particles & atmosphere",
    "description": "A photographed liquid release forms a large plume or burst whose physical behavior supplies the effect.",
    "aliases": [
      "photographed liquid burst",
      "practical liquid plume"
    ],
    "tags": [
      "liquid",
      "practical effects",
      "fluid motion",
      "plate photography"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Plan a professionally controlled liquid event and photograph its shape and movement, or use a clearly labelled simulation for a mockup.",
    "web": "Proposed: Compare licensed photographed liquid-burst plates with clearly labelled fluid simulations, adjusting playback and silhouette contrast to judge organic variation without implying simulated material was physically captured.",
    "video": "Proposed: Begin with licensed liquid-burst footage or a fluid simulation, comparing silhouette and motion at delivery speed before considering specialist capture through a qualified practical-effects team.",
    "caution": "Historical pyrotechnic release is recorded only at a descriptive level. Reproduction requires specialist production planning; do not supply charge, device or rigging instructions."
  },
  {
    "id": "FX-325",
    "name": "Selective hue grading",
    "family": "Color & channels",
    "description": "A selected hue range changes color or saturation while other hues are controlled independently.",
    "aliases": [
      "secondary hue correction",
      "hue-range grading"
    ],
    "tags": [
      "color qualification",
      "secondary grading",
      "hue",
      "masking"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Isolate a hue range with a secondary correction and adjust it while checking spill into skin, clothing and neighboring colors.",
    "web": "Proposed: Build a reversible hue-range adjustment with a visible selection mask, comparing targeted changes against neighboring colors and skin tones without automatically desaturating the rest of the image.",
    "video": "Proposed: Qualify a chosen hue in an original clip and adjust it independently, comparing mask stability across motion and lighting changes while checking unwanted changes to similar-colored objects.",
    "caution": "Do not merge into FX-013, which specifically retains a color accent by desaturating its complement. Hue qualification may affect unrelated objects."
  },
  {
    "id": "FX-326",
    "name": "Interactive effect lighting",
    "family": "Light & optics",
    "description": "Record physical illumination on a performer or set in a timed pattern that a later visual effect follows.",
    "aliases": [
      "synchronized practical effect light"
    ],
    "tags": [
      "light",
      "timing",
      "capture",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Synchronize recorded practical illumination with an effect that is added or extended afterward.",
    "web": "Conceptual: Prototype a restrained light cue in an original virtual scene, then align a separate effect layer to that timing.",
    "video": "Conceptual: Film a professionally planned low-intensity light cue and record its timing for a matching composite.",
    "caution": "A later glow alone is not interactive capture lighting; retain a reduced-flash presentation."
  },
  {
    "id": "FX-327",
    "name": "Ultraviolet fluorescence photography",
    "family": "Light & optics",
    "description": "Photograph fluorescent material while ultraviolet illumination causes it to emit visible light.",
    "aliases": [
      "black-light fluorescence",
      "UV-reactive material capture"
    ],
    "tags": [
      "fluorescent",
      "emission",
      "ultraviolet",
      "material"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Excite fluorescent material with ultraviolet light and photograph its visible emission.",
    "web": "Conceptual: Use a clearly labelled simulated emission material to explore the visual relationship.",
    "video": "Conceptual: Make a controlled original fluorescent-prop study with suitable rated equipment and materials.",
    "caution": "UV emission and visible violet color are not equivalent; avoid unqualified skin or eye exposure instructions."
  },
  {
    "id": "FX-328",
    "name": "Image-based CG lighting",
    "family": "Light & optics",
    "description": "Use captured or authored environmental imagery to supply illumination and reflection information for a rendered scene.",
    "aliases": [
      "environment-map lighting",
      "IBL"
    ],
    "tags": [
      "environment",
      "render",
      "reflection",
      "light"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use an environment image to determine illumination or reflections in a rendered scene.",
    "web": "Conceptual: Render an original object with an environment map and compare light orientation and roughness.",
    "video": "Conceptual: Record a lighting reference and test rendered contact, reflections and color against an original plate.",
    "caution": "Do not automatically claim HDR acquisition, a particular capture rig or physically exact lighting when a source only says environment imagery."
  },
  {
    "id": "FX-329",
    "name": "Full-scale scenic construction",
    "family": "Camera & capture looks",
    "description": "Build a physical environment at performer scale so that staging, materials and lighting share a controlled photographed space.",
    "aliases": [
      "soundstage set construction",
      "performer-scale scenery"
    ],
    "tags": [
      "set",
      "scenery",
      "physical",
      "staging"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Build performer-scale physical scenery whose materials and spatial layout participate in staging and photography.",
    "web": "Conceptual: Build a clearly labelled virtual design study of the spatial and material rules before fabrication.",
    "video": "Conceptual: Prototype an original safe scenic corner and assess staging, surfaces and practical light in wide and close views.",
    "caution": "A constructed location does not establish exact historical accuracy, forced perspective, miniatures or digital extension."
  },
  {
    "id": "FX-330",
    "name": "Tracked photographic-element compositing",
    "family": "Compositing & masking",
    "description": "Integrate separately photographed material into a moving shot by registering its placement to the scene.",
    "aliases": [
      "tracked filmed elements",
      "photographic plate integration"
    ],
    "tags": [
      "tracking",
      "photographic",
      "composite",
      "registration"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Estimate scene motion from recorded features or markers and transform an isolated photographic element so its placement follows the scene.",
    "web": "Conceptual: Compare tracked and screen-fixed versions of an original cleared element with a pauseable scrubber and still alternative.",
    "video": "Conceptual: Composite a cleared photographic element over an original moving plate; inspect registration, perspective, occlusion and light interaction.",
    "caution": "A photographed element is not necessarily volumetric. The historical source does not establish a particular tracking solver, depth reconstruction or software. Use cleared existing fire imagery for the proposed study."
  },
  {
    "id": "FX-331",
    "name": "In-camera lens masking",
    "family": "Camera & capture looks",
    "description": "Restrict the photographed field with a shaped opaque mask placed before the lens during capture.",
    "aliases": [
      "external lens mask",
      "practical vignette"
    ],
    "tags": [
      "mask",
      "lens",
      "capture",
      "border"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Occlude selected rays with an external mask; its outline and distance from the lens determine the photographed border.",
    "web": "Conceptual: Compare original captured masks with a clearly labeled digital matte approximation; provide a static view.",
    "video": "Conceptual: Test a removable external mask with a controlled original subject, checking border shape, focus and framing before recording.",
    "caution": "This is neither accidental lens falloff nor a postproduction vignette. Keep masks separate from lens surfaces and moving equipment."
  },
  {
    "id": "FX-332",
    "name": "Camera run-up exposure flashes",
    "family": "Camera & capture looks",
    "description": "Use overexposed frames generated as a film camera starts or stops as brief editorial accents.",
    "aliases": [
      "camera start-stop flashes",
      "film run-up"
    ],
    "tags": [
      "film",
      "transport",
      "exposure",
      "flash"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Changing transport speed during start or stop alters exposure before or after normal running; the editor selects useful transient frames.",
    "web": "Conceptual: Demonstrate a single optional brightness ramp with pause and reduced-motion alternatives, labeled as a simulation.",
    "video": "Conceptual: Compare cleared start/stop film frames with a restrained digital exposure-ramp study; preserve the distinction in the recipe.",
    "caution": "A white flash alone does not prove this mechanism. Behavior varies with camera transport and shutter control; do not claim hand cranking or calibrated repeatability. Avoid repetitive flashing."
  },
  {
    "id": "FX-333",
    "name": "Draw-and-erase animation",
    "family": "Animation systems",
    "description": "Animate a physical drawing by photographing successive states as selected areas are erased and redrawn.",
    "aliases": [
      "erasure animation",
      "physical chalk animation"
    ],
    "tags": [
      "drawing",
      "erase",
      "animation",
      "physical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Modify a shared drawing surface between separate exposures while registering unchanged regions and retaining or managing residue.",
    "web": "Conceptual: Present an original photographed sequence with a scrubber, pause and static frame; distinguish captured material from a digital chalk effect.",
    "video": "Conceptual: Plan a short action, hold camera and surface registration, and photograph incremental redraws under consistent lighting.",
    "caution": "This changes the drawing itself; moving cutouts, replacing cels or adding a chalk texture are different methods. Residue and flicker require deliberate control."
  },
  {
    "id": "FX-334",
    "name": "Stereoscopic capture and compositing",
    "family": "Camera & capture looks",
    "description": "Create coordinated left-eye and right-eye views and preserve their depth relationship through finishing for binocular presentation.",
    "aliases": [
      "stereo 3D capture",
      "binocular imaging"
    ],
    "tags": [
      "stereo",
      "depth",
      "disparity",
      "paired views"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Maintain matched paired viewpoints, timing and disparity across capture or rendering, compositing and display.",
    "web": "Conceptual: Offer a clearly labeled mono preview or paired-view comparison; claim stereo only with a suitable tested presentation method.",
    "video": "Conceptual: Begin with a stationary original scene and a calibrated paired capture, then evaluate alignment and disparity through finishing.",
    "caution": "The cited Wanderlust upload is 2D. Neither modeled depth nor ordinary web playback establishes stereoscopy, viewing comfort or faithful reproduction."
  },
  {
    "id": "FX-335",
    "name": "Photographic location planning",
    "family": "Camera & capture looks",
    "description": "Use photographs of a real location to map its spatial constraints before planning a filmed action.",
    "aliases": [
      "photographic location survey",
      "location reconnaissance"
    ],
    "tags": [
      "location",
      "photography",
      "planning",
      "staging"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Survey and photograph the space, organize the views into a location reference, and use it to plan the route and available staging area.",
    "web": "Conceptual: Annotate an original location contact sheet with route options and constraints; do not imply the photographs reconstruct unseen geometry.",
    "video": "Conceptual: Photograph a permitted route, map obstacles and candidate action areas, then test blocking separately before production.",
    "caution": "Location photographs establish reconnaissance, not a particular lens, rig, rehearsed camera path, continuous take or exact encounter choreography."
  },
  {
    "id": "FX-336",
    "name": "Invisibility composite",
    "family": "Compositing & masking",
    "description": "A photographed performer disappears while clothing or carried objects remain, requiring reconstruction of newly exposed background and interior surfaces.",
    "aliases": [
      "invisible performer composite",
      "body removal"
    ],
    "tags": [
      "invisibility",
      "performer",
      "reconstruction",
      "garment"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Remove the performer with controlled mattes, replace the exposed background and track or deform authored interior patches to the remaining moving garments or objects.",
    "web": "Proposed: Present an original layered comparison with a scrubber and static fallback, separately toggling body removal and reconstructed interior surfaces.",
    "video": "Proposed: Capture an original clothed performance, a clean background and interior references; compare a removal-only composite with tracked reconstruction of the newly visible garment surfaces.",
    "caution": "Keying removes pixels but cannot recover hidden fabric. This is a deliberate absent-body illusion; FX-284 covers production apparatus cleanup. Do not infer a 3D clothing simulation or automated inpainting from the result."
  },
  {
    "id": "FX-337",
    "name": "Monochrome treatment",
    "family": "Color & channels",
    "description": "An image uses neutral gray values or a single hue family so tonal relationships carry most of its visual structure.",
    "aliases": [
      "black-and-white treatment",
      "grayscale treatment",
      "monochromatic image"
    ],
    "tags": [
      "monochrome",
      "tone",
      "grayscale",
      "palette"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Reduce chromatic variation while designing the separation of subjects, backgrounds and materials through brightness; capture, lighting and finishing routes may differ.",
    "web": "Conceptual: Compare an original color image with reversible grayscale and single-hue variants, retaining a neutral reference and independent contrast control.",
    "video": "Conceptual: Convert an original color scene to monochrome, compare channel weighting at matched contrast, and check skin, fabric and background separation across shots.",
    "caution": "A monochrome appearance does not establish black-and-white negative, orthochromatic filtration, silver retention or a specific conversion pipeline. Unlike duotone, this concept does not require mapping luminance between two chosen inks or colors."
  },
  {
    "id": "FX-338",
    "name": "Portrait montage",
    "family": "Motion & time",
    "description": "A sequence of distinct portraits builds a collective impression through changes in person, expression, framing and duration.",
    "aliases": [
      "portrait sequence",
      "ensemble portrait edit",
      "collective portrait montage"
    ],
    "tags": [
      "portrait",
      "editing",
      "sequence",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Select and order individual portraits so their duration and juxtaposition establish a shared theme while preserving differences among the subjects.",
    "web": "Conceptual: Sequence original portrait clips with user-controlled playback, captions where needed and a static contact sheet; compare two orders at the same total duration.",
    "video": "Conceptual: Film original portraits around one shared prompt, then compare arrangements that group expressions or contrast them while keeping the source performances unchanged.",
    "caution": "This describes an editorial structure. It does not imply still-photo capture, jump cuts within continuous action, a sustained close-up, a particular edit cadence or a documented performance-direction method."
  },
  {
    "id": "FX-339",
    "name": "Direct-to-camera portrait",
    "family": "Camera & capture looks",
    "description": "A portrait subject looks toward the viewing axis so the image reads as a direct visual address to the audience.",
    "aliases": [
      "direct-gaze portrait",
      "camera-facing address",
      "lens-directed portrait"
    ],
    "tags": [
      "portrait",
      "gaze",
      "address",
      "composition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Align the subject’s apparent gaze with the viewing axis and compose the face and surrounding space to control the sense of address.",
    "web": "Conceptual: Compare original direct-gaze and averted-gaze portraits at matched crop and scale, with user-controlled switching and meaningful image descriptions.",
    "video": "Conceptual: Record the same original portrait with gaze directed toward the lens and slightly away, then compare perceived intimacy at matched framing and duration.",
    "caution": "Visible gaze does not establish a teleprompter, eye-line mirror, unscripted emotion, lip-sync instruction or spoken address. It also does not establish how long the shot is held."
  },
  {
    "id": "FX-340",
    "name": "High-contrast tonal treatment",
    "family": "Color & channels",
    "description": "Strong separation between bright and dark image regions creates graphic emphasis while intermediate tones may remain.",
    "aliases": [
      "strong tonal contrast",
      "high-contrast image treatment",
      "graphic light-dark separation"
    ],
    "tags": [
      "contrast",
      "tone",
      "shadow",
      "highlight"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Design the distribution and separation of light and dark values through scene choices, illumination or tonal adjustment, judging the retained detail in important regions.",
    "web": "Conceptual: Offer reversible black-point, midtone and highlight controls on an original image, comparing tonal separation and lost detail against the unmodified source.",
    "video": "Conceptual: Compare an original scene lit for strong separation with an evenly lit version adjusted in grading; inspect skin, dark fabrics and highlight detail at matched output brightness.",
    "caution": "High contrast alone does not prove capture underexposure, solarization, silver-retention processing, clipping or a digital grade. Unlike a threshold silhouette, the result can retain many intermediate tones."
  },
  {
    "id": "FX-341",
    "name": "Frame-within-frame composition",
    "family": "Camera & capture looks",
    "description": "A visible secondary boundary inside the overall image encloses or emphasizes a subject, organizing attention and spatial layers.",
    "aliases": [
      "nested framing",
      "internal picture frame",
      "architectural framing"
    ],
    "tags": [
      "composition",
      "boundary",
      "frame",
      "attention"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Position a subject in relation to an internal opening or border, controlling its scale, shape and contrast against the surrounding image.",
    "web": "Conceptual: Compare original imagery with different internal window shapes and subject placement, keeping the outer viewport fixed and providing a static view.",
    "video": "Conceptual: Frame an original performer through a doorway or architectural opening, then compare a separately labeled matte-based version to study boundary shape and surrounding negative space.",
    "caution": "This is a compositional relationship, not proof of a physical aperture, lens mask, optical printing, digital matte or vignette. It does not require multiple independent split-screen panels or a recursive scene."
  },
  {
    "id": "FX-342",
    "name": "Warm/cool palette separation",
    "family": "Color & channels",
    "description": "Warm and cool color regions distinguish subjects, materials or areas of the composition from one another.",
    "aliases": [
      "warm-cool color contrast",
      "warm/cool color separation",
      "opposed color-temperature palette"
    ],
    "tags": [
      "palette",
      "warm",
      "cool",
      "separation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign contrasting warm and cool relationships to selected scene regions through art direction, illumination or color treatment while maintaining a deliberate visual hierarchy.",
    "web": "Conceptual: Compare original images with independently adjustable region palettes and visible masks, keeping brightness and saturation controls separate from hue.",
    "video": "Conceptual: Stage an original warm-background/cool-subject study, then compare a separately labeled selective grade at matched brightness and saturation to assess separation and skin rendering.",
    "caution": "Warm/cool regions need not follow shadow and highlight luminance ranges, so this is not automatically split toning. An observed palette does not establish colored lights, filters, selective hue grading or a numeric color temperature."
  },
  {
    "id": "FX-343",
    "name": "Low-angle composition",
    "family": "Camera & capture looks",
    "description": "An upward-looking view places the apparent viewpoint below the subject, altering its relationship to the surrounding space.",
    "aliases": [
      "upward-looking composition",
      "low viewpoint",
      "low-angle framing"
    ],
    "tags": [
      "composition",
      "viewpoint",
      "perspective",
      "scale"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose a viewpoint below the subject and orient the view upward, controlling distance, crop and background relationships to shape emphasis.",
    "web": "Conceptual: Compare original eye-level and low-angle photographs of the same subject; label any perspective-warp preview as a limited simulation of a new viewpoint.",
    "video": "Conceptual: Record an original subject from eye level and from below at planned framing, then compare apparent prominence, background lines and cropping.",
    "caution": "An upward composition does not establish a wide-angle lens, focal length, low dolly, crane, camera movement or capture format. A two-dimensional image warp cannot recover unseen surfaces of a true viewpoint change."
  },
  {
    "id": "FX-344",
    "name": "Underwater performance capture",
    "family": "Camera & capture looks",
    "aliases": [
      "submerged performance photography",
      "underwater staging"
    ],
    "tags": [
      "water",
      "capture",
      "performance",
      "practical",
      "environment"
    ],
    "description": "Photograph a deliberately staged performer beneath the water surface so actual water conditions participate in the image and movement.",
    "mechanism": "Stage and photograph a submerged subject with an appropriate underwater production team; coordinate performance cues with the water environment rather than implying submersion through a flat image filter.",
    "web": "Conceptual: Compare an original professionally captured underwater performance with a clearly labeled rendered approximation, using synchronized playback and still alternatives to evaluate movement, visibility and perceived immersion.",
    "video": "Conceptual: Develop a brief submerged performance with a qualified underwater unit and controlled tank access; compare its movement with a dry rehearsal before choosing capture or simulation.",
    "caution": "Real underwater capture does not prove a particular optical port, lighting setup, frame rate or postproduction treatment. Digital tint, bubbles and distortion alone are simulations.",
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed"
  },
  {
    "id": "FX-345",
    "name": "On-set interface playback",
    "family": "Camera & capture looks",
    "description": "Record interface content displayed by working physical screens during scene photography.",
    "aliases": [
      "practical screen playback",
      "on-set screen graphics"
    ],
    "tags": [
      "interface",
      "display",
      "practical",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Prepare and display interface states on working physical screens during photography, using recorded loops or functional controls as required.",
    "web": "Proposed: Compare an original filmed working display with a labelled post-production insert, preserving accessible interface text outside the video.",
    "video": "Proposed: Film an original performer operating a simple display interface; test shutter/display timing, exposure and screen readability.",
    "caution": "Do not infer LED illumination or absence of later screen repair merely because playback occurred on set."
  },
  {
    "id": "FX-346",
    "name": "Performance-led interface compositing",
    "family": "Compositing & masking",
    "description": "Design and time fictional interface states around photographed gestures on a blank or transparent prop, then composite them into the scene.",
    "aliases": [
      "gesture-matched interface graphics",
      "blank-prop interface compositing"
    ],
    "tags": [
      "interface",
      "gesture",
      "timing",
      "composite"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Use recorded gestures as constraints for graphic state, placement and timing, then composite those interface states into the photographed scene.",
    "web": "Proposed: Overlay an original clip with timed interface states and expose a gesture/state comparison without implying that the underlying video is interactive.",
    "video": "Proposed: Photograph simple original gestures on a blank prop, animate corresponding controls and compare graphic response timing before any optional tracking.",
    "caution": "Performance alignment does not establish a particular tracking, keying or masking method."
  },
  {
    "id": "FX-347",
    "name": "Art-historical style progression",
    "family": "Animation systems",
    "description": "Arrange successive art-period treatments to communicate narrative development or the passage of time.",
    "aliases": [
      "period-style progression",
      "art-history sequence"
    ],
    "tags": [
      "style",
      "history",
      "sequence",
      "narrative"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign narrative milestones to researched art periods and author original visual treatments whose ordered changes carry the story.",
    "web": "Proposed: Build three original illustrated chapters with distinct period vocabularies, a stable reading structure and a motion-free view.",
    "video": "Proposed: Storyboard a short historical progression and test whether each original style change clarifies the narrative without obscuring credits.",
    "caution": "Evoking a period does not prove use of its historical materials; style references and copied artworks are different things."
  },
  {
    "id": "FX-348",
    "name": "Role-based typographic identity system",
    "family": "Type layout & interaction",
    "description": "Assign complementary typefaces defined display and information roles across a coordinated identity.",
    "aliases": [
      "broadcast typographic system",
      "display and information type roles"
    ],
    "tags": [
      "typography",
      "hierarchy",
      "identity",
      "roles"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign complementary typefaces explicit communication roles and apply consistent size, spacing and placement rules across outputs.",
    "web": "Proposed: Define display and information styles for an original interface and compare hierarchy and readability across screen sizes.",
    "video": "Proposed: Design an original title, credit panel and programme menu with shared role rules, then test reading time at delivery size.",
    "caution": "A typographic identity system does not establish variable-font behaviour, responsive scaling or an animation pipeline."
  },
  {
    "id": "FX-349",
    "name": "Mutable logo identity system",
    "family": "Type surfaces",
    "description": "Vary a logo’s authored colour, pattern or material treatment while retaining an identifying structural rule.",
    "aliases": [
      "mutable logo treatments",
      "variable logo identity"
    ],
    "tags": [
      "logo",
      "identity",
      "variation",
      "structure"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Hold the mark’s identifying proportions or structure stable while authoring different colours, patterns or material appearances.",
    "web": "Proposed: Give an original wordmark several finite treatments, include a still choice and check recognition and text alternatives.",
    "video": "Proposed: Create a short ident from an original mark with controlled treatment changes and compare recognisability against a fixed version.",
    "caution": "Changing treatments does not by itself establish shape morphing, a variable font or a particular compositing process."
  },
  {
    "id": "FX-350",
    "name": "Lettering-to-typeface extension",
    "family": "Type form",
    "description": "Complete custom title lettering as a reusable character set and font for additional text.",
    "aliases": [
      "title alphabet completion",
      "custom lettering font extension"
    ],
    "tags": [
      "lettering",
      "alphabet",
      "font",
      "production"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Complete the glyph set from custom lettering, digitise and space it as a font, and apply it to further text.",
    "web": "Proposed: Extend original lettering into a limited licensed font test and compare several strings with accessible live-text fallbacks.",
    "video": "Proposed: Complete an original title alphabet, test names and punctuation, and compare font-set credits against the original lettering.",
    "caution": "A completed font may need additional alternates and language coverage; font use does not prove how its later animation was made."
  },
  {
    "id": "FX-351",
    "name": "Large-format digital sensor capture",
    "family": "Camera & capture looks",
    "description": "Use an active digital recording area larger than the specified Super 35 comparison, with optics that cover the chosen area.",
    "aliases": [
      "large-format digital capture",
      "large-area sensor capture"
    ],
    "tags": [
      "digital",
      "sensor",
      "format",
      "optics"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Select a documented active sensor area and covering optics, then coordinate focal length, aperture and distance for the intended framing.",
    "web": "Proposed: Show labelled original format tests at matched output size, retaining active-area and lens metadata rather than simulating a sensor claim.",
    "video": "Proposed: Compare two documented digital recording areas with matched framing and record lens, aperture, distance and crop differences.",
    "caution": "Nominal sensor size alone does not prove the active recording area or determine perspective, depth of field or image quality."
  },
  {
    "id": "FX-352",
    "name": "In-shot aperture pull",
    "family": "Camera & capture looks",
    "description": "Adjust lens aperture during a captured shot to manage changing scene exposure.",
    "aliases": [
      "iris pull",
      "iris ride"
    ],
    "tags": [
      "aperture",
      "exposure",
      "camera",
      "continuity"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Adjust lens iris during the shot to follow changes in scene illumination, coordinating the change with camera and performer movement.",
    "web": "Proposed: Compare an original recorded iris pull with a clearly labelled brightness-only simulation, explaining the missing focus-depth change.",
    "video": "Proposed: Rehearse a camera move between two lighting levels, control the iris through the move and inspect exposure continuity and focus depth.",
    "caution": "A visible exposure change can arise from grading or gain instead; an iris change also affects depth of field."
  },
  {
    "id": "FX-353",
    "name": "Negative fill",
    "family": "Light & optics",
    "description": "Place dark absorptive material to reduce reflected ambient light and shape the shadow side.",
    "aliases": [
      "black fill",
      "subtractive fill"
    ],
    "tags": [
      "lighting",
      "shadow",
      "contrast",
      "absorption"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Position dark surfaces to absorb bounce or ambient illumination that would otherwise fill the subject’s shadow side.",
    "web": "Proposed: Use a labelled original before/after comparison of a black flag, keeping exposure fixed and distinguishing capture from grading.",
    "video": "Proposed: Place a black flag beside a softly lit subject and compare shadow values and edge separation as distance changes.",
    "caution": "A dark shadow does not prove negative fill; the placed material and setup must be established."
  },
  {
    "id": "FX-354",
    "name": "Multi-source soft-light array",
    "family": "Light & optics",
    "description": "Arrange discrete fixtures across a broad area so their combined contribution produces the intended soft-light character.",
    "aliases": [
      "grouped hard-source soft light",
      "multi-fixture soft source"
    ],
    "tags": [
      "lighting",
      "array",
      "softness",
      "source size"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Distribute and aim multiple fixtures over a broad area, adjusting spacing and distance for the desired combined shadow behaviour.",
    "web": "Proposed: Compare a labelled virtual or photographed fixture array at several spacings and show where multiple shadows remain.",
    "video": "Proposed: With suitable lighting supervision, compare a grouped array with a single source at matched exposure and evaluate softness and shadow multiplicity.",
    "caution": "An array is not automatically soft; angular spread, fixture spacing, subject distance and overlap determine its appearance."
  },
  {
    "id": "FX-355",
    "name": "Light-cue visibility reveal",
    "family": "Light & optics",
    "description": "Reveal or conceal a subject against darkness by changing its illumination.",
    "aliases": [
      "light-cue apparition",
      "lit reveal in darkness"
    ],
    "tags": [
      "lighting",
      "reveal",
      "visibility",
      "cue"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Control a dedicated light against sufficiently dark surroundings so its cue changes whether the subject can be seen.",
    "web": "Proposed: Animate illumination in a labelled virtual scene or show an original recorded comparison, keeping a still alternative available.",
    "video": "Proposed: Place an original performer against darkness, control spill and cue a dedicated light while checking concealment in the recorded image.",
    "caution": "The light cue does not establish an uninterrupted released take, no compositing or a reflection apparatus."
  },
  {
    "id": "FX-356",
    "name": "Available-daylight staging",
    "family": "Camera & capture looks",
    "description": "Organise timing, location and performance around available daylight as the principal scene illumination.",
    "aliases": [
      "daylight-led capture",
      "available daylight photography"
    ],
    "tags": [
      "daylight",
      "staging",
      "schedule",
      "location"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose time, orientation and daylight access, and adapt performer placement or location to the available daylight while recording any added-light exceptions.",
    "web": "Proposed: Present an original location study with time and orientation notes and compare alternate staging under changing daylight.",
    "video": "Proposed: Plan a short scene around available window or exterior daylight, rehearse alternate positions and document any added lamps or reflectors.",
    "caution": "Natural appearance does not prove daylight-only photography; preserve exceptions and do not infer a fast lens or particular time of day."
  },
  {
    "id": "FX-357",
    "name": "Negative flashing",
    "family": "Color & channels",
    "description": "Add controlled uniform light exposure to film negative before development to modify its response.",
    "aliases": [
      "film flashing",
      "post-exposure negative flash"
    ],
    "tags": [
      "film",
      "exposure",
      "laboratory",
      "contrast"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Add a controlled uniform exposure to the negative before development, documenting its timing relative to image capture and its measured amount.",
    "web": "Proposed: Compare authorised scan tests with explicitly labelled digital tonal approximations; do not present a lifted-black curve as physical flashing.",
    "video": "Proposed: Arrange a small supervised laboratory test of original negative with documented flash levels and compare processed scans at matched display settings.",
    "caution": "Flashing differs from silver retention, abrasion and digital grading; the cited Apocalypse Now method is post-exposure and gives no flash level."
  },
  {
    "id": "FX-358",
    "name": "Film-out and rescan",
    "family": "Color & channels",
    "description": "Pass a digital picture through film recording, processing and scanning as part of the finish.",
    "aliases": [
      "digital-to-film-to-digital finish",
      "film-out scan-back"
    ],
    "tags": [
      "film-out",
      "scan",
      "finishing",
      "hybrid"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Record the digital picture onto film, process it and rescan the result into the digital finishing workflow.",
    "web": "Proposed: Compare authorised digital-before and film-rescanned frames with media-conversion metadata and a clearly labelled simulation alternative.",
    "video": "Proposed: Run a short original digital test through a film recorder and scan service, documenting stock, processing and scan settings before comparing results.",
    "caution": "This is not film-origin capture or a generic film-grain filter; preserve project-specific format and output details."
  },
  {
    "id": "FX-359",
    "name": "Dual-aspect-ratio composition",
    "family": "Camera & capture looks",
    "description": "Compose material so essential content remains coherent in two intended aspect-ratio extractions.",
    "aliases": [
      "dual-ratio framing",
      "protected alternate aspect ratios"
    ],
    "tags": [
      "framing",
      "aspect ratio",
      "composition",
      "delivery"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Design against two frame boundaries and check lens choice, blocking and essential action in both intended extractions.",
    "web": "Proposed: Show an original shot in two labelled crops and identify content that remains readable or falls outside each boundary.",
    "video": "Proposed: Compose an original scene for two delivery ratios and compare the versions before committing to blocking and camera movement.",
    "caution": "Protecting two ratios does not prove an animated aspect-ratio transition or a particular camera, sensor or film format."
  },
  {
    "id": "FX-360",
    "name": "Encoded armature animation input",
    "family": "Animation systems",
    "description": "Use instrumented physical armature poses as keyframe input for a corresponding digital character.",
    "aliases": [
      "Dinosaur Input Device",
      "digital input armature"
    ],
    "tags": [
      "armature",
      "encoder",
      "keyframes",
      "CG"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Record instrumented armature joint states as authored poses, transfer them to a digital rig and correct curves and contacts before rendering.",
    "web": "Proposed: Show labelled physical-pose data and a simple digital rig side by side, using original recorded data or an explicitly simulated input.",
    "video": "Proposed: Record a short sequence from an instrumented model or emulated joint controls and compare raw retargeted poses with corrected CG motion.",
    "caution": "The final image is CG; this is not photographed stop-motion or live-performer motion capture, and rig proportions may differ."
  },
  {
    "id": "FX-361",
    "name": "Composited multi-plane focus",
    "family": "Compositing & masking",
    "description": "Construct sharpness relationships from separately authored image layers rather than one optical exposure.",
    "aliases": [
      "layered focus construction",
      "composited deep focus"
    ],
    "tags": [
      "focus",
      "layers",
      "composite",
      "lensing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Combine separately captured or rendered depth elements with independently chosen sharpness, defocus and lens character.",
    "web": "Proposed: Build an original layered still with independent focus controls and compare it against a single simulated focus plane.",
    "video": "Proposed: Composite original foreground, middle and background elements at chosen sharpness, then test optional defocus without asserting a physically possible lens.",
    "caution": "An all-sharp frame can also come from optical deep focus; shaped bokeh and deliberately mismatched focal lengths require their own evidence."
  },
  {
    "id": "FX-362",
    "name": "Digital crowd construction",
    "family": "Animation systems",
    "description": "Populate a scene from limited authored digital characters or rendered motion cycles with controlled variation.",
    "aliases": [
      "digital crowd replication",
      "agent or card crowds"
    ],
    "tags": [
      "crowd",
      "population",
      "cycles",
      "variation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Distribute digital agents or pre-rendered animated cards through a scene with controlled variation in appearance, timing and placement.",
    "web": "Proposed: Populate a small original scene with varied animated instances, expose repetition controls and provide a static reduced-motion view.",
    "video": "Proposed: Compare a small original 3D-agent crowd with rendered-card cycles, checking repetition, parallax, shadows and view-dependent limits.",
    "caution": "Agent simulation, rendered cards and photographed plate tiling are different implementations; do not infer one from crowd density."
  },
  {
    "id": "FX-363",
    "name": "3D camera tracking",
    "family": "Compositing & masking",
    "description": "Estimate a photographed camera’s changing viewpoint so rendered elements share the plate’s perspective and motion.",
    "aliases": [
      "match moving",
      "camera solve"
    ],
    "tags": [
      "camera",
      "tracking",
      "perspective",
      "reconstruction"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Track image features and estimate camera pose and required lens parameters, then validate a matching virtual camera against the plate.",
    "web": "Proposed: Overlay an original tracked clip with a simple grid from its solved camera and inspect alignment drift with playback controls.",
    "video": "Proposed: Record an original shot with visible features, solve its camera and compare simple rendered geometry against scene landmarks and lens distortion.",
    "caution": "A convincing composite does not identify the tracking method, software or survey data; lens correction and varying focal length are separate decisions."
  },
  {
    "id": "FX-364",
    "name": "Art-reference tableau staging",
    "family": "Camera & capture looks",
    "description": "Stage original live performers and scenery using compositional relationships drawn from another visual art form.",
    "mechanism": "Translate selected pose, spacing, material and light relationships into a photographed scene while preserving an original premise.",
    "web": "Conceptual: Present original tableau studies with accessible still versions and short annotations explaining how composition serves the message.",
    "video": "Conceptual: Rehearse a short original tableau and choose one deliberate movement that changes its meaning.",
    "caution": "An art reference does not establish capture apparatus, exact lighting ratios, a particular painting copied shot-for-shot or audience interpretation.",
    "aliases": [
      "pictorial tableau staging",
      "art-inspired scene composition"
    ],
    "tags": [
      "art direction",
      "composition",
      "tableau",
      "reference",
      "staging"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed"
  },
  {
    "id": "FX-365",
    "name": "Shutterless-camera smear",
    "family": "Camera & capture looks",
    "description": "A shutterless motion-picture capture path produces characteristic exposure streaking.",
    "mechanism": "Compare a documented shutterless camera configuration with conventional shuttered capture under controlled light.",
    "aliases": [
      "shutterless cinematography"
    ],
    "tags": [
      "capture",
      "shutter",
      "smear",
      "streak",
      "optical"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "web": "Proposed: Show original capture comparisons with synchronized play and pause; label procedural streak filtering as a simulation.",
    "video": "Proposed: Commission a camera-department test using an appropriate shutterless configuration and a conventional comparison. Evaluate exposure behavior before performance coverage.",
    "caution": "A visible streak alone does not establish shutterless acquisition. Do not infer a transport direction or equipment modification from this source."
  },
  {
    "id": "FX-366",
    "name": "Moving-source lighting",
    "family": "Light & optics",
    "description": "Physical movement of a light source changes its spatial illumination during a shot.",
    "mechanism": "Choreograph a light emitter's path relative to the subject and camera, controlling spill, speed and exposure.",
    "aliases": [
      "moving practical light",
      "choreographed light source"
    ],
    "tags": [
      "lighting",
      "movement",
      "practical",
      "choreography",
      "capture"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "web": "Proposed: Compare fixed and moving virtual lights on original geometry with pause and manual progress; label the rendered study as simulation.",
    "video": "Proposed: Film original portraits under fixed and safely controlled moving illumination. Record path and exposure so the chosen cue can be repeated.",
    "caution": "Emitter movement does not itself establish programmed color, long exposure, compositing or lens flare."
  },
  {
    "id": "FX-367",
    "name": "Photographic time-lapse",
    "family": "Camera & capture looks",
    "description": "Photograph a changing scene at separated capture intervals and present the frames over a shorter duration.",
    "mechanism": "Choose the interval between exposures and the display cadence independently to compress recorded environmental change.",
    "aliases": [
      "interval-photography time-lapse",
      "time-lapse photography"
    ],
    "tags": [
      "capture",
      "time",
      "interval",
      "environment"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "web": "Proposed: Present an original interval sequence with capture-time labels and adjustable playback cadence; retain pause and a representative still.",
    "video": "Proposed: Photograph an original changing scene at recorded intervals, assemble at a stated cadence and compare with accelerated continuous capture.",
    "caution": "A named time-lapse process does not identify historical interval, exposure, camera, speed-up ratio or material origin. Keep simulated time-lapse and post-only retiming distinct."
  },
  {
    "id": "FX-368",
    "name": "Interactive consequence visualization",
    "family": "Animation systems",
    "description": "A user-controlled choice changes a visual depiction of its stated consequence, allowing the relationship to be explored before committing to an action.",
    "aliases": [
      "input-linked consequence preview",
      "interactive impact illustration",
      "choice-to-outcome visualization"
    ],
    "tags": [
      "interaction",
      "feedback",
      "explanation",
      "consequence"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Bind a named user-controlled input to a visible depiction of its stated consequence through an explicit rule, updating the visualization and readable state as the input changes.",
    "web": "Conceptual: Build an original slider or choice control with keyboard access, visible input values and a labelled output; distinguish an illustrative rule from a validated predictive model.",
    "video": "Conceptual: Create a clearly labelled walkthrough of an original input-output relationship, showing comparable states and their assumptions without presenting a prerecorded sequence as a live interaction.",
    "caution": "An illustrative change is not measured impact or a causal prediction. Declare units, assumptions and uncertainty; a generic hover flourish or progress animation without an explained consequence is outside this concept."
  },
  {
    "id": "FX-369",
    "name": "Density-field ray marching",
    "family": "Particles & atmosphere",
    "description": "A volumetric image is formed by accumulating samples through a three-dimensional density field along viewing rays.",
    "aliases": [
      "volume ray marching",
      "ray-marched density volume"
    ],
    "tags": [
      "volume",
      "density",
      "cloud",
      "rendering"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Sample a density field at successive positions along each viewing ray and accumulate the samples into a visible volume; choose sampling bounds and quality explicitly.",
    "web": "Conceptual: Render a small original density volume with bounded ray steps and adjustable resolution; compare quality and frame cost, and test depth integration separately.",
    "video": "Conceptual: Render an original density volume while varying step size and transfer settings, documenting the density source separately from its rendering and providing an unprocessed comparison.",
    "caution": "A rendering method does not establish fluid simulation, physically complete light transport or scientific accuracy. Distinguish it from distance-only fog, a flat cloud overlay, visible light shafts and photographed tank clouds."
  },
  {
    "id": "FX-370",
    "name": "Colour-coded narrative segments",
    "family": "Color & channels",
    "description": "Distinct dominant palettes identify narrative sections or alternative tellings.",
    "aliases": [
      "colour-coded chapters",
      "segment palette coding"
    ],
    "tags": [
      "narrative",
      "palette",
      "sections",
      "orientation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Maintain a palette-to-section relationship across the visual design, with additional cues when color alone is insufficient.",
    "web": "Proposed: Give three original story sections distinct palettes and persistent labels; compare orientation and recall with a shared-palette version, including a grayscale accessibility check.",
    "video": "Proposed: Plan palettes for three original narrative variations, then compare their transitions with a common-palette edit while logging art direction, lighting and grading separately.",
    "caution": "The narrative code does not identify the capture or finishing technique, imply universal color meanings, or demonstrate audience comprehension."
  },
  {
    "name": "Extreme close-up",
    "family": "Camera & capture looks",
    "description": "A small subject detail or partial face fills the frame, excluding much of its surrounding context.",
    "aliases": [
      "extreme facial crop",
      "detail close-up"
    ],
    "tags": [
      "composition",
      "crop",
      "detail",
      "attention"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Choose framing or a reversible crop that makes a selected detail dominate; decide which context must remain understandable.",
    "web": "Proposed: Compare full and cropped original images with an accessible way to reveal the wider context.",
    "video": "Proposed: Compare a tight detail shot with a wider original view, recording framing separately from shot duration.",
    "caution": "A tight crop does not establish a macro lens, camera distance, digital enlargement or sustained shot. It differs from FX-211, whose defining property is extended duration.",
    "id": "FX-371"
  },
  {
    "name": "Drawn frame animation",
    "family": "Animation systems",
    "description": "Authored drawings change across a timed sequence to create motion, without requiring live-action tracing or a specific physical layer material.",
    "aliases": [
      "successive-drawing animation",
      "frame-by-frame drawing"
    ],
    "tags": [
      "drawing",
      "animation",
      "poses",
      "timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "mechanism": "Draw successive poses or image states and arrange their exposure timing as an animated sequence.",
    "web": "Proposed: Present an original short drawing sequence with frame stepping and a static alternative; compare two exposure timings while keeping the drawings fixed and clearly label the authored frames.",
    "video": "Proposed: Draw an original gesture across successive image states, assemble two timing variants and compare readable motion; document any photographed reference or physical drawing materials actually used.",
    "caution": "A broad drawing mechanism, with trace-based rotoscoping, physical cel photography and shared-surface erasure as separately evidenced subtypes; do not infer any of them from a drawn appearance.",
    "id": "FX-372",
    "stage": "Indexed"
  },
  {
    "id": "FX-373",
    "name": "In-camera multiple exposure",
    "family": "Camera & capture looks",
    "description": "Separate exposures accumulate on the same photographic film area before development.",
    "aliases": [
      "film re-exposure",
      "in-camera superimposition"
    ],
    "tags": [
      "film",
      "capture",
      "multiple exposure",
      "superimposition"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Plan successive exposures on the same film area, controlling registration and the exposure contribution of each pass.",
    "web": "Proposed: Combine original image layers with an exposure-accumulation model, compare unequal contributions against equal blending, and label the result as a digital simulation of film capture.",
    "video": "Proposed: Plan a short original film re-exposure study, record registration and exposure choices, and compare its result with separately captured digital layers under matched viewing conditions.",
    "caution": "This does not require subject-mask blending or repeated camera trajectories. A digital composite may simulate the appearance but does not reproduce the physical capture process."
  },
  {
    "id": "FX-374",
    "name": "Semantic typographic scenery",
    "family": "Type space & repetition",
    "description": "Words naming objects serve as those objects within a narrative environment.",
    "aliases": [
      "word-built scenery",
      "semantic word environment"
    ],
    "tags": [
      "typography",
      "meaning",
      "scenery",
      "spatial narrative"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Assign meaningful words environmental roles and arrange their scale, position and movement so each functions as readable language and a represented object.",
    "web": "Proposed: Build an original word-based scene with keyboard-controlled steps, compare route comprehension against pictorial scenery, and preserve a plain text description plus a reduced-motion alternative.",
    "video": "Proposed: Animate a short original journey whose descriptive words occupy their objects’ roles, comparing readability and spatial comprehension with an illustrated version at the same delivery size.",
    "caution": "The semantic rule does not require three-dimensional geometry, extrusion, tracking or a particular renderer. Language, reading speed and spatial arrangement need separate audience testing."
  },
  {
    "id": "FX-375",
    "name": "Practical body painting",
    "family": "Material & dimensional treatments",
    "description": "Pigment applied to a performer’s visible skin or hair changes its photographed colour or pattern while physical form and movement remain present.",
    "aliases": [
      "body-paint treatment",
      "painted-body performance",
      "body-colour treatment"
    ],
    "tags": [
      "body paint",
      "practical",
      "pigment",
      "surface",
      "performance"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Apply a designed pigment treatment directly to the performer’s surface, then photograph its interaction with light, body form and movement.",
    "web": "Proposed: Use an original portrait with a controllable, labelled colour-mask simulation; compare it with an untreated view and a painted reference, preserving facial shading and clear capture-versus-simulation labels.",
    "video": "Proposed: With a qualified body-art team, photograph one original pigment treatment and the untreated pose under matching light; compare colour, surface response and gesture readability in stills and motion.",
    "caution": "A physical surface treatment, distinct from prosthetic reshaping, projected colour and digital recolouring. It need not create a fictional character. Historical material formulation is unknown; a digital mockup does not reproduce pigment’s interaction with skin, hair and light."
  },
  {
    "name": "Locked-off multi-pass compositing",
    "family": "Compositing & masking",
    "description": "Separately captured live-action passes are assembled into one apparent scene using a fixed camera viewpoint as their spatial reference.",
    "aliases": [
      "static-camera multi-pass composite",
      "stationary-camera composite"
    ],
    "tags": [
      "locked camera",
      "passes",
      "compositing",
      "independent timing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "mechanism": "Keep the camera viewpoint fixed, record separate action passes, and composite their selected regions within a common scene, resolving overlaps and changing light as needed.",
    "web": "Proposed: Compare independently timed original prepared layers within one static scene, exposing their boundaries and pause controls.",
    "video": "Proposed: Capture an original stationary scene in separate passes with consistent framing; test clean-background and overlap handling before combining their timings.",
    "caution": "Stationary capture does not eliminate performer occlusion, changing shadows or exposure drift. This is distinct from repeated moving-camera passes and does not require cloning a person. The cited source establishes two passes and compositing, not its exact matte construction. A shared apparent scene differs from deliberately separate split-screen panels.",
    "id": "FX-376",
    "stage": "Indexed"
  },
  {
    "name": "Periodic-motion aliasing",
    "family": "Camera & capture looks",
    "description": "Sampling recurring physical events at a related cadence makes their image appear stationary or drift in an unexpected direction.",
    "aliases": [
      "phase-synchronized motion sampling",
      "stroboscopic motion aliasing"
    ],
    "tags": [
      "capture",
      "timing",
      "periodic motion",
      "aliasing"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "mechanism": "Coordinate the sampling cadence with a recurring event so successive exposures record corresponding phases; a slight cadence difference produces apparent drift.",
    "web": "Proposed: Animate an original repeating droplet or rotating marker with independent event and sampling controls; compare continuous and sampled views with pause and still options.",
    "video": "Proposed: Test an original controlled repeating tabletop action with documented camera cadence, exposure and phase; compare matched and detuned sampling without altering recorded order.",
    "caution": "Temporal aliasing relates capture timing to recurring physical events; it is not a frozen single object, reversed frame order or generic slow motion. Camera cadence, event cadence and exposure duration are separate variables. Flashing illumination is not required, and no shutter specification is established by the cited source.",
    "id": "FX-377",
    "stage": "Indexed"
  },
  {
    "name": "Direct-painted-film animation",
    "family": "Animation systems",
    "description": "Paint applied directly to a physical filmstrip supplies changing images for an animated sequence.",
    "aliases": [
      "paint-on-film animation",
      "painted filmstrip animation"
    ],
    "tags": [
      "physical",
      "filmstrip",
      "paint",
      "animation"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "mechanism": "Place pigment on successive areas of a filmstrip and present the resulting image changes in sequence. The strip may be blank or already carry imagery; neither state is assumed for a reference.",
    "web": "Proposed, untested: Present an original transferred painted-film loop with pause and frame stepping; compare its material variation with a labelled digital alternative while holding message and timing constant.",
    "video": "Proposed, untested: Make a short painted-film sequence, record the actual transfer process and compare sparse versus dense mark changes for readability at the intended playback rate.",
    "caution": "Filmstrip painting does not establish camera exposure, previous photographed imagery, paint chemistry, registration or transfer equipment. Digital paint simulation, painted cels, scratched lettering and shared-surface erasure have separate mechanisms.",
    "nearestNeighbors": [
      {
        "id": "FX-285",
        "distinction": "Photographic acquisition on small-gauge film is different from drawing or painting directly on the film material."
      },
      {
        "id": "FX-280",
        "distinction": "Painted cels are separate transparent sheets photographed against backgrounds."
      },
      {
        "id": "FX-333",
        "distinction": "A shared drawing surface is repeatedly erased and photographed."
      },
      {
        "id": "FX-372",
        "distinction": "Successive drawing is a broader mechanism; this concept names the physical filmstrip intervention without requiring a particular drawing pipeline."
      },
      {
        "id": "FX-239",
        "distinction": "Subtractive lettering on a coated surface is not pigment applied to successive filmstrip areas."
      },
      {
        "id": "FX-021",
        "distinction": "An overlaid wear texture does not establish physical manipulation of film material."
      }
    ],
    "evidenceSourceUrls": [
      "https://www.youtube.com/watch?v=4YFu4dvMHHY",
      "https://www.universalmusic.ca/2023/10/13/nirvanas-dumb-visualizer-out-now/"
    ],
    "allocationStatus": "Canonical ID assigned after independent and root review; no tested recipe or original demo.",
    "stage": "Indexed",
    "id": "FX-378"
  },
  {
    "name": "Tracked image-space reframing",
    "family": "Camera & capture looks",
    "description": "Follow a selected action or feature by moving a smaller output frame within a larger captured image.",
    "aliases": [
      "post tracked crop",
      "action-following crop"
    ],
    "tags": [
      "reframing",
      "crop",
      "tracking",
      "image space",
      "attention"
    ],
    "media": [
      "Web",
      "Video"
    ],
    "stage": "Indexed",
    "mechanism": "Move a smaller output crop within a larger captured image to follow a chosen feature or action, using manual placement or tracking where specified.",
    "web": "Proposed, untested: Animate a bounded crop over an original large image sequence, compare a stable anchor with full-frame playback, and preserve static controls for reduced motion.",
    "video": "Proposed, untested: Shoot an original wide fixed-camera action, manually track a smaller crop around one feature, and compare smoothness, context retention and effective resolution against a static crop.",
    "caution": "A crop changes image-space framing, not the captured viewpoint; it creates no new perspective or parallax. Keep source and output dimensions, edge coverage and resolution explicit. Manual versus automatic tracking is unknown unless documented.",
    "id": "FX-379"
  }
]
