From fac0c727e453e68ca5ffca0d542c53b7f7bf4a0b Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Wed, 25 Jun 2025 16:51:21 +0800 Subject: [PATCH] don't track/remove assets when addToScene/removeFromScene is called --- .../lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart b/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart index 71d90237..d43d3c40 100644 --- a/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart +++ b/thermion_dart/lib/src/viewer/src/ffi/src/thermion_viewer_ffi.dart @@ -535,11 +535,13 @@ class ThermionViewerFFI extends ThermionViewer { Future destroyAssets() async { _logger.info("Destroying ${_assets.length} assets"); for (final asset in _assets) { + _logger.info("Destroying asset ${asset.getHandle()}"); await scene.remove(asset); await hideBoundingBox(asset, destroy: true); for (final instance in (await asset.getInstances()).cast()) { await scene.remove(instance); + await hideBoundingBox(instance, destroy: true); } await FilamentApp.instance!.destroyAsset(asset); _logger.info("Destroyed asset"); @@ -808,7 +810,6 @@ class ThermionViewerFFI extends ThermionViewer { /// /// Future addToScene(covariant FFIAsset asset) async { - _assets.add(asset); await scene.add(asset); } @@ -816,9 +817,6 @@ class ThermionViewerFFI extends ThermionViewer { /// /// Future removeFromScene(covariant FFIAsset asset) async { - if (!_assets.contains(asset)) { - throw Exception("Asset is not attached to this viewer"); - } await scene.remove(asset); }