@zephyr3d/scene 0.9.0 → 0.9.2

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 (149) hide show
  1. package/dist/animation/animationset.js +135 -133
  2. package/dist/animation/animationset.js.map +1 -1
  3. package/dist/animation/cloth/gpu_cloth_system.js +9 -1
  4. package/dist/animation/cloth/gpu_cloth_system.js.map +1 -1
  5. package/dist/animation/fixed_geometry_cache_track.js +5 -1
  6. package/dist/animation/fixed_geometry_cache_track.js.map +1 -1
  7. package/dist/animation/geometry_cache_utils.js +20 -4
  8. package/dist/animation/geometry_cache_utils.js.map +1 -1
  9. package/dist/animation/ik/ik_angle_constraint.js +2 -6
  10. package/dist/animation/ik/ik_angle_constraint.js.map +1 -1
  11. package/dist/animation/ik/two_bone_ik_solver.js +2 -6
  12. package/dist/animation/ik/two_bone_ik_solver.js.map +1 -1
  13. package/dist/animation/joint_dynamics/collision.js +60 -12
  14. package/dist/animation/joint_dynamics/collision.js.map +1 -1
  15. package/dist/animation/joint_dynamics/constraints.js +20 -4
  16. package/dist/animation/joint_dynamics/constraints.js.map +1 -1
  17. package/dist/animation/joint_dynamics/controller.js +151 -103
  18. package/dist/animation/joint_dynamics/controller.js.map +1 -1
  19. package/dist/animation/joint_dynamics/solver.js +21 -11
  20. package/dist/animation/joint_dynamics/solver.js.map +1 -1
  21. package/dist/animation/joint_dynamics/types.js +15 -3
  22. package/dist/animation/joint_dynamics/types.js.map +1 -1
  23. package/dist/animation/pca_geometry_cache_track.js +5 -1
  24. package/dist/animation/pca_geometry_cache_track.js.map +1 -1
  25. package/dist/animation/skeleton.js +2 -2
  26. package/dist/animation/skeleton.js.map +1 -1
  27. package/dist/animation/skeleton_modifier.js +2 -6
  28. package/dist/animation/skeleton_modifier.js.map +1 -1
  29. package/dist/animation/spring/spring_system.js +87 -114
  30. package/dist/animation/spring/spring_system.js.map +1 -1
  31. package/dist/app/app.js.map +1 -1
  32. package/dist/app/engine.js +1 -1
  33. package/dist/app/engine.js.map +1 -1
  34. package/dist/app/screen.js +4 -4
  35. package/dist/app/screen.js.map +1 -1
  36. package/dist/app/scriptingsystem.js +24 -1
  37. package/dist/app/scriptingsystem.js.map +1 -1
  38. package/dist/app/scriptregistry.js +165 -144
  39. package/dist/app/scriptregistry.js.map +1 -1
  40. package/dist/asset/assetmanager.js +2 -2
  41. package/dist/asset/assetmanager.js.map +1 -1
  42. package/dist/asset/model.js +3 -3
  43. package/dist/asset/model.js.map +1 -1
  44. package/dist/camera/camera.js +185 -185
  45. package/dist/camera/camera.js.map +1 -1
  46. package/dist/camera/orbit.js.map +1 -1
  47. package/dist/index.d.ts +794 -261
  48. package/dist/index.js +2 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/material/material.js +290 -288
  51. package/dist/material/material.js.map +1 -1
  52. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js +13 -26
  53. package/dist/material/mixins/lightmodel/pbrmetallicroughness.js.map +1 -1
  54. package/dist/material/pbrmr.js +1 -11
  55. package/dist/material/pbrmr.js.map +1 -1
  56. package/dist/material/sprite.js +6 -6
  57. package/dist/material/sprite.js.map +1 -1
  58. package/dist/material/terrain-cm.js +2 -2
  59. package/dist/material/terrain-cm.js.map +1 -1
  60. package/dist/posteffect/taa.js +31 -39
  61. package/dist/posteffect/taa.js.map +1 -1
  62. package/dist/render/drawable.js +5 -1
  63. package/dist/render/drawable.js.map +1 -1
  64. package/dist/render/rendergraph/device_pool_allocator.js +29 -3
  65. package/dist/render/rendergraph/device_pool_allocator.js.map +1 -1
  66. package/dist/render/rendergraph/executor.js +283 -33
  67. package/dist/render/rendergraph/executor.js.map +1 -1
  68. package/dist/render/rendergraph/forward_plus_builder.js +338 -108
  69. package/dist/render/rendergraph/forward_plus_builder.js.map +1 -1
  70. package/dist/render/rendergraph/history_resource_manager.js +236 -156
  71. package/dist/render/rendergraph/history_resource_manager.js.map +1 -1
  72. package/dist/render/rendergraph/history_resources.js +10 -0
  73. package/dist/render/rendergraph/history_resources.js.map +1 -0
  74. package/dist/render/rendergraph/rendergraph.js +162 -35
  75. package/dist/render/rendergraph/rendergraph.js.map +1 -1
  76. package/dist/render/rendergraph/types.js +36 -16
  77. package/dist/render/rendergraph/types.js.map +1 -1
  78. package/dist/render/rendertarget.js +5 -1
  79. package/dist/render/rendertarget.js.map +1 -1
  80. package/dist/render/screenrendertarget.js +5 -1
  81. package/dist/render/screenrendertarget.js.map +1 -1
  82. package/dist/render/sky.js +4 -4
  83. package/dist/render/sky.js.map +1 -1
  84. package/dist/scene/basesprite.js +2 -2
  85. package/dist/scene/basesprite.js.map +1 -1
  86. package/dist/scene/graph_node.js +1 -1
  87. package/dist/scene/graph_node.js.map +1 -1
  88. package/dist/scene/mesh.js +4 -20
  89. package/dist/scene/mesh.js.map +1 -1
  90. package/dist/scene/particlesys.js +1 -1
  91. package/dist/scene/particlesys.js.map +1 -1
  92. package/dist/scene/scene_node.js +2 -2
  93. package/dist/scene/scene_node.js.map +1 -1
  94. package/dist/scene/script_attachment.js +15 -3
  95. package/dist/scene/script_attachment.js.map +1 -1
  96. package/dist/scene/terrain-cm/terrain-cm.js +3 -3
  97. package/dist/scene/terrain-cm/terrain-cm.js.map +1 -1
  98. package/dist/shadow/shadowmapper.js.map +1 -1
  99. package/dist/shapes/box.js +1 -1
  100. package/dist/shapes/box.js.map +1 -1
  101. package/dist/shapes/capsule.js +0 -3
  102. package/dist/shapes/capsule.js.map +1 -1
  103. package/dist/shapes/cylinder.js +0 -3
  104. package/dist/shapes/cylinder.js.map +1 -1
  105. package/dist/shapes/plane.js +0 -3
  106. package/dist/shapes/plane.js.map +1 -1
  107. package/dist/shapes/tetrahedron.js +3 -9
  108. package/dist/shapes/tetrahedron.js.map +1 -1
  109. package/dist/shapes/torus.js +4 -7
  110. package/dist/shapes/torus.js.map +1 -1
  111. package/dist/utility/blueprint/material/inputs.js +3 -3
  112. package/dist/utility/blueprint/material/inputs.js.map +1 -1
  113. package/dist/utility/blueprint/material/ir.js +493 -493
  114. package/dist/utility/blueprint/material/ir.js.map +1 -1
  115. package/dist/utility/serialization/manager.js +34 -3
  116. package/dist/utility/serialization/manager.js.map +1 -1
  117. package/dist/utility/serialization/scene/animation.js +45 -0
  118. package/dist/utility/serialization/scene/animation.js.map +1 -1
  119. package/dist/utility/serialization/scene/camera.js +53 -0
  120. package/dist/utility/serialization/scene/camera.js.map +1 -1
  121. package/dist/utility/serialization/scene/common.js +10 -0
  122. package/dist/utility/serialization/scene/common.js.map +1 -1
  123. package/dist/utility/serialization/scene/light.js +30 -0
  124. package/dist/utility/serialization/scene/light.js.map +1 -1
  125. package/dist/utility/serialization/scene/material.js +63 -0
  126. package/dist/utility/serialization/scene/material.js.map +1 -1
  127. package/dist/utility/serialization/scene/mesh.js +11 -0
  128. package/dist/utility/serialization/scene/mesh.js.map +1 -1
  129. package/dist/utility/serialization/scene/misc.js +2 -0
  130. package/dist/utility/serialization/scene/misc.js.map +1 -1
  131. package/dist/utility/serialization/scene/node.js +19 -0
  132. package/dist/utility/serialization/scene/node.js.map +1 -1
  133. package/dist/utility/serialization/scene/particle.js +22 -0
  134. package/dist/utility/serialization/scene/particle.js.map +1 -1
  135. package/dist/utility/serialization/scene/primitive.js +33 -0
  136. package/dist/utility/serialization/scene/primitive.js.map +1 -1
  137. package/dist/utility/serialization/scene/scene.js +39 -0
  138. package/dist/utility/serialization/scene/scene.js.map +1 -1
  139. package/dist/utility/serialization/scene/script.js +2 -0
  140. package/dist/utility/serialization/scene/script.js.map +1 -1
  141. package/dist/utility/serialization/scene/sprite.js +6 -0
  142. package/dist/utility/serialization/scene/sprite.js.map +1 -1
  143. package/dist/utility/serialization/scene/terrain.js +9 -0
  144. package/dist/utility/serialization/scene/terrain.js.map +1 -1
  145. package/dist/utility/serialization/scene/water.js +21 -0
  146. package/dist/utility/serialization/scene/water.js.map +1 -1
  147. package/dist/utility/serialization/types.js +5 -1
  148. package/dist/utility/serialization/types.js.map +1 -1
  149. package/package.json +2 -2
