Skip to content
Docs
Open Promoeyes
0-abstract-proof-very-cool

0-abstract-proof-very-cool

ABSTRACT · PROOF — five ways to show evidence, in the abstract reel's grammar. A proof scene is 3–3.5 s and its number is never just typed: the stars FILL, the metrics COUNT, the ring CLOSES, the wall LIGHTS, the bar OVERTAKES. Every count is a run of text layers swapped by opacity on a curve that decelerates into the final value, so the number lands.

Read the rig's notes
  #   scene           dur   transition     device   the evidence
  01  q01-stars       3.0   match-move     iphone   five stars fill left to right; the rating counts to 4.9
  02  q02-metrics     3.5   match-move     —        three metrics count in with their labels
  03  q03-ring        3.0   match-move     —        a 36-segment dial closes to 99.9 %
  04  q04-wall        3.5   match-move     iphone   twelve name chips light on the wall behind the phone, row by row
  05  q05-race        3.5   —              —        five bars race; the last one, amber, overtakes

16.5 s of scene + four gaps (3.2 s) ≈ 19.7 s on the wall. Every scene also
stands alone.

THE COUNTS. A count is N text nodes with the same position, each visible
for one step, values chosen so the run decelerates (the last three steps
are 60 % of the run's time). A count that is linear reads as a clock.

THE DIAL (q03) is 36 capsules on a wheel, lit in order by opacity, 0.045 s
apart — the ring closes in 1.6 s and stops one segment short of full, which
is what 99.9 % looks like when you can see the gap.

THE NAMES (q04) are placeholders: twelve one-word chips, three rows of four,
in dark text on pale slabs (clay was too dim at the wall's depth); an
assembly replaces them with logos on the same slabs. The wall lights row by row from 0.6 s.

MATCH. The phones in q01 and q04 carry match=hero; the text scenes carry
match=mark on their largest number; all five carry hz0/hz1/hz2.

LOOK — carried unchanged from the abstract reel:
  ink   #e9e6df    dim  #7c7970    line  #23232a
  mark  #ffb347   cool #7ad7ff   warm #ffa25e

POST. bloom → film_grain → fxaa; no dispersion in this file.

NO AUDIO. Primitives reel; add at assembly time.

Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/parts/abstract-proof.promo --width 1920 --height 1080 --times "1.4,2.8,5.0,7.0,9.0,10.8,12.6,14.8,16.8,19.4"
Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/parts/abstract-proof.promo
Topic
scenes
Scenes
5
Kind
reference rig
//
    ABSTRACT · PROOF — five ways to show evidence, in the abstract reel's
    grammar. A proof scene is 3–3.5 s and its number is never just typed: the
    stars FILL, the metrics COUNT, the ring CLOSES, the wall LIGHTS, the bar
    OVERTAKES. Every count is a run of text layers swapped by opacity on a
    curve that decelerates into the final value, so the number lands.

      #   scene           dur   transition     device   the evidence
      01  q01-stars       3.0   match-move     iphone   five stars fill left to right; the rating counts to 4.9
      02  q02-metrics     3.5   match-move     —        three metrics count in with their labels
      03  q03-ring        3.0   match-move     —        a 36-segment dial closes to 99.9 %
      04  q04-wall        3.5   match-move     iphone   twelve name chips light on the wall behind the phone, row by row
      05  q05-race        3.5   —              —        five bars race; the last one, amber, overtakes

    16.5 s of scene + four gaps (3.2 s) ≈ 19.7 s on the wall. Every scene also
    stands alone.

    THE COUNTS. A count is N text nodes with the same position, each visible
    for one step, values chosen so the run decelerates (the last three steps
    are 60 % of the run's time). A count that is linear reads as a clock.

    THE DIAL (q03) is 36 capsules on a wheel, lit in order by opacity, 0.045 s
    apart — the ring closes in 1.6 s and stops one segment short of full, which
    is what 99.9 % looks like when you can see the gap.

    THE NAMES (q04) are placeholders: twelve one-word chips, three rows of four,
    in dark text on pale slabs (clay was too dim at the wall's depth); an
    assembly replaces them with logos on the same slabs. The wall lights row by row from 0.6 s.

    MATCH. The phones in q01 and q04 carry match=hero; the text scenes carry
    match=mark on their largest number; all five carry hz0/hz1/hz2.

    LOOK — carried unchanged from the abstract reel:
      ink   #e9e6df    dim  #7c7970    line  #23232a
      mark  #ffb347   cool #7ad7ff   warm #ffa25e

    POST. bloom → film_grain → fxaa; no dispersion in this file.

    NO AUDIO. Primitives reel; add at assembly time.

    Capture: nx run tools:capture:webgl -- --project promos/primitives/scenes/abstract/parts/abstract-proof.promo --width 1920 --height 1080 --times "1.4,2.8,5.0,7.0,9.0,10.8,12.6,14.8,16.8,19.4"
    Preview: /packages/runtime/index.html?project=promos/primitives/scenes/abstract/parts/abstract-proof.promo
promo#abstract-proof(width=1920 height=1080 fps=30)
  materials
    // the abstract reel's six materials, carried whole so this file grades on its own
    physical#clearcoat(color=#15161a metalness=0 roughness=0.45 clearcoat=1 clearcoat-roughness=0.06 envmap-intensity=1.1)
    standard#metal(color=#d8d8dc metalness=1 roughness=0.22 envmap-intensity=1.25)
    standard#clay(color=#9c9689 metalness=0 roughness=0.95)
    basic#emissive(color=#ffb347)
    basic#emissive-cool(color=#7ad7ff)
    basic#emissive-white(color=#f4e6cf)
    physical#glass(color=#dfefff metalness=0 roughness=0.14 transmission=0.85 thickness=70 ior=1.45 clearcoat=0.9 clearcoat-roughness=0.06 envmap-intensity=1.4)
    physical#thinfilm(color=#101014 metalness=0.65 roughness=0.14 clearcoat=1 clearcoat-roughness=0.05 iridescence=1 iridescence-ior=1.35 iridescence-thickness=420 envmap-intensity=1.5)
    physical#thinfilm-plum(color=#2a2030 metalness=0.7 roughness=0.12 clearcoat=1 clearcoat-roughness=0.05 iridescence=1 iridescence-ior=1.4 iridescence-thickness=520 envmap-intensity=1.5)
    // the hardware: a dark standard body that still takes light
    standard#shell(color=#26262b metalness=0.4 roughness=0.3 envmap-intensity=1.1)
    // the set
    standard#floorstone(color=#07080a metalness=0.18 roughness=0.34 envmap-intensity=0.5)
    standard#roomwall(color=#0a0c11 metalness=0 roughness=0.95)
    standard#occluder(color=#0b0c10 metalness=0.1 roughness=0.9)
  // ==================================================