@realsee/five-webgpu 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (126) hide show
  1. package/README.md +9 -9
  2. package/ai_guides/README.md +2 -2
  3. package/ai_guides/features/clipper.md +1 -1
  4. package/ai_guides/features/coordinate-system.md +1 -1
  5. package/ai_guides/features/event.md +1 -1
  6. package/ai_guides/features/five.md +3 -3
  7. package/ai_guides/features/gesture.md +2 -2
  8. package/ai_guides/features/get-screen-pixels.md +1 -1
  9. package/ai_guides/features/image-options.md +3 -3
  10. package/ai_guides/features/load-external-model.md +9 -9
  11. package/ai_guides/features/mode.md +2 -2
  12. package/ai_guides/features/pano-filter.md +3 -3
  13. package/ai_guides/features/pano-tile.md +2 -2
  14. package/ai_guides/features/raycast.md +1 -1
  15. package/ai_guides/features/screen-project.md +1 -1
  16. package/ai_guides/features/state.md +1 -1
  17. package/ai_guides/features/work.md +2 -2
  18. package/ai_guides/quick-start.md +3 -3
  19. package/ai_guides/release_notes/6.6.md +2 -2
  20. package/ai_guides/release_notes/6.7.md +1 -1
  21. package/ai_guides/release_notes/6.8.md +1 -1
  22. package/docs/assets/hierarchy.js +1 -1
  23. package/docs/assets/search.js +1 -1
  24. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  25. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  26. package/docs/classes/index.FivePass.html +1 -1
  27. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  28. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  29. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  30. package/docs/classes/index.GaussianBlurPass.html +1 -1
  31. package/docs/classes/index.Model.html +1 -1
  32. package/docs/classes/index.ModelScene.html +1 -1
  33. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +7 -6
  34. package/docs/classes/index.PBMGaussianSplattingObject.html +12 -4
  35. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +31 -12
  36. package/docs/classes/index.PBMMeshBasicMaterial.html +1 -1
  37. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +1 -1
  38. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +1 -1
  39. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +1 -1
  40. package/docs/classes/index.PBMMeshPhongMaterial.html +1 -1
  41. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +1 -1
  42. package/docs/classes/index.PBMMeshPhysicalMaterial.html +1 -1
  43. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +1 -1
  44. package/docs/classes/index.PBMPanoFilter.html +1 -1
  45. package/docs/classes/index.PBMPointCloud.html +1 -1
  46. package/docs/classes/index.PBMUpdateable.html +1 -1
  47. package/docs/classes/index.Parameter.html +1 -1
  48. package/docs/classes/index.Tile3D.html +1 -1
  49. package/docs/classes/index.TileNode.html +1 -1
  50. package/docs/classes/index.TrajectoryNode.html +1 -1
  51. package/docs/classes/index.WorkResolvedObserver.html +1 -1
  52. package/docs/documents/README.html +2 -2
  53. package/docs/documents/features_clipper.html +1 -1
  54. package/docs/documents/features_coordinate-system.html +1 -1
  55. package/docs/documents/features_event.html +1 -1
  56. package/docs/documents/features_five.html +3 -3
  57. package/docs/documents/features_gesture.html +2 -2
  58. package/docs/documents/features_get-screen-pixels.html +1 -1
  59. package/docs/documents/features_image-options.html +3 -3
  60. package/docs/documents/features_load-external-model.html +8 -8
  61. package/docs/documents/features_mode.html +2 -2
  62. package/docs/documents/features_pano-filter.html +3 -3
  63. package/docs/documents/features_pano-tile.html +2 -2
  64. package/docs/documents/features_raycast.html +1 -1
  65. package/docs/documents/features_screen-project.html +1 -1
  66. package/docs/documents/features_state.html +1 -1
  67. package/docs/documents/features_work.html +2 -2
  68. package/docs/documents/quick-start.html +2 -2
  69. package/docs/documents/release_notes_6.6.html +2 -2
  70. package/docs/documents/release_notes_6.7.html +1 -1
  71. package/docs/documents/release_notes_6.8.html +1 -1
  72. package/docs/hierarchy.html +1 -1
  73. package/docs/index.html +2 -2
  74. package/docs/interfaces/index.IPBMMaterial.html +1 -1
  75. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +1 -1
  76. package/docs/interfaces/index.PBMHDRConfig.html +1 -1
  77. package/docs/interfaces/index.ParameterMaterialValue.html +1 -1
  78. package/docs/interfaces/index.ParameterTilesetValue.html +1 -1
  79. package/docs/interfaces/index.ParameterValue.html +1 -1
  80. package/docs/interfaces/index.ResolvedParameterValue.html +1 -1
  81. package/docs/interfaces/index.SplatData.html +10 -5
  82. package/docs/interfaces/index.ViewLayer.html +1 -1
  83. package/docs/interfaces/index.WorkCubeImage.html +1 -1
  84. package/docs/interfaces/index.WorkImage.html +1 -1
  85. package/docs/interfaces/index.WorkObserver.html +1 -1
  86. package/docs/interfaces/index.WorkTile.html +1 -1
  87. package/docs/types/index.ParseOptions.html +1 -1
  88. package/five/gaussian-splatting/layerRegistry.d.ts +17 -0
  89. package/five/gaussian-splatting/shStore.d.ts +22 -0
  90. package/five/gaussian-splatting/splatAssembler.d.ts +69 -0
  91. package/five/gaussian-splatting/transformStore.d.ts +37 -0
  92. package/five/gaussian-splatting/wasm/sort.d.ts +4 -3
  93. package/five/index.js +86 -103
  94. package/five/index.mjs +3923 -3856
  95. package/five/model/loaders/spz.d.ts +50 -2
  96. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +8 -5
  97. package/five/model/objects/pbmGaussianSplattingObject.d.ts +21 -4
  98. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +142 -43
  99. package/llms.txt +1 -1
  100. package/package.json +1 -1
  101. package/plugins/BasePlugin/index.d.ts +1 -1
  102. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +1 -1
  103. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +1 -1
  104. package/plugins/index.js +3 -3
  105. package/plugins/index.mjs +3 -3
  106. package/react/context.d.ts +1 -1
  107. package/react/createProvider.d.ts +1 -1
  108. package/react/fiveApp.d.ts +1 -1
  109. package/react/hooks/unsafe__useFiveInstance.d.ts +1 -1
  110. package/react/hooks/useFiveAction.d.ts +1 -1
  111. package/react/hooks/useFiveCurrentObserver.d.ts +1 -1
  112. package/react/hooks/useFiveCurrentState.d.ts +1 -1
  113. package/react/hooks/useFiveEventCallback.d.ts +1 -1
  114. package/react/hooks/useFiveModelEffect.d.ts +1 -1
  115. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +1 -1
  116. package/react/hooks/useFivePlugin.d.ts +1 -1
  117. package/react/hooks/useFiveSceneEffect.d.ts +1 -1
  118. package/react/hooks/useFiveState.d.ts +1 -1
  119. package/react/hooks/useFiveWork.d.ts +1 -1
  120. package/react/index.js +3 -3
  121. package/react/index.mjs +3 -3
  122. package/react/withFive.d.ts +1 -1
  123. package/umd/five-plugins.js +3 -3
  124. package/umd/five-react.js +3 -3
  125. package/umd/five.js +117 -134
  126. package/five/gaussian-splatting/util/renderData.d.ts +0 -66
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkCubeImage | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkCubeImage</a></li></ul><h1>Interface WorkCubeImage</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkCubeImage</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5973"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkCubeImage">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">GainMapFace</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkCubeImage</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkImage.html" class="tsd-signature-type tsd-kind-interface">WorkImage</a></li><li class="tsd-hierarchy-item"><a href="index.WorkTile.html" class="tsd-signature-type tsd-kind-interface">WorkTile</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:25</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkCubeImage | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkCubeImage</a></li></ul><h1>Interface WorkCubeImage</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkCubeImage</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5968"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkCubeImage">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">GainMapFace</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkCubeImage</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkImage.html" class="tsd-signature-type tsd-kind-interface">WorkImage</a></li><li class="tsd-hierarchy-item"><a href="index.WorkTile.html" class="tsd-signature-type tsd-kind-interface">WorkTile</a></li></ul></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:25</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
2
2
  <a href="#down" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>down</span></a>
