Water utility animates valve open fraction over an incident timeline in USD. Which storage approach fits?
Select an answer to reveal the explanation.
Short Explanation
Valve open fraction is a continuous value over time—float timeSamples beat a pile of booleans. "Sometimes open" as a token will not drive a gauge. Animate the fraction like a real SCADA trend, just in USD.
Full Explanation
Water-utility valve open fraction over an incident timeline is continuous animated state and fits a float attribute with timeSamples across time. TimeSamples are OpenUSD’s native representation for values that change over the stage timeCode range, enabling scrubbing, interpolation, and incident replay in the twin. Pairing the correct value type (float fraction) with timesampling matches operational animation needs without exploding attribute counts.
A burst of boolean attributes, one per millisecond, does not scale, cannot express partial open, and is not how USD encodes animation. A single token that says "sometimes open" is vague qualitative text with no timeline. Toggling visibility instead of a continuous fraction hides geometry rather than modeling valve aperture and breaks gauges or physics that need 0–1 open amount.
Exam caveat: decide whether timeCodes map to seconds or incident-relative frames and document that mapping for emergency replay. Clamping fractions to [0,1] in validation is recommended but separate from the storage approach.
Operational check: author float timeSamples for a valve open fraction across a known incident window, scrub in usdview or the twin, confirm interpolation between keys, and ensure mute/unmute of layers does not accidentally replace timesamples with a static default without review.