dispose method
Releases all native renderer resources and detaches the finalizer.
Implementation
void dispose({bool useAlternateScreen = false, int splitHeight = 0}) {
if (_disposed) return; // Already disposed
_disposed = true;
// Detach from finalizer before manual destruction (prevent double-free)
_finalizer.detach(_finalizerKey);
// Invalidate before destroying native handle so any stragglers (clipped
// views, etc.) fail fast instead of touching freed memory.
_nextBuffer?.invalidate();
_bindings.destroyRenderer(
_ptr,
useAlternateScreen: useAlternateScreen,
splitHeight: splitHeight,
);
_nextBuffer = null;
}