3
3
  <a href="#front" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>front</span></a>
4
4
  <a href="#gainmap_back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gainmap_<wbr/>back</span></a>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkImage | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkImage</a></li></ul><h1>Interface WorkImage</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>全景图</p>
2
- </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkImage</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#sizelist">sizeList</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#tiles">tiles</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <a href="index.WorkTile.html" class="tsd-signature-type tsd-kind-interface">WorkTile</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#video">video</a><span class="tsd-signature-symbol">?:</span> <a href="index.WorkVideo.html" class="tsd-signature-type tsd-kind-interface">WorkVideo</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5988"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkImage">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkCubeImage.html" class="tsd-signature-type tsd-kind-interface">WorkCubeImage</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkImage</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:40</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
2
+ </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkImage</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#sizelist">sizeList</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#tiles">tiles</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <a href="index.WorkTile.html" class="tsd-signature-type tsd-kind-interface">WorkTile</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#video">video</a><span class="tsd-signature-symbol">?:</span> <a href="index.WorkVideo.html" class="tsd-signature-type tsd-kind-interface">WorkVideo</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5983"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkImage">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkCubeImage.html" class="tsd-signature-type tsd-kind-interface">WorkCubeImage</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkImage</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:40</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
3
3
  <a href="#down" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>down</span></a>
