@fps-games/engine 0.0.1-beta.4 → 0.0.1-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/asset-resource.d.ts +39 -0
  2. package/dist/asset-resource.d.ts.map +1 -0
  3. package/dist/asset-resource.js +121 -0
  4. package/dist/asset-resource.js.map +1 -0
  5. package/dist/babylon/game-world-plugin-lifecycle.d.ts +26 -0
  6. package/dist/babylon/game-world-plugin-lifecycle.d.ts.map +1 -0
  7. package/dist/babylon/game-world-plugin-lifecycle.js +257 -0
  8. package/dist/babylon/game-world-plugin-lifecycle.js.map +1 -0
  9. package/dist/babylon/plugin-contract.d.ts +15 -0
  10. package/dist/babylon/plugin-contract.d.ts.map +1 -0
  11. package/dist/babylon/plugin-contract.js +9 -0
  12. package/dist/babylon/plugin-contract.js.map +1 -0
  13. package/dist/babylon/renderer/brdf-texture-settlement.d.ts +7 -0
  14. package/dist/babylon/renderer/brdf-texture-settlement.d.ts.map +1 -0
  15. package/dist/babylon/renderer/brdf-texture-settlement.js +29 -0
  16. package/dist/babylon/renderer/brdf-texture-settlement.js.map +1 -0
  17. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts +7 -0
  18. package/dist/babylon/renderer/environment/environment-texture-controller.d.ts.map +1 -0
  19. package/dist/babylon/renderer/environment/environment-texture-controller.js +357 -0
  20. package/dist/babylon/renderer/environment/environment-texture-controller.js.map +1 -0
  21. package/dist/babylon/renderer/environment/index.d.ts +4 -0
  22. package/dist/babylon/renderer/environment/index.d.ts.map +1 -0
  23. package/dist/babylon/renderer/environment/index.js +4 -0
  24. package/dist/babylon/renderer/environment/index.js.map +1 -0
  25. package/dist/babylon/renderer/environment/profile.d.ts +3 -0
  26. package/dist/babylon/renderer/environment/profile.d.ts.map +1 -0
  27. package/dist/babylon/renderer/environment/profile.js +27 -0
  28. package/dist/babylon/renderer/environment/profile.js.map +1 -0
  29. package/dist/babylon/renderer/environment/types.d.ts +24 -0
  30. package/dist/babylon/renderer/environment/types.d.ts.map +1 -0
  31. package/dist/babylon/renderer/environment/types.js +6 -0
  32. package/dist/babylon/renderer/environment/types.js.map +1 -0
  33. package/dist/babylon/renderer/index.d.ts +24 -0
  34. package/dist/babylon/renderer/index.d.ts.map +1 -0
  35. package/dist/babylon/renderer/index.js +24 -0
  36. package/dist/babylon/renderer/index.js.map +1 -0
  37. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts +17 -0
  38. package/dist/babylon/renderer/lighting/directional-light-angles.d.ts.map +1 -0
  39. package/dist/babylon/renderer/lighting/directional-light-angles.js +67 -0
  40. package/dist/babylon/renderer/lighting/directional-light-angles.js.map +1 -0
  41. package/dist/babylon/renderer/material-owner-candidates.d.ts +19 -0
  42. package/dist/babylon/renderer/material-owner-candidates.d.ts.map +1 -0
  43. package/dist/babylon/renderer/material-owner-candidates.js +212 -0
  44. package/dist/babylon/renderer/material-owner-candidates.js.map +1 -0
  45. package/dist/babylon/renderer/materials/index.d.ts +3 -0
  46. package/dist/babylon/renderer/materials/index.d.ts.map +1 -0
  47. package/dist/babylon/renderer/materials/index.js +3 -0
  48. package/dist/babylon/renderer/materials/index.js.map +1 -0
  49. package/dist/babylon/renderer/materials/material-runtime.d.ts +29 -0
  50. package/dist/babylon/renderer/materials/material-runtime.d.ts.map +1 -0
  51. package/dist/babylon/renderer/materials/material-runtime.js +660 -0
  52. package/dist/babylon/renderer/materials/material-runtime.js.map +1 -0
  53. package/dist/babylon/renderer/materials/material-slot-owner.d.ts +42 -0
  54. package/dist/babylon/renderer/materials/material-slot-owner.d.ts.map +1 -0
  55. package/dist/babylon/renderer/materials/material-slot-owner.js +318 -0
  56. package/dist/babylon/renderer/materials/material-slot-owner.js.map +1 -0
  57. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts +4 -0
  58. package/dist/babylon/renderer/outlines/babylon-default/apply.d.ts.map +1 -0
  59. package/dist/babylon/renderer/outlines/babylon-default/apply.js +45 -0
  60. package/dist/babylon/renderer/outlines/babylon-default/apply.js.map +1 -0
  61. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts +3 -0
  62. package/dist/babylon/renderer/outlines/babylon-default/index.d.ts.map +1 -0
  63. package/dist/babylon/renderer/outlines/babylon-default/index.js +2 -0
  64. package/dist/babylon/renderer/outlines/babylon-default/index.js.map +1 -0
  65. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts +7 -0
  66. package/dist/babylon/renderer/outlines/babylon-default/types.d.ts.map +1 -0
  67. package/dist/babylon/renderer/outlines/babylon-default/types.js +2 -0
  68. package/dist/babylon/renderer/outlines/babylon-default/types.js.map +1 -0
  69. package/dist/babylon/renderer/outlines/index.d.ts +4 -0
  70. package/dist/babylon/renderer/outlines/index.d.ts.map +1 -0
  71. package/dist/babylon/renderer/outlines/index.js +3 -0
  72. package/dist/babylon/renderer/outlines/index.js.map +1 -0
  73. package/dist/babylon/renderer/outlines/runtime-override.d.ts +36 -0
  74. package/dist/babylon/renderer/outlines/runtime-override.d.ts.map +1 -0
  75. package/dist/babylon/renderer/outlines/runtime-override.js +131 -0
  76. package/dist/babylon/renderer/outlines/runtime-override.js.map +1 -0
  77. package/dist/babylon/renderer/outlines/types.d.ts +7 -0
  78. package/dist/babylon/renderer/outlines/types.d.ts.map +1 -0
  79. package/dist/babylon/renderer/outlines/types.js +2 -0
  80. package/dist/babylon/renderer/outlines/types.js.map +1 -0
  81. package/dist/babylon/renderer/placement/index.d.ts +2 -0
  82. package/dist/babylon/renderer/placement/index.d.ts.map +1 -0
  83. package/dist/babylon/renderer/placement/index.js +2 -0
  84. package/dist/babylon/renderer/placement/index.js.map +1 -0
  85. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts +24 -0
  86. package/dist/babylon/renderer/placement/runtime-drop-position.d.ts.map +1 -0
  87. package/dist/babylon/renderer/placement/runtime-drop-position.js +63 -0
  88. package/dist/babylon/renderer/placement/runtime-drop-position.js.map +1 -0
  89. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts +7 -0
  90. package/dist/babylon/renderer/post-process/babylon-default-pipeline.d.ts.map +1 -0
  91. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js +301 -0
  92. package/dist/babylon/renderer/post-process/babylon-default-pipeline.js.map +1 -0
  93. package/dist/babylon/renderer/post-process/index.d.ts +5 -0
  94. package/dist/babylon/renderer/post-process/index.d.ts.map +1 -0
  95. package/dist/babylon/renderer/post-process/index.js +5 -0
  96. package/dist/babylon/renderer/post-process/index.js.map +1 -0
  97. package/dist/babylon/renderer/post-process/profile.d.ts +5 -0
  98. package/dist/babylon/renderer/post-process/profile.d.ts.map +1 -0
  99. package/dist/babylon/renderer/post-process/profile.js +155 -0
  100. package/dist/babylon/renderer/post-process/profile.js.map +1 -0
  101. package/dist/babylon/renderer/post-process/types.d.ts +81 -0
  102. package/dist/babylon/renderer/post-process/types.d.ts.map +1 -0
  103. package/dist/babylon/renderer/post-process/types.js +24 -0
  104. package/dist/babylon/renderer/post-process/types.js.map +1 -0
  105. package/dist/babylon/renderer/post-process/volume-stack.d.ts +4 -0
  106. package/dist/babylon/renderer/post-process/volume-stack.d.ts.map +1 -0
  107. package/dist/babylon/renderer/post-process/volume-stack.js +105 -0
  108. package/dist/babylon/renderer/post-process/volume-stack.js.map +1 -0
  109. package/dist/babylon/renderer/rendering/image-node.d.ts +35 -0
  110. package/dist/babylon/renderer/rendering/image-node.d.ts.map +1 -0
  111. package/dist/babylon/renderer/rendering/image-node.js +39 -0
  112. package/dist/babylon/renderer/rendering/image-node.js.map +1 -0
  113. package/dist/babylon/renderer/rendering/index.d.ts +3 -0
  114. package/dist/babylon/renderer/rendering/index.d.ts.map +1 -0
  115. package/dist/babylon/renderer/rendering/index.js +3 -0
  116. package/dist/babylon/renderer/rendering/index.js.map +1 -0
  117. package/dist/babylon/renderer/rendering/node-rendering.d.ts +19 -0
  118. package/dist/babylon/renderer/rendering/node-rendering.d.ts.map +1 -0
  119. package/dist/babylon/renderer/rendering/node-rendering.js +66 -0
  120. package/dist/babylon/renderer/rendering/node-rendering.js.map +1 -0
  121. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts +5 -0
  122. package/dist/babylon/renderer/shadows/blob-shadow-shaders.d.ts.map +1 -0
  123. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js +46 -0
  124. package/dist/babylon/renderer/shadows/blob-shadow-shaders.js.map +1 -0
  125. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts +5 -0
  126. package/dist/babylon/renderer/shadows/blob-shadow-system.d.ts.map +1 -0
  127. package/dist/babylon/renderer/shadows/blob-shadow-system.js +402 -0
  128. package/dist/babylon/renderer/shadows/blob-shadow-system.js.map +1 -0
  129. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts +84 -0
  130. package/dist/babylon/renderer/shadows/dynamic-shadow-system.d.ts.map +1 -0
  131. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js +566 -0
  132. package/dist/babylon/renderer/shadows/dynamic-shadow-system.js.map +1 -0
  133. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts +7 -0
  134. package/dist/babylon/renderer/shadows/planar-shadow-shaders.d.ts.map +1 -0
  135. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js +316 -0
  136. package/dist/babylon/renderer/shadows/planar-shadow-shaders.js.map +1 -0
  137. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts +5 -0
  138. package/dist/babylon/renderer/shadows/planar-shadow-system.d.ts.map +1 -0
  139. package/dist/babylon/renderer/shadows/planar-shadow-system.js +1562 -0
  140. package/dist/babylon/renderer/shadows/planar-shadow-system.js.map +1 -0
  141. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts +14 -0
  142. package/dist/babylon/renderer/shadows/shadow-generator-shaders.d.ts.map +1 -0
  143. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js +14 -0
  144. package/dist/babylon/renderer/shadows/shadow-generator-shaders.js.map +1 -0
  145. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts +68 -0
  146. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.d.ts.map +1 -0
  147. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js +829 -0
  148. package/dist/babylon/renderer/shadows/shadow-map-experiment-depth-backend.js.map +1 -0
  149. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts +148 -0
  150. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.d.ts.map +1 -0
  151. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js +4529 -0
  152. package/dist/babylon/renderer/shadows/shadow-map-experiment-system.js.map +1 -0
  153. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts +4 -0
  154. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.d.ts.map +1 -0
  155. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js +645 -0
  156. package/dist/babylon/renderer/shadows/static-projected-shadow-artifact-system.js.map +1 -0
  157. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts +61 -0
  158. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.d.ts.map +1 -0
  159. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js +382 -0
  160. package/dist/babylon/renderer/shadows/static-projected-shadow-atlas.js.map +1 -0
  161. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts +47 -0
  162. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.d.ts.map +1 -0
  163. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js +285 -0
  164. package/dist/babylon/renderer/shadows/static-projected-shadow-bake.js.map +1 -0
  165. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts +88 -0
  166. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.d.ts.map +1 -0
  167. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js +830 -0
  168. package/dist/babylon/renderer/shadows/static-projected-shadow-baker.js.map +1 -0
  169. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts +3 -0
  170. package/dist/babylon/renderer/shadows/static-projected-shadow-options.d.ts.map +1 -0
  171. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js +60 -0
  172. package/dist/babylon/renderer/shadows/static-projected-shadow-options.js.map +1 -0
  173. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts +27 -0
  174. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.d.ts.map +1 -0
  175. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js +220 -0
  176. package/dist/babylon/renderer/shadows/static-projected-shadow-rendering.js.map +1 -0
  177. package/dist/babylon/renderer/shadows/types.d.ts +421 -0
  178. package/dist/babylon/renderer/shadows/types.d.ts.map +1 -0
  179. package/dist/babylon/renderer/shadows/types.js +127 -0
  180. package/dist/babylon/renderer/shadows/types.js.map +1 -0
  181. package/dist/babylon/renderer-controller.d.ts +93 -0
  182. package/dist/babylon/renderer-controller.d.ts.map +1 -0
  183. package/dist/babylon/renderer-controller.js +699 -0
  184. package/dist/babylon/renderer-controller.js.map +1 -0
  185. package/dist/babylon/scene-renderer.d.ts +20 -0
  186. package/dist/babylon/scene-renderer.d.ts.map +1 -0
  187. package/dist/babylon/scene-renderer.js +60 -0
  188. package/dist/babylon/scene-renderer.js.map +1 -0
  189. package/dist/babylon.d.ts +5 -0
  190. package/dist/babylon.d.ts.map +1 -1
  191. package/dist/babylon.js +5 -0
  192. package/dist/babylon.js.map +1 -1
  193. package/dist/build-info.json +4 -4
  194. package/dist/compiled-scene-data.d.ts +23 -0
  195. package/dist/compiled-scene-data.d.ts.map +1 -0
  196. package/dist/compiled-scene-data.js +100 -0
  197. package/dist/compiled-scene-data.js.map +1 -0
  198. package/dist/ground-decal.d.ts +22 -0
  199. package/dist/ground-decal.d.ts.map +1 -0
  200. package/dist/ground-decal.js +48 -0
  201. package/dist/ground-decal.js.map +1 -0
  202. package/dist/index.d.ts +13 -0
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.js +13 -0
  205. package/dist/index.js.map +1 -1
  206. package/dist/material-owner.d.ts +128 -0
  207. package/dist/material-owner.d.ts.map +1 -0
  208. package/dist/material-owner.js +434 -0
  209. package/dist/material-owner.js.map +1 -0
  210. package/dist/material-profile.d.ts +62 -0
  211. package/dist/material-profile.d.ts.map +1 -0
  212. package/dist/material-profile.js +132 -0
  213. package/dist/material-profile.js.map +1 -0
  214. package/dist/rendering/index.d.ts +14 -0
  215. package/dist/rendering/index.d.ts.map +1 -0
  216. package/dist/rendering/index.js +12 -0
  217. package/dist/rendering/index.js.map +1 -0
  218. package/dist/rendering/rendering-profile-types.d.ts +322 -0
  219. package/dist/rendering/rendering-profile-types.d.ts.map +1 -0
  220. package/dist/rendering/rendering-profile-types.js +2 -0
  221. package/dist/rendering/rendering-profile-types.js.map +1 -0
  222. package/dist/rendering/rendering-profile-validation.d.ts +2 -0
  223. package/dist/rendering/rendering-profile-validation.d.ts.map +1 -0
  224. package/dist/rendering/rendering-profile-validation.js +364 -0
  225. package/dist/rendering/rendering-profile-validation.js.map +1 -0
  226. package/dist/rendering/rendering-profile-values.d.ts +19 -0
  227. package/dist/rendering/rendering-profile-values.d.ts.map +1 -0
  228. package/dist/rendering/rendering-profile-values.js +79 -0
  229. package/dist/rendering/rendering-profile-values.js.map +1 -0
  230. package/dist/rendering/rendering-profile.d.ts +15 -0
  231. package/dist/rendering/rendering-profile.d.ts.map +1 -0
  232. package/dist/rendering/rendering-profile.js +442 -0
  233. package/dist/rendering/rendering-profile.js.map +1 -0
  234. package/dist/rendering/shadow-map-experiment-depth.d.ts +63 -0
  235. package/dist/rendering/shadow-map-experiment-depth.d.ts.map +1 -0
  236. package/dist/rendering/shadow-map-experiment-depth.js +186 -0
  237. package/dist/rendering/shadow-map-experiment-depth.js.map +1 -0
  238. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts +94 -0
  239. package/dist/rendering/shadow-map-experiment-lifecycle.d.ts.map +1 -0
  240. package/dist/rendering/shadow-map-experiment-lifecycle.js +407 -0
  241. package/dist/rendering/shadow-map-experiment-lifecycle.js.map +1 -0
  242. package/dist/rendering/shadow-map-experiment.d.ts +189 -0
  243. package/dist/rendering/shadow-map-experiment.d.ts.map +1 -0
  244. package/dist/rendering/shadow-map-experiment.js +549 -0
  245. package/dist/rendering/shadow-map-experiment.js.map +1 -0
  246. package/dist/rendering/shadow-quality.d.ts +5 -0
  247. package/dist/rendering/shadow-quality.d.ts.map +1 -0
  248. package/dist/rendering/shadow-quality.js +83 -0
  249. package/dist/rendering/shadow-quality.js.map +1 -0
  250. package/dist/rendering/shadow-runtime.d.ts +59 -0
  251. package/dist/rendering/shadow-runtime.d.ts.map +1 -0
  252. package/dist/rendering/shadow-runtime.js +378 -0
  253. package/dist/rendering/shadow-runtime.js.map +1 -0
  254. package/dist/rendering/shadow-settings.d.ts +15 -0
  255. package/dist/rendering/shadow-settings.d.ts.map +1 -0
  256. package/dist/rendering/shadow-settings.js +129 -0
  257. package/dist/rendering/shadow-settings.js.map +1 -0
  258. package/dist/rendering/shadow-types.d.ts +99 -0
  259. package/dist/rendering/shadow-types.d.ts.map +1 -0
  260. package/dist/rendering/shadow-types.js +5 -0
  261. package/dist/rendering/shadow-types.js.map +1 -0
  262. package/dist/rendering/shadow-validation.d.ts +3 -0
  263. package/dist/rendering/shadow-validation.d.ts.map +1 -0
  264. package/dist/rendering/shadow-validation.js +166 -0
  265. package/dist/rendering/shadow-validation.js.map +1 -0
  266. package/dist/rendering/value.d.ts +2 -0
  267. package/dist/rendering/value.d.ts.map +1 -0
  268. package/dist/rendering/value.js +6 -0
  269. package/dist/rendering/value.js.map +1 -0
  270. package/dist/runtime-data-token.d.ts +4 -0
  271. package/dist/runtime-data-token.d.ts.map +1 -0
  272. package/dist/runtime-data-token.js +4 -0
  273. package/dist/runtime-data-token.js.map +1 -0
  274. package/dist/runtime-data-types.d.ts +83 -0
  275. package/dist/runtime-data-types.d.ts.map +1 -0
  276. package/dist/runtime-data-types.js +2 -0
  277. package/dist/runtime-data-types.js.map +1 -0
  278. package/dist/runtime-data.d.ts +18 -0
  279. package/dist/runtime-data.d.ts.map +1 -0
  280. package/dist/runtime-data.js +301 -0
  281. package/dist/runtime-data.js.map +1 -0
  282. package/dist/runtime-scene-resolvers.d.ts +37 -0
  283. package/dist/runtime-scene-resolvers.d.ts.map +1 -0
  284. package/dist/runtime-scene-resolvers.js +40 -0
  285. package/dist/runtime-scene-resolvers.js.map +1 -0
  286. package/dist/scene-artifact-types.d.ts +383 -0
  287. package/dist/scene-artifact-types.d.ts.map +1 -0
  288. package/dist/scene-artifact-types.js +2 -0
  289. package/dist/scene-artifact-types.js.map +1 -0
  290. package/dist/scene-artifact-validation.d.ts +19 -0
  291. package/dist/scene-artifact-validation.d.ts.map +1 -0
  292. package/dist/scene-artifact-validation.js +1352 -0
  293. package/dist/scene-artifact-validation.js.map +1 -0
  294. package/dist/static-shadow-artifact.d.ts +131 -0
  295. package/dist/static-shadow-artifact.d.ts.map +1 -0
  296. package/dist/static-shadow-artifact.js +327 -0
  297. package/dist/static-shadow-artifact.js.map +1 -0
  298. package/package.json +9 -1