@@ -22,6 +22,7 @@ function getPBRCommonProps(manager) {
22
22
  return defineProps([
23
23
  {
24
24
  name: 'IOR',
25
+ description: 'Index of refraction for the material surface',
25
26
  type: 'float',
26
27
  default: 1.5,
27
28
  options: {
@@ -39,6 +40,7 @@ function getPBRCommonProps(manager) {
39
40
  },
40
41
  {
41
42
  name: 'OcclusionStrength',
43
+ description: 'Strength multiplier for the occlusion texture effect',
42
44
  type: 'float',
43
45
  phase: 2,
44
46
  default: 1,
@@ -60,6 +62,7 @@ function getPBRCommonProps(manager) {
60
62
  ...getTextureProps(manager, 'occlusionTexture', '2D', false, 0),
61
63
  {
62
64
  name: 'EmissiveColor',
65
+ description: 'Base self-illumination color emitted by the material',
63
66
  type: 'rgb',
64
67
  options: {
65
68
  animatable: true
@@ -82,6 +85,7 @@ function getPBRCommonProps(manager) {
82
85
  },
83
86
  {
84
87
  name: 'EmissiveStrength',
88
+ description: 'Intensity multiplier for the emissive color and emissive texture',
85
89
  type: 'float',
86
90
  options: {
87
91
  animatable: true,
@@ -102,6 +106,7 @@ function getPBRCommonProps(manager) {
102
106
  ...getTextureProps(manager, 'specularTexture', '2D', false, 0),
103
107
  {
104
108
  name: 'Transmission',
109
+ description: 'If true, enables light transmission through the material',
105
110
  type: 'bool',
106
111
  phase: 0,
107
112
  default: false,
@@ -117,6 +122,7 @@ function getPBRCommonProps(manager) {
117
122
  },
118
123
  {
119
124
  name: 'TransmissionFactor',
125
+ description: 'Amount of transmitted light, from fully opaque to fully transparent',
120
126
  type: 'float',
121
127
  phase: 1,
122
128
  default: 0,
@@ -140,6 +146,7 @@ function getPBRCommonProps(manager) {
140
146
  }),
141
147
  {
142
148
  name: 'ThicknessFactor',
149
+ description: 'Physical thickness used by transmission and volume attenuation',
143
150
  type: 'float',
144
151
  phase: 1,
145
152
  default: 0,
@@ -163,6 +170,7 @@ function getPBRCommonProps(manager) {
163
170
  }),
164
171
  {
165
172
  name: 'AttenuationColor',
173
+ description: 'Color tint applied to transmitted light as it travels through the material',
166
174
  type: 'rgb',
167
175
  phase: 1,
168
176
  default: [
@@ -187,6 +195,7 @@ function getPBRCommonProps(manager) {
187
195
  },
188
196
  {
189
197
  name: 'AttenuationDistance',
198
+ description: 'Distance over which transmitted light is attenuated inside the material',
190
199
  type: 'float',
191
200
  phase: 1,
192
201
  default: 99999,
@@ -207,6 +216,7 @@ function getPBRCommonProps(manager) {
207
216
  },
208
217
  {
209
218
  name: 'Iridescence',
219
+ description: 'If true, enables thin-film iridescence on the material surface',
210
220
  type: 'bool',
211
221
  phase: 0,
212
222
  default: false,
@@ -222,6 +232,7 @@ function getPBRCommonProps(manager) {
222
232
  },
223
233
  {
224
234
  name: 'IridescenceFactor',
235
+ description: 'Strength of the iridescence effect',
225
236
  type: 'float',
226
237
  phase: 1,
227
238
  default: 0,
@@ -245,6 +256,7 @@ function getPBRCommonProps(manager) {
245
256
  }),
246
257
  {
247
258
  name: 'IridescenceIOR',
259
+ description: 'Index of refraction used for the iridescence layer',
248
260
  type: 'float',
249
261
  phase: 1,
250
262
  default: 1.3,
@@ -263,6 +275,7 @@ function getPBRCommonProps(manager) {
263
275
  },
264
276
  {
265
277
  name: 'IridescenceThicknessMin',
278
+ description: 'Minimum thin-film thickness used for iridescence, typically in nanometers',
266
279
  type: 'float',
267
280
  phase: 1,
268
281
  default: 100,
@@ -283,6 +296,7 @@ function getPBRCommonProps(manager) {
283
296
  },
284
297
  {
285
298
  name: 'IridescenceThicknessMax',
299
+ description: 'Maximum thin-film thickness used for iridescence, typically in nanometers',
286
300
  type: 'float',
287
301
  phase: 1,
288
302
  default: 400,
@@ -306,6 +320,7 @@ function getPBRCommonProps(manager) {
306
320
  }),
307
321
  {
308
322
  name: 'ClearCoat',
323
+ description: 'If true, enables a clear coat layer on top of the material',
309
324
  type: 'bool',
310
325
  phase: 0,
311
326
  default: false,
@@ -321,6 +336,7 @@ function getPBRCommonProps(manager) {
321
336
  },
322
337
  {
323
338
  name: 'ClearCoatIntensity',
339
+ description: 'Strength of the clear coat layer',
324
340
  type: 'float',
325
341
  phase: 1,
326
342
  default: 0,
@@ -344,6 +360,7 @@ function getPBRCommonProps(manager) {
344
360
  }),
345
361
  {
346
362
  name: 'ClearCoatRoughnessFactor',
363
+ description: 'Roughness of the clear coat layer',
347
364
  type: 'float',
348
365
  phase: 1,
349
366
  default: 0,
@@ -370,6 +387,7 @@ function getPBRCommonProps(manager) {
370
387
  }),
371
388
  {
372
389
  name: 'Sheen',
390
+ description: 'If true, enables a soft fabric-like sheen layer',
373
391
  type: 'bool',
374
392
  phase: 0,
375
393
  default: false,
@@ -385,6 +403,7 @@ function getPBRCommonProps(manager) {
385
403
  },
386
404
  {
387
405
  name: 'SheenColorFactor',
406
+ description: 'Color of the sheen layer',
388
407
  type: 'rgb',
389
408
  phase: 1,
390
409
  default: [
@@ -412,6 +431,7 @@ function getPBRCommonProps(manager) {
412
431
  }),
413
432
  {
414
433
  name: 'SheenRoughnessFactor',
434
+ description: 'Roughness of the sheen layer',
415
435
  type: 'float',
416
436
  phase: 1,
417
437
  default: 0,
@@ -441,6 +461,7 @@ function getLitMaterialProps(manager) {
441
461
  ...getUnlitMaterialProps(manager),
442
462
  {
443
463
  name: 'doubleSidedLighting',
464
+ description: 'If true, lighting is evaluated on both sides of the surface',
444
465
  type: 'bool',
445
466
  default: false,
446
467
  isValid () {
@@ -455,6 +476,7 @@ function getLitMaterialProps(manager) {
455
476
  },
456
477
  {
457
478
  name: 'vertexNormal',
479
+ description: 'If true, uses vertex normals for lighting and normal mapping',
458
480
  type: 'bool',
459
481
  default: true,
460
482
  get (value) {
@@ -469,6 +491,7 @@ function getLitMaterialProps(manager) {
469
491
  },
470
492
  {
471
493
  name: 'vertexTangent',
494
+ description: 'If true, uses vertex tangents for tangent-space normal mapping',
472
495
  type: 'bool',
473
496
  default: false,
474
497
  get (value) {
@@ -488,6 +511,7 @@ function getUnlitMaterialProps(manager) {
488
511
  return defineProps([
489
512
  {
490
513
  name: 'vertexColor',
514
+ description: 'If true, multiplies the material color by per-vertex color data',
491
515
  type: 'bool',
492
516
  default: false,
493
517
  get (value) {
@@ -502,6 +526,7 @@ function getUnlitMaterialProps(manager) {
502
526
  },
503
527
  {
504
528
  name: 'AlbedoColor',
529
+ description: 'Base RGBA color of the material before lighting',
505
530
  type: 'rgba',
506
531
  options: {
507
532
  animatable: true
@@ -537,6 +562,7 @@ function getUnlitMaterialProps(manager) {
537
562
  return defineProps([
538
563
  {
539
564
  name: 'AlphaCutoff',
565
+ description: 'If greater then 0, pixels which have alpha smaller than alpha cutoff will be discarded',
540
566
  type: 'float',
541
567
  default: 0,
542
568
  options: {
@@ -556,6 +582,7 @@ function getUnlitMaterialProps(manager) {
556
582
  },
557
583
  {
558
584
  name: 'AlphaToCoverage',
585
+ description: 'If true, alpha-to-coverage will be enabled',
559
586
  type: 'bool',
560
587
  default: false,
561
588
  get (value) {
@@ -570,6 +597,7 @@ function getUnlitMaterialProps(manager) {
570
597
  },
571
598
  {
572
599
  name: 'AlphaDither',
600
+ description: 'If true, alpha-dithering will be enabled',
573
601
  type: 'bool',
574
602
  default: false,
575
603
  get (value) {
@@ -584,6 +612,7 @@ function getUnlitMaterialProps(manager) {
584
612
  },
585
613
  {
586
614
  name: 'BlendMode',
615
+ description: 'Blending mode for this material',
587
616
  type: 'string',
588
617
  options: {
589
618
  enum: {
@@ -612,6 +641,7 @@ function getUnlitMaterialProps(manager) {
612
641
  },
613
642
  {
614
643
  name: 'CullMode',
644
+ description: 'Cull mode for this material',
615
645
  type: 'string',
616
646
  options: {
617
647
  enum: {
@@ -640,6 +670,7 @@ function getUnlitMaterialProps(manager) {
640
670
  },
641
671
  {
642
672
  name: 'Opacity',
673
+ description: 'Opacity value for this material, no effect if blendingMode is `none`',
643
674
  type: 'float',
644
675
  options: {
645
676
  animatable: true,
@@ -659,6 +690,7 @@ function getUnlitMaterialProps(manager) {
659
690
  },
660
691
  {
661
692
  name: 'TAAStrength',
693
+ description: 'TAA strength for this material',
662
694
  type: 'float',
663
695
  options: {
664
696
  minValue: 0,
@@ -704,6 +736,7 @@ function getUnlitMaterialProps(manager) {
704
736
  return defineProps([
705
737
  {
706
738
  name: 'SpriteTexture',
739
+ description: 'Texture file path for the sprite',
707
740
  type: 'object',
708
741
  default: '',
709
742
  options: {
@@ -763,6 +796,7 @@ function getUnlitMaterialProps(manager) {
763
796
  return defineProps([
764
797
  {
765
798
  name: 'AlphaMap',
799
+ description: 'Alpha texture file path',
766
800
  type: 'object',
767
801
  default: '',
768
802
  options: {
@@ -804,6 +838,7 @@ function getUnlitMaterialProps(manager) {
804
838
  },
805
839
  {
806
840
  name: 'RampMap',
841
+ description: 'Ramp texture file path',
807
842
  type: 'object',
808
843
  default: '',
809
844
  options: {
@@ -857,6 +892,7 @@ function getUnlitMaterialProps(manager) {
857
892
  return defineProps([
858
893
  {
859
894
  name: 'doubleSidedLighting',
895
+ description: 'If true, double-sided lighting will be enabled',
860
896
  type: 'bool',
861
897
  default: false,
862
898
  isValid () {
@@ -871,6 +907,7 @@ function getUnlitMaterialProps(manager) {
871
907
  },
872
908
  {
873
909
  name: 'Reflection',
910
+ description: 'Reflection mode for the material',
874
911
  type: 'string',
875
912
  default: 'ggx',
876
913
  options: {
@@ -901,6 +938,7 @@ function getUnlitMaterialProps(manager) {
901
938
  },
902
939
  {
903
940
  name: 'SubsurfaceScattering',
941
+ description: 'If true, subsurface-scattering will be enabled',
904
942
  type: 'bool',
905
943
  phase: 0,
906
944
  default: false,
@@ -916,6 +954,7 @@ function getUnlitMaterialProps(manager) {
916
954
  },
917
955
  {
918
956
  name: 'SubsurfaceColor',
957
+ description: 'Subsurface-scattering color',
919
958
  type: 'rgb',
920
959
  phase: 1,
921
960
  default: [
@@ -947,6 +986,7 @@ function getUnlitMaterialProps(manager) {
947
986
  },
948
987
  {
949
988
  name: 'SubsurfaceScale',
989
+ description: 'Scale value for subsurface-scattering',
950
990
  type: 'float',
951
991
  phase: 1,
952
992
  default: 0.5,
@@ -970,6 +1010,7 @@ function getUnlitMaterialProps(manager) {
970
1010
  },
971
1011
  {
972
1012
  name: 'SubsurfacePower',
1013
+ description: 'Power value for subsurface-scattering',
973
1014
  type: 'float',
974
1015
  phase: 1,
975
1016
  default: 1.5,
@@ -993,6 +1034,7 @@ function getUnlitMaterialProps(manager) {
993
1034
  },
994
1035
  {
995
1036
  name: 'SubsurfaceIntensity',
1037
+ description: 'Intensity value for subsurface-scattering',
996
1038
  type: 'float',
997
1039
  phase: 1,
998
1040
  default: 0.5,
@@ -1016,6 +1058,7 @@ function getUnlitMaterialProps(manager) {
1016
1058
  },
1017
1059
  {
1018
1060
  name: 'Anisotropy',
1061
+ description: 'Anistropy value',
1019
1062
  type: 'float',
1020
1063
  default: 0.75,
1021
1064
  options: {
@@ -1038,6 +1081,7 @@ function getUnlitMaterialProps(manager) {
1038
1081
  },
1039
1082
  {
1040
1083
  name: 'AnisotropyDirection',
1084
+ description: 'Anisotropy direction',
1041
1085
  type: 'float',
1042
1086
  default: 0,
1043
1087
  options: {
@@ -1060,6 +1104,7 @@ function getUnlitMaterialProps(manager) {
1060
1104
  },
1061
1105
  {
1062
1106
  name: 'AnisotropyDirectionScaleBias',
1107
+ description: 'Anisotropy direction scale bias',
1063
1108
  type: 'vec2',
1064
1109
  default: [
1065
1110
  1,
@@ -1140,6 +1185,7 @@ function getUnlitMaterialProps(manager) {
1140
1185
  return defineProps([
1141
1186
  {
1142
1187
  name: 'Shininess',
1188
+ description: 'Shininess value',
1143
1189
  type: 'float',
1144
1190
  options: {
1145
1191
  animatable: true,
@@ -1158,6 +1204,7 @@ function getUnlitMaterialProps(manager) {
1158
1204
  },
1159
1205
  {
1160
1206
  name: 'ScatterWrap',
1207
+ description: 'Scatter wrap for light warping',
1161
1208
  type: 'float',
1162
1209
  options: {
1163
1210
  animatable: true,
@@ -1176,6 +1223,7 @@ function getUnlitMaterialProps(manager) {
1176
1223
  },
1177
1224
  {
1178
1225
  name: 'ScatterWidth',
1226
+ description: 'Scatter width for light wrapping',
1179
1227
  type: 'float',
1180
1228
  options: {
1181
1229
  animatable: true,
@@ -1194,6 +1242,7 @@ function getUnlitMaterialProps(manager) {
1194
1242
  },
1195
1243
  {
1196
1244
  name: 'ScatterColor',
1245
+ description: 'Scatter color for light warping',
1197
1246
  type: 'rgb',
1198
1247
  options: {
1199
1248
  animatable: true
@@ -1235,6 +1284,7 @@ function getUnlitMaterialProps(manager) {
1235
1284
  return defineProps([
1236
1285
  {
1237
1286
  name: 'Metallic',
1287
+ description: 'Metallic value',
1238
1288
  type: 'float',
1239
1289
  options: {
1240
1290
  animatable: true,
@@ -1253,6 +1303,7 @@ function getUnlitMaterialProps(manager) {
1253
1303
  },
1254
1304
  {
1255
1305
  name: 'Roughness',
1306
+ description: 'Roughness value',
1256
1307
  type: 'float',
1257
1308
  options: {
1258
1309
  animatable: true,
@@ -1271,6 +1322,7 @@ function getUnlitMaterialProps(manager) {
1271
1322
  },
1272
1323
  {
1273
1324
  name: 'SpecularFactor',
1325
+ description: 'RGBA specular factor used to tint and scale specular reflections',
1274
1326
  type: 'rgba',
1275
1327
  options: {
1276
1328
  animatable: true
@@ -1295,6 +1347,7 @@ function getUnlitMaterialProps(manager) {
1295
1347
  },
1296
1348
  {
1297
1349
  name: 'Reflection',
1350
+ description: 'Reflection mode',
1298
1351
  type: 'string',
1299
1352
  default: 'ggx',
1300
1353
  options: {
@@ -1325,6 +1378,7 @@ function getUnlitMaterialProps(manager) {
1325
1378
  },
1326
1379
  {
1327
1380
  name: 'Anisotropy',
1381
+ description: 'Strength of anisotropic reflections; values near 0 behave isotropically',
1328
1382
  type: 'float',
1329
1383
  default: 0.75,
1330
1384
  options: {
@@ -1347,6 +1401,7 @@ function getUnlitMaterialProps(manager) {
1347
1401
  },
1348
1402
  {
1349
1403
  name: 'AnisotropyDirection',
1404
+ description: 'Rotation angle in degrees for the anisotropic highlight direction',
1350
1405
  type: 'float',
1351
1406
  default: 0,
1352
1407
  options: {
@@ -1372,6 +1427,7 @@ function getUnlitMaterialProps(manager) {
1372
1427
  }),
1373
1428
  {
1374
1429
  name: 'AnisotropyDirectionScaleBias',
1430
+ description: 'Scale and bias applied when decoding anisotropy direction from its texture',
1375
1431
  type: 'vec2',
1376
1432
  default: [
1377
1433
  1,
@@ -1399,6 +1455,7 @@ function getUnlitMaterialProps(manager) {
1399
1455
  },
1400
1456
  {
1401
1457
  name: 'SubsurfaceScattering',
1458
+ description: 'If true, enables subsurface scattering for translucent materials',
1402
1459
  type: 'bool',
1403
1460
  phase: 0,
1404
1461
  default: false,
@@ -1414,6 +1471,7 @@ function getUnlitMaterialProps(manager) {
1414
1471
  },
1415
1472
  {
1416
1473
  name: 'SubsurfaceColor',
1474
+ description: 'Color tint of the subsurface scattering effect',
1417
1475
  type: 'rgb',
1418
1476
  phase: 1,
1419
1477
  default: [
@@ -1445,6 +1503,7 @@ function getUnlitMaterialProps(manager) {
1445
1503
  },
1446
1504
  {
1447
1505
  name: 'SubsurfaceScale',
1506
+ description: 'Distance scale of the subsurface scattering effect',
1448
1507
  type: 'float',
1449
1508
  phase: 1,
1450
1509
  default: 0.5,
@@ -1468,6 +1527,7 @@ function getUnlitMaterialProps(manager) {
1468
1527
  },
1469
1528
  {
1470
1529
  name: 'SubsurfacePower',
1530
+ description: 'Falloff power controlling how quickly subsurface scattering fades',
1471
1531
  type: 'float',
1472
1532
  phase: 1,
1473
1533
  default: 1.5,
@@ -1491,6 +1551,7 @@ function getUnlitMaterialProps(manager) {
1491
1551
  },
1492
1552
  {
1493
1553
  name: 'SubsurfaceIntensity',
1554
+ description: 'Overall intensity of the subsurface scattering effect',
1494
1555
  type: 'float',
1495
1556
  phase: 1,
1496
1557
  default: 0.5,
@@ -1534,6 +1595,7 @@ function getUnlitMaterialProps(manager) {
1534
1595
  return defineProps([
1535
1596
  {
1536
1597
  name: 'SpecularFactor',
1598
+ description: 'RGB specular color multiplier for reflected highlights',
1537
1599
  type: 'rgb',
1538
1600
  options: {
1539
1601
  animatable: true
@@ -1556,6 +1618,7 @@ function getUnlitMaterialProps(manager) {
1556
1618
  },
1557
1619
  {
1558
1620
  name: 'GlossnessFactor',
1621
+ description: 'Glossiness of the surface; higher values produce sharper reflections',
1559
1622
  type: 'float',
1560
1623
  options: {
1561
1624
  animatable: true,