4
4
  <a href="#front" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>front</span></a>
5
5
  <a href="#gainmap_back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gainmap_<wbr/>back</span></a>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkObserver | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkObserver</a></li></ul><h1>Interface WorkObserver</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>每个点位的数据</p>
2
- </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkObserver</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#accessiblenodes">accessibleNodes</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#active">active</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#derivedid">derivedId</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#derivedidstr">derivedIdStr</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#floorindex">floorIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#images">images</a><span class="tsd-signature-symbol">:</span> <a href="index.WorkImage.html" class="tsd-signature-type tsd-kind-interface">WorkImage</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#index">index</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#loadable">loadable</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#matrix">matrix</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Matrix4</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panoid">panoId</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">[</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">]</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panoindex">panoIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#position">position</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#quaternion">quaternion</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Quaternion</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#standingposition">standingPosition</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#visiblenodes">visibleNodes</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#cubemapuvtovector-1">cubemapUvToVector</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">cubeFace</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uv</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#equirectangularuvtovector-1">equirectangularUvToVector</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uv</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getworldposition-1">getWorldPosition</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getworldstandingposition-1">getWorldStandingPosition</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#vectortocubemapuv-1">vectorToCubemapUv</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>cubeFace<span class="tsd-signature-symbol">:</span> <a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a><span class="tsd-signature-symbol">,</span> cubemapUv<span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#vectortoequirectangularuv-1">vectorToEquirectangularUv</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="6038"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkObserver">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkObserver</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="../classes/index.WorkResolvedObserver.html" class="tsd-signature-type tsd-kind-class">WorkResolvedObserver</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:69</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#accessiblenodes" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>accessible<wbr/>Nodes</span></a>
2
+ </div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkObserver</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#accessiblenodes">accessibleNodes</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#active">active</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#derivedid">derivedId</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#derivedidstr">derivedIdStr</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#floorindex">floorIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#images">images</a><span class="tsd-signature-symbol">:</span> <a href="index.WorkImage.html" class="tsd-signature-type tsd-kind-interface">WorkImage</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#index">index</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#loadable">loadable</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#matrix">matrix</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Matrix4</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panoid">panoId</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">[</span><span class="tsd-signature-symbol">${</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">}</span><span class="tsd-signature-type">]</span><span class="tsd-signature-symbol">`</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panoindex">panoIndex</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#position">position</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#quaternion">quaternion</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Quaternion</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#standingposition">standingPosition</a><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#visiblenodes">visibleNodes</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#cubemapuvtovector-1">cubemapUvToVector</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">cubeFace</span><span class="tsd-signature-symbol">:</span> <a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uv</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#equirectangularuvtovector-1">equirectangularUvToVector</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uv</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getworldposition-1">getWorldPosition</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#getworldstandingposition-1">getWorldStandingPosition</a><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#vectortocubemapuv-1">vectorToCubemapUv</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span>cubeFace<span class="tsd-signature-symbol">:</span> <a href="../types/index.CubeFace.html" class="tsd-signature-type tsd-kind-type-alias">CubeFace</a><span class="tsd-signature-symbol">,</span> cubemapUv<span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-call-signature" href="#vectortoequirectangularuv-1">vectorToEquirectangularUv</a><span class="tsd-signature-symbol">(</span><br/>        <span class="tsd-kind-parameter">this</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-interface">WorkObserver</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector3</a><span class="tsd-signature-symbol">,</span><br/>        <span class="tsd-kind-parameter">uvOrigin</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;top-left&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;bottom-left&quot;</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Vector2</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="6033"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkObserver">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkObserver</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="../classes/index.WorkResolvedObserver.html" class="tsd-signature-type tsd-kind-class">WorkResolvedObserver</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:69</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#accessiblenodes" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>accessible<wbr/>Nodes</span></a>
3
3
  <a href="#active" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>active</span></a>
