NativeGuiResource
Owns one portable GUI layer's native storage and any CPU upload storage needed until completion.
A version adapter allocates this resource only after reserving its exact layer extent in a NativeGuiResourceSet. Ownership transfers to NativeGuiResources.add before initialization or upload can fail, including partially constructed native resources. Every operation belongs to the device render thread; implementations retain no screen, retained node, or frame.