● CANON · Vecreal Product Motion · Families 1–7 LOCKED · complete

Vecreal Product Motion — Families 1–7

The canonical visual reference for the locked product motion system. Authoritative spec: motion-system.md. All seven families locked 2026-05-19: reasoning & generation · state & liveness · disclosure & hierarchy · list & collection · progress & flow · feedback & confirmation · affordance.

canon · spec = motion-system.md · CHANGELOG records each lock · M4.4 amended 2026-05-19 to the inset pill

tokens fast120·med180·slow240·page320·ease-out

01 Reasoning & generation

Vec thinking, analyzing, writing. The compose hybrid is the signature and carries to the landing hero.

Thinking dots carried

Short reasoning before output.

Vec is reasoning…
loop 1.4s ease-in-out · clay 3×6px · captionedcarried

Analyzing bars carried

Working across multiple sources.

Reading 8 sources…
loop 0.95s · scaleY only · captionedcarried

Streaming line E2 · LOCKED

Vec generating now. Clause-cadence settle; ends full ink (legible both themes).

Vec is writing…
each clause opacity+rise med180 ease-out, sequential ~240ms apartlocked · C

Vec composes the answer E1 · LOCKED · SIGNATURE

Calm unified arrival; the closing beat overlaps the settle (no hitch) — each claim word and its citation lock together once. Calm like C, alive like B, awkward gone.

Vec
The roof deck re-tender carries a 4–6 week schedule impact [1] and a ~$130K cost exposure [2].
▣ PROVENANCE · verbatim record
CO-114 — "…structural review required before re-tender." Consultant email, 2026-03-09.
unit fade+rise slow240; closing lock starts ~170ms (overlaps tail) — claim word tint + citation .42s settle, sequential 220mslocked · C+B hybrid

02 State & liveness

What changed, what is newest, what is live. Honest, never decoration on static content.

Row highlight-flash E3 · LOCKED · FIX

A record changed underneath you. Fix to verify: the clay left bar stays solid and continuous through the entire bloom + reseat, then one clean fade. No washout, no gap.

RFI-154Roof assembly clarificationawaiting · 6d
reseat translateY+shadow 1.4s · bloom inset left:3px, decays by 45% · bar solid z3, opacity held to 80% then 1 clean fade · border neutral throughoutlocked · Combo-1 fixed

Number count-up carried

Honest counts resolve.

0change orders
~900ms ease-out cubic, once, resolves to true valuecarried

Timeline newest E4 · LOCKED

Newest unacknowledged item. Pulse ring tuned calm.

  • Vec flagged CO-114 scope overlap with PCN-22
  • Submittal 03300-A revise-and-resubmit
  • RFI-151 closed by consultant
ring 1.5px, peak opacity .7, scale .65→2, loop 2.4s ease-outlocked · C @2.4s

Sync & live cues carried

Active pull vs. live connection.

Syncing Procore · 2 of 5 logs
Connected · live
dash-ring 1.2s + caption · pulse-dot 1.8s · captions mandatorycarried

03 Disclosure & hierarchy

Reveal structure on demand. Height + opacity, ease-out, no spring. Validated in r1, carried.

ExpandPanel · sealed-exhibit carried

The R1 ExpandPanel discloses its recessed verbatim record.

CO-114 · Roof deck re-tender — Vec summary
▣ PROVENANCE · "…structural review required before re-tender." Consultant email, 2026-03-09. Linked: A-301 r4, PCN-22.
grid-rows 0fr→1fr slow240 ease-out + inner fade(+90ms) · chevron med180 · no springcarried

Accordion carried

FAQ; single-open.

Does Vec change my Procore? +

No. Read-only against every system of record. It proposes; it never writes back.

What if Vec is wrong? +

Every claim is bonded to its source. One click resolves the citation to the verbatim record.

same disclosure token · single-opencarried

Sheet / drawer carried

Secondary surface; scrim, no bounce.

References · CO-114

Email 2026-03-09 · A-301 r4 · PCN-22 · Spec 07 54 00

translateX 100%→0 page320 ease-out + scrim fadecarried

04 List & collection

Locked 2026-05-19. Each is trigger (product) → motion (system); no product logic encoded in motion (G7).

Ranked entrance M4.1 · LOCKED

Trigger: feed mounts/refreshes. Motion: items settle top→bottom; the order is the signal (what is listed/marked is projector logic, not this).

  • CO-114Roof deck re-tender
  • RFI-154Roof assembly clarification
  • SUB-033Submittal 03300-A revise
  • RFI-151Closed by consultant
fade + 7px rise, ~90ms stagger, each med180 ease-outlocked · A

Filter-in-place M4.2 · LOCKED

Trigger: facet/filter selected. Motion: non-matches collapse, matches reflow — same records, refocused.

  • CO-114Your court · roof re-tender
  • RFI-151Closed
  • RFI-154Your court · clarification
  • SUB-033With consultant