4
4
  <a href="#derivedid" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>derived<wbr/>Id</span></a>
5
5
  <a href="#derivedidstr" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>derived<wbr/>Id<wbr/>Str</span></a>
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkTile | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkTile</a></li></ul><h1>Interface WorkTile</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkTile</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#level">level</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#scale">scale</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#size">size</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="6082"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkTile">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkCubeImage.html" class="tsd-signature-type tsd-kind-interface">WorkCubeImage</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkTile</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:30</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WorkTile | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">WorkTile</a></li></ul><h1>Interface WorkTile</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WorkTile</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#back">back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#down">down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#front">front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_back">gainmap_back</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_down">gainmap_down</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_front">gainmap_front</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_left">gainmap_left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_right">gainmap_right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#gainmap_up">gainmap_up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#hdrconfig">hdrConfig</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#left">left</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#level">level</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#right">right</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#scale">scale</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#size">size</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#up">up</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#work">work</a><span class="tsd-signature-symbol">:</span> <a href="../classes/index.Work.html" class="tsd-signature-type tsd-kind-class">Work</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="6077"><h4>Hierarchy (<a href="../hierarchy.html#index.WorkTile">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="index.WorkCubeImage.html" class="tsd-signature-type tsd-kind-interface">WorkCubeImage</a><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WorkTile</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:30</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>back</span></a>
2
2
  <a href="#down" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>down</span></a>
3
3
  <a href="#front" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>front</span></a>
4
4
  <a href="#gainmap_back" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gainmap_<wbr/>back</span></a>
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ParseOptions | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">ParseOptions</a></li></ul><h1>Type Alias ParseOptions</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">type</span> <span class="tsd-kind-type-alias">ParseOptions</span> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#baseurl">baseURL</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#jsonp">jsonp</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panohdr">panoHDR</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">baseURL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">manifest</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#shortpath">shortPath</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#transform">transform</a><span class="tsd-signature-symbol">?:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.Matrix4</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#workcode">workCode</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> (<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">input</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span>)<span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5917"><h4>Hierarchy (<a href="../hierarchy.html#index.ParseOptions">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ParseOptions</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="../interfaces/index.LooseWorkWithExtrinsics.html" class="tsd-signature-type tsd-kind-interface">LooseWorkWithExtrinsics</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:372</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#baseurl" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>base<wbr/>URL?</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>ParseOptions | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">ParseOptions</a></li></ul><h1>Type Alias ParseOptions</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">type</span> <span class="tsd-kind-type-alias">ParseOptions</span> <span class="tsd-signature-symbol">=</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#baseurl">baseURL</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#jsonp">jsonp</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#panohdr">panoHDR</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">baseURL</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">manifest</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#shortpath">shortPath</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#transform">transform</a><span class="tsd-signature-symbol">?:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.Matrix4</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#workcode">workCode</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> (<span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">input</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span>)<span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="5912"><h4>Hierarchy (<a href="../hierarchy.html#index.ParseOptions">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">ParseOptions</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="../interfaces/index.LooseWorkWithExtrinsics.html" class="tsd-signature-type tsd-kind-interface">LooseWorkWithExtrinsics</a></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/work/work.ts:372</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#baseurl" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>base<wbr/>URL?</span></a>
2
2
  <a href="#jsonp" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>jsonp?</span></a>
3
3
  <a href="#panohdr" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>pano<wbr/>HDR?</span></a>
4
4
  <a href="#shortpath" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>short<wbr/>Path?</span></a>
