Structural surface shared by node render ops (CoreNode / CoreTextNode) and
batched SdfRenderOps that WebGlShaderProgram.bindRenderOp consumes.
Node ops expose parentFramebufferDimensions, SdfRenderOp exposes
framebufferDimensions; isCoreNode picks the active one. Keeping this as
an interface (rather than widening to the full WebGlRenderOp union)
avoids demanding properties from StencilClipRenderOp, which is never bound
through this path.
Structural surface shared by node render ops (CoreNode / CoreTextNode) and batched SdfRenderOps that WebGlShaderProgram.bindRenderOp consumes.
Node ops expose
parentFramebufferDimensions, SdfRenderOp exposesframebufferDimensions;isCoreNodepicks the active one. Keeping this as an interface (rather than widening to the fullWebGlRenderOpunion) avoids demanding properties from StencilClipRenderOp, which is never bound through this path.