@heliguy-xyz/splat-viewer 1.0.0-rc.7 → 1.0.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/web-component/ModelManager.d.ts +12 -0
  2. package/dist/web-component/ModelManager.d.ts.map +1 -1
  3. package/dist/web-component/SplatViewerCore.d.ts +12 -0
  4. package/dist/web-component/SplatViewerCore.d.ts.map +1 -1
  5. package/dist/web-component/SplatViewerElement.d.ts +12 -0
  6. package/dist/web-component/SplatViewerElement.d.ts.map +1 -1
  7. package/dist/web-component/splat-viewer.esm.js +93 -0
  8. package/dist/web-component/splat-viewer.esm.min.js +2 -2
  9. package/dist/web-component/splat-viewer.js +93 -0
  10. package/dist/web-component/splat-viewer.min.js +2 -2
  11. package/dist/web-component/types/ModelManager.d.ts +12 -0
  12. package/dist/web-component/types/ModelManager.d.ts.map +1 -1
  13. package/dist/web-component/types/SplatViewerCore.d.ts +12 -0
  14. package/dist/web-component/types/SplatViewerCore.d.ts.map +1 -1
  15. package/dist/web-component/types/SplatViewerElement.d.ts +12 -0
  16. package/dist/web-component/types/SplatViewerElement.d.ts.map +1 -1
  17. package/dist/web-component/types/core.d.ts +2 -0
  18. package/dist/web-component/types/core.d.ts.map +1 -1
  19. package/dist/web-component/types/enhanced-viewer.d.ts +13 -1
  20. package/dist/web-component/types/enhanced-viewer.d.ts.map +1 -1
  21. package/dist/web-component/types/events.d.ts +8 -1
  22. package/dist/web-component/types/events.d.ts.map +1 -1
  23. package/dist/web-component/types/types/core.d.ts +2 -0
  24. package/dist/web-component/types/types/core.d.ts.map +1 -1
  25. package/dist/web-component/types/types/enhanced-viewer.d.ts +13 -1
  26. package/dist/web-component/types/types/enhanced-viewer.d.ts.map +1 -1
  27. package/dist/web-component/types/types/events.d.ts +8 -1
  28. package/dist/web-component/types/types/events.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -105357,6 +105357,7 @@ fn fragmentMain(input: FragmentInput) -> FragmentOutput {
105357
105357
  transform,
105358
105358
  metadata,
105359
105359
  loadStartTime,
105360
+ visible: true,
105360
105361
  };
105361
105362
  if (blobUrl !== undefined) {
105362
105363
  modelInfo.blobUrl = blobUrl;
@@ -105560,6 +105561,54 @@ fn fragmentMain(input: FragmentInput) -> FragmentOutput {
105560
105561
  model.transform = transform;
105561
105562
  model.metadata.transform = transform;
105562
105563
  }
105564
+ /**
105565
+ * Set visibility for a specific model by ID
105566
+ * @param modelId ID of the model
105567
+ * @param visible True to show, false to hide
105568
+ */
105569
+ setModelVisible(modelId, visible) {
105570
+ const model = this.models.get(modelId);
105571
+ if (!model) {
105572
+ throw new Error(`Model with ID "${modelId}" not found`);
105573
+ }
105574
+ // Apply visibility to underlying entity
105575
+ if (model.entity) {
105576
+ model.entity.enabled = visible;
105577
+ }
105578
+ model.visible = visible;
105579
+ // Emit model-visibility-changed event
105580
+ if (this._eventEmitter) {
105581
+ this._eventEmitter('model-visibility-changed', {
105582
+ modelId: model.id,
105583
+ name: model.name,
105584
+ visible,
105585
+ });
105586
+ }
105587
+ }
105588
+ /**
105589
+ * Set visibility for all models matching a given name
105590
+ * @param name Model name to match (case-sensitive)
105591
+ * @param visible True to show, false to hide
105592
+ */
105593
+ setModelsVisibleByName(name, visible) {
105594
+ for (const model of this.models.values()) {
105595
+ if (model.name === name) {
105596
+ // Apply visibility to entity
105597
+ if (model.entity) {
105598
+ model.entity.enabled = visible;
105599
+ }
105600
+ model.visible = visible;
105601
+ // Emit model-visibility-changed event for each affected model
105602
+ if (this._eventEmitter) {
105603
+ this._eventEmitter('model-visibility-changed', {
105604
+ modelId: model.id,
105605
+ name: model.name,
105606
+ visible,
105607
+ });
105608
+ }
105609
+ }
105610
+ }
105611
+ }
105563
105612
  }
105564
105613
 
105565
105614
  // Core type definitions for the Web Component
@@ -140407,6 +140456,28 @@ fn fragmentMain(input: FragmentInput) -> FragmentOutput {
140407
140456
  }
140408
140457
  return this._modelManager.getSceneStats();
140409
140458
  }
140459
+ /**
140460
+ * Set visibility for a specific model by ID
140461
+ * @param modelId ID of the model
140462
+ * @param visible True to show, false to hide
140463
+ */
140464
+ setModelVisible(modelId, visible) {
140465
+ if (!this._modelManager) {
140466
+ throw new Error('SplatViewerCore.setModelVisible: ModelManager not initialized');
140467
+ }
140468
+ this._modelManager.setModelVisible(modelId, visible);
140469
+ }
140470
+ /**
140471
+ * Set visibility for all models matching a given name
140472
+ * @param name Model name to match (case-sensitive)
140473
+ * @param visible True to show, false to hide
140474
+ */
140475
+ setModelsVisibleByName(name, visible) {
140476
+ if (!this._modelManager) {
140477
+ throw new Error('SplatViewerCore.setModelsVisibleByName: ModelManager not initialized');
140478
+ }
140479
+ this._modelManager.setModelsVisibleByName(name, visible);
140480
+ }
140410
140481
  // ==========================================
140411
140482
  // Transform System API
140412
140483
  // ==========================================
@@ -141899,6 +141970,28 @@ fn fragmentMain(input: FragmentInput) -> FragmentOutput {
141899
141970
  }
141900
141971
  return this._core.getSceneStats();
141901
141972
  }
141973
+ /**
141974
+ * Set visibility for a specific model by ID
141975
+ * @param modelId ID of the model
141976
+ * @param visible True to show, false to hide
141977
+ */
141978
+ setModelVisible(modelId, visible) {
141979
+ if (!this._core) {
141980
+ throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
141981
+ }
141982
+ this._core.setModelVisible(modelId, visible);
141983
+ }
141984
+ /**
141985
+ * Set visibility for all models matching a given name
141986
+ * @param name Model name to match (case-sensitive)
141987
+ * @param visible True to show, false to hide
141988
+ */
141989
+ setModelsVisibleByName(name, visible) {
141990
+ if (!this._core) {
141991
+ throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
141992
+ }
141993
+ this._core.setModelsVisibleByName(name, visible);
141994
+ }
141902
141995
  // ==========================================
141903
141996
  // Camera Mode / Fly Camera API
141904
141997
  // ==========================================