@@ -0,0 +1,442 @@
1
+ import { assertEditorSceneRenderingProfileContract } from './rendering-profile-validation.js';
2
+ import { readBoolean, readClampedNumber, readFiniteNumber, readNonEmptyString, readNonNegativeNumber, readPlaneHeightMode, readPositiveNumber, readRecord, readRenderingGroupId, readResolvedShadowMode, readRgb, readRgba, readSamples, readStringList, readStringOrNull, readToneMappingType, readVec3, } from './rendering-profile-values.js';
3
+ export const EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_RECEIVER_PATTERNS = [
4
+ 'ground',
5
+ 'Ground',
6
+ 'plane',
7
+ 'Plane',
8
+ '地面',
9
+ '地块',
10
+ '地台',
11
+ ];
12
+ export const EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_EXCLUDE_PATTERNS = [
13
+ 'editor',
14
+ 'grid',
15
+ 'gizmo',
16
+ 'helper',
17
+ 'camera',
18
+ 'light',
19
+ 'decal',
20
+ 'texture',
21
+ 'trigger',
22
+ 'collision',
23
+ 'ui',
24
+ '_shadow',
25
+ '_planarShadow',
26
+ ];
27
+ export const EDITOR_SCENE_DEFAULT_BLOB_SHADOW_EXCLUDE_PATTERNS = [
28
+ ...EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_EXCLUDE_PATTERNS,
29
+ '_blobShadow',
30
+ ];
31
+ export const EDITOR_SCENE_DEFAULT_STATIC_PROJECTED_SHADOW_EXCLUDE_PATTERNS = [
32
+ ...EDITOR_SCENE_DEFAULT_BLOB_SHADOW_EXCLUDE_PATTERNS,
33
+ '_staticProjectedShadow',
34
+ ];
35
+ export const EDITOR_SCENE_RENDERING_GROUP_IDS = [0, 1, 2, 3];
36
+ export const EDITOR_SCENE_DEFAULT_RENDERING_GROUPS = [{
37
+ renderingGroupId: 0,
38
+ name: '普通场景',
39
+ alphaIndexPresets: [
40
+ { name: '默认透明顺序', alphaIndex: 0 },
41
+ { name: '地表贴花', alphaIndex: 100 },
42
+ { name: '近景覆盖', alphaIndex: 200 },
43
+ ],
44
+ }, {
45
+ renderingGroupId: 1,
46
+ name: '水面 / 透明地表',
47
+ alphaIndexPresets: [
48
+ { name: '水面', alphaIndex: 0 },
49
+ { name: '透明地表', alphaIndex: 100 },
50
+ { name: '水面高光', alphaIndex: 200 },
51
+ ],
52
+ }, {
53
+ renderingGroupId: 2,
54
+ name: '特效',
55
+ alphaIndexPresets: [
56
+ { name: '普通特效', alphaIndex: 0 },
57
+ { name: '前景特效', alphaIndex: 100 },
58
+ { name: '最前特效', alphaIndex: 200 },
59
+ ],
60
+ }, {
61
+ renderingGroupId: 3,
62
+ name: '世界空间 UI / 引导箭头',
63
+ alphaIndexPresets: [
64
+ { name: '世界空间 UI', alphaIndex: 0 },
65
+ { name: '引导箭头', alphaIndex: 100 },
66
+ { name: '顶层提示', alphaIndex: 200 },
67
+ ],
68
+ }];
69
+ export function normalizeEditorSceneRenderingProfile(config) {
70
+ if (config != null)
71
+ assertEditorSceneRenderingProfileContract(config);
72
+ const root = readRecord(config);
73
+ const shadows = readRecord(root.shadows);
74
+ const settings = readRecord(shadows.settings);
75
+ const blob = readRecord(shadows.blob);
76
+ const normalizedBlob = normalizeEditorSceneBlobShadowProfile(blob);
77
+ const normalizedStaticProjected = normalizeEditorSceneStaticProjectedShadowProfile(shadows.staticProjected);
78
+ const shadowRange = readRecord(shadows.shadowRange);
79
+ const shadowOrtho = readRecord(shadows.shadowOrtho);
80
+ const csm = readRecord(shadows.csm);
81
+ const shadowMeshes = readRecord(root.shadowMeshes);
82
+ return {
83
+ renderingGroups: normalizeEditorSceneRenderingGroupsProfile(root.renderingGroups),
84
+ environment: normalizeEditorSceneEnvironmentProfile(root.globalVolume),
85
+ postProcess: normalizeEditorScenePostProcessProfile(root.globalVolume),
86
+ shadows: {
87
+ defaultMode: readResolvedShadowMode(shadows.defaultMode, 'none'),
88
+ enabled: readBoolean(shadows.enabled, false),
89
+ useCsm: readBoolean(shadows.useCsm, false),
90
+ settings: {
91
+ mapSize: readNonNegativeNumber(settings.mapSize, 1024),
92
+ darkness: readNonNegativeNumber(settings.darkness, 0.3),
93
+ blurKernel: readNonNegativeNumber(settings.blurKernel, 16),
94
+ bias: readNonNegativeNumber(settings.bias, 0.00005),
95
+ normalBias: readNonNegativeNumber(settings.normalBias, 0.02),
96
+ useBlurExponentialShadowMap: readBoolean(settings.useBlurExponentialShadowMap, true),
97
+ shadowMinZ: readNonNegativeNumber(settings.shadowMinZ, 1),
98
+ shadowMaxZ: readNonNegativeNumber(settings.shadowMaxZ, 60),
99
+ shadowColor: readRgb(settings.shadowColor, { r: 0, g: 0, b: 0 }),
100
+ },
101
+ blob: normalizedBlob,
102
+ staticProjected: normalizedStaticProjected,
103
+ shadowRange: {
104
+ minZ: readNonNegativeNumber(shadowRange.minZ, 1),
105
+ maxZ: readNonNegativeNumber(shadowRange.maxZ, 60),
106
+ },
107
+ shadowOrtho: {
108
+ left: readFiniteNumber(shadowOrtho.left, -20),
109
+ right: readFiniteNumber(shadowOrtho.right, 20),
110
+ top: readFiniteNumber(shadowOrtho.top, 20),
111
+ bottom: readFiniteNumber(shadowOrtho.bottom, -20),
112
+ },
113
+ csm: {
114
+ numCascades: readNonNegativeNumber(csm.numCascades, 2),
115
+ lambda: readClampedNumber(csm.lambda, 0.5, 0, 1),
116
+ cascadeBlendPercentage: readClampedNumber(csm.cascadeBlendPercentage, 0.1, 0, 1),
117
+ stabilizeCascades: readBoolean(csm.stabilizeCascades, true),
118
+ },
119
+ planar: normalizeEditorScenePlanarShadowProfile(shadows.planar),
120
+ },
121
+ shadowMeshes: {
122
+ shadowReceivers: readStringList(shadowMeshes.shadowReceivers),
123
+ shadowCasters: readStringList(shadowMeshes.shadowCasters),
124
+ excludeFromShadow: readStringList(shadowMeshes.excludeFromShadow),
125
+ },
126
+ };
127
+ }
128
+ export function createEditorScenePlanarShadowPreviewSettings(profile, input = {}) {
129
+ const planar = profile.shadows.planar;
130
+ return {
131
+ enabled: planar.enabled && (input.enabled ?? true),
132
+ plane: {
133
+ normal: planar.plane.normal,
134
+ height: planar.plane.height,
135
+ heightMode: planar.plane.heightMode,
136
+ bias: planar.plane.bias,
137
+ },
138
+ appearance: {
139
+ color: planar.appearance.color,
140
+ },
141
+ projection: {
142
+ footprintScale: planar.projection.footprintScale,
143
+ },
144
+ direction: { mode: 'follow-light' },
145
+ stencil: {
146
+ enabled: planar.stencil.enabled,
147
+ receiverRenderingGroup: planar.stencil.receiverRenderingGroup,
148
+ shadowRenderingGroup: planar.stencil.shadowRenderingGroup,
149
+ },
150
+ casters: {
151
+ autoDetectAll: input.autoDetectAllCasters ?? planar.casters.autoDetectAll,
152
+ includePatterns: [
153
+ ...(input.additionalCasterIncludePatterns ?? []),
154
+ ...planar.casters.includePatterns,
155
+ ],
156
+ excludePatterns: [
157
+ ...EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_EXCLUDE_PATTERNS,
158
+ ...(input.additionalExcludePatterns ?? []),
159
+ ...planar.casters.excludePatterns,
160
+ ],
161
+ rootBoundaryPatterns: [
162
+ ...(input.additionalRootBoundaryPatterns ?? []),
163
+ ...planar.casters.rootBoundaryPatterns,
164
+ ],
165
+ minVolume: planar.casters.minVolume,
166
+ },
167
+ receivers: {
168
+ patterns: [
169
+ ...EDITOR_SCENE_DEFAULT_PLANAR_SHADOW_RECEIVER_PATTERNS,
170
+ ...(input.additionalReceiverPatterns ?? []),
171
+ ...planar.receivers.patterns,
172
+ ],
173
+ },
174
+ };
175
+ }
176
+ export function createEditorSceneBlobShadowPreviewSettings(profile, input = {}) {
177
+ const blob = profile.shadows.blob;
178
+ return {
179
+ enabled: blob.enabled && (input.enabled ?? true),
180
+ plane: {
181
+ height: blob.plane.height,
182
+ yOffset: blob.plane.yOffset,
183
+ },
184
+ appearance: {
185
+ color: blob.appearance.color,
186
+ edgeSoftness: blob.appearance.edgeSoftness,
187
+ },
188
+ size: {
189
+ sizeMultiplier: blob.size.sizeMultiplier,
190
+ minSize: blob.size.minSize,
191
+ maxSize: blob.size.maxSize,
192
+ },
193
+ casters: {
194
+ autoDetectAll: input.autoDetectAllCasters ?? false,
195
+ includePatterns: [
196
+ ...(input.additionalCasterIncludePatterns ?? []),
197
+ ],
198
+ excludePatterns: [
199
+ ...EDITOR_SCENE_DEFAULT_BLOB_SHADOW_EXCLUDE_PATTERNS,
200
+ ...(input.additionalExcludePatterns ?? []),
201
+ ],
202
+ rootBoundaryPatterns: [
203
+ ...(input.additionalRootBoundaryPatterns ?? []),
204
+ ],
205
+ minVolume: 0.001,
206
+ },
207
+ };
208
+ }
209
+ export function createEditorSceneStaticProjectedShadowPreviewSettings(profile, input = {}) {
210
+ const staticProjected = profile.shadows.staticProjected;
211
+ return {
212
+ enabled: staticProjected.enabled && (input.enabled ?? true),
213
+ plane: {
214
+ height: staticProjected.plane.height,
215
+ yOffset: staticProjected.plane.yOffset,
216
+ },
217
+ appearance: {
218
+ color: staticProjected.appearance.color,
219
+ },
220
+ direction: { mode: 'follow-light' },
221
+ bake: {
222
+ padding: staticProjected.bake.padding,
223
+ blur: staticProjected.bake.blur,
224
+ texelsPerMeter: staticProjected.bake.texelsPerMeter,
225
+ atlasSize: staticProjected.bake.atlasSize,
226
+ maxAtlasPages: staticProjected.bake.maxAtlasPages,
227
+ sdfRadiusPx: staticProjected.bake.sdfRadiusPx,
228
+ spatialChunkSize: staticProjected.bake.spatialChunkSize,
229
+ targetChunkCount: staticProjected.bake.targetChunkCount,
230
+ },
231
+ casters: {
232
+ autoDetectAll: input.autoDetectAllCasters ?? false,
233
+ includePatterns: [
234
+ ...(input.additionalCasterIncludePatterns ?? []),
235
+ ],
236
+ excludePatterns: [
237
+ ...EDITOR_SCENE_DEFAULT_STATIC_PROJECTED_SHADOW_EXCLUDE_PATTERNS,
238
+ ...(input.additionalExcludePatterns ?? []),
239
+ ],
240
+ rootBoundaryPatterns: [
241
+ ...(input.additionalRootBoundaryPatterns ?? []),
242
+ ],
243
+ minVolume: 0.001,
244
+ },
245
+ };
246
+ }
247
+ export function summarizeEditorSceneRenderingProfile(value) {
248
+ const hasEnvironmentTexture = value?.environment?.texture != null;
249
+ return {
250
+ environmentTextureAssetId: value?.environment?.texture?.textureAssetId ?? null,
251
+ environmentTextureUrl: value?.environment?.texture?.url ?? null,
252
+ environmentIblIntensity: hasEnvironmentTexture
253
+ ? value?.environment?.iblIntensity ?? null
254
+ : null,
255
+ postProcessEnabled: value?.postProcess?.enabled ?? null,
256
+ postProcessExposure: value?.postProcess?.imageProcessing?.exposure ?? null,
257
+ postProcessBloomEnabled: value?.postProcess?.bloom?.enabled ?? null,
258
+ blobEnabled: value?.shadows?.blob?.enabled ?? null,
259
+ blobOpacity: value?.shadows?.blob?.appearance?.color?.a ?? null,
260
+ staticProjectedEnabled: value?.shadows?.staticProjected?.enabled ?? null,
261
+ staticProjectedOpacity: value?.shadows?.staticProjected?.appearance?.color?.a ?? null,
262
+ planarEnabled: value?.shadows?.planar?.enabled ?? null,
263
+ planarOpacity: value?.shadows?.planar?.appearance?.color?.a ?? null,
264
+ planeHeight: value?.shadows?.planar?.plane?.height ?? null,
265
+ planeBias: value?.shadows?.planar?.plane?.bias ?? null,
266
+ stencilEnabled: value?.shadows?.planar?.stencil?.enabled ?? null,
267
+ };
268
+ }
269
+ function normalizeEditorSceneBlobShadowProfile(value) {
270
+ const blob = readRecord(value);
271
+ const plane = readRecord(blob.plane);
272
+ const appearance = readRecord(blob.appearance);
273
+ const size = readRecord(blob.size);
274
+ const colorFallback = readRgba(appearance.color, {
275
+ r: 0,
276
+ g: 0,
277
+ b: 0,
278
+ a: 0.35,
279
+ });
280
+ return {
281
+ enabled: readBoolean(blob.enabled, true),
282
+ plane: {
283
+ height: readFiniteNumber(plane.height, 0),
284
+ yOffset: readNonNegativeNumber(plane.yOffset, 0.08),
285
+ },
286
+ appearance: {
287
+ color: readRgba(appearance.color, colorFallback),
288
+ edgeSoftness: readClampedNumber(appearance.edgeSoftness, 0.55, 0, 0.98),
289
+ },
290
+ size: {
291
+ sizeMultiplier: readNonNegativeNumber(size.sizeMultiplier, 1.25),
292
+ minSize: readNonNegativeNumber(size.minSize, 0.25),
293
+ maxSize: readPositiveNumber(size.maxSize, 20),
294
+ },
295
+ };
296
+ }
297
+ export function normalizeEditorSceneRenderingGroupsProfile(value) {
298
+ const root = readRecord(value);
299
+ const rawSlots = Array.isArray(root.slots) ? root.slots : [];
300
+ return {
301
+ slots: EDITOR_SCENE_DEFAULT_RENDERING_GROUPS.map((defaultSlot) => {
302
+ const rawSlot = rawSlots.find((entry) => (readRenderingGroupId(readRecord(entry).renderingGroupId) === defaultSlot.renderingGroupId));
303
+ const slot = readRecord(rawSlot);
304
+ return {
305
+ renderingGroupId: defaultSlot.renderingGroupId,
306
+ name: readNonEmptyString(slot.name, defaultSlot.name),
307
+ alphaIndexPresets: normalizeEditorSceneRenderingAlphaIndexPresets(slot.alphaIndexPresets, defaultSlot.alphaIndexPresets),
308
+ };
309
+ }),
310
+ };
311
+ }
312
+ export function normalizeEditorSceneRenderingAlphaIndexPresets(value, fallback) {
313
+ const source = Array.isArray(value) ? value : fallback;
314
+ const seen = new Set();
315
+ const presets = [];
316
+ source.forEach((entry, index) => {
317
+ const record = readRecord(entry);
318
+ const alphaIndex = readFiniteNumber(record.alphaIndex, Number.NaN);
319
+ if (!Number.isFinite(alphaIndex) || seen.has(alphaIndex))
320
+ return;
321
+ seen.add(alphaIndex);
322
+ presets.push({
323
+ name: readNonEmptyString(record.name, `Order ${index + 1}`),
324
+ alphaIndex,
325
+ });
326
+ });
327
+ return presets;
328
+ }
329
+ function normalizeEditorScenePlanarShadowProfile(value) {
330
+ const planar = readRecord(value);
331
+ const plane = readRecord(planar.plane);
332
+ const appearance = readRecord(planar.appearance);
333
+ const projection = readRecord(planar.projection);
334
+ const stencil = readRecord(planar.stencil);
335
+ const casters = readRecord(planar.casters);
336
+ const receivers = readRecord(planar.receivers);
337
+ return {
338
+ enabled: readBoolean(planar.enabled, true),
339
+ plane: {
340
+ normal: readVec3(plane.normal, { x: 0, y: 1, z: 0 }),
341
+ height: readFiniteNumber(plane.height, 0),
342
+ heightMode: readPlaneHeightMode(plane.heightMode, 'receiver'),
343
+ bias: readNonNegativeNumber(plane.bias, 0.4),
344
+ },
345
+ appearance: {
346
+ color: readRgba(appearance.color, { r: 0, g: 0, b: 0, a: 0.35 }),
347
+ },
348
+ projection: {
349
+ footprintScale: readClampedNumber(projection.footprintScale, 1, 0, 2),
350
+ },
351
+ stencil: {
352
+ enabled: readBoolean(stencil.enabled, true),
353
+ receiverRenderingGroup: readNonNegativeNumber(stencil.receiverRenderingGroup, 0),
354
+ shadowRenderingGroup: readNonNegativeNumber(stencil.shadowRenderingGroup, 1),
355
+ },
356
+ casters: {
357
+ autoDetectAll: readBoolean(casters.autoDetectAll, true),
358
+ includePatterns: readStringList(casters.includePatterns),
359
+ excludePatterns: readStringList(casters.excludePatterns),
360
+ rootBoundaryPatterns: readStringList(casters.rootBoundaryPatterns),
361
+ minVolume: readNonNegativeNumber(casters.minVolume, 0.001),
362
+ },
363
+ receivers: {
364
+ patterns: readStringList(receivers.patterns),
365
+ },
366
+ };
367
+ }
368
+ function normalizeEditorSceneStaticProjectedShadowProfile(value) {
369
+ const staticProjected = readRecord(value);
370
+ const plane = readRecord(staticProjected.plane);
371
+ const appearance = readRecord(staticProjected.appearance);
372
+ const bake = readRecord(staticProjected.bake);
373
+ const spatialChunkSize = readPositiveNumber(bake.spatialChunkSize, 16);
374
+ return {
375
+ enabled: readBoolean(staticProjected.enabled, false),
376
+ plane: {
377
+ height: readFiniteNumber(plane.height, 0),
378
+ yOffset: readNonNegativeNumber(plane.yOffset, 0.08),
379
+ },
380
+ appearance: {
381
+ color: readRgba(appearance.color, { r: 0, g: 0, b: 0, a: 0.35 }),
382
+ },
383
+ bake: {
384
+ padding: readNonNegativeNumber(bake.padding, 0.15),
385
+ blur: readNonNegativeNumber(bake.blur, 0),
386
+ texelsPerMeter: readPositiveNumber(bake.texelsPerMeter, 256),
387
+ atlasSize: readPositiveNumber(bake.atlasSize, 4096),
388
+ maxAtlasPages: readPositiveNumber(bake.maxAtlasPages, 8),
389
+ sdfRadiusPx: readNonNegativeNumber(bake.sdfRadiusPx, 8),
390
+ spatialChunkSize,
391
+ targetChunkCount: readPositiveNumber(bake.targetChunkCount, 64),
392
+ },
393
+ };
394
+ }
395
+ function normalizeEditorSceneEnvironmentProfile(globalVolumeValue) {
396
+ const globalVolume = readRecord(globalVolumeValue);
397
+ const environment = readRecord(globalVolume.environment);
398
+ const texture = readRecord(environment.texture);
399
+ const textureAssetId = readStringOrNull(texture.textureAssetId);
400
+ const textureUrl = readStringOrNull(texture.url);
401
+ return {
402
+ texture: textureAssetId || textureUrl
403
+ ? {
404
+ ...(textureAssetId ? { textureAssetId } : {}),
405
+ ...(textureUrl ? { url: textureUrl } : {}),
406
+ }
407
+ : null,
408
+ iblIntensity: readNonNegativeNumber(environment.iblIntensity, 1),
409
+ rotationY: readFiniteNumber(environment.rotationY, 0),
410
+ };
411
+ }
412
+ function normalizeEditorScenePostProcessProfile(value) {
413
+ const globalVolume = readRecord(value);
414
+ const imageProcessing = readRecord(globalVolume.imageProcessing);
415
+ const toneMapping = readRecord(globalVolume.toneMapping);
416
+ const antialiasing = readRecord(globalVolume.antialiasing);
417
+ const postProcessing = readRecord(globalVolume.postProcessing);
418
+ const bloom = readRecord(postProcessing.bloom);
419
+ return {
420
+ enabled: readBoolean(globalVolume.enabled, true),
421
+ hdr: readBoolean(globalVolume.hdr, true),
422
+ imageProcessing: {
423
+ exposure: readFiniteNumber(imageProcessing.exposure, 1),
424
+ contrast: readFiniteNumber(imageProcessing.contrast, 1),
425
+ },
426
+ toneMapping: {
427
+ enabled: readBoolean(toneMapping.enabled, true),
428
+ type: readToneMappingType(toneMapping.type, 'aces'),
429
+ },
430
+ antialiasing: {
431
+ samples: readSamples(antialiasing.samples, 4),
432
+ },
433
+ bloom: {
434
+ enabled: readBoolean(bloom.enabled, false),
435
+ threshold: readNonNegativeNumber(bloom.threshold, 0.9),
436
+ weight: readNonNegativeNumber(bloom.weight, 0.2),
437
+ kernel: readNonNegativeNumber(bloom.kernel, 64),
438
+ scale: readPositiveNumber(bloom.scale, 0.5),
439
+ },
440
+ };
441
+ }
442
+ //# sourceMappingURL=rendering-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rendering-profile.js","sourceRoot":"","sources":["../../src/rendering/rendering-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { ShadowMapExperimentDirtyReason, ShadowMapExperimentUpdateClass } from './shadow-map-experiment.js';
2
+ export type ShadowMapExperimentDepthLayer = 'static' | 'dynamic';
3
+ export interface ShadowMapExperimentDepthLayerDecision {
4
+ readonly shouldRefresh: boolean;
5
+ readonly reasons: readonly ShadowMapExperimentDirtyReason[];
6
+ }
7
+ export interface ShadowMapExperimentDepthRefreshDecision {
8
+ readonly static: ShadowMapExperimentDepthLayerDecision;
9
+ readonly dynamic: ShadowMapExperimentDepthLayerDecision;
10
+ readonly composite: ShadowMapExperimentDepthLayerDecision;
11
+ }
12
+ export interface ShadowMapExperimentDepthRefreshSnapshot {
13
+ readonly pendingStaticReasons: readonly ShadowMapExperimentDirtyReason[];
14
+ readonly pendingDynamicReasons: readonly ShadowMapExperimentDirtyReason[];
15
+ readonly pendingCompositeReasons: readonly ShadowMapExperimentDirtyReason[];
16
+ }
17
+ export interface ShadowMapExperimentDepthRefreshScheduler {
18
+ markDirty(layer: ShadowMapExperimentDepthLayer, reason: ShadowMapExperimentDirtyReason): void;
19
+ markCompositeDirty(reason: ShadowMapExperimentDirtyReason): void;
20
+ markAllDirty(reason: ShadowMapExperimentDirtyReason): void;
21
+ consumeFrameDecision(): ShadowMapExperimentDepthRefreshDecision;
22
+ snapshot(): ShadowMapExperimentDepthRefreshSnapshot;
23
+ dispose(): void;
24
+ }
25
+ export interface ShadowMapExperimentBounds3 {
26
+ readonly min: readonly [number, number, number];
27
+ readonly max: readonly [number, number, number];
28
+ }
29
+ export interface ShadowMapExperimentInfluenceCoverageInput {
30
+ readonly cameraId: string;
31
+ readonly projectionSignature: string;
32
+ readonly visibleBounds: ShadowMapExperimentBounds3 | null;
33
+ }
34
+ export interface ShadowMapExperimentInfluenceCoverageDecision {
35
+ readonly rebuilt: boolean;
36
+ readonly conservative: boolean;
37
+ readonly revision: number;
38
+ readonly coverage: ShadowMapExperimentBounds3 | null;
39
+ }
40
+ export interface ShadowMapExperimentInfluenceCullingSnapshot {
41
+ readonly guardBandRatio: number;
42
+ readonly coverageRevision: number;
43
+ readonly cameraId: string | null;
44
+ readonly projectionSignature: string | null;
45
+ readonly coverage: ShadowMapExperimentBounds3 | null;
46
+ readonly conservative: boolean;
47
+ readonly rebuildCount: number;
48
+ }
49
+ export interface ShadowMapExperimentInfluenceCullingState {
50
+ configure(guardBandRatio: number): void;
51
+ updateCoverage(input: ShadowMapExperimentInfluenceCoverageInput): ShadowMapExperimentInfluenceCoverageDecision;
52
+ shouldRetainCaster(input: {
53
+ readonly casterBounds: ShadowMapExperimentBounds3 | null;
54
+ readonly lightDirection: readonly [number, number, number] | null;
55
+ readonly projectionDistance: number;
56
+ }): boolean;
57
+ snapshot(): ShadowMapExperimentInfluenceCullingSnapshot;
58
+ dispose(): void;
59
+ }
60
+ export declare function shadowMapExperimentDepthLayerForUpdateClass(updateClass: ShadowMapExperimentUpdateClass): ShadowMapExperimentDepthLayer;
61
+ export declare function createShadowMapExperimentDepthRefreshScheduler(): ShadowMapExperimentDepthRefreshScheduler;
62
+ export declare function createShadowMapExperimentInfluenceCullingState(guardBandRatio?: number): ShadowMapExperimentInfluenceCullingState;
63
+ //# sourceMappingURL=shadow-map-experiment-depth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-map-experiment-depth.d.ts","sourceRoot":"","sources":["../../src/rendering/shadow-map-experiment-depth.ts"],"names":[],"mappings":"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"}