@anov/3d-ability 0.0.166 → 0.0.168

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 (243) hide show
  1. package/dist/business/Animation/motion/index.d.ts +2 -3
  2. package/dist/business/Animation/motion/index.js +1 -6
  3. package/dist/business/Animation/motion/index.js.map +1 -1
  4. package/dist/business/Area/Fence/FenceBase.d.ts +2 -2
  5. package/dist/business/Area/Fence/FenceBase.js +1 -1
  6. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  7. package/dist/business/Area/Fence/fence_base_01.js +1 -1
  8. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  9. package/dist/business/Area/Fence/fence_feeting_01.js +1 -1
  10. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  11. package/dist/business/Area/Fence/fence_roll_01.js +1 -1
  12. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  13. package/dist/business/Area/FillArea/FillAreaBase.d.ts +2 -2
  14. package/dist/business/Area/FillArea/FillAreaBase.js +1 -1
  15. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  16. package/dist/business/Area/index.d.ts +1 -2
  17. package/dist/business/Area/index.js +2 -2
  18. package/dist/business/Area/index.js.map +1 -1
  19. package/dist/business/Base/ObjectLayer.d.ts +2 -4
  20. package/dist/business/Base/ObjectLayer.js +11 -7
  21. package/dist/business/Base/ObjectLayer.js.map +1 -1
  22. package/dist/business/Batch/index.d.ts +1 -1
  23. package/dist/business/Batch/index.js +2 -2
  24. package/dist/business/Batch/index.js.map +1 -1
  25. package/dist/business/Box/index.d.ts +1 -1
  26. package/dist/business/Box/index.js +2 -2
  27. package/dist/business/Box/index.js.map +1 -1
  28. package/dist/business/Box/interface.js.map +1 -1
  29. package/dist/business/Box/types.js.map +1 -1
  30. package/dist/business/Cylinder/index.d.ts +1 -1
  31. package/dist/business/Cylinder/index.js +2 -2
  32. package/dist/business/Cylinder/index.js.map +1 -1
  33. package/dist/business/Cylinder/interface.d.ts +1 -1
  34. package/dist/business/Cylinder/interface.js.map +1 -1
  35. package/dist/business/Cylinder/types.js.map +1 -1
  36. package/dist/business/Flyline/index.d.ts +2 -2
  37. package/dist/business/Flyline/index.js +8 -8
  38. package/dist/business/Flyline/index.js.map +1 -1
  39. package/dist/business/Flyline/line/ArcLine.d.ts +1 -1
  40. package/dist/business/Flyline/line/ArcLine.js +3 -3
  41. package/dist/business/Flyline/line/ArcLine.js.map +1 -1
  42. package/dist/business/HeatMap/HeatMap.d.ts +59 -3
  43. package/dist/business/HeatMap/HeatMap.js +95 -7
  44. package/dist/business/HeatMap/HeatMap.js.map +1 -1
  45. package/dist/business/InfoPanel/index.d.ts +4 -3
  46. package/dist/business/InfoPanel/index.js +19 -13
  47. package/dist/business/InfoPanel/index.js.map +1 -1
  48. package/dist/business/InfoPanel/type.js.map +1 -1
  49. package/dist/business/Line/index.d.ts +3 -3
  50. package/dist/business/Line/index.js +7 -8
  51. package/dist/business/Line/index.js.map +1 -1
  52. package/dist/business/Line/interface.d.ts +4 -4
  53. package/dist/business/Line/interface.js.map +1 -1
  54. package/dist/business/Line/types.js.map +1 -1
  55. package/dist/business/Mark/index.d.ts +1 -2
  56. package/dist/business/Mark/index.js +3 -3
  57. package/dist/business/Mark/index.js.map +1 -1
  58. package/dist/business/MaterialSwitch/MaterialSwitchSystem.d.ts +3 -5
  59. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js +10 -14
  60. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  61. package/dist/business/MaterialSwitch/index.js.map +1 -1
  62. package/dist/business/Plane/index.d.ts +2 -3
  63. package/dist/business/Plane/index.js +2 -2
  64. package/dist/business/Plane/index.js.map +1 -1
  65. package/dist/business/Plane/interface.d.ts +5 -5
  66. package/dist/business/Plane/interface.js.map +1 -1
  67. package/dist/business/Plane/types.js.map +1 -1
  68. package/dist/business/Poi/index.d.ts +3 -2
  69. package/dist/business/Poi/index.js +54 -25
  70. package/dist/business/Poi/index.js.map +1 -1
  71. package/dist/business/Poi/link/Cylinder.d.ts +1 -2
  72. package/dist/business/Poi/link/Cylinder.js +3 -3
  73. package/dist/business/Poi/link/Cylinder.js.map +1 -1
  74. package/dist/business/Poi/link/Pyramid.d.ts +1 -2
  75. package/dist/business/Poi/link/Pyramid.js +2 -2
  76. package/dist/business/Poi/link/Pyramid.js.map +1 -1
  77. package/dist/business/Poi/link/index.d.ts +3 -3
  78. package/dist/business/Poi/link/index.js +2 -2
  79. package/dist/business/Poi/link/index.js.map +1 -1
  80. package/dist/business/Poi/panel/index.d.ts +3 -3
  81. package/dist/business/Poi/panel/index.js +6 -7
  82. package/dist/business/Poi/panel/index.js.map +1 -1
  83. package/dist/business/Poi/panel/interfaces.js.map +1 -1
  84. package/dist/business/Poi/panel/utils.d.ts +1 -1
  85. package/dist/business/Poi/panel/utils.js +3 -3
  86. package/dist/business/Poi/panel/utils.js.map +1 -1
  87. package/dist/business/Poi/particle/DoubleCircle.d.ts +1 -2
  88. package/dist/business/Poi/particle/DoubleCircle.js +2 -3
  89. package/dist/business/Poi/particle/DoubleCircle.js.map +1 -1
  90. package/dist/business/Poi/particle/DynamicCircle.d.ts +1 -2
  91. package/dist/business/Poi/particle/DynamicCircle.js +2 -3
  92. package/dist/business/Poi/particle/DynamicCircle.js.map +1 -1
  93. package/dist/business/Poi/particle/SingleCircle.d.ts +1 -2
  94. package/dist/business/Poi/particle/SingleCircle.js +2 -3
  95. package/dist/business/Poi/particle/SingleCircle.js.map +1 -1
  96. package/dist/business/Poi/particle/index.d.ts +2 -2
  97. package/dist/business/Poi/particle/index.js +2 -2
  98. package/dist/business/Poi/particle/index.js.map +1 -1
  99. package/dist/business/Poi/title/Border.d.ts +1 -2
  100. package/dist/business/Poi/title/Border.js +2 -2
  101. package/dist/business/Poi/title/Border.js.map +1 -1
  102. package/dist/business/Poi/title/Ellipse.d.ts +1 -2
  103. package/dist/business/Poi/title/Ellipse.js +2 -2
  104. package/dist/business/Poi/title/Ellipse.js.map +1 -1
  105. package/dist/business/Poi/title/index.d.ts +2 -3
  106. package/dist/business/Poi/title/index.js +2 -2
  107. package/dist/business/Poi/title/index.js.map +1 -1
  108. package/dist/business/Sphere/index.d.ts +2 -2
  109. package/dist/business/Sphere/index.js +2 -2
  110. package/dist/business/Sphere/index.js.map +1 -1
  111. package/dist/business/Sphere/interface.js.map +1 -1
  112. package/dist/business/Sphere/types.js.map +1 -1
  113. package/dist/business/Spline/index.d.ts +1 -2
  114. package/dist/business/Spline/index.js +28 -14
  115. package/dist/business/Spline/index.js.map +1 -1
  116. package/dist/business/SplitBuilding/index.d.ts +2 -2
  117. package/dist/business/SplitBuilding/index.js +2 -2
  118. package/dist/business/SplitBuilding/index.js.map +1 -1
  119. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.d.ts +2 -2
  120. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +5 -6
  121. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  122. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.d.ts +2 -2
  123. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +3 -3
  124. package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -1
  125. package/dist/business/TrafficComponents/base.d.ts +4 -4
  126. package/dist/business/TrafficComponents/base.js +6 -6
  127. package/dist/business/TrafficComponents/base.js.map +1 -1
  128. package/dist/business/TrafficComponents/index.d.ts +2 -4
  129. package/dist/business/TrafficComponents/index.js +2 -2
  130. package/dist/business/TrafficComponents/index.js.map +1 -1
  131. package/dist/business/Utils/defineProps.js +3 -3
  132. package/dist/business/Utils/defineProps.js.map +1 -1
  133. package/dist/business/VideoPanel/index.d.ts +4 -4
  134. package/dist/business/VideoPanel/index.js +13 -11
  135. package/dist/business/VideoPanel/index.js.map +1 -1
  136. package/dist/business/VideoPanel/type.d.ts +8 -8
  137. package/dist/business/VideoPanel/type.js.map +1 -1
  138. package/dist/business/Water/index.d.ts +1 -3
  139. package/dist/business/Water/index.js +5 -5
  140. package/dist/business/Water/index.js.map +1 -1
  141. package/dist/business/index.d.ts +18 -21
  142. package/dist/business/index.js +18 -18
  143. package/dist/business/index.js.map +1 -1
  144. package/dist/core/Camera/PerspectiveCamera/CameraExpand.d.ts +1 -1
  145. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js +4 -4
  146. package/dist/core/Camera/PerspectiveCamera/CameraExpand.js.map +1 -1
  147. package/dist/core/Camera/index.d.ts +1 -2
  148. package/dist/core/Camera/index.js +1 -1
  149. package/dist/core/Camera/index.js.map +1 -1
  150. package/dist/core/Controls/FirstViewControl/index.d.ts +2 -3
  151. package/dist/core/Controls/FirstViewControl/index.js +2 -4
  152. package/dist/core/Controls/FirstViewControl/index.js.map +1 -1
  153. package/dist/core/Controls/ThirdViewControl/index.d.ts +2 -3
  154. package/dist/core/Controls/ThirdViewControl/index.js +3 -6
  155. package/dist/core/Controls/ThirdViewControl/index.js.map +1 -1
  156. package/dist/core/Controls/ThirdViewControl/player/camera.d.ts +2 -4
  157. package/dist/core/Controls/ThirdViewControl/player/camera.js +2 -5
  158. package/dist/core/Controls/ThirdViewControl/player/camera.js.map +1 -1
  159. package/dist/core/Controls/ThirdViewControl/player.d.ts +2 -4
  160. package/dist/core/Controls/ThirdViewControl/player.js +2 -6
  161. package/dist/core/Controls/ThirdViewControl/player.js.map +1 -1
  162. package/dist/core/Controls/base.d.ts +3 -4
  163. package/dist/core/Controls/base.js +3 -5
  164. package/dist/core/Controls/base.js.map +1 -1
  165. package/dist/core/Curve/index.d.ts +1 -2
  166. package/dist/core/Curve/index.js +1 -1
  167. package/dist/core/Curve/index.js.map +1 -1
  168. package/dist/core/Material/SurfaceMaterial/index.js.map +1 -1
  169. package/dist/core/Material/index.d.ts +3 -5
  170. package/dist/core/Material/index.js +3 -3
  171. package/dist/core/Material/index.js.map +1 -1
  172. package/dist/core/PostEffects/addACESFilmicToneMappingPass.d.ts +1 -2
  173. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js +4 -4
  174. package/dist/core/PostEffects/addACESFilmicToneMappingPass.js.map +1 -1
  175. package/dist/core/PostEffects/addBrightnessContrastPass.d.ts +1 -2
  176. package/dist/core/PostEffects/addBrightnessContrastPass.js +4 -4
  177. package/dist/core/PostEffects/addBrightnessContrastPass.js.map +1 -1
  178. package/dist/core/PostEffects/bloomPass.d.ts +1 -2
  179. package/dist/core/PostEffects/bloomPass.js +5 -6
  180. package/dist/core/PostEffects/bloomPass.js.map +1 -1
  181. package/dist/core/PostEffects/bloomSelect.d.ts +2 -2
  182. package/dist/core/PostEffects/bloomSelect.js +6 -7
  183. package/dist/core/PostEffects/bloomSelect.js.map +1 -1
  184. package/dist/core/PostEffects/colorifyPass.d.ts +2 -2
  185. package/dist/core/PostEffects/colorifyPass.js +4 -4
  186. package/dist/core/PostEffects/colorifyPass.js.map +1 -1
  187. package/dist/core/PostEffects/index.d.ts +13 -4
  188. package/dist/core/PostEffects/index.js +20 -14
  189. package/dist/core/PostEffects/index.js.map +1 -1
  190. package/dist/core/PostEffects/outlinePass.d.ts +2 -2
  191. package/dist/core/PostEffects/outlinePass.js +5 -4
  192. package/dist/core/PostEffects/outlinePass.js.map +1 -1
  193. package/dist/core/PostEffects/postprocessing.d.ts +2 -2
  194. package/dist/core/PostEffects/postprocessing.js +2 -2
  195. package/dist/core/PostEffects/postprocessing.js.map +1 -1
  196. package/dist/core/PostEffects/saoPass.d.ts +1 -2
  197. package/dist/core/PostEffects/saoPass.js +5 -4
  198. package/dist/core/PostEffects/saoPass.js.map +1 -1
  199. package/dist/core/SceneEffect/grow/grow.d.ts +1 -3
  200. package/dist/core/SceneEffect/grow/grow.js +3 -5
  201. package/dist/core/SceneEffect/grow/grow.js.map +1 -1
  202. package/dist/core/WeatherSystem/DynamicWeatherSystem.d.ts +1 -3
  203. package/dist/core/WeatherSystem/DynamicWeatherSystem.js +4 -6
  204. package/dist/core/WeatherSystem/DynamicWeatherSystem.js.map +1 -1
  205. package/dist/core/WeatherSystem/color/index.d.ts +0 -3
  206. package/dist/core/WeatherSystem/color/index.js +14 -9
  207. package/dist/core/WeatherSystem/color/index.js.map +1 -1
  208. package/dist/core/WeatherSystem/controller/ColorController.d.ts +1 -3
  209. package/dist/core/WeatherSystem/controller/ColorController.js +3 -5
  210. package/dist/core/WeatherSystem/controller/ColorController.js.map +1 -1
  211. package/dist/core/WeatherSystem/controller/HDRController.d.ts +1 -3
  212. package/dist/core/WeatherSystem/controller/HDRController.js +3 -5
  213. package/dist/core/WeatherSystem/controller/HDRController.js.map +1 -1
  214. package/dist/core/WeatherSystem/controller/SkyController.d.ts +1 -3
  215. package/dist/core/WeatherSystem/controller/SkyController.js +2 -4
  216. package/dist/core/WeatherSystem/controller/SkyController.js.map +1 -1
  217. package/dist/core/WeatherSystem/hdr/index.d.ts +2 -4
  218. package/dist/core/WeatherSystem/hdr/index.js +11 -12
  219. package/dist/core/WeatherSystem/hdr/index.js.map +1 -1
  220. package/dist/core/WeatherSystem/index.d.ts +2 -3
  221. package/dist/core/WeatherSystem/index.js +4 -7
  222. package/dist/core/WeatherSystem/index.js.map +1 -1
  223. package/dist/core/WeatherSystem/objects/rain/index.d.ts +1 -2
  224. package/dist/core/WeatherSystem/objects/rain/index.js +3 -3
  225. package/dist/core/WeatherSystem/objects/rain/index.js.map +1 -1
  226. package/dist/core/WeatherSystem/objects/rain/lineRain.d.ts +1 -3
  227. package/dist/core/WeatherSystem/objects/rain/lineRain.js +5 -7
  228. package/dist/core/WeatherSystem/objects/rain/lineRain.js.map +1 -1
  229. package/dist/core/WeatherSystem/objects/rain/plane.d.ts +1 -3
  230. package/dist/core/WeatherSystem/objects/rain/plane.js +4 -6
  231. package/dist/core/WeatherSystem/objects/rain/plane.js.map +1 -1
  232. package/dist/core/WeatherSystem/objects/rain/point.d.ts +1 -3
  233. package/dist/core/WeatherSystem/objects/rain/point.js +0 -3
  234. package/dist/core/WeatherSystem/objects/rain/point.js.map +1 -1
  235. package/dist/core/WeatherSystem/sky/index.js.map +1 -1
  236. package/dist/core/WeatherSystem/utils/constant.js.map +1 -1
  237. package/dist/core/WeatherSystem/weather/index.d.ts +2 -3
  238. package/dist/core/WeatherSystem/weather/index.js +5 -7
  239. package/dist/core/WeatherSystem/weather/index.js.map +1 -1
  240. package/dist/index.d.ts +8 -13
  241. package/dist/index.js +8 -8
  242. package/dist/index.js.map +1 -1
  243. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AnimationMixer","BoxGeometry","Mesh","lib","BasicCharacterControllerInput","Camera_movement","Character_control","Character_animation","GLTFLoader","Player","_ref","camera","scene","sceneControl","initialize","_initialize","_callee","glbLoader","characterGlb","character","characterAnimations","input","_callee$","_context","loadAsync","characterRotateBox","characterMixer","clipAction","animations","play","running","runningBack","walking","idle","jump","leftRun","rightRun","getHit","hit","hitSecond","roll","add","camera_movement","player","character_animation","character_control","animation","update","deltaT","customProps","_this$character_contr","_this$camera_movement","position","copy","default"],"sources":["../../../../src/core/Controls/ThirdViewControl/player.ts"],"sourcesContent":["import type { PerspectiveCamera, Scene, SceneControl } from '@anov/3d-core'\nimport { AnimationMixer, BoxGeometry, Mesh, lib } from '@anov/3d-core'\nimport type { CharacterAnimationType } from './type'\nimport BasicCharacterControllerInput from './action/input'\nimport Camera_movement from './player/camera.js'\nimport Character_control from './player/control'\nimport Character_animation from './player/animation'\n\nconst { GLTFLoader } = lib\n\ninterface PropsType {\n scene: Scene\n camera: PerspectiveCamera\n sceneControl: SceneControl\n}\n\nexport default class Player {\n character_control!: Character_control\n character_animation!: Character_animation\n camera_movement!: Camera_movement\n characterMixer!: AnimationMixer\n character: any\n characterRotateBox: any\n scene: Scene\n camera: PerspectiveCamera\n sceneControl?: SceneControl\n\n constructor({ camera, scene, sceneControl }: PropsType) {\n this.scene = scene\n this.camera = camera\n this.sceneControl = sceneControl\n this.initialize()\n }\n\n async initialize() {\n const glbLoader = new GLTFLoader()\n const characterGlb = (await glbLoader.loadAsync('./Character.glb'))\n const character = characterGlb.scene\n\n this.characterRotateBox = new Mesh(new BoxGeometry(1, 1, 1))\n this.character = character\n\n this.characterMixer = new AnimationMixer(characterGlb.scene)\n this.characterMixer.clipAction(characterGlb.animations[10]).play()\n\n const characterAnimations: CharacterAnimationType = {\n running: undefined,\n runningBack: undefined,\n walking: undefined,\n idle: undefined,\n jump: undefined,\n leftRun: undefined,\n rightRun: undefined,\n getHit: undefined,\n hit: undefined,\n hitSecond: undefined,\n roll: undefined,\n\n }\n\n this.scene.add(this.character)\n\n // register event\n const input = new BasicCharacterControllerInput()\n\n this.camera_movement = new Camera_movement({\n character: this.character,\n camera: this.camera,\n characterRotateBox: this.characterRotateBox,\n player: this,\n sceneControl: this.sceneControl,\n })\n\n this.character_animation = new Character_animation({\n animations: characterAnimations,\n input,\n })\n\n this.character_control = new Character_control({\n scene: this.scene,\n character: this.character,\n input,\n animation: this.character_animation,\n characterRotateBox: this.characterRotateBox,\n camera: this.camera,\n })\n }\n\n update(deltaT: number, customProps?: any) {\n if (this.character)\n this.characterRotateBox.position.copy(this.character.position)\n\n if (this.characterMixer)\n this.characterMixer.update(deltaT)\n\n // this.character_animation?.update(deltaT)\n // this.characterMixer?.update(deltaT)\n\n this.character_control?.update(deltaT)\n this.camera_movement?.update(deltaT)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AnimationMixer","BoxGeometry","Mesh","lib","BasicCharacterControllerInput","Camera_movement","Character_control","Character_animation","GLTFLoader","Player","_ref","camera","scene","initialize","_initialize","_callee","glbLoader","characterGlb","character","characterAnimations","input","_callee$","_context","loadAsync","characterRotateBox","characterMixer","clipAction","animations","play","running","runningBack","walking","idle","jump","leftRun","rightRun","getHit","hit","hitSecond","roll","add","camera_movement","player","character_animation","character_control","animation","update","deltaT","customProps","_this$character_contr","_this$camera_movement","position","copy","default"],"sources":["../../../../src/core/Controls/ThirdViewControl/player.ts"],"sourcesContent":["import type { PerspectiveCamera, Scene } from '@anov/3d-core'\nimport { AnimationMixer, BoxGeometry, Mesh, lib } from '@anov/3d-core'\nimport type { CharacterAnimationType } from './type'\nimport BasicCharacterControllerInput from './action/input'\nimport Camera_movement from './player/camera.js'\nimport Character_control from './player/control'\nimport Character_animation from './player/animation'\n\nconst { GLTFLoader } = lib\n\ninterface PropsType {\n scene: Scene\n camera: PerspectiveCamera\n}\n\nexport default class Player {\n character_control!: Character_control\n character_animation!: Character_animation\n camera_movement!: Camera_movement\n characterMixer!: AnimationMixer\n character: any\n characterRotateBox: any\n scene: Scene\n camera: PerspectiveCamera\n\n constructor({ camera, scene }: PropsType) {\n this.scene = scene\n this.camera = camera\n this.initialize()\n }\n\n async initialize() {\n const glbLoader = new GLTFLoader()\n const characterGlb = (await glbLoader.loadAsync('./Character.glb'))\n const character = characterGlb.scene\n\n this.characterRotateBox = new Mesh(new BoxGeometry(1, 1, 1))\n this.character = character\n\n this.characterMixer = new AnimationMixer(characterGlb.scene)\n this.characterMixer.clipAction(characterGlb.animations[10]).play()\n\n const characterAnimations: CharacterAnimationType = {\n running: undefined,\n runningBack: undefined,\n walking: undefined,\n idle: undefined,\n jump: undefined,\n leftRun: undefined,\n rightRun: undefined,\n getHit: undefined,\n hit: undefined,\n hitSecond: undefined,\n roll: undefined,\n }\n\n this.scene.add(this.character)\n\n // register event\n const input = new BasicCharacterControllerInput()\n\n this.camera_movement = new Camera_movement({\n character: this.character,\n camera: this.camera,\n characterRotateBox: this.characterRotateBox,\n player: this,\n })\n\n this.character_animation = new Character_animation({\n animations: characterAnimations,\n input,\n })\n\n this.character_control = new Character_control({\n scene: this.scene,\n character: this.character,\n input,\n animation: this.character_animation,\n characterRotateBox: this.characterRotateBox,\n camera: this.camera,\n })\n }\n\n update(deltaT: number, customProps?: any) {\n if (this.character)\n this.characterRotateBox.position.copy(this.character.position)\n\n if (this.characterMixer)\n this.characterMixer.update(deltaT)\n\n // this.character_animation?.update(deltaT)\n // this.characterMixer?.update(deltaT)\n\n this.character_control?.update(deltaT)\n this.camera_movement?.update(deltaT)\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import type { Camera, Scene, SceneControl } from '@anov/3d-core';
1
+ import type { Camera, Scene } from '@anov/3d-core';
2
2
  declare class ControlBaseModule {
3
3
  camera: Camera;
4
- sceneControl: SceneControl;
5
- constructor(camera: Camera, sceneControl: SceneControl);
4
+ constructor(camera: Camera);
6
5
  }
7
6
  export declare class ControlThirdModule extends ControlBaseModule {
8
7
  scene: Scene;
9
- constructor(camera: Camera, scene: Scene, sceneControl?: SceneControl);
8
+ constructor(camera: Camera, scene: Scene);
10
9
  }
11
10
  export default ControlBaseModule;
@@ -12,20 +12,18 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
12
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
13
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
14
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- var ControlBaseModule = /*#__PURE__*/_createClass(function ControlBaseModule(camera, sceneControl) {
15
+ var ControlBaseModule = /*#__PURE__*/_createClass(function ControlBaseModule(camera) {
16
16
  _classCallCheck(this, ControlBaseModule);
17
17
  _defineProperty(this, "camera", void 0);
18
- _defineProperty(this, "sceneControl", void 0);
19
18
  this.camera = camera;
20
- this.sceneControl = sceneControl;
21
19
  });
22
20
  export var ControlThirdModule = /*#__PURE__*/function (_ControlBaseModule) {
23
21
  _inherits(ControlThirdModule, _ControlBaseModule);
24
22
  var _super = _createSuper(ControlThirdModule);
25
- function ControlThirdModule(camera, scene, sceneControl) {
23
+ function ControlThirdModule(camera, scene) {
26
24
  var _this;
27
25
  _classCallCheck(this, ControlThirdModule);
28
- _this = _super.call(this, camera, sceneControl);
26
+ _this = _super.call(this, camera);
29
27
  _defineProperty(_assertThisInitialized(_this), "scene", void 0);
30
28
  _this.scene = scene;
31
29
  return _this;
@@ -1 +1 @@
1
- {"version":3,"names":["ControlBaseModule","_createClass","camera","sceneControl","_classCallCheck","_defineProperty","ControlThirdModule","_ControlBaseModule","_inherits","_super","_createSuper","scene","_this","call","_assertThisInitialized"],"sources":["../../../src/core/Controls/base.ts"],"sourcesContent":["import type { Camera, Scene, SceneControl } from '@anov/3d-core'\n\nclass ControlBaseModule {\n camera: Camera\n sceneControl: SceneControl\n\n constructor(camera: Camera, sceneControl: SceneControl) {\n this.camera = camera\n this.sceneControl = sceneControl\n }\n}\n\nexport class ControlThirdModule extends ControlBaseModule {\n scene: Scene\n constructor(camera: Camera, scene: Scene, sceneControl?: SceneControl) {\n super(camera, sceneControl)\n this.scene = scene\n }\n}\n\nexport default ControlBaseModule\n"],"mappings":";;;;;;;;;;;;;;IAEMA,iBAAiB,gBAAAC,YAAA,CAIrB,SAAAD,kBAAYE,MAAc,EAAEC,YAA0B,EAAE;EAAAC,eAAA,OAAAJ,iBAAA;EAAAK,eAAA;EAAAA,eAAA;EACtD,IAAI,CAACH,MAAM,GAAGA,MAAM;EACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;AAClC,CAAC;AAGH,WAAaG,kBAAkB,0BAAAC,kBAAA;EAAAC,SAAA,CAAAF,kBAAA,EAAAC,kBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,kBAAA;EAE7B,SAAAA,mBAAYJ,MAAc,EAAES,KAAY,EAAER,YAA2B,EAAE;IAAA,IAAAS,KAAA;IAAAR,eAAA,OAAAE,kBAAA;IACrEM,KAAA,GAAAH,MAAA,CAAAI,IAAA,OAAMX,MAAM,EAAEC,YAAY;IAACE,eAAA,CAAAS,sBAAA,CAAAF,KAAA;IAC3BA,KAAA,CAAKD,KAAK,GAAGA,KAAK;IAAA,OAAAC,KAAA;EACpB;EAAC,OAAAX,YAAA,CAAAK,kBAAA;AAAA,EALqCN,iBAAiB;AAQzD,eAAeA,iBAAiB"}
1
+ {"version":3,"names":["ControlBaseModule","_createClass","camera","_classCallCheck","_defineProperty","ControlThirdModule","_ControlBaseModule","_inherits","_super","_createSuper","scene","_this","call","_assertThisInitialized"],"sources":["../../../src/core/Controls/base.ts"],"sourcesContent":["import type { Camera, Scene } from '@anov/3d-core'\n\nclass ControlBaseModule {\n camera: Camera\n\n constructor(camera: Camera) {\n this.camera = camera\n }\n}\n\nexport class ControlThirdModule extends ControlBaseModule {\n scene: Scene\n constructor(camera: Camera, scene: Scene) {\n super(camera)\n this.scene = scene\n }\n}\n\nexport default ControlBaseModule\n"],"mappings":";;;;;;;;;;;;;;IAEMA,iBAAiB,gBAAAC,YAAA,CAGrB,SAAAD,kBAAYE,MAAc,EAAE;EAAAC,eAAA,OAAAH,iBAAA;EAAAI,eAAA;EAC1B,IAAI,CAACF,MAAM,GAAGA,MAAM;AACtB,CAAC;AAGH,WAAaG,kBAAkB,0BAAAC,kBAAA;EAAAC,SAAA,CAAAF,kBAAA,EAAAC,kBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,kBAAA;EAE7B,SAAAA,mBAAYH,MAAc,EAAEQ,KAAY,EAAE;IAAA,IAAAC,KAAA;IAAAR,eAAA,OAAAE,kBAAA;IACxCM,KAAA,GAAAH,MAAA,CAAAI,IAAA,OAAMV,MAAM;IAACE,eAAA,CAAAS,sBAAA,CAAAF,KAAA;IACbA,KAAA,CAAKD,KAAK,GAAGA,KAAK;IAAA,OAAAC,KAAA;EACpB;EAAC,OAAAV,YAAA,CAAAI,kBAAA;AAAA,EALqCL,iBAAiB;AAQzD,eAAeA,iBAAiB"}
@@ -1,2 +1 @@
1
- export { RoundedCornersCurve, createRoundedCornersCurve } from './RoundedCornersCurve';
2
- export type { RoundedCornersCurveInterface } from './RoundedCornersCurve';
1
+ export * from './RoundedCornersCurve';
@@ -1,2 +1,2 @@
1
- export { RoundedCornersCurve, createRoundedCornersCurve } from "./RoundedCornersCurve";
1
+ export * from "./RoundedCornersCurve";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RoundedCornersCurve","createRoundedCornersCurve"],"sources":["../../../src/core/Curve/index.ts"],"sourcesContent":["export { RoundedCornersCurve, createRoundedCornersCurve } from './RoundedCornersCurve'\nexport type { RoundedCornersCurveInterface } from './RoundedCornersCurve'\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,yBAAyB"}
1
+ {"version":3,"names":[],"sources":["../../../src/core/Curve/index.ts"],"sourcesContent":["export * from './RoundedCornersCurve'"],"mappings":"AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","Plaster","concat","Wood","Water","Glass","Iron","Moss","Dirt","Fabric","Floor","Marble","Metal","Road","Leather","Snow","Emissive","Fresnel_Transparent","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","capitalizeFirstLetter","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_getMaterialAll","_callee3","_this","materials","_callee3$","_context3","all","map","_ref","_callee2","_callee2$","_context2","_x2","getMaterialAll","_loadModelMaterial","_callee4","_mesh","uri","model","mesh","_callee4$","_context4","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x3","str","toUpperCase","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n Plaster = 'Plaster', // 涂料\n Wood = 'Wood', // 木质材质\n Water = 'Water', // 水材质\n Glass = 'Glass', // 玻璃材质\n Iron = 'Iron', // 金属材质\n Moss = 'Moss', // 苔藓材质\n Emissive = 'Emissive', // 发光材质(适用于夜晚窗户)\n Dirt = 'Dirt', // 土壤\n Fabric = 'Fabric', // 布料\n Floor = 'Floor', // 地板\n Marble = 'Marble', // 石材\n Metal = 'Metal', // 金属\n Road = 'Road', // 道路\n Snow = 'snow', // 雪地\n Leather = 'leather', // 皮革\n}\n\nconst SOURCE_PATH = {\n Plaster: `${SOURCE_BASE_PATH}/material/plaster.glb`, // 涂料\n Wood: `${SOURCE_BASE_PATH}/material/wood.glb`, // 木质材质\n Water: `${SOURCE_BASE_PATH}/material/water.glb`, // 水材质\n Glass: `${SOURCE_BASE_PATH}/material/glass.glb`, // 玻璃材质\n Iron: `${SOURCE_BASE_PATH}/material/iron.glb`, // 金属材质\n Moss: `${SOURCE_BASE_PATH}/material/moss.glb`, // 苔藓材质\n Dirt: `${SOURCE_BASE_PATH}/material/dirt.glb`, // 土壤\n Fabric: `${SOURCE_BASE_PATH}/material/fabric.glb`, // 布料\n Floor: `${SOURCE_BASE_PATH}/material/floor.glb`, // 地板\n Marble: `${SOURCE_BASE_PATH}/material/marble.glb`, // 石材\n Metal: `${SOURCE_BASE_PATH}/material/metal.glb`, // 金属\n Road: `${SOURCE_BASE_PATH}/material/road.glb`, // 道路\n Leather: `${SOURCE_BASE_PATH}/material/leather.glb`, // 皮革\n Snow: `${SOURCE_BASE_PATH}/material/snow.glb`, // 雪地\n Emissive: `${SOURCE_BASE_PATH}/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n Fresnel_Transparent: `${SOURCE_BASE_PATH}/material/emissive2.glb`,\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n id = this.capitalizeFirstLetter(id)\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async getMaterialAll() {\n const materials = await Promise.all(Object.keys(SOURCE_PATH).map(async key => await this.getMaterial(key)))\n return materials\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n\n static capitalizeFirstLetter(str) {\n if (!str)\n return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","LoaderModule","SOURCE_BASE_PATH","load","EMaterialType","SOURCE_PATH","Plaster","concat","Wood","Water","Glass","Iron","Moss","Dirt","Fabric","Floor","Marble","Metal","Road","Leather","Snow","Emissive","Fresnel_Transparent","SurfaceMaterial","_getMaterial","_callee","id","material","_callee$","_context","capitalizeFirstLetter","cache","has","get","clone","loadModelMaterial","set","t0","console","getMaterial","_x","_getMaterialAll","_callee3","_this","materials","_callee3$","_context3","all","map","_ref","_callee2","_callee2$","_context2","_x2","getMaterialAll","_loadModelMaterial","_callee4","_mesh","uri","model","mesh","_callee4$","_context4","loadGLTF","url","draco","onLoad","gltf","scene","onError","traverse","child","_x3","str","toUpperCase","Map"],"sources":["../../../../src/core/Material/SurfaceMaterial/index.ts"],"sourcesContent":["import type { Mesh, MeshPhysicalMaterial, Object3D } from '@anov/3d-core'\nimport { LoaderModule, utils } from '@anov/3d-core'\nimport { SOURCE_BASE_PATH } from '../../../business/Utils/constant'\n\nconst load = new LoaderModule()\nexport enum EMaterialType {\n Plaster = 'Plaster', // 涂料\n Wood = 'Wood', // 木质材质\n Water = 'Water', // 水材质\n Glass = 'Glass', // 玻璃材质\n Iron = 'Iron', // 金属材质\n Moss = 'Moss', // 苔藓材质\n Emissive = 'Emissive', // 发光材质(适用于夜晚窗户)\n Dirt = 'Dirt', // 土壤\n Fabric = 'Fabric', // 布料\n Floor = 'Floor', // 地板\n Marble = 'Marble', // 石材\n Metal = 'Metal', // 金属\n Road = 'Road', // 道路\n Snow = 'snow', // 雪地\n Leather = 'leather', // 皮革\n}\n\nconst SOURCE_PATH = {\n Plaster: `${SOURCE_BASE_PATH}/material/plaster.glb`, // 涂料\n Wood: `${SOURCE_BASE_PATH}/material/wood.glb`, // 木质材质\n Water: `${SOURCE_BASE_PATH}/material/water.glb`, // 水材质\n Glass: `${SOURCE_BASE_PATH}/material/glass.glb`, // 玻璃材质\n Iron: `${SOURCE_BASE_PATH}/material/iron.glb`, // 金属材质\n Moss: `${SOURCE_BASE_PATH}/material/moss.glb`, // 苔藓材质\n Dirt: `${SOURCE_BASE_PATH}/material/dirt.glb`, // 土壤\n Fabric: `${SOURCE_BASE_PATH}/material/fabric.glb`, // 布料\n Floor: `${SOURCE_BASE_PATH}/material/floor.glb`, // 地板\n Marble: `${SOURCE_BASE_PATH}/material/marble.glb`, // 石材\n Metal: `${SOURCE_BASE_PATH}/material/metal.glb`, // 金属\n Road: `${SOURCE_BASE_PATH}/material/road.glb`, // 道路\n Leather: `${SOURCE_BASE_PATH}/material/leather.glb`, // 皮革\n Snow: `${SOURCE_BASE_PATH}/material/snow.glb`, // 雪地\n Emissive: `${SOURCE_BASE_PATH}/material/emissive.glb`, // 发光材质(适用于夜晚窗户)\n Fresnel_Transparent: `${SOURCE_BASE_PATH}/material/emissive2.glb`,\n}\n\nexport class SurfaceMaterial {\n private static cache = new Map<string, MeshPhysicalMaterial>()\n\n static async getMaterial(id: string) {\n id = this.capitalizeFirstLetter(id)\n if (this.cache.has(id))\n return this.cache.get(id).clone()!\n\n try {\n const material = await this.loadModelMaterial(id)\n this.cache.set(id, material)\n return material.clone()\n }\n catch (error) {\n console.error(`Failed to load material ${id}:`, error)\n throw error\n }\n }\n\n static async getMaterialAll() {\n const materials = await Promise.all(Object.keys(SOURCE_PATH).map(async key => await this.getMaterial(key)))\n return materials\n }\n\n static async loadModelMaterial(id: string): Promise<MeshPhysicalMaterial> {\n const uri = SOURCE_PATH[id]\n if (!uri)\n throw new Error(`Invalid material ID: ${id}`)\n\n const model = await new Promise<Object3D>((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n draco: true,\n onLoad: gltf => resolve(gltf.scene.clone(true)),\n onError: err => reject(err),\n })\n })\n\n let mesh: Mesh | null = null\n model.traverse((child) => {\n if (!mesh && child.type === 'Mesh')\n mesh = child as Mesh\n })\n if (!mesh?.material)\n throw new Error(`No valid material found in ${id}`)\n\n return mesh.material as MeshPhysicalMaterial\n }\n\n static capitalizeFirstLetter(str) {\n if (!str)\n return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- export { FinirMaterial } from './FinirMaterial';
2
- export type { FinirMaterialInterface } from './FinirMaterial';
3
- export { GridMaterial } from './PristineGridMaterial';
4
- export type { GridMaterialInterface } from './PristineGridMaterial';
5
- export { SurfaceMaterial, EMaterialType } from './SurfaceMaterial';
1
+ export * from './FinirMaterial';
2
+ export * from './PristineGridMaterial';
3
+ export * from './SurfaceMaterial';
@@ -1,4 +1,4 @@
1
- export { FinirMaterial } from "./FinirMaterial";
2
- export { GridMaterial } from "./PristineGridMaterial";
3
- export { SurfaceMaterial, EMaterialType } from "./SurfaceMaterial";
1
+ export * from "./FinirMaterial";
2
+ export * from "./PristineGridMaterial";
3
+ export * from "./SurfaceMaterial";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FinirMaterial","GridMaterial","SurfaceMaterial","EMaterialType"],"sources":["../../../src/core/Material/index.ts"],"sourcesContent":["export { FinirMaterial } from './FinirMaterial'\nexport type { FinirMaterialInterface } from './FinirMaterial'\nexport { GridMaterial } from './PristineGridMaterial'\nexport type { GridMaterialInterface } from './PristineGridMaterial'\nexport { SurfaceMaterial, EMaterialType } from './SurfaceMaterial'\n"],"mappings":"AAAA,SAASA,aAAa;AAEtB,SAASC,YAAY;AAErB,SAASC,eAAe,EAAEC,aAAa"}
1
+ {"version":3,"names":[],"sources":["../../../src/core/Material/index.ts"],"sourcesContent":["export * from './FinirMaterial'\nexport * from './PristineGridMaterial'\nexport * from './SurfaceMaterial'\n"],"mappings":"AAAA;AACA;AACA"}
@@ -1,5 +1,4 @@
1
- import { type SceneControl } from '@anov/3d-core';
2
- declare const addmappingExposurePass: (exposure: number, sceneControl: SceneControl) => {
1
+ declare const addmappingExposurePass: (exposure?: number) => {
3
2
  clean: () => void;
4
3
  };
5
4
  export default addmappingExposurePass;
@@ -1,14 +1,14 @@
1
- import { lib, use } from '@anov/3d-core';
1
+ import { lib, use, utils } from '@anov/3d-core';
2
2
  import ACESFilmicToneMappingShader from "./shader/mapping";
3
+ var storeManagement = utils.storeManagement;
3
4
  var CopyShader = lib.CopyShader,
4
5
  ShaderPass = lib.ShaderPass;
5
6
  var addmappingExposurePass = function addmappingExposurePass() {
6
7
  var exposure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
7
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
8
- var _use$useScene = use.useScene(sceneControl),
8
+ var _use$useScene = use.useScene(),
9
9
  scene = _use$useScene.scene,
10
10
  camera = _use$useScene.camera;
11
- var composer = sceneControl.context.storeManagement.get('composer');
11
+ var composer = storeManagement.get('composer');
12
12
  if (!scene || !camera) throw new Error('scene or camera is not defined,');
13
13
  if (!composer) throw new Error('composer is not defined, please initPostEffects first');
14
14
  var effectCopy = new ShaderPass(CopyShader);
@@ -1 +1 @@
1
- {"version":3,"names":["lib","use","ACESFilmicToneMappingShader","CopyShader","ShaderPass","addmappingExposurePass","exposure","arguments","length","undefined","sceneControl","_use$useScene","useScene","scene","camera","composer","context","storeManagement","get","Error","effectCopy","renderToScreen","uniforms","value","mappingExposurePass","addPass","clean","removePass"],"sources":["../../../src/core/PostEffects/addACESFilmicToneMappingPass.ts"],"sourcesContent":["import { type SceneControl, lib, use } from '@anov/3d-core'\nimport ACESFilmicToneMappingShader from './shader/mapping'\n\nconst { CopyShader, ShaderPass } = lib\n\nconst addmappingExposurePass = (exposure = 0.5, sceneControl: SceneControl) => {\n const { scene, camera } = use.useScene(sceneControl)\n const composer = sceneControl.context.storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n ACESFilmicToneMappingShader.uniforms.exposure.value = exposure\n\n const mappingExposurePass = new ShaderPass(ACESFilmicToneMappingShader)\n\n composer.addPass(effectCopy)\n composer.addPass(mappingExposurePass)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(mappingExposurePass)\n },\n\n }\n}\n\nexport default addmappingExposurePass"],"mappings":"AAAA,SAA4BA,GAAG,EAAEC,GAAG,QAAQ,eAAe;AAC3D,OAAOC,2BAA2B;AAElC,IAAQC,UAAU,GAAiBH,GAAG,CAA9BG,UAAU;EAAEC,UAAU,GAAKJ,GAAG,CAAlBI,UAAU;AAE9B,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAmD;EAAA,IAA/CC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAAEG,YAA0B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EACxE,IAAAE,aAAA,GAA0BV,GAAG,CAACW,QAAQ,CAACF,YAAY,CAAC;IAA5CG,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGL,YAAY,CAACM,OAAO,CAACC,eAAe,CAACC,GAAG,CAAC,UAAU,CAAmC;EAEvG,IAAI,CAACL,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIK,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACJ,QAAQ,EACX,MAAM,IAAII,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,UAAU,GAAG,IAAIhB,UAAU,CAACD,UAAU,CAAC;EAC7CiB,UAAU,CAACC,cAAc,GAAG,IAAI;EAEhCnB,2BAA2B,CAACoB,QAAQ,CAAChB,QAAQ,CAACiB,KAAK,GAAGjB,QAAQ;EAE9D,IAAMkB,mBAAmB,GAAG,IAAIpB,UAAU,CAACF,2BAA2B,CAAC;EAEvEa,QAAQ,CAACU,OAAO,CAACL,UAAU,CAAC;EAC5BL,QAAQ,CAACU,OAAO,CAACD,mBAAmB,CAAC;EAErC,OAAO;IACLE,KAAK,EAAE,SAAAA,MAAA,EAAM;MACXX,QAAQ,CAACY,UAAU,CAACP,UAAU,CAAC;MAC/BL,QAAQ,CAACY,UAAU,CAACH,mBAAmB,CAAC;IAC1C;EAEF,CAAC;AACH,CAAC;AAED,eAAenB,sBAAsB"}
1
+ {"version":3,"names":["lib","use","utils","ACESFilmicToneMappingShader","storeManagement","CopyShader","ShaderPass","addmappingExposurePass","exposure","arguments","length","undefined","_use$useScene","useScene","scene","camera","composer","get","Error","effectCopy","renderToScreen","uniforms","value","mappingExposurePass","addPass","clean","removePass"],"sources":["../../../src/core/PostEffects/addACESFilmicToneMappingPass.ts"],"sourcesContent":["import { lib, use, utils } from '@anov/3d-core'\nimport ACESFilmicToneMappingShader from './shader/mapping'\n\nconst { storeManagement } = utils\nconst { CopyShader, ShaderPass } = lib\n\nconst addmappingExposurePass = (exposure = 0.5) => {\n const { scene, camera } = use.useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n ACESFilmicToneMappingShader.uniforms.exposure.value = exposure\n\n const mappingExposurePass = new ShaderPass(ACESFilmicToneMappingShader)\n\n composer.addPass(effectCopy)\n composer.addPass(mappingExposurePass)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(mappingExposurePass)\n },\n\n }\n}\n\nexport default addmappingExposurePass"],"mappings":"AAAA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAC/C,OAAOC,2BAA2B;AAElC,IAAQC,eAAe,GAAKF,KAAK,CAAzBE,eAAe;AACvB,IAAQC,UAAU,GAAiBL,GAAG,CAA9BK,UAAU;EAAEC,UAAU,GAAKN,GAAG,CAAlBM,UAAU;AAE9B,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA,EAAuB;EAAA,IAAnBC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAC5C,IAAAG,aAAA,GAA0BX,GAAG,CAACY,QAAQ,CAAC,CAAC;IAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGZ,eAAe,CAACa,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,UAAU,GAAG,IAAIb,UAAU,CAACD,UAAU,CAAC;EAC7Cc,UAAU,CAACC,cAAc,GAAG,IAAI;EAEhCjB,2BAA2B,CAACkB,QAAQ,CAACb,QAAQ,CAACc,KAAK,GAAGd,QAAQ;EAE9D,IAAMe,mBAAmB,GAAG,IAAIjB,UAAU,CAACH,2BAA2B,CAAC;EAEvEa,QAAQ,CAACQ,OAAO,CAACL,UAAU,CAAC;EAC5BH,QAAQ,CAACQ,OAAO,CAACD,mBAAmB,CAAC;EAErC,OAAO;IACLE,KAAK,EAAE,SAAAA,MAAA,EAAM;MACXT,QAAQ,CAACU,UAAU,CAACP,UAAU,CAAC;MAC/BH,QAAQ,CAACU,UAAU,CAACH,mBAAmB,CAAC;IAC1C;EAEF,CAAC;AACH,CAAC;AAED,eAAehB,sBAAsB"}
@@ -1,5 +1,4 @@
1
- import { type SceneControl } from '@anov/3d-core';
2
- declare const addBrightnessContrastPass: (brightness: number, sceneControl: SceneControl) => {
1
+ declare const addBrightnessContrastPass: (brightness?: number) => {
3
2
  clean: () => void;
4
3
  };
5
4
  export default addBrightnessContrastPass;
@@ -1,14 +1,14 @@
1
- import { lib, use } from '@anov/3d-core';
1
+ import { lib, use, utils } from '@anov/3d-core';
2
+ var storeManagement = utils.storeManagement;
2
3
  var CopyShader = lib.CopyShader,
3
4
  ShaderPass = lib.ShaderPass,
4
5
  BrightnessContrastShader = lib.BrightnessContrastShader;
5
6
  var addBrightnessContrastPass = function addBrightnessContrastPass() {
6
7
  var brightness = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
7
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
8
- var _use$useScene = use.useScene(sceneControl),
8
+ var _use$useScene = use.useScene(),
9
9
  scene = _use$useScene.scene,
10
10
  camera = _use$useScene.camera;
11
- var composer = sceneControl.context.storeManagement.get('composer');
11
+ var composer = storeManagement.get('composer');
12
12
  if (!scene || !camera) throw new Error('scene or camera is not defined,');
13
13
  if (!composer) throw new Error('composer is not defined, please initPostEffects first');
14
14
  var effectCopy = new ShaderPass(CopyShader);
@@ -1 +1 @@
1
- {"version":3,"names":["lib","use","CopyShader","ShaderPass","BrightnessContrastShader","addBrightnessContrastPass","brightness","arguments","length","undefined","sceneControl","_use$useScene","useScene","scene","camera","composer","context","storeManagement","get","Error","effectCopy","renderToScreen","uniforms","value","brightnessContrastPass","addPass","clean","removePass"],"sources":["../../../src/core/PostEffects/addBrightnessContrastPass.ts"],"sourcesContent":["import { type SceneControl, lib, use } from '@anov/3d-core'\n\nconst { CopyShader, ShaderPass, BrightnessContrastShader } = lib\n\nconst addBrightnessContrastPass = (brightness = 0.5, sceneControl: SceneControl) => {\n const { scene, camera } = use.useScene(sceneControl)\n const composer = sceneControl.context.storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n BrightnessContrastShader.uniforms.brightness.value = brightness\n\n const brightnessContrastPass = new ShaderPass(BrightnessContrastShader)\n\n composer.addPass(effectCopy)\n composer.addPass(brightnessContrastPass)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(brightnessContrastPass)\n },\n\n }\n}\n\nexport default addBrightnessContrastPass"],"mappings":"AAAA,SAA4BA,GAAG,EAAEC,GAAG,QAAQ,eAAe;AAE3D,IAAQC,UAAU,GAA2CF,GAAG,CAAxDE,UAAU;EAAEC,UAAU,GAA+BH,GAAG,CAA5CG,UAAU;EAAEC,wBAAwB,GAAKJ,GAAG,CAAhCI,wBAAwB;AAExD,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAqD;EAAA,IAAjDC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAAA,IAAEG,YAA0B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAC7E,IAAAE,aAAA,GAA0BV,GAAG,CAACW,QAAQ,CAACF,YAAY,CAAC;IAA5CG,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGL,YAAY,CAACM,OAAO,CAACC,eAAe,CAACC,GAAG,CAAC,UAAU,CAAmC;EAEvG,IAAI,CAACL,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIK,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACJ,QAAQ,EACX,MAAM,IAAII,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,UAAU,GAAG,IAAIjB,UAAU,CAACD,UAAU,CAAC;EAC7CkB,UAAU,CAACC,cAAc,GAAG,IAAI;EAEhCjB,wBAAwB,CAACkB,QAAQ,CAAChB,UAAU,CAACiB,KAAK,GAAGjB,UAAU;EAE/D,IAAMkB,sBAAsB,GAAG,IAAIrB,UAAU,CAACC,wBAAwB,CAAC;EAEvEW,QAAQ,CAACU,OAAO,CAACL,UAAU,CAAC;EAC5BL,QAAQ,CAACU,OAAO,CAACD,sBAAsB,CAAC;EAExC,OAAO;IACLE,KAAK,EAAE,SAAAA,MAAA,EAAM;MACXX,QAAQ,CAACY,UAAU,CAACP,UAAU,CAAC;MAC/BL,QAAQ,CAACY,UAAU,CAACH,sBAAsB,CAAC;IAC7C;EAEF,CAAC;AACH,CAAC;AAED,eAAenB,yBAAyB"}
1
+ {"version":3,"names":["lib","use","utils","storeManagement","CopyShader","ShaderPass","BrightnessContrastShader","addBrightnessContrastPass","brightness","arguments","length","undefined","_use$useScene","useScene","scene","camera","composer","get","Error","effectCopy","renderToScreen","uniforms","value","brightnessContrastPass","addPass","clean","removePass"],"sources":["../../../src/core/PostEffects/addBrightnessContrastPass.ts"],"sourcesContent":["import { lib, use, utils } from '@anov/3d-core'\n\nconst { storeManagement } = utils\nconst { CopyShader, ShaderPass, BrightnessContrastShader } = lib\n\nconst addBrightnessContrastPass = (brightness = 0.5) => {\n const { scene, camera } = use.useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n BrightnessContrastShader.uniforms.brightness.value = brightness\n\n const brightnessContrastPass = new ShaderPass(BrightnessContrastShader)\n\n composer.addPass(effectCopy)\n composer.addPass(brightnessContrastPass)\n\n return {\n clean: () => {\n composer.removePass(effectCopy)\n composer.removePass(brightnessContrastPass)\n },\n\n }\n}\n\nexport default addBrightnessContrastPass"],"mappings":"AAAA,SAASA,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE/C,IAAQC,eAAe,GAAKD,KAAK,CAAzBC,eAAe;AACvB,IAAQC,UAAU,GAA2CJ,GAAG,CAAxDI,UAAU;EAAEC,UAAU,GAA+BL,GAAG,CAA5CK,UAAU;EAAEC,wBAAwB,GAAKN,GAAG,CAAhCM,wBAAwB;AAExD,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAyB;EAAA,IAArBC,UAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACjD,IAAAG,aAAA,GAA0BX,GAAG,CAACY,QAAQ,CAAC,CAAC;IAAhCC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;EACrB,IAAMC,QAAQ,GAAGb,eAAe,CAACc,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,UAAU,GAAG,IAAId,UAAU,CAACD,UAAU,CAAC;EAC7Ce,UAAU,CAACC,cAAc,GAAG,IAAI;EAEhCd,wBAAwB,CAACe,QAAQ,CAACb,UAAU,CAACc,KAAK,GAAGd,UAAU;EAE/D,IAAMe,sBAAsB,GAAG,IAAIlB,UAAU,CAACC,wBAAwB,CAAC;EAEvEU,QAAQ,CAACQ,OAAO,CAACL,UAAU,CAAC;EAC5BH,QAAQ,CAACQ,OAAO,CAACD,sBAAsB,CAAC;EAExC,OAAO;IACLE,KAAK,EAAE,SAAAA,MAAA,EAAM;MACXT,QAAQ,CAACU,UAAU,CAACP,UAAU,CAAC;MAC/BH,QAAQ,CAACU,UAAU,CAACH,sBAAsB,CAAC;IAC7C;EAEF,CAAC;AACH,CAAC;AAED,eAAehB,yBAAyB"}
@@ -1,4 +1,3 @@
1
- import { type SceneControl } from '@anov/3d-core';
2
1
  type BloomPassOptions = {
3
2
  threshold?: number;
4
3
  strength?: number;
@@ -7,5 +6,5 @@ type BloomPassOptions = {
7
6
  /**
8
7
  * create bloom pass
9
8
  */
10
- declare const addBloomPass: (bloomPass: BloomPassOptions, sceneControl: SceneControl) => () => void;
9
+ declare const addBloomPass: (bloomPass?: BloomPassOptions) => () => void;
11
10
  export default addBloomPass;
@@ -1,17 +1,16 @@
1
- import { Vector2, lib, use } from '@anov/3d-core';
1
+ import { Vector2, lib, use, utils } from '@anov/3d-core';
2
2
  var UnrealBloomPass = lib.UnrealBloomPass;
3
3
  var useScene = use.useScene;
4
+ var storeManagement = utils.storeManagement;
4
5
  /**
5
6
  * create bloom pass
6
7
  */
7
- var addBloomPass = function addBloomPass() {
8
+ var addBloomPass = function addBloomPass(bloomPass) {
8
9
  var _bloomPass$threshold, _bloomPass$strength, _bloomPass$radius;
9
- var bloomPass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
11
- var _useScene = useScene(sceneControl),
10
+ var _useScene = useScene(),
12
11
  scene = _useScene.scene,
13
12
  camera = _useScene.camera;
14
- var composer = sceneControl.context.storeManagement.get('composer');
13
+ var composer = storeManagement.get('composer');
15
14
  if (!scene || !camera) throw new Error('scene or camera is not defined,');
16
15
  if (!composer) throw new Error('composer is not defined, please initPostEffects first');
17
16
  var bloom = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), 1.5, 0.4, 0.85);
@@ -1 +1 @@
1
- {"version":3,"names":["Vector2","lib","use","UnrealBloomPass","useScene","addBloomPass","_bloomPass$threshold","_bloomPass$strength","_bloomPass$radius","bloomPass","arguments","length","undefined","sceneControl","_useScene","scene","camera","composer","context","storeManagement","get","Error","bloom","window","innerWidth","innerHeight","threshold","strength","radius","addPass","removePass"],"sources":["../../../src/core/PostEffects/bloomPass.ts"],"sourcesContent":["import { type SceneControl, Vector2, lib, use } from '@anov/3d-core'\n\nconst { UnrealBloomPass } = lib\nconst { useScene } = use\n\ntype BloomPassOptions = {\n threshold?: number\n strength?: number\n radius?: number\n}\n\n/**\n * create bloom pass\n */\nconst addBloomPass = (bloomPass: BloomPassOptions = {}, sceneControl: SceneControl) => {\n const { scene, camera } = useScene(sceneControl)\n const composer = sceneControl.context.storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const bloom = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), 1.5, 0.4, 0.85)\n\n bloom.threshold = bloomPass?.threshold ?? 0.85\n bloom.strength = bloomPass?.strength ?? 1.5\n bloom.radius = bloomPass?.radius ?? 0.4\n\n composer.addPass(bloom)\n\n return () => {\n composer.removePass(bloom)\n }\n}\n\nexport default addBloomPass"],"mappings":"AAAA,SAA4BA,OAAO,EAAEC,GAAG,EAAEC,GAAG,QAAQ,eAAe;AAEpE,IAAQC,eAAe,GAAKF,GAAG,CAAvBE,eAAe;AACvB,IAAQC,QAAQ,GAAKF,GAAG,CAAhBE,QAAQ;AAQhB;AACA;AACA;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAqE;EAAA,IAAAC,oBAAA,EAAAC,mBAAA,EAAAC,iBAAA;EAAA,IAAjEC,SAA2B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,YAA0B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAChF,IAAAE,SAAA,GAA0BV,QAAQ,CAACS,YAAY,CAAC;IAAxCE,KAAK,GAAAD,SAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,SAAA,CAANE,MAAM;EACrB,IAAMC,QAAQ,GAAGJ,YAAY,CAACK,OAAO,CAACC,eAAe,CAACC,GAAG,CAAC,UAAU,CAAmC;EAEvG,IAAI,CAACL,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIK,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACJ,QAAQ,EACX,MAAM,IAAII,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,KAAK,GAAG,IAAInB,eAAe,CAAC,IAAIH,OAAO,CAACuB,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;EAErGH,KAAK,CAACI,SAAS,IAAApB,oBAAA,GAAGG,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiB,SAAS,cAAApB,oBAAA,cAAAA,oBAAA,GAAI,IAAI;EAC9CgB,KAAK,CAACK,QAAQ,IAAApB,mBAAA,GAAGE,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkB,QAAQ,cAAApB,mBAAA,cAAAA,mBAAA,GAAI,GAAG;EAC3Ce,KAAK,CAACM,MAAM,IAAApB,iBAAA,GAAGC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEmB,MAAM,cAAApB,iBAAA,cAAAA,iBAAA,GAAI,GAAG;EAEvCS,QAAQ,CAACY,OAAO,CAACP,KAAK,CAAC;EAEvB,OAAO,YAAM;IACXL,QAAQ,CAACa,UAAU,CAACR,KAAK,CAAC;EAC5B,CAAC;AACH,CAAC;AAED,eAAejB,YAAY"}
1
+ {"version":3,"names":["Vector2","lib","use","utils","UnrealBloomPass","useScene","storeManagement","addBloomPass","bloomPass","_bloomPass$threshold","_bloomPass$strength","_bloomPass$radius","_useScene","scene","camera","composer","get","Error","bloom","window","innerWidth","innerHeight","threshold","strength","radius","addPass","removePass"],"sources":["../../../src/core/PostEffects/bloomPass.ts"],"sourcesContent":["import { Vector2, lib, use, utils } from '@anov/3d-core'\n\nconst { UnrealBloomPass } = lib\nconst { useScene } = use\nconst { storeManagement } = utils\n\ntype BloomPassOptions = {\n threshold?: number\n strength?: number\n radius?: number\n}\n\n/**\n * create bloom pass\n */\nconst addBloomPass = (bloomPass?: BloomPassOptions) => {\n const { scene, camera } = useScene()\n const composer = storeManagement.get('composer') as lib.EffectComposer | undefined\n\n if (!scene || !camera)\n throw new Error('scene or camera is not defined,')\n\n if (!composer)\n throw new Error('composer is not defined, please initPostEffects first')\n\n const bloom = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), 1.5, 0.4, 0.85)\n\n bloom.threshold = bloomPass?.threshold ?? 0.85\n bloom.strength = bloomPass?.strength ?? 1.5\n bloom.radius = bloomPass?.radius ?? 0.4\n\n composer.addPass(bloom)\n\n return () => {\n composer.removePass(bloom)\n }\n}\n\nexport default addBloomPass"],"mappings":"AAAA,SAASA,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAExD,IAAQC,eAAe,GAAKH,GAAG,CAAvBG,eAAe;AACvB,IAAQC,QAAQ,GAAKH,GAAG,CAAhBG,QAAQ;AAChB,IAAQC,eAAe,GAAKH,KAAK,CAAzBG,eAAe;AAQvB;AACA;AACA;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,SAA4B,EAAK;EAAA,IAAAC,oBAAA,EAAAC,mBAAA,EAAAC,iBAAA;EACrD,IAAAC,SAAA,GAA0BP,QAAQ,CAAC,CAAC;IAA5BQ,KAAK,GAAAD,SAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,SAAA,CAANE,MAAM;EACrB,IAAMC,QAAQ,GAAGT,eAAe,CAACU,GAAG,CAAC,UAAU,CAAmC;EAElF,IAAI,CAACH,KAAK,IAAI,CAACC,MAAM,EACnB,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EAEpD,IAAI,CAACF,QAAQ,EACX,MAAM,IAAIE,KAAK,CAAC,uDAAuD,CAAC;EAE1E,IAAMC,KAAK,GAAG,IAAId,eAAe,CAAC,IAAIJ,OAAO,CAACmB,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;EAErGH,KAAK,CAACI,SAAS,IAAAb,oBAAA,GAAGD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEc,SAAS,cAAAb,oBAAA,cAAAA,oBAAA,GAAI,IAAI;EAC9CS,KAAK,CAACK,QAAQ,IAAAb,mBAAA,GAAGF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEe,QAAQ,cAAAb,mBAAA,cAAAA,mBAAA,GAAI,GAAG;EAC3CQ,KAAK,CAACM,MAAM,IAAAb,iBAAA,GAAGH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgB,MAAM,cAAAb,iBAAA,cAAAA,iBAAA,GAAI,GAAG;EAEvCI,QAAQ,CAACU,OAAO,CAACP,KAAK,CAAC;EAEvB,OAAO,YAAM;IACXH,QAAQ,CAACW,UAAU,CAACR,KAAK,CAAC;EAC5B,CAAC;AACH,CAAC;AAED,eAAeX,YAAY"}
@@ -1,4 +1,4 @@
1
- import type { Object3D, SceneControl } from '@anov/3d-core';
1
+ import type { Object3D } from '@anov/3d-core';
2
2
  type HighParams = {
3
3
  strength?: number;
4
4
  radius?: number;
@@ -13,7 +13,7 @@ type HighParams = {
13
13
  * @param highParams
14
14
  * @returns
15
15
  */
16
- export declare const createBloomSelectedTool: (highParams: HighParams, sceneControl: SceneControl) => {
16
+ export declare const createBloomSelectedTool: (highParams?: HighParams) => {
17
17
  bloomSelected: (object3dArray: Object3D[]) => void;
18
18
  clean: () => void;
19
19
  };
@@ -1,4 +1,4 @@
1
- import { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use } from '@anov/3d-core';
1
+ import { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use, utils } from '@anov/3d-core';
2
2
  var EffectComposer = lib.EffectComposer,
3
3
  RenderPass = lib.RenderPass,
4
4
  UnrealBloomPass = lib.UnrealBloomPass,
@@ -6,6 +6,7 @@ var EffectComposer = lib.EffectComposer,
6
6
  GammaCorrectionShader = lib.GammaCorrectionShader,
7
7
  CopyShader = lib.CopyShader,
8
8
  FXAAShader = lib.FXAAShader;
9
+ var storeManagement = utils.storeManagement;
9
10
  /**
10
11
  * @file createBloomSelectedTool
11
12
  * todo 待优化
@@ -16,10 +17,8 @@ var EffectComposer = lib.EffectComposer,
16
17
  * @param highParams
17
18
  * @returns
18
19
  */
19
- export var createBloomSelectedTool = function createBloomSelectedTool() {
20
- var highParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
- var sceneControl = arguments.length > 1 ? arguments[1] : undefined;
22
- var _use$useScene = use.useScene(sceneControl),
20
+ export var createBloomSelectedTool = function createBloomSelectedTool(highParams) {
21
+ var _use$useScene = use.useScene(),
23
22
  scene = _use$useScene.scene,
24
23
  camera = _use$useScene.camera,
25
24
  renderer = _use$useScene.renderer;
@@ -30,7 +29,7 @@ export var createBloomSelectedTool = function createBloomSelectedTool() {
30
29
  radius = _ref$radius === void 0 ? 0.4 : _ref$radius,
31
30
  _ref$threshold = _ref.threshold,
32
31
  threshold = _ref$threshold === void 0 ? 0.85 : _ref$threshold;
33
- var composer = sceneControl.context.storeManagement.get('composer');
32
+ var composer = storeManagement.get('composer');
34
33
  if (!scene || !camera || !renderer) throw new Error('scene or camera is not defined,');
35
34
 
36
35
  // @ts-ignore
@@ -75,7 +74,7 @@ export var createBloomSelectedTool = function createBloomSelectedTool() {
75
74
  /**
76
75
  * 性能消耗太大了
77
76
  */
78
- var cleanBloomBefore = use.useframeAfter(sceneControl, function () {
77
+ var cleanBloomBefore = use.useframeAfter(function () {
79
78
  var _scene$background$clo, _scene$background;
80
79
  var old = (_scene$background$clo = (_scene$background = scene.background) === null || _scene$background === void 0 ? void 0 : _scene$background.clone()) !== null && _scene$background$clo !== void 0 ? _scene$background$clo : null;
81
80
  scene.traverse(function (obj) {
@@ -1 +1 @@
1
- {"version":3,"names":["Color","Layers","MeshBasicMaterial","ShaderMaterial","SpriteMaterial","Vector2","lib","use","EffectComposer","RenderPass","UnrealBloomPass","ShaderPass","GammaCorrectionShader","CopyShader","FXAAShader","createBloomSelectedTool","highParams","arguments","length","undefined","sceneControl","_use$useScene","useScene","scene","camera","renderer","_ref","_ref$strength","strength","_ref$radius","radius","_ref$threshold","threshold","composer","context","storeManagement","get","Error","isNeedRender","BLOOM_SCENE","bloomLayer","set","renderScene","bloomPass","window","innerWidth","innerHeight","bloomComposer","renderToScreen","addPass","effectCopy","effectFXAA","uniforms","resolution","value","mixPass","baseTexture","bloomTexture","renderTarget2","texture","vertexShader","fragmentShader","defines","needsSwap","gammaCorrectionShader","materials","darkMaterial","color","cleanBloomBefore","useframeAfter","_scene$background$clo","_scene$background","old","background","clone","traverse","obj","visible","type","material","map","transparent","opacity","depthTest","uuid","isMesh","test","layers","render","bloomSelected","object3dArray","forEach","object3d","enable","child","clean"],"sources":["../../../src/core/PostEffects/bloomSelect.ts"],"sourcesContent":["import type { Object3D, SceneControl } from '@anov/3d-core'\nimport { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass, UnrealBloomPass, ShaderPass, GammaCorrectionShader, CopyShader, FXAAShader } = lib\n\ntype HighParams = {\n strength?: number\n radius?: number\n threshold?: number\n}\n\n/**\n * @file createBloomSelectedTool\n * todo 待优化\n */\n\n/**\n * createBloomSelectedTool\n * @param highParams\n * @returns\n */\nexport const createBloomSelectedTool = (highParams: HighParams = {}, sceneControl: SceneControl) => {\n const { scene, camera, renderer } = use.useScene(sceneControl)\n const { strength = 1.5, radius = 0.4, threshold = 0.85 } = highParams || {}\n\n const composer = sceneControl.context.storeManagement.get('composer') as lib.EffectComposer\n\n if (!scene || !camera || !renderer)\n throw new Error('scene or camera is not defined,')\n\n // @ts-ignore\n composer.isNeedRender = false\n\n const BLOOM_SCENE = 1\n const bloomLayer = new Layers()\n\n bloomLayer.set(BLOOM_SCENE)\n\n const renderScene = new RenderPass(scene, camera)\n const bloomPass = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), strength, radius, threshold)\n\n const bloomComposer = new EffectComposer(renderer)\n\n bloomComposer.renderToScreen = false\n bloomComposer.addPass(renderScene)\n bloomComposer.addPass(bloomPass)\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const effectFXAA = new ShaderPass(FXAAShader)\n effectFXAA.uniforms.resolution.value.set(1 / window.innerWidth, 1 / window.innerHeight)\n\n const mixPass = new ShaderPass(\n new ShaderMaterial({\n uniforms: {\n baseTexture: { value: null },\n bloomTexture: { value: bloomComposer.renderTarget2.texture },\n },\n vertexShader: `\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n `,\n fragmentShader: `\n uniform sampler2D baseTexture;\n uniform sampler2D bloomTexture;\n varying vec2 vUv;\n\n void main() {\n gl_FragColor = ( texture2D( baseTexture, vUv ) + vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n }\n `,\n defines: {},\n }), 'baseTexture',\n )\n mixPass.needsSwap = true\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n composer.addPass(renderScene)\n composer.addPass(mixPass)\n composer.addPass(gammaCorrectionShader)\n composer.addPass(effectCopy)\n\n const materials = {} as any\n const darkMaterial = new MeshBasicMaterial({ color: 'black' })\n\n /**\n * 性能消耗太大了\n */\n const cleanBloomBefore = use.useframeAfter(sceneControl, () => {\n const old = scene.background?.clone() ?? null\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (obj.type === 'SpritePoi') {\n if (obj.material && obj.material.map) {\n obj.material = new SpriteMaterial({ map: obj.material.map, transparent: true, opacity: obj.material.opacity, depthTest: obj.material.depthTest })\n materials[obj.uuid] = obj.material\n obj.material = new SpriteMaterial({ color: 'black' })\n }\n }\n\n if (scene.background)\n scene.background = new Color('#000')\n\n if (obj.isMesh && bloomLayer.test(obj.layers) === false) {\n materials[obj.uuid] = obj.material\n obj.material = darkMaterial\n }\n })\n\n bloomComposer.render()\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (materials[obj.uuid]) {\n obj.material = materials[obj.uuid]\n delete materials[obj.uuid]\n }\n })\n\n if (old)\n scene.background = old\n\n composer.render()\n })\n\n const bloomSelected = (object3dArray: Object3D[]) => {\n object3dArray.forEach((object3d) => {\n if (object3d.type === 'Mesh') {\n object3d.layers.enable(BLOOM_SCENE)\n }\n\n else if (object3d.type === 'Group') {\n object3d.traverse((child) => {\n if (child.type === 'Mesh')\n child.layers.enable(BLOOM_SCENE)\n })\n }\n })\n }\n\n return {\n bloomSelected,\n clean: () => {\n cleanBloomBefore()\n\n // @ts-ignore\n composer.isNeedRender = true\n },\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Color","Layers","MeshBasicMaterial","ShaderMaterial","SpriteMaterial","Vector2","lib","use","utils","EffectComposer","RenderPass","UnrealBloomPass","ShaderPass","GammaCorrectionShader","CopyShader","FXAAShader","storeManagement","createBloomSelectedTool","highParams","_use$useScene","useScene","scene","camera","renderer","_ref","_ref$strength","strength","_ref$radius","radius","_ref$threshold","threshold","composer","get","Error","isNeedRender","BLOOM_SCENE","bloomLayer","set","renderScene","bloomPass","window","innerWidth","innerHeight","bloomComposer","renderToScreen","addPass","effectCopy","effectFXAA","uniforms","resolution","value","mixPass","baseTexture","bloomTexture","renderTarget2","texture","vertexShader","fragmentShader","defines","needsSwap","gammaCorrectionShader","materials","darkMaterial","color","cleanBloomBefore","useframeAfter","_scene$background$clo","_scene$background","old","background","clone","traverse","obj","visible","type","material","map","transparent","opacity","depthTest","uuid","isMesh","test","layers","render","bloomSelected","object3dArray","forEach","object3d","enable","child","clean"],"sources":["../../../src/core/PostEffects/bloomSelect.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, Layers, MeshBasicMaterial, ShaderMaterial, SpriteMaterial, Vector2, lib, use, utils } from '@anov/3d-core'\n\nconst { EffectComposer, RenderPass, UnrealBloomPass, ShaderPass, GammaCorrectionShader, CopyShader, FXAAShader } = lib\nconst { storeManagement } = utils\n\ntype HighParams = {\n strength?: number\n radius?: number\n threshold?: number\n}\n\n/**\n * @file createBloomSelectedTool\n * todo 待优化\n */\n\n/**\n * createBloomSelectedTool\n * @param highParams\n * @returns\n */\nexport const createBloomSelectedTool = (highParams?: HighParams) => {\n const { scene, camera, renderer } = use.useScene()\n const { strength = 1.5, radius = 0.4, threshold = 0.85 } = highParams || {}\n\n const composer = storeManagement.get('composer') as lib.EffectComposer\n\n if (!scene || !camera || !renderer)\n throw new Error('scene or camera is not defined,')\n\n // @ts-ignore\n composer.isNeedRender = false\n\n const BLOOM_SCENE = 1\n const bloomLayer = new Layers()\n\n bloomLayer.set(BLOOM_SCENE)\n\n const renderScene = new RenderPass(scene, camera)\n const bloomPass = new UnrealBloomPass(new Vector2(window.innerWidth, window.innerHeight), strength, radius, threshold)\n\n const bloomComposer = new EffectComposer(renderer)\n\n bloomComposer.renderToScreen = false\n bloomComposer.addPass(renderScene)\n bloomComposer.addPass(bloomPass)\n\n const effectCopy = new ShaderPass(CopyShader)\n effectCopy.renderToScreen = true\n\n const effectFXAA = new ShaderPass(FXAAShader)\n effectFXAA.uniforms.resolution.value.set(1 / window.innerWidth, 1 / window.innerHeight)\n\n const mixPass = new ShaderPass(\n new ShaderMaterial({\n uniforms: {\n baseTexture: { value: null },\n bloomTexture: { value: bloomComposer.renderTarget2.texture },\n },\n vertexShader: `\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}\n `,\n fragmentShader: `\n uniform sampler2D baseTexture;\n uniform sampler2D bloomTexture;\n varying vec2 vUv;\n\n void main() {\n gl_FragColor = ( texture2D( baseTexture, vUv ) + vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n }\n `,\n defines: {},\n }), 'baseTexture',\n )\n mixPass.needsSwap = true\n\n const gammaCorrectionShader = new ShaderPass(GammaCorrectionShader)\n\n composer.addPass(renderScene)\n composer.addPass(mixPass)\n composer.addPass(gammaCorrectionShader)\n composer.addPass(effectCopy)\n\n const materials = {} as any\n const darkMaterial = new MeshBasicMaterial({ color: 'black' })\n\n /**\n * 性能消耗太大了\n */\n const cleanBloomBefore = use.useframeAfter(() => {\n const old = scene.background?.clone() ?? null\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (obj.type === 'SpritePoi') {\n if (obj.material && obj.material.map) {\n obj.material = new SpriteMaterial({ map: obj.material.map, transparent: true, opacity: obj.material.opacity, depthTest: obj.material.depthTest })\n materials[obj.uuid] = obj.material\n obj.material = new SpriteMaterial({ color: 'black' })\n }\n }\n\n if (scene.background)\n scene.background = new Color('#000')\n\n if (obj.isMesh && bloomLayer.test(obj.layers) === false) {\n materials[obj.uuid] = obj.material\n obj.material = darkMaterial\n }\n })\n\n bloomComposer.render()\n\n scene.traverse((obj: any) => {\n if (!obj.visible)\n return\n\n if (materials[obj.uuid]) {\n obj.material = materials[obj.uuid]\n delete materials[obj.uuid]\n }\n })\n\n if (old)\n scene.background = old\n\n composer.render()\n })\n\n const bloomSelected = (object3dArray: Object3D[]) => {\n object3dArray.forEach((object3d) => {\n if (object3d.type === 'Mesh') {\n object3d.layers.enable(BLOOM_SCENE)\n }\n\n else if (object3d.type === 'Group') {\n object3d.traverse((child) => {\n if (child.type === 'Mesh')\n child.layers.enable(BLOOM_SCENE)\n })\n }\n })\n }\n\n return {\n bloomSelected,\n clean: () => {\n cleanBloomBefore()\n\n // @ts-ignore\n composer.isNeedRender = true\n },\n }\n}\n"],"mappings":"AACA,SAASA,KAAK,EAAEC,MAAM,EAAEC,iBAAiB,EAAEC,cAAc,EAAEC,cAAc,EAAEC,OAAO,EAAEC,GAAG,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AAE1H,IAAQC,cAAc,GAA6FH,GAAG,CAA9GG,cAAc;EAAEC,UAAU,GAAiFJ,GAAG,CAA9FI,UAAU;EAAEC,eAAe,GAAgEL,GAAG,CAAlFK,eAAe;EAAEC,UAAU,GAAoDN,GAAG,CAAjEM,UAAU;EAAEC,qBAAqB,GAA6BP,GAAG,CAArDO,qBAAqB;EAAEC,UAAU,GAAiBR,GAAG,CAA9BQ,UAAU;EAAEC,UAAU,GAAKT,GAAG,CAAlBS,UAAU;AAC9G,IAAQC,eAAe,GAAKR,KAAK,CAAzBQ,eAAe;AAQvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,UAAuB,EAAK;EAClE,IAAAC,aAAA,GAAoCZ,GAAG,CAACa,QAAQ,CAAC,CAAC;IAA1CC,KAAK,GAAAF,aAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,aAAA,CAANG,MAAM;IAAEC,QAAQ,GAAAJ,aAAA,CAARI,QAAQ;EAC/B,IAAAC,IAAA,GAA2DN,UAAU,IAAI,CAAC,CAAC;IAAAO,aAAA,GAAAD,IAAA,CAAnEE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,GAAG,GAAAA,aAAA;IAAAE,WAAA,GAAAH,IAAA,CAAEI,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,GAAG,GAAAA,WAAA;IAAAE,cAAA,GAAAL,IAAA,CAAEM,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;EAEtD,IAAME,QAAQ,GAAGf,eAAe,CAACgB,GAAG,CAAC,UAAU,CAAuB;EAEtE,IAAI,CAACX,KAAK,IAAI,CAACC,MAAM,IAAI,CAACC,QAAQ,EAChC,MAAM,IAAIU,KAAK,CAAC,iCAAiC,CAAC;;EAEpD;EACAF,QAAQ,CAACG,YAAY,GAAG,KAAK;EAE7B,IAAMC,WAAW,GAAG,CAAC;EACrB,IAAMC,UAAU,GAAG,IAAInC,MAAM,CAAC,CAAC;EAE/BmC,UAAU,CAACC,GAAG,CAACF,WAAW,CAAC;EAE3B,IAAMG,WAAW,GAAG,IAAI5B,UAAU,CAACW,KAAK,EAAEC,MAAM,CAAC;EACjD,IAAMiB,SAAS,GAAG,IAAI5B,eAAe,CAAC,IAAIN,OAAO,CAACmC,MAAM,CAACC,UAAU,EAAED,MAAM,CAACE,WAAW,CAAC,EAAEhB,QAAQ,EAAEE,MAAM,EAAEE,SAAS,CAAC;EAEtH,IAAMa,aAAa,GAAG,IAAIlC,cAAc,CAACc,QAAQ,CAAC;EAElDoB,aAAa,CAACC,cAAc,GAAG,KAAK;EACpCD,aAAa,CAACE,OAAO,CAACP,WAAW,CAAC;EAClCK,aAAa,CAACE,OAAO,CAACN,SAAS,CAAC;EAEhC,IAAMO,UAAU,GAAG,IAAIlC,UAAU,CAACE,UAAU,CAAC;EAC7CgC,UAAU,CAACF,cAAc,GAAG,IAAI;EAEhC,IAAMG,UAAU,GAAG,IAAInC,UAAU,CAACG,UAAU,CAAC;EAC7CgC,UAAU,CAACC,QAAQ,CAACC,UAAU,CAACC,KAAK,CAACb,GAAG,CAAC,CAAC,GAAGG,MAAM,CAACC,UAAU,EAAE,CAAC,GAAGD,MAAM,CAACE,WAAW,CAAC;EAEvF,IAAMS,OAAO,GAAG,IAAIvC,UAAU,CAC5B,IAAIT,cAAc,CAAC;IACjB6C,QAAQ,EAAE;MACRI,WAAW,EAAE;QAAEF,KAAK,EAAE;MAAK,CAAC;MAC5BG,YAAY,EAAE;QAAEH,KAAK,EAAEP,aAAa,CAACW,aAAa,CAACC;MAAQ;IAC7D,CAAC;IACDC,YAAY,6JAMb;IACCC,cAAc,gPAQf;IACCC,OAAO,EAAE,CAAC;EACZ,CAAC,CAAC,EAAE,aACN,CAAC;EACDP,OAAO,CAACQ,SAAS,GAAG,IAAI;EAExB,IAAMC,qBAAqB,GAAG,IAAIhD,UAAU,CAACC,qBAAqB,CAAC;EAEnEkB,QAAQ,CAACc,OAAO,CAACP,WAAW,CAAC;EAC7BP,QAAQ,CAACc,OAAO,CAACM,OAAO,CAAC;EACzBpB,QAAQ,CAACc,OAAO,CAACe,qBAAqB,CAAC;EACvC7B,QAAQ,CAACc,OAAO,CAACC,UAAU,CAAC;EAE5B,IAAMe,SAAS,GAAG,CAAC,CAAQ;EAC3B,IAAMC,YAAY,GAAG,IAAI5D,iBAAiB,CAAC;IAAE6D,KAAK,EAAE;EAAQ,CAAC,CAAC;;EAE9D;AACF;AACA;EACE,IAAMC,gBAAgB,GAAGzD,GAAG,CAAC0D,aAAa,CAAC,YAAM;IAAA,IAAAC,qBAAA,EAAAC,iBAAA;IAC/C,IAAMC,GAAG,IAAAF,qBAAA,IAAAC,iBAAA,GAAG9C,KAAK,CAACgD,UAAU,cAAAF,iBAAA,uBAAhBA,iBAAA,CAAkBG,KAAK,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,IAAI;IAE7C7C,KAAK,CAACkD,QAAQ,CAAC,UAACC,GAAQ,EAAK;MAC3B,IAAI,CAACA,GAAG,CAACC,OAAO,EACd;MAEF,IAAID,GAAG,CAACE,IAAI,KAAK,WAAW,EAAE;QAC5B,IAAIF,GAAG,CAACG,QAAQ,IAAIH,GAAG,CAACG,QAAQ,CAACC,GAAG,EAAE;UACpCJ,GAAG,CAACG,QAAQ,GAAG,IAAIvE,cAAc,CAAC;YAAEwE,GAAG,EAAEJ,GAAG,CAACG,QAAQ,CAACC,GAAG;YAAEC,WAAW,EAAE,IAAI;YAAEC,OAAO,EAAEN,GAAG,CAACG,QAAQ,CAACG,OAAO;YAAEC,SAAS,EAAEP,GAAG,CAACG,QAAQ,CAACI;UAAU,CAAC,CAAC;UACjJlB,SAAS,CAACW,GAAG,CAACQ,IAAI,CAAC,GAAGR,GAAG,CAACG,QAAQ;UAClCH,GAAG,CAACG,QAAQ,GAAG,IAAIvE,cAAc,CAAC;YAAE2D,KAAK,EAAE;UAAQ,CAAC,CAAC;QACvD;MACF;MAEA,IAAI1C,KAAK,CAACgD,UAAU,EAClBhD,KAAK,CAACgD,UAAU,GAAG,IAAIrE,KAAK,CAAC,MAAM,CAAC;MAEtC,IAAIwE,GAAG,CAACS,MAAM,IAAI7C,UAAU,CAAC8C,IAAI,CAACV,GAAG,CAACW,MAAM,CAAC,KAAK,KAAK,EAAE;QACvDtB,SAAS,CAACW,GAAG,CAACQ,IAAI,CAAC,GAAGR,GAAG,CAACG,QAAQ;QAClCH,GAAG,CAACG,QAAQ,GAAGb,YAAY;MAC7B;IACF,CAAC,CAAC;IAEFnB,aAAa,CAACyC,MAAM,CAAC,CAAC;IAEtB/D,KAAK,CAACkD,QAAQ,CAAC,UAACC,GAAQ,EAAK;MAC3B,IAAI,CAACA,GAAG,CAACC,OAAO,EACd;MAEF,IAAIZ,SAAS,CAACW,GAAG,CAACQ,IAAI,CAAC,EAAE;QACvBR,GAAG,CAACG,QAAQ,GAAGd,SAAS,CAACW,GAAG,CAACQ,IAAI,CAAC;QAClC,OAAOnB,SAAS,CAACW,GAAG,CAACQ,IAAI,CAAC;MAC5B;IACF,CAAC,CAAC;IAEF,IAAIZ,GAAG,EACL/C,KAAK,CAACgD,UAAU,GAAGD,GAAG;IAExBrC,QAAQ,CAACqD,MAAM,CAAC,CAAC;EACnB,CAAC,CAAC;EAEF,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,aAAyB,EAAK;IACnDA,aAAa,CAACC,OAAO,CAAC,UAACC,QAAQ,EAAK;MAClC,IAAIA,QAAQ,CAACd,IAAI,KAAK,MAAM,EAAE;QAC5Bc,QAAQ,CAACL,MAAM,CAACM,MAAM,CAACtD,WAAW,CAAC;MACrC,CAAC,MAEI,IAAIqD,QAAQ,CAACd,IAAI,KAAK,OAAO,EAAE;QAClCc,QAAQ,CAACjB,QAAQ,CAAC,UAACmB,KAAK,EAAK;UAC3B,IAAIA,KAAK,CAAChB,IAAI,KAAK,MAAM,EACvBgB,KAAK,CAACP,MAAM,CAACM,MAAM,CAACtD,WAAW,CAAC;QACpC,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLkD,aAAa,EAAbA,aAAa;IACbM,KAAK,EAAE,SAAAA,MAAA,EAAM;MACX3B,gBAAgB,CAAC,CAAC;;MAElB;MACAjC,QAAQ,CAACG,YAAY,GAAG,IAAI;IAC9B;EACF,CAAC;AACH,CAAC"}