@@ -0,0 +1,17 @@
1
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
2
+ /**
3
+ * 维护 layerKey → layerIndex 映射,为每个对象返回稳定的 layerIndex。
4
+ *
5
+ * layerKey 取自对象的 `gsViewLayerKey`;为空时回退到 `uuid`,
6
+ * 保证每个对象都能拿到确定的 key(与 renderData.ts 内联逻辑一致)。
7
+ * layerIndex 按对象首次出现的顺序分配,同一 layerKey 始终映射到相同的下标。
8
+ */
9
+ export declare class LayerRegistry {
10
+ layerKeys: string[];
11
+ layerKeyToIndex: Map<string, number>;
12
+ private objectLayerIndex;
13
+ /** 按有序对象列表重建 layer 映射。 */
14
+ sync(objects: readonly PBMGaussianSplattingObject[]): void;
15
+ layerIndexOf(object: PBMGaussianSplattingObject): number;
16
+ get layerCount(): number;
17
+ }
@@ -0,0 +1,22 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /**
4
+ * 细粒度 SH 存储:按对象顺序连续偏移写入球谐系数,重建一张 RGBA32F 纹理供渲染 shader 采样。
5
+ *
6
+ * `appliedDegree = min(usedSHDegree, dataMaxDegree)`:既受用户/渲染配置的 `usedSHDegree` 限制,
7
+ * 也受数据本身支持的最大阶数 `dataMaxDegree = max(obj.maxSHDegree)` 限制。
8
+ */
9
+ export declare class SHStore {
10
+ texture: THREE.DataTexture | null;
11
+ readonly textureSize: THREE.Vector2;
12
+ /** 数据支持的最大 SH 阶数 = max(obj.maxSHDegree) */
13
+ dataMaxDegree: number;
14
+ /** 当前纹理实际写入的阶数 = min(usedSHDegree, dataMaxDegree) */
15
+ appliedDegree: number;
16
+ /**
17
+ * 按对象顺序重建 SH 纹理。返回是否构建了纹理(usedSHDegree/数据不足时返回 false 且不建纹理)。
18
+ * totalPoints 必须与大纹理布局一致(对象顺序累加 numPoints)。
19
+ */
20
+ sync(objects: readonly PBMGaussianSplattingObject[], usedSHDegree: number): boolean;
21
+ dispose(): void;
22
+ }
@@ -0,0 +1,69 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /** 组装后大纹理中的一段:对应单个 GS_Object 的连续全局点区间。 */
4
+ export interface AssembledRegion {
5
+ object: PBMGaussianSplattingObject;
6
+ /** 全局点起始(累积 count 得到的连续偏移) */
7
+ start: number;
8
+ count: number;
9
+ transformIndex: number;
10
+ layerIndex: number;
11
+ }
12
+ /**
13
+ * 增量组装器(CPU):`sync` 做集合 diff + 连续 start 偏移;`assemble` 在 CPU 端把各对象
14
+ * packedData 紧凑拼进大纹理缓冲并覆写 word7,经 `THREE.DataTexture` 上传供主材质 `textureLoad` 采样;
15
+ * `dataTexture` 返回该 DataTexture。
16
+ */
17
+ export declare class SplatAssembler {
18
+ /** 大纹理宽(texel),须与 TSL 材质硬编码的 2048 一致。 */
19
+ readonly width: number;
20
+ private regionMap;
21
+ private regionList;
22
+ /** CPU 大纹理缓冲(width*height*4 uint32);容量不足时按需重建。 */
23
+ private data;
24
+ /** 供 TSL 主材质采样的 DataTexture(RGBA32UI);大小变化时重建。 */
25
+ private _tex;
26
+ private texHeight;
27
+ constructor(width?: number);
28
+ get totalPoints(): number;
29
+ get regions(): readonly AssembledRegion[];
30
+ /**
31
+ * 供 TSL 主材质 `textureLoad` 采样的大纹理(RGBA32UI DataTexture,声明为 texture_2d<u32>);
32
+ * 未组装 / totalPoints=0 时为 null(触发调用方空绘制降级门)。
33
+ */
34
+ get dataTexture(): THREE.Texture | null;
35
+ /**
36
+ * 按有序对象列表增量同步(不触碰 GPU,onBeforeRender 早期即可调用):
37
+ * - 存活对象:保留 region,仅更新 transformIndex/layerIndex;
38
+ * - 新增对象:新建 region;
39
+ * - 移除对象:删除 region。
40
+ *
41
+ * regionList 顺序严格按传入 objects 顺序(须与 TransformStore/SHStore 布局一致),
42
+ * 并按累积 count 计算各区域连续 `start` 偏移。
43
+ */
44
+ sync(objects: readonly PBMGaussianSplattingObject[], resolveIndices: (obj: PBMGaussianSplattingObject) => {
45
+ transformIndex: number;
46
+ layerIndex: number;
47
+ }): void;
48
+ /**
49
+ * CPU 组装:把各 region 的 packedData 紧凑拷进大纹理缓冲、逐 splat 覆写 word7,
50
+ * 然后经 DataTexture 上传。仅在 tile 集合变化时调用一次(相机移动帧不调用)。
51
+ */
52
+ assemble(): void;
53
+ /**
54
+ * 从各 region 的 packedData texel0 提取世界坐标 + transformIndex 供 Sort_Worker(`_sort`)。
55
+ *
56
+ * 顺序严格按大纹理全局点索引(region.start + local,region 遍历顺序即 regionList 顺序),
57
+ * 保证 Sort_Worker 回传的 depthIndex 能正确映射回大纹理点位。
58
+ * - positions:Float32Array,长度 totalPoints*3,每点 xyz 世界坐标;
59
+ * texel0 前 3 个 uint32 即位置的 float32 位模式(对齐 boundingBox 提取语义)。
60
+ * - transformIndices:Uint32Array,长度 totalPoints,每点取其 region.transformIndex。
61
+ */
62
+ extractSortInputs(): {
63
+ positions: Float32Array;
64
+ transformIndices: Uint32Array;
65
+ count: number;
66
+ };
67
+ dispose(): void;
68
+ private disposeTexture;
69
+ }
@@ -0,0 +1,37 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /**
4
+ * 细粒度 transform 存储:
5
+ * - GPU 端维护一张 RGBA32F 纹理(9 texel/对象,含 CPU 预算 inverse)供渲染 shader 采样。
6
+ * - CPU 端另维护一份 20 float/对象的 `transforms` 数组,布局与 `sort.cpp` 的 `_sort` 约定一致,
7
+ * 供排序 worker 直接消费(两套表示由本 store 统一保持同步)。
8
+ *
9
+ * `updateOne(o)` 只更新受影响对象对应的两段数据并标记纹理重传,避免整体重建。
10
+ */
11
+ export declare class TransformStore {
12
+ texture: THREE.DataTexture | null;
13
+ /** GPU 纹理宽度(texel 数 / 对象):9(含预算 inverse)。 */
14
+ readonly width = 9;
15
+ /** GPU 纹理后备数据:36 float/对象。 */
16
+ private data;
17
+ /** 排序 worker 用数据:20 float/对象(与 sort.cpp 步长一致)。 */
18
+ private sortTransforms;
19
+ private indexMap;
20
+ private count;
21
+ /** transformIndex(对象在当前布局中的序号),未纳管时返回 undefined。 */
22
+ indexOf(object: PBMGaussianSplattingObject): number | undefined;
23
+ get objectCount(): number;
24
+ /**
25
+ * 供排序 worker 的矩阵数据(前 count*20 个 float 有效)。
26
+ * 布局为每对象 20 float(16 matrixWorld + selected + 3 pad),与 `sort.cpp` `_sort` 约定一致。
27
+ */
28
+ get transforms(): Float32Array;
29
+ /** 按对象顺序分配 transformIndex,写入每对象矩阵 + selected + 预算 inverse,并重建纹理。 */
30
+ sync(objects: readonly PBMGaussianSplattingObject[]): void;
31
+ /** 单对象 transform / selected 变化:就地更新两套表示 + 标记纹理整张重传。 */
32
+ updateOne(object: PBMGaussianSplattingObject): void;
33
+ /** 把第 i 个对象的 matrixWorld / selected / inverse 写入 GPU 数据与排序数据两处。 */
34
+ private writeObject;
35
+ private rebuildTexture;
36
+ dispose(): void;
37
+ }
@@ -7,10 +7,11 @@ interface WasmModule {
7
7
  transformIndices: number,
8
8
  vertexCount: number,
9
9
  positions: number,
10
- depthBuffer: number,
10
+ depthKeys: number,
11
11
  depthIndex: number,
12
- starts: number,
13
- counts: number,
12
+ scratch: number,
13
+ bucketLo: number,
14
+ bucketHi: number,
14
15
  ): void;
15
16
  }
16
17