non-matches max-height+opacity collapse slow240; matches reflow uplocked · B

Reorder M4.3 · LOCKED

Trigger: projector re-ranks. Motion: FLIP glide; every row lands.

  • RFI-154Roof assembly clarification
  • SUB-033Submittal 03300-A revise
  • CO-114Roof deck — priority raised
FLIP first/last/invert/play, all rows transform ~420ms ease-outlocked · A

Segmented filter M4.4 · LOCKED

Trigger: segment clicked. Motion: indicator measured to the active button; adjacent dividers fade.

indicator offsetLeft/offsetWidth measured (no fixed-width drift); content-width segments; inset hairlines; adjacent dividers fadelocked · A

05 Progress & flow

Locked 2026-05-19. trigger (product) → motion (system). Stepper rule: current step marked within bounds, never a size-changing halo. F5.4 is conditional.

Phased-progress · step handoff M5.1 · LOCKED · B

Trigger: a step completes. Motion: done step → compact chip; next step grows active.

Connect your corpus
Confirm project facts
done→chip + next→active, slow/med ease-out; current marked in-bounds (no halo)locked · B

Check-draw · fill + stroke hybrid M5.2 · LOCKED · C+A

Trigger: a task completes. Motion: node fills clay, then the check strokes in.

fill slow240; check stroke ~0.42s starting ~130ms in; both ~560mslocked · C+A

Named-step pipeline · ingest M5.3 · LOCKED · A

Trigger: stage transitions. Motion: vertical list; bars on active, check on done.

idle
  • Reading documents
  • Extracting citations
  • Linking cross-source
  • Building memory
sequential: active=bars+label, done=check+dim; calm-institutionallocked · A

Wizard transition · conditional M5.4 · LOCKED

Rule: major step boundary → slide; substep within a step → cross-settle.

Step 1 · Connect

Point Vec at the folder.

Step 2 · Confirm

Review extracted facts.

step → step · slide

2a · Parties

Confirm parties.

2b · Key dates

Confirm dates.

substep · cross-settle
slide: translateX page320 · cross-settle: fade+rise med/slow (locked settle family)locked · conditional

06 Feedback & confirmation

Locked 2026-05-19. Reconciles feedback.md. Each is trigger (product) → motion (system).

Toast M6.1 · LOCKED · B

Trigger: action completes. Motion: rise + fade in place, dwell, fade out.

Draft saved to Workshop.
rise+fade med180 ease-out · 3px left-border + status icon · dwell ~5s · settle familylocked · B

Banner M6.2 · LOCKED · A

Trigger: persistent condition true. Motion: height-expand + fade, pushes content down.

Procore sync paused — reconnect to resume.Reconnect
surface content below…
height-expand slow240 + fade · pushes content · honest "persistent bar is here"locked · A

Inline validation M6.3 · LOCKED · B

Trigger: blur/submit fails. Motion: reserved slot, fade + rise; border tints. No shake.

RFI-15
!Must match RFI-### format.
reserved-slot fade+rise med180 · border tint · color + icon · NO shake (banned per G2)locked · B

Copy / Saved micro-confirm M6.4 · LOCKED · B rebuild

Trigger: copy/save tap. Motion: copy glyph cross-fades to drawn check; label swaps "Copy citation" ↔ "Copied". Icon + label in separate slots (no thrash).

icon slot independent of label · glyph fades, check strokes (M5.2 micro) · button min-width prevents reflowlocked · B rebuild

07 Affordance

Locked 2026-05-19. Deliberately minimal — the least motion that still reads.

Button hover M7.1 · LOCKED · B

Tint + 1px lift + faint shadow, fast120. Discrete controls only.

fast120 ease-out · tint + transform 1px + soft shadow · discrete controls onlylocked · B

Focus ring M7.2 · LOCKED · instant

Keyboard focus. Locked clay ring, INSTANT (a11y constraint — motion delays focus perception).

WCAG 2.4.7 · --focus-ring clay outline · NO transition · a11y rule, not a style choicelocked · instant

Card / row hover M7.3 · LOCKED

Tint (mirrors M7.1) + locked clay edge-tick. No lift on rows.

CO-114Roof deck re-tender
tint + clay edge-tick (M2.1/M4.1 grammar) · NO row lift · principles ban list clutterlocked

Active-selection indicator · conditional M7.4 · LOCKED

One motion + material; shape per component. Horizontal = the inset sliding pill (same .seg4 engine as the amended M4.4, no dividers for nav/tabs). Vertical = clay left-bar (settings sidebar, shell rail).

horizontal · inset pill (= amended M4.4 engine, no dividers)
vertical · clay-bar (settings sidebar)
same measured engine + material · horizontal = inset pill · vertical = clay-bar centered to label optical centre; rail = content + token padding (never fixed)locked · conditional