NativeCanvasDevice
Render-thread owner of bounded native canvas targets, source leases, and renderer lifetimes.
One instance belongs to one native device, not to a screen. At most three target sets per stable canvas identity and 64 sets across this device may exist, including retired and quarantined sets. A permit is reserved before allocation and is released only after physical destruction is acknowledged, including asynchronous native release queues. Native Canvas payloads in frames retain scalar identifiers only; the device owns every handle and producer until their distinct initialization, capture, and GUI completion fences permit cleanup. Only one GUI batch may be extracted at a time; that batch must be consumed or explicitly cancelled before the next extraction. Ordinary polling and screen cleanup never block on GPU completion or unconsumed GUI work.
Parameters
borrowed version-specific device operations, confined to this object's construction thread.
Properties
Functions
Cancels a prepared batch that has emitted no GUI work, without waiting for any capture fence.
Destroys device-owned resources after the caller has discarded every unconsumed native GUI queue.
Resolves native attachment requests after final layout, producing each attachment at most once.
Validates and marks an entire prepared presentation as queued before the first GUI command is emitted.
Registers one independently budgeted GUI cache with this device's fence and terminal destruction lifecycle.
Reports native payload bytes across independently budgeted registered GUI managers.
Reports entry reservations across independently budgeted registered GUI managers.
Reports reserved active and retired target sets on the owning thread for deterministic capacity verification.
Creates an externally reusable description without opening a renderer or allocating a target.
Borrows one target while the versioned presenter emits its queued GUI draw command.