Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 1.55 KB

File metadata and controls

47 lines (36 loc) · 1.55 KB

Property Bindings (Data Pins)

Analysis output fields can be visually connected to downstream effect properties using data pins on the node graph canvas.

graph LR
    subgraph Compute["Analysis Compute"]
        CO1["◆ MaxLuminance (float)"]
        CO2["◆ GamutBounds (float4)"]
    end
    subgraph Blur["Gaussian Blur"]
        BI1["◆ StandardDeviation (float)"]
    end
    CO1 -->|"data binding"| BI1
Loading

Visual Data Pins

  • Image pins: White circles on node edges (existing D2D image connections)
  • Data pins: Orange diamonds below image pins
    • Output data pins (right side): analysis fields from compute nodes
    • Input data pins (left side): bindable float/float2/float3/float4 properties
  • Data edges: Orange bezier curves connecting data pins
  • Type labels: Each pin shows its type, e.g., MaxLuminance (float)

Binding Rules

Source → Dest Behavior
float → float Direct
float → float2/3/4 Replicate (x,x,x,0)
float4 → float Component picker (.x/.y/.z/.w)
float4 → float4 Direct
array → array Direct
array ↔ scalar Rejected

Evaluation

  • Bindings participate in topological sort (source must evaluate before destination)
  • Cycle detection covers both image edges and binding edges
  • Bound values resolved every frame (bypass dirty logic — upstream analysis may change)
  • Authored properties never mutated — bindings build an effective properties map at evaluation time

Back to docs/Repo root