Node Pool Defaults
nodePoolPristineDefaults is required so reused SG nodes start from known field values. It usually includes a wildcard bucket and subtype-specific values.
{
"nodePoolPristineDefaults": {
"*": {
"clippingRect": [-1000000000, -1000000000, 2147483000, 2147483000]
},
"Poster": {
"bitmapMargins": { "left": 0, "top": 0, "right": 0, "bottom": 0 }
},
"Video": {
"audioSelectionPreferences": [],
"subtitleSelectionPreferences": []
}
}
}
On Roku, the wildcard bucket is merged into each pooled SG subtype and a subtype-specific bucket overrides it. The configured values work around native SceneGraph fields that cannot be captured and replayed safely.
Web and mobile virtual SceneGraph targets capture fresh-node values directly
and do not inject these Roku-shaped configured values. The AppConfig validator
still requires the *, Poster, and Video buckets and the fields shown
above, so keep the section in shared configs.
Do not remove this section when trimming an app config. Missing pristine defaults can make pooled native nodes retain old state from previously rendered views.