close

abstract override fun close()(source)

Requests release after initialization and every queued GUI use have completed.

The owner never repeats a successful close and retries a failed close only once during terminal cleanup. Implementations attempt every independent owned release, skip previously accepted releases on retry, and preserve the first failure with later failures suppressed. This operation may enqueue native destruction but must not submit new GPU work or wait for unconsumed GUI commands.

Throws

when any owned release fails; ownership and the resource-set permit remain retained.