@flighthq/materials 0.2.1-next.841.373388f → 0.3.0-next.1032.e2b99fc

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 (116) hide show
  1. package/dist/anisotropyPbrExtension.d.ts +4 -0
  2. package/dist/anisotropyPbrExtension.d.ts.map +1 -0
  3. package/dist/anisotropyPbrExtension.js +19 -0
  4. package/dist/anisotropyPbrExtension.js.map +1 -0
  5. package/dist/classicMaterials.d.ts +1 -1
  6. package/dist/classicMaterials.d.ts.map +1 -1
  7. package/dist/classicMaterials.js +1 -1
  8. package/dist/classicMaterials.js.map +1 -1
  9. package/dist/clearcoatPbrExtension.d.ts +4 -0
  10. package/dist/clearcoatPbrExtension.d.ts.map +1 -0
  11. package/dist/clearcoatPbrExtension.js +28 -0
  12. package/dist/clearcoatPbrExtension.js.map +1 -0
  13. package/dist/colorScaleBias.d.ts +18 -0
  14. package/dist/colorScaleBias.d.ts.map +1 -0
  15. package/dist/colorScaleBias.js +120 -0
  16. package/dist/colorScaleBias.js.map +1 -0
  17. package/dist/contract.d.ts +21 -0
  18. package/dist/contract.d.ts.map +1 -0
  19. package/dist/contract.js +21 -0
  20. package/dist/contract.js.map +1 -0
  21. package/dist/customShaderMaterial.d.ts +1 -1
  22. package/dist/customShaderMaterial.d.ts.map +1 -1
  23. package/dist/customShaderMaterial.js +1 -1
  24. package/dist/customShaderMaterial.js.map +1 -1
  25. package/dist/extendedPbrMaterial.d.ts +3 -0
  26. package/dist/extendedPbrMaterial.d.ts.map +1 -0
  27. package/dist/extendedPbrMaterial.js +12 -0
  28. package/dist/extendedPbrMaterial.js.map +1 -0
  29. package/dist/index.d.ts +1 -11
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -11
  32. package/dist/index.js.map +1 -1
  33. package/dist/iridescencePbrExtension.d.ts +4 -0
  34. package/dist/iridescencePbrExtension.d.ts.map +1 -0
  35. package/dist/iridescencePbrExtension.js +27 -0
  36. package/dist/iridescencePbrExtension.js.map +1 -0
  37. package/dist/material.d.ts +1 -1
  38. package/dist/material.d.ts.map +1 -1
  39. package/dist/material.js +1 -1
  40. package/dist/material.js.map +1 -1
  41. package/dist/materialPresets.d.ts +2 -2
  42. package/dist/materialPresets.d.ts.map +1 -1
  43. package/dist/materialPresets.js +22 -10
  44. package/dist/materialPresets.js.map +1 -1
  45. package/dist/materialValidation.d.ts +1 -1
  46. package/dist/materialValidation.d.ts.map +1 -1
  47. package/dist/pbrExtension.d.ts +3 -0
  48. package/dist/pbrExtension.d.ts.map +1 -0
  49. package/dist/pbrExtension.js +5 -0
  50. package/dist/pbrExtension.js.map +1 -0
  51. package/dist/pbrMaterials.d.ts +1 -1
  52. package/dist/pbrMaterials.d.ts.map +1 -1
  53. package/dist/pbrMaterials.js +2 -2
  54. package/dist/pbrMaterials.js.map +1 -1
  55. package/dist/phongToPbr.d.ts +1 -1
  56. package/dist/phongToPbr.d.ts.map +1 -1
  57. package/dist/phongToPbr.js +1 -1
  58. package/dist/phongToPbr.js.map +1 -1
  59. package/dist/sheenPbrExtension.d.ts +4 -0
  60. package/dist/sheenPbrExtension.d.ts.map +1 -0
  61. package/dist/sheenPbrExtension.js +21 -0
  62. package/dist/sheenPbrExtension.js.map +1 -0
  63. package/dist/specularPbrExtension.d.ts +4 -0
  64. package/dist/specularPbrExtension.d.ts.map +1 -0
  65. package/dist/specularPbrExtension.js +21 -0
  66. package/dist/specularPbrExtension.js.map +1 -0
  67. package/dist/standardMaterial.d.ts +3 -0
  68. package/dist/standardMaterial.d.ts.map +1 -0
  69. package/dist/standardMaterial.js +9 -0
  70. package/dist/standardMaterial.js.map +1 -0
  71. package/dist/surfaceMaterial.d.ts +1 -1
  72. package/dist/surfaceMaterial.d.ts.map +1 -1
  73. package/dist/surfaceMaterial.js +1 -1
  74. package/dist/surfaceMaterial.js.map +1 -1
  75. package/dist/transmissionVolumePbrExtension.d.ts +4 -0
  76. package/dist/transmissionVolumePbrExtension.d.ts.map +1 -0
  77. package/dist/transmissionVolumePbrExtension.js +30 -0
  78. package/dist/transmissionVolumePbrExtension.js.map +1 -0
  79. package/dist/unlitMaterials.d.ts +1 -1
  80. package/dist/unlitMaterials.d.ts.map +1 -1
  81. package/dist/unlitMaterials.js +3 -5
  82. package/dist/unlitMaterials.js.map +1 -1
  83. package/dist/wrappedDiffusePbrExtension.d.ts +4 -0
  84. package/dist/wrappedDiffusePbrExtension.d.ts.map +1 -0
  85. package/dist/wrappedDiffusePbrExtension.js +24 -0
  86. package/dist/wrappedDiffusePbrExtension.js.map +1 -0
  87. package/package.json +8 -4
  88. package/src/anisotropyPbrExtension.test.ts +23 -0
  89. package/src/classicMaterials.test.ts +1 -1
  90. package/src/clearcoatPbrExtension.test.ts +24 -0
  91. package/src/colorScaleBias.test.ts +442 -0
  92. package/src/customShaderMaterial.test.ts +1 -1
  93. package/src/extendedPbrMaterial.test.ts +32 -0
  94. package/src/iridescencePbrExtension.test.ts +30 -0
  95. package/src/material.test.ts +2 -2
  96. package/src/materialPresets.test.ts +27 -11
  97. package/src/pbrExtension.test.ts +10 -0
  98. package/src/pbrMaterials.test.ts +2 -2
  99. package/src/phongToPbr.test.ts +1 -1
  100. package/src/sheenPbrExtension.test.ts +23 -0
  101. package/src/specularPbrExtension.test.ts +23 -0
  102. package/src/standardMaterial.test.ts +16 -0
  103. package/src/surfaceMaterial.test.ts +1 -1
  104. package/src/transmissionVolumePbrExtension.test.ts +31 -0
  105. package/src/unlitMaterials.test.ts +1 -1
  106. package/src/wrappedDiffusePbrExtension.test.ts +27 -0
  107. package/dist/colorTransform.d.ts +0 -18
  108. package/dist/colorTransform.d.ts.map +0 -1
  109. package/dist/colorTransform.js +0 -119
  110. package/dist/colorTransform.js.map +0 -1
  111. package/dist/pbrExtensionMaterials.d.ts +0 -9
  112. package/dist/pbrExtensionMaterials.d.ts.map +0 -1
  113. package/dist/pbrExtensionMaterials.js +0 -93
  114. package/dist/pbrExtensionMaterials.js.map +0 -1
  115. package/src/colorTransform.test.ts +0 -441
  116. package/src/pbrExtensionMaterials.test.ts +0 -123
@@ -0,0 +1,4 @@
1
+ import type { AnisotropyPbrExtension } from '@flighthq/types/contract';
2
+ export declare function createAnisotropyPbrExtension(opts?: Readonly<Partial<AnisotropyPbrExtension>>): AnisotropyPbrExtension;
3
+ export declare function isValidAnisotropyPbrExtension(value: Readonly<AnisotropyPbrExtension>): boolean;
4
+ //# sourceMappingURL=anisotropyPbrExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anisotropyPbrExtension.d.ts","sourceRoot":"","sources":["../src/anisotropyPbrExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMvE,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,sBAAsB,CAQrH;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAM9F"}
@@ -0,0 +1,19 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ import { AnisotropyPbrExtensionKind } from '@flighthq/types/contract';
3
+ import { isValidMaterialWeight } from './materialValidation';
4
+ import { isValidPbrUvSet } from './pbrExtension';
5
+ export function createAnisotropyPbrExtension(opts) {
6
+ return createEntity({
7
+ anisotropyMap: opts?.anisotropyMap ?? null,
8
+ anisotropyMapUvSet: opts?.anisotropyMapUvSet ?? 0,
9
+ anisotropyRotation: opts?.anisotropyRotation ?? 0,
10
+ anisotropyStrength: opts?.anisotropyStrength ?? 0,
11
+ kind: AnisotropyPbrExtensionKind,
12
+ });
13
+ }
14
+ export function isValidAnisotropyPbrExtension(value) {
15
+ return (isValidMaterialWeight(value.anisotropyStrength) &&
16
+ Number.isFinite(value.anisotropyRotation) &&
17
+ isValidPbrUvSet(value.anisotropyMapUvSet));
18
+ }
19
+ //# sourceMappingURL=anisotropyPbrExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anisotropyPbrExtension.js","sourceRoot":"","sources":["../src/anisotropyPbrExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,4BAA4B,CAAC,IAAgD;IAC3F,OAAO,YAAY,CAAC;QAClB,aAAa,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI;QAC1C,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,CAAC;QACjD,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,CAAC;QACjD,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,CAAC;QACjD,IAAI,EAAE,0BAA0B;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAuC;IACnF,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAC1C,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BlinnPhongMaterial, LambertMaterial, PhongMaterial } from '@flighthq/types';
1
+ import type { BlinnPhongMaterial, LambertMaterial, PhongMaterial } from '@flighthq/types/contract';
2
2
  export declare function createBlinnPhongMaterial(opts?: Readonly<Partial<BlinnPhongMaterial>>): BlinnPhongMaterial;
3
3
  export declare function createLambertMaterial(opts?: Readonly<Partial<LambertMaterial>>): LambertMaterial;
4
4
  export declare function createPhongMaterial(opts?: Readonly<Partial<PhongMaterial>>): PhongMaterial;
@@ -1 +1 @@
1
- {"version":3,"file":"classicMaterials.d.ts","sourceRoot":"","sources":["../src/classicMaterials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAO1F,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,kBAAkB,CAWzG;AAID,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,eAAe,CAOhG;AAID,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAU1F"}
1
+ {"version":3,"file":"classicMaterials.d.ts","sourceRoot":"","sources":["../src/classicMaterials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOnG,wBAAgB,wBAAwB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,kBAAkB,CAWzG;AAID,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,eAAe,CAOhG;AAID,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAU1F"}
@@ -1,4 +1,4 @@
1
- import { BlinnPhongMaterialKind, LambertMaterialKind, PhongMaterialKind } from '@flighthq/types';
1
+ import { BlinnPhongMaterialKind, LambertMaterialKind, PhongMaterialKind } from '@flighthq/types/contract';
2
2
  import { createSurfaceMaterial } from './surfaceMaterial';
3
3
  // Classic Blinn-Phong material: diffuse plus a half-vector specular lobe. `diffuse`/`specular`
4
4
  // default to white, `shininess` to 32, `normalScale` to 1, all maps to null.
@@ -1 +1 @@
1
- {"version":3,"file":"classicMaterials.js","sourceRoot":"","sources":["../src/classicMaterials.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+FAA+F;AAC/F,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,IAA4C;IACnF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,sBAAsB,EAAE,IAAI,CAAuB,CAAC;IAC3F,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8FAA8F;AAC9F,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,IAAyC;IAC7E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,EAAE,IAAI,CAAoB,CAAC;IACrF,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+FAA+F;AAC/F,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,IAAuC;IACzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,CAAkB,CAAC;IACjF,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"classicMaterials.js","sourceRoot":"","sources":["../src/classicMaterials.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+FAA+F;AAC/F,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,IAA4C;IACnF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,sBAAsB,EAAE,IAAI,CAAuB,CAAC;IAC3F,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8FAA8F;AAC9F,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,IAAyC;IAC7E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,EAAE,IAAI,CAAoB,CAAC;IACrF,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+FAA+F;AAC/F,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,IAAuC;IACzE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,CAAkB,CAAC;IACjF,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,UAAU,CAAC;IAC/C,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;IAC7C,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,UAAU,CAAC;IACjD,QAAQ,CAAC,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ClearcoatPbrExtension } from '@flighthq/types/contract';
2
+ export declare function createClearcoatPbrExtension(opts?: Readonly<Partial<ClearcoatPbrExtension>>): ClearcoatPbrExtension;
3
+ export declare function isValidClearcoatPbrExtension(value: Readonly<ClearcoatPbrExtension>): boolean;
4
+ //# sourceMappingURL=clearcoatPbrExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearcoatPbrExtension.d.ts","sourceRoot":"","sources":["../src/clearcoatPbrExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAMtE,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,CAalH;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAU5F"}
@@ -0,0 +1,28 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ import { ClearcoatPbrExtensionKind } from '@flighthq/types/contract';
3
+ import { isValidMaterialWeight } from './materialValidation';
4
+ import { isValidPbrUvSet } from './pbrExtension';
5
+ export function createClearcoatPbrExtension(opts) {
6
+ return createEntity({
7
+ clearcoat: opts?.clearcoat ?? 0,
8
+ clearcoatMap: opts?.clearcoatMap ?? null,
9
+ clearcoatMapUvSet: opts?.clearcoatMapUvSet ?? 0,
10
+ clearcoatNormalMap: opts?.clearcoatNormalMap ?? null,
11
+ clearcoatNormalMapUvSet: opts?.clearcoatNormalMapUvSet ?? 0,
12
+ clearcoatNormalScale: opts?.clearcoatNormalScale ?? 1,
13
+ clearcoatRoughness: opts?.clearcoatRoughness ?? 0,
14
+ clearcoatRoughnessMap: opts?.clearcoatRoughnessMap ?? null,
15
+ clearcoatRoughnessMapUvSet: opts?.clearcoatRoughnessMapUvSet ?? 0,
16
+ kind: ClearcoatPbrExtensionKind,
17
+ });
18
+ }
19
+ export function isValidClearcoatPbrExtension(value) {
20
+ return (isValidMaterialWeight(value.clearcoat) &&
21
+ isValidMaterialWeight(value.clearcoatRoughness) &&
22
+ Number.isFinite(value.clearcoatNormalScale) &&
23
+ value.clearcoatNormalScale >= 0 &&
24
+ isValidPbrUvSet(value.clearcoatMapUvSet) &&
25
+ isValidPbrUvSet(value.clearcoatNormalMapUvSet) &&
26
+ isValidPbrUvSet(value.clearcoatRoughnessMapUvSet));
27
+ }
28
+ //# sourceMappingURL=clearcoatPbrExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearcoatPbrExtension.js","sourceRoot":"","sources":["../src/clearcoatPbrExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,2BAA2B,CAAC,IAA+C;IACzF,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC;QAC/B,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI;QACxC,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC;QAC/C,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,IAAI;QACpD,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,IAAI,CAAC;QAC3D,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,IAAI,CAAC;QACrD,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,CAAC;QACjD,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,IAAI,IAAI;QAC1D,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,IAAI,CAAC;QACjE,IAAI,EAAE,yBAAyB;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAsC;IACjF,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAC3C,KAAK,CAAC,oBAAoB,IAAI,CAAC;QAC/B,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACxC,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAC9C,eAAe,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAClD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ColorScaleBias, ColorScaleBiasLike } from '@flighthq/types/contract';
2
+ export declare function cloneColorScaleBias(source: Readonly<ColorScaleBiasLike>): ColorScaleBias;
3
+ export declare function concatColorScaleBias(out: ColorScaleBiasLike, source: Readonly<ColorScaleBiasLike>, other: Readonly<ColorScaleBiasLike>): void;
4
+ export declare function copyColorScaleBias(out: ColorScaleBiasLike, source: Readonly<ColorScaleBiasLike>): void;
5
+ export declare function copyColorScaleBiasToArrays(outColorScales: number[], outColorBiases: number[], source: Readonly<ColorScaleBiasLike>): void;
6
+ export declare function createColorScaleBias(opts?: Readonly<Partial<ColorScaleBiasLike>>): ColorScaleBias;
7
+ export declare function equalsColorScaleBias(a: Readonly<ColorScaleBiasLike>, b: Readonly<ColorScaleBiasLike>): boolean;
8
+ export declare function equalsColorScaleBiasBiases(a: Readonly<ColorScaleBiasLike>, b: Readonly<ColorScaleBiasLike>, compareAlpha?: boolean): boolean;
9
+ export declare function equalsColorScaleBiasScales(a: Readonly<ColorScaleBiasLike>, b: Readonly<ColorScaleBiasLike>, compareAlpha?: boolean): boolean;
10
+ export declare function getColorScaleBiasBiasRgb(source: Readonly<ColorScaleBiasLike>): number;
11
+ export declare function getColorScaleBiasBiasRgba(source: Readonly<ColorScaleBiasLike>): number;
12
+ export declare function invertColorScaleBias(out: ColorScaleBiasLike, source: Readonly<ColorScaleBiasLike>): void;
13
+ export declare function isIdentityColorScaleBias(source: Readonly<ColorScaleBiasLike>, compareAlphaScale?: boolean): boolean;
14
+ export declare function setColorScaleBias(out: ColorScaleBiasLike, redScale: number, greenScale: number, blueScale: number, alphaScale: number, redBias: number, greenBias: number, blueBias: number, alphaBias: number): void;
15
+ export declare function setColorScaleBiasBiasRgb(out: ColorScaleBiasLike, value: number): void;
16
+ export declare function setColorScaleBiasBiasRgba(out: ColorScaleBiasLike, value: number): void;
17
+ export declare function setColorScaleBiasIdentity(out: ColorScaleBias): void;
18
+ //# sourceMappingURL=colorScaleBias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorScaleBias.d.ts","sourceRoot":"","sources":["../src/colorScaleBias.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,cAAc,CAExF;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAClC,IAAI,CASN;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAStG;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,IAAI,CASN;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,cAAc,CAWjG;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAE9G;AAED,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAC/B,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAC/B,YAAY,GAAE,OAAc,GAC3B,OAAO,CAOT;AAED,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAC/B,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAC/B,YAAY,GAAE,OAAc,GAC3B,OAAO,CAOT;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAMrF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAOtF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CASxG;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,iBAAiB,GAAE,OAAc,GAChC,OAAO,CAIT;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CASN;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASrF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAStF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,120 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ export function cloneColorScaleBias(source) {
3
+ return createColorScaleBias(source);
4
+ }
5
+ export function concatColorScaleBias(out, source, other) {
6
+ out.redBias = source.redScale * other.redBias + source.redBias;
7
+ out.greenBias = source.greenScale * other.greenBias + source.greenBias;
8
+ out.blueBias = source.blueScale * other.blueBias + source.blueBias;
9
+ out.alphaBias = source.alphaScale * other.alphaBias + source.alphaBias;
10
+ out.redScale = source.redScale * other.redScale;
11
+ out.greenScale = source.greenScale * other.greenScale;
12
+ out.blueScale = source.blueScale * other.blueScale;
13
+ out.alphaScale = source.alphaScale * other.alphaScale;
14
+ }
15
+ export function copyColorScaleBias(out, source) {
16
+ out.redScale = source.redScale;
17
+ out.greenScale = source.greenScale;
18
+ out.blueScale = source.blueScale;
19
+ out.alphaScale = source.alphaScale;
20
+ out.redBias = source.redBias;
21
+ out.greenBias = source.greenBias;
22
+ out.blueBias = source.blueBias;
23
+ out.alphaBias = source.alphaBias;
24
+ }
25
+ export function copyColorScaleBiasToArrays(outColorScales, outColorBiases, source) {
26
+ outColorScales[0] = source.redScale;
27
+ outColorScales[1] = source.greenScale;
28
+ outColorScales[2] = source.blueScale;
29
+ outColorScales[3] = source.alphaScale;
30
+ outColorBiases[0] = source.redBias;
31
+ outColorBiases[1] = source.greenBias;
32
+ outColorBiases[2] = source.blueBias;
33
+ outColorBiases[3] = source.alphaBias;
34
+ }
35
+ export function createColorScaleBias(opts) {
36
+ return createEntity({
37
+ redScale: opts?.redScale ?? 1,
38
+ greenScale: opts?.greenScale ?? 1,
39
+ blueScale: opts?.blueScale ?? 1,
40
+ alphaScale: opts?.alphaScale ?? 1,
41
+ redBias: opts?.redBias ?? 0,
42
+ greenBias: opts?.greenBias ?? 0,
43
+ blueBias: opts?.blueBias ?? 0,
44
+ alphaBias: opts?.alphaBias ?? 0,
45
+ });
46
+ }
47
+ export function equalsColorScaleBias(a, b) {
48
+ return equalsColorScaleBiasBiases(a, b) && equalsColorScaleBiasScales(a, b);
49
+ }
50
+ export function equalsColorScaleBiasBiases(a, b, compareAlpha = true) {
51
+ return (a.redBias === b.redBias &&
52
+ a.greenBias === b.greenBias &&
53
+ a.blueBias === b.blueBias &&
54
+ (!compareAlpha || a.alphaBias === b.alphaBias));
55
+ }
56
+ export function equalsColorScaleBiasScales(a, b, compareAlpha = true) {
57
+ return (a.redScale === b.redScale &&
58
+ a.greenScale === b.greenScale &&
59
+ a.blueScale === b.blueScale &&
60
+ (!compareAlpha || a.alphaScale === b.alphaScale));
61
+ }
62
+ export function getColorScaleBiasBiasRgb(source) {
63
+ return ((Math.round(source.redBias * 255) << 16) |
64
+ (Math.round(source.greenBias * 255) << 8) |
65
+ Math.round(source.blueBias * 255));
66
+ }
67
+ export function getColorScaleBiasBiasRgba(source) {
68
+ return ((Math.round(source.redBias * 255) << 24) |
69
+ (Math.round(source.greenBias * 255) << 16) |
70
+ (Math.round(source.blueBias * 255) << 8) |
71
+ Math.round(source.alphaBias * 255));
72
+ }
73
+ export function invertColorScaleBias(out, source) {
74
+ out.redScale = source.redScale !== 0 ? 1 / source.redScale : 1;
75
+ out.greenScale = source.greenScale !== 0 ? 1 / source.greenScale : 1;
76
+ out.blueScale = source.blueScale !== 0 ? 1 / source.blueScale : 1;
77
+ out.alphaScale = source.alphaScale !== 0 ? 1 / source.alphaScale : 1;
78
+ out.redBias = -source.redBias;
79
+ out.greenBias = -source.greenBias;
80
+ out.blueBias = -source.blueBias;
81
+ out.alphaBias = -source.alphaBias;
82
+ }
83
+ export function isIdentityColorScaleBias(source, compareAlphaScale = true) {
84
+ return (equalsColorScaleBiasBiases(source, _identity) && equalsColorScaleBiasScales(source, _identity, compareAlphaScale));
85
+ }
86
+ export function setColorScaleBias(out, redScale, greenScale, blueScale, alphaScale, redBias, greenBias, blueBias, alphaBias) {
87
+ out.redScale = redScale;
88
+ out.greenScale = greenScale;
89
+ out.blueScale = blueScale;
90
+ out.alphaScale = alphaScale;
91
+ out.redBias = redBias;
92
+ out.greenBias = greenBias;
93
+ out.blueBias = blueBias;
94
+ out.alphaBias = alphaBias;
95
+ }
96
+ export function setColorScaleBiasBiasRgb(out, value) {
97
+ out.redBias = ((value >> 16) & 0xff) / 255;
98
+ out.greenBias = ((value >> 8) & 0xff) / 255;
99
+ out.blueBias = (value & 0xff) / 255;
100
+ out.alphaBias = 0;
101
+ out.redScale = 0;
102
+ out.greenScale = 0;
103
+ out.blueScale = 0;
104
+ out.alphaScale = 1;
105
+ }
106
+ export function setColorScaleBiasBiasRgba(out, value) {
107
+ out.redBias = ((value >> 24) & 0xff) / 255;
108
+ out.greenBias = ((value >> 16) & 0xff) / 255;
109
+ out.blueBias = ((value >> 8) & 0xff) / 255;
110
+ out.alphaBias = (value & 0xff) / 255;
111
+ out.redScale = 0;
112
+ out.greenScale = 0;
113
+ out.blueScale = 0;
114
+ out.alphaScale = 0;
115
+ }
116
+ export function setColorScaleBiasIdentity(out) {
117
+ setColorScaleBias(out, 1, 1, 1, 1, 0, 0, 0, 0);
118
+ }
119
+ const _identity = createColorScaleBias();
120
+ //# sourceMappingURL=colorScaleBias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorScaleBias.js","sourceRoot":"","sources":["../src/colorScaleBias.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export * from './anisotropyPbrExtension';
2
+ export * from './classicMaterials';
3
+ export * from './clearcoatPbrExtension';
4
+ export * from './colorScaleBias';
5
+ export * from './customShaderMaterial';
6
+ export * from './extendedPbrMaterial';
7
+ export * from './iridescencePbrExtension';
8
+ export * from './material';
9
+ export * from './materialPresets';
10
+ export * from './materialValidation';
11
+ export * from './pbrExtension';
12
+ export * from './pbrMaterials';
13
+ export * from './phongToPbr';
14
+ export * from './sheenPbrExtension';
15
+ export * from './specularPbrExtension';
16
+ export * from './surfaceMaterial';
17
+ export * from './standardMaterial';
18
+ export * from './transmissionVolumePbrExtension';
19
+ export * from './unlitMaterials';
20
+ export * from './wrappedDiffusePbrExtension';
21
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,21 @@
1
+ export * from './anisotropyPbrExtension';
2
+ export * from './classicMaterials';
3
+ export * from './clearcoatPbrExtension';
4
+ export * from './colorScaleBias';
5
+ export * from './customShaderMaterial';
6
+ export * from './extendedPbrMaterial';
7
+ export * from './iridescencePbrExtension';
8
+ export * from './material';
9
+ export * from './materialPresets';
10
+ export * from './materialValidation';
11
+ export * from './pbrExtension';
12
+ export * from './pbrMaterials';
13
+ export * from './phongToPbr';
14
+ export * from './sheenPbrExtension';
15
+ export * from './specularPbrExtension';
16
+ export * from './surfaceMaterial';
17
+ export * from './standardMaterial';
18
+ export * from './transmissionVolumePbrExtension';
19
+ export * from './unlitMaterials';
20
+ export * from './wrappedDiffusePbrExtension';
21
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { CustomShaderMaterial } from '@flighthq/types';
1
+ import type { CustomShaderMaterial } from '@flighthq/types/contract';
2
2
  export declare function createCustomShaderMaterial(opts?: Readonly<Partial<CustomShaderMaterial>>): CustomShaderMaterial;
3
3
  //# sourceMappingURL=customShaderMaterial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customShaderMaterial.d.ts","sourceRoot":"","sources":["../src/customShaderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAS5D,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAM/G"}
1
+ {"version":3,"file":"customShaderMaterial.d.ts","sourceRoot":"","sources":["../src/customShaderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AASrE,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAM/G"}
@@ -1,4 +1,4 @@
1
- import { CustomShaderMaterialKind } from '@flighthq/types';
1
+ import { CustomShaderMaterialKind } from '@flighthq/types/contract';
2
2
  import { createSurfaceMaterial } from './surfaceMaterial';
3
3
  // User-authored shader material. `shaderKey` references backend-native source registered on the
4
4
  // render state (registerGlCustomMaterialShader or registerWgpuCustomMaterialShader); `uniforms`
@@ -1 +1 @@
1
- {"version":3,"file":"customShaderMaterial.js","sourceRoot":"","sources":["../src/customShaderMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,gGAAgG;AAChG,gGAAgG;AAChG,gGAAgG;AAChG,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CAAC,IAA8C;IACvF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,IAAI,CAAyB,CAAC;IAC/F,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"customShaderMaterial.js","sourceRoot":"","sources":["../src/customShaderMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,gGAAgG;AAChG,gGAAgG;AAChG,gGAAgG;AAChG,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CAAC,IAA8C;IACvF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,IAAI,CAAyB,CAAC;IAC/F,QAAQ,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExtendedPbrMaterial } from '@flighthq/types/contract';
2
+ export declare function createExtendedPbrMaterial(opts?: Readonly<Partial<ExtendedPbrMaterial>>): ExtendedPbrMaterial;
3
+ //# sourceMappingURL=extendedPbrMaterial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendedPbrMaterial.d.ts","sourceRoot":"","sources":["../src/extendedPbrMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQpE,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAK5G"}
@@ -0,0 +1,12 @@
1
+ import { ExtendedPbrMaterialKind } from '@flighthq/types/contract';
2
+ import { createStandardPbrMaterialProperties } from './pbrMaterials';
3
+ import { createSurfaceMaterial } from './surfaceMaterial';
4
+ // Builds the composable PBR material lane. The ordered extension list is retained by reference so its
5
+ // identity and ordering remain an explicit batching/program-selection fact.
6
+ export function createExtendedPbrMaterial(opts) {
7
+ const material = createSurfaceMaterial(ExtendedPbrMaterialKind, opts);
8
+ material.extensions = opts?.extensions ?? [];
9
+ material.standard = opts?.standard ?? createStandardPbrMaterialProperties();
10
+ return material;
11
+ }
12
+ //# sourceMappingURL=extendedPbrMaterial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendedPbrMaterial.js","sourceRoot":"","sources":["../src/extendedPbrMaterial.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,sGAAsG;AACtG,4EAA4E;AAC5E,MAAM,UAAU,yBAAyB,CAAC,IAA6C;IACrF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,IAAI,CAAwB,CAAC;IAC7F,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,mCAAmC,EAAE,CAAC;IAC5E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,2 @@
1
- export * from './classicMaterials';
2
- export * from './colorTransform';
3
- export * from './customShaderMaterial';
4
- export * from './material';
5
- export * from './materialPresets';
6
- export * from './materialValidation';
7
- export * from './pbrExtensionMaterials';
8
- export * from './pbrMaterials';
9
- export * from './phongToPbr';
10
- export * from './surfaceMaterial';
11
- export * from './unlitMaterials';
1
+ export { clampStandardPbrMaterialProperties, cloneColorScaleBias, cloneMaterial, concatColorScaleBias, convertPhongToStandardPbrMaterial, convertSpecularGlossinessToStandardPbr, copyColorScaleBias, copyColorScaleBiasToArrays, copyMaterial, createAluminumStandardPbrMaterial, createAnisotropyPbrExtension, createBlinnPhongMaterial, createCarbonStandardPbrMaterial, createClearcoatPbrExtension, createColorScaleBias, createCustomShaderMaterial, createDepthMaterial, createEmissiveMaterial, createExtendedPbrMaterial, createGlassExtendedPbrMaterial, createGoldStandardPbrMaterial, createIridescencePbrExtension, createIronStandardPbrMaterial, createLambertMaterial, createMarbleStandardPbrMaterial, createMatcapMaterial, createMaterial, createNormalMaterial, createPhongMaterial, createPlasticStandardPbrMaterial, createRubberStandardPbrMaterial, createSheenPbrExtension, createSilverStandardPbrMaterial, createSkinStandardPbrMaterial, createSpecularPbrExtension, createSpecularGlossinessPbrMaterial, createStandardMaterial, createStandardPbrMaterial, createStandardPbrMaterialProperties, createSurfaceMaterial, createToonMaterial, createTransmissionVolumePbrExtension, createUnlitMaterial, createVertexColorMaterial, createWireframeMaterial, createWoodStandardPbrMaterial, createWrappedDiffusePbrExtension, equalsColorScaleBias, equalsColorScaleBiasBiases, equalsColorScaleBiasScales, equalsMaterial, getColorScaleBiasBiasRgb, getColorScaleBiasBiasRgba, getMaterialOfKind, getPbrMetallicFromPhongSpecular, getPbrRoughnessFromPhongShininess, getPhongToPbrLightExposure, getSurfaceMaterialAlphaMode, invertColorScaleBias, isIdentityColorScaleBias, isSurfaceMaterialBlended, isSurfaceMaterialMasked, isSurfaceMaterialOpaque, isValidAnisotropyPbrExtension, isValidClearcoatPbrExtension, isValidIridescencePbrExtension, isValidMaterialClearcoat, isValidMaterialIor, isValidMaterialIridescenceThickness, isValidMaterialWeight, isValidPbrUvSet, isValidSheenPbrExtension, isValidSpecularPbrExtension, isValidTransmissionVolumePbrExtension, isValidWrappedDiffusePbrExtension, setColorScaleBias, setColorScaleBiasBiasRgb, setColorScaleBiasBiasRgba, setColorScaleBiasIdentity, } from './contract';
12
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,iCAAiC,EACjC,sCAAsC,EACtC,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,uBAAuB,EACvB,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,sBAAsB,EACtB,yBAAyB,EACzB,mCAAmC,EACnC,qBAAqB,EACrB,kBAAkB,EAClB,oCAAoC,EACpC,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,mCAAmC,EACnC,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,iCAAiC,EACjC,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,2 @@
1
- export * from './classicMaterials';
2
- export * from './colorTransform';
3
- export * from './customShaderMaterial';
4
- export * from './material';
5
- export * from './materialPresets';
6
- export * from './materialValidation';
7
- export * from './pbrExtensionMaterials';
8
- export * from './pbrMaterials';
9
- export * from './phongToPbr';
10
- export * from './surfaceMaterial';
11
- export * from './unlitMaterials';
1
+ export { clampStandardPbrMaterialProperties, cloneColorScaleBias, cloneMaterial, concatColorScaleBias, convertPhongToStandardPbrMaterial, convertSpecularGlossinessToStandardPbr, copyColorScaleBias, copyColorScaleBiasToArrays, copyMaterial, createAluminumStandardPbrMaterial, createAnisotropyPbrExtension, createBlinnPhongMaterial, createCarbonStandardPbrMaterial, createClearcoatPbrExtension, createColorScaleBias, createCustomShaderMaterial, createDepthMaterial, createEmissiveMaterial, createExtendedPbrMaterial, createGlassExtendedPbrMaterial, createGoldStandardPbrMaterial, createIridescencePbrExtension, createIronStandardPbrMaterial, createLambertMaterial, createMarbleStandardPbrMaterial, createMatcapMaterial, createMaterial, createNormalMaterial, createPhongMaterial, createPlasticStandardPbrMaterial, createRubberStandardPbrMaterial, createSheenPbrExtension, createSilverStandardPbrMaterial, createSkinStandardPbrMaterial, createSpecularPbrExtension, createSpecularGlossinessPbrMaterial, createStandardMaterial, createStandardPbrMaterial, createStandardPbrMaterialProperties, createSurfaceMaterial, createToonMaterial, createTransmissionVolumePbrExtension, createUnlitMaterial, createVertexColorMaterial, createWireframeMaterial, createWoodStandardPbrMaterial, createWrappedDiffusePbrExtension, equalsColorScaleBias, equalsColorScaleBiasBiases, equalsColorScaleBiasScales, equalsMaterial, getColorScaleBiasBiasRgb, getColorScaleBiasBiasRgba, getMaterialOfKind, getPbrMetallicFromPhongSpecular, getPbrRoughnessFromPhongShininess, getPhongToPbrLightExposure, getSurfaceMaterialAlphaMode, invertColorScaleBias, isIdentityColorScaleBias, isSurfaceMaterialBlended, isSurfaceMaterialMasked, isSurfaceMaterialOpaque, isValidAnisotropyPbrExtension, isValidClearcoatPbrExtension, isValidIridescencePbrExtension, isValidMaterialClearcoat, isValidMaterialIor, isValidMaterialIridescenceThickness, isValidMaterialWeight, isValidPbrUvSet, isValidSheenPbrExtension, isValidSpecularPbrExtension, isValidTransmissionVolumePbrExtension, isValidWrappedDiffusePbrExtension, setColorScaleBias, setColorScaleBiasBiasRgb, setColorScaleBiasBiasRgba, setColorScaleBiasIdentity, } from './contract';
12
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,iCAAiC,EACjC,sCAAsC,EACtC,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,iCAAiC,EACjC,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,uBAAuB,EACvB,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,mCAAmC,EACnC,sBAAsB,EACtB,yBAAyB,EACzB,mCAAmC,EACnC,qBAAqB,EACrB,kBAAkB,EAClB,oCAAoC,EACpC,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,mCAAmC,EACnC,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,iCAAiC,EACjC,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IridescencePbrExtension } from '@flighthq/types/contract';
2
+ export declare function createIridescencePbrExtension(opts?: Readonly<Partial<IridescencePbrExtension>>): IridescencePbrExtension;
3
+ export declare function isValidIridescencePbrExtension(value: Readonly<IridescencePbrExtension>): boolean;
4
+ //# sourceMappingURL=iridescencePbrExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iridescencePbrExtension.d.ts","sourceRoot":"","sources":["../src/iridescencePbrExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAMxE,wBAAgB,6BAA6B,CAC3C,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAChD,uBAAuB,CAYzB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAUhG"}
@@ -0,0 +1,27 @@
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ import { IridescencePbrExtensionKind } from '@flighthq/types/contract';
3
+ import { isValidMaterialIor, isValidMaterialIridescenceThickness, isValidMaterialWeight } from './materialValidation';
4
+ import { isValidPbrUvSet } from './pbrExtension';
5
+ export function createIridescencePbrExtension(opts) {
6
+ return createEntity({
7
+ iridescence: opts?.iridescence ?? 0,
8
+ iridescenceIor: opts?.iridescenceIor ?? 1.3,
9
+ iridescenceMap: opts?.iridescenceMap ?? null,
10
+ iridescenceMapUvSet: opts?.iridescenceMapUvSet ?? 0,
11
+ iridescenceThicknessMap: opts?.iridescenceThicknessMap ?? null,
12
+ iridescenceThicknessMapUvSet: opts?.iridescenceThicknessMapUvSet ?? 0,
13
+ iridescenceThicknessMax: opts?.iridescenceThicknessMax ?? 400,
14
+ iridescenceThicknessMin: opts?.iridescenceThicknessMin ?? 100,
15
+ kind: IridescencePbrExtensionKind,
16
+ });
17
+ }
18
+ export function isValidIridescencePbrExtension(value) {
19
+ return (isValidMaterialWeight(value.iridescence) &&
20
+ isValidMaterialIor(value.iridescenceIor) &&
21
+ isValidMaterialIridescenceThickness(value.iridescenceThicknessMin) &&
22
+ isValidMaterialIridescenceThickness(value.iridescenceThicknessMax) &&
23
+ value.iridescenceThicknessMin <= value.iridescenceThicknessMax &&
24
+ isValidPbrUvSet(value.iridescenceMapUvSet) &&
25
+ isValidPbrUvSet(value.iridescenceThicknessMapUvSet));
26
+ }
27
+ //# sourceMappingURL=iridescencePbrExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iridescencePbrExtension.js","sourceRoot":"","sources":["../src/iridescencePbrExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,6BAA6B,CAC3C,IAAiD;IAEjD,OAAO,YAAY,CAAC;QAClB,WAAW,EAAE,IAAI,EAAE,WAAW,IAAI,CAAC;QACnC,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,GAAG;QAC3C,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI;QAC5C,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC;QACnD,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,IAAI,IAAI;QAC9D,4BAA4B,EAAE,IAAI,EAAE,4BAA4B,IAAI,CAAC;QACrE,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,IAAI,GAAG;QAC7D,uBAAuB,EAAE,IAAI,EAAE,uBAAuB,IAAI,GAAG;QAC7D,IAAI,EAAE,2BAA2B;KAClC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAwC;IACrF,OAAO,CACL,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC;QACxC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC;QACxC,mCAAmC,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAClE,mCAAmC,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAClE,KAAK,CAAC,uBAAuB,IAAI,KAAK,CAAC,uBAAuB;QAC9D,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC1C,eAAe,CAAC,KAAK,CAAC,4BAA4B,CAAC,CACpD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Kind, Material } from '@flighthq/types';
1
+ import type { Kind, Material } from '@flighthq/types/contract';
2
2
  export declare function cloneMaterial(source: Readonly<Material>): Material;
3
3
  export declare function copyMaterial(out: Material, source: Readonly<Material>): void;
4
4
  export declare function createMaterial(kind: Kind): Material;
@@ -1 +1 @@
1
- {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../src/material.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAItD,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAIlE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAG5E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAInD;AAKD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAUpF;AAOD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAE/G"}
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../src/material.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAI/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAIlE;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAG5E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAInD;AAKD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAUpF;AAOD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAE/G"}
package/dist/material.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity';
1
+ import { createEntity } from '@flighthq/entity/contract';
2
2
  // Structural shallow clone of any material entity. Scalar fields and kind are copied by
3
3
  // value; Texture/map handle references are shared (they are not owned by the material).
4
4
  export function cloneMaterial(source) {
@@ -1 +1 @@
1
- {"version":3,"file":"material.js","sourceRoot":"","sources":["../src/material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,wFAAwF;AACxF,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAa,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wFAAwF;AACxF,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,MAA0B;IACpE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO;IAC3B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,CAAa,CAAC;IACpD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wFAAwF;AACxF,2FAA2F;AAC3F,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,CAAqB,EAAE,CAAqB;IACzE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,CAAuC,CAAC;IACxD,MAAM,OAAO,GAAG,CAAuC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,oGAAoG;AACpG,sGAAsG;AACtG,sGAAsG;AACtG,sDAAsD;AACtD,MAAM,UAAU,iBAAiB,CAAqB,QAAmC,EAAE,IAAU;IACnG,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,QAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,uFAAuF;AACvF,4FAA4F;AAC5F,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,GAAa,EAAE,GAAuB,EAAE,IAAU;IAC5E,MAAM,SAAS,GAAG,GAAyC,CAAC;IAC5D,MAAM,SAAS,GAAG,GAAyC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrE,uFAAuF;YACvF,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAI,KAAgB,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"material.js","sourceRoot":"","sources":["../src/material.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,wFAAwF;AACxF,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,MAA0B;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAa,CAAC;IAC9D,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wFAAwF;AACxF,0FAA0F;AAC1F,MAAM,UAAU,YAAY,CAAC,GAAa,EAAE,MAA0B;IACpE,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO;IAC3B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,CAAa,CAAC;IACpD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wFAAwF;AACxF,2FAA2F;AAC3F,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,CAAqB,EAAE,CAAqB;IACzE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,CAAuC,CAAC;IACxD,MAAM,OAAO,GAAG,CAAuC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,oGAAoG;AACpG,sGAAsG;AACtG,sGAAsG;AACtG,sDAAsD;AACtD,MAAM,UAAU,iBAAiB,CAAqB,QAAmC,EAAE,IAAU;IACnG,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,QAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,uFAAuF;AACvF,4FAA4F;AAC5F,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,GAAa,EAAE,GAAuB,EAAE,IAAU;IAC5E,MAAM,SAAS,GAAG,GAAyC,CAAC;IAC5D,MAAM,SAAS,GAAG,GAAyC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,GAAG,KAAK,MAAM;YAAE,SAAS;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrE,uFAAuF;YACvF,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAI,KAAgB,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC3B,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { StandardPbrMaterial, TransmissionVolumePbrMaterial } from '@flighthq/types';
1
+ import type { ExtendedPbrMaterial, GlassExtendedPbrMaterialOptions, StandardPbrMaterial } from '@flighthq/types/contract';
2
2
  export declare function createAluminumStandardPbrMaterial(opts?: Readonly<Partial<StandardPbrMaterial>>): StandardPbrMaterial;
3
3
  export declare function createCarbonStandardPbrMaterial(opts?: Readonly<Partial<StandardPbrMaterial>>): StandardPbrMaterial;
4
- export declare function createGlassTransmissionVolumePbrMaterial(opts?: Readonly<Partial<TransmissionVolumePbrMaterial>>): TransmissionVolumePbrMaterial;
4
+ export declare function createGlassExtendedPbrMaterial(opts?: Readonly<GlassExtendedPbrMaterialOptions>): ExtendedPbrMaterial;
5
5
  export declare function createGoldStandardPbrMaterial(opts?: Readonly<Partial<StandardPbrMaterial>>): StandardPbrMaterial;
6
6
  export declare function createIronStandardPbrMaterial(opts?: Readonly<Partial<StandardPbrMaterial>>): StandardPbrMaterial;
7
7
  export declare function createMarbleStandardPbrMaterial(opts?: Readonly<Partial<StandardPbrMaterial>>): StandardPbrMaterial;
@@ -1 +1 @@
1
- {"version":3,"file":"materialPresets.d.ts","sourceRoot":"","sources":["../src/materialPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAc1F,wBAAgB,iCAAiC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOpH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,wCAAwC,CACtD,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GACtD,6BAA6B,CAM/B;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,gCAAgC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOnH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH"}
1
+ {"version":3,"file":"materialPresets.d.ts","sourceRoot":"","sources":["../src/materialPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,+BAA+B,EAC/B,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAelC,wBAAgB,iCAAiC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOpH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,mBAAmB,CAiBpH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,gCAAgC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOnH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOlH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,mBAAmB,CAOhH"}
@@ -1,8 +1,9 @@
1
- import { createTransmissionVolumePbrMaterial } from './pbrExtensionMaterials';
2
- import { createStandardPbrMaterial } from './pbrMaterials';
1
+ import { createExtendedPbrMaterial } from './extendedPbrMaterial';
2
+ import { createStandardPbrMaterial, createStandardPbrMaterialProperties } from './pbrMaterials';
3
+ import { createTransmissionVolumePbrExtension } from './transmissionVolumePbrExtension';
3
4
  // Named presets for common real-world materials using glTF metallic-roughness PBR values.
4
- // These are thin wrappers over `createStandardPbrMaterial` / `createTransmissionVolumePbrMaterial`
5
- // with canonical default parameters. Each function is individually tree-shakable.
5
+ // These are thin assemblies of standard property blocks, surface materials, and extension
6
+ // descriptors with canonical default parameters. Each function is individually tree-shakable.
6
7
  //
7
8
  // IOR and specular-tint values follow the glTF PBR extensions specification and standard
8
9
  // material-science references (BRDF Explorer, Substance Painter's material presets, etc.).
@@ -26,13 +27,24 @@ export function createCarbonStandardPbrMaterial(opts) {
26
27
  ...opts,
27
28
  });
28
29
  }
29
- // Clear glass preset (use with TransmissionVolumePbrMaterial for transmission).
30
- // Metallic: 0 · roughness: 0.0 · IOR: 1.5 · transmission: 1 · baseColor: white.
31
- export function createGlassTransmissionVolumePbrMaterial(opts) {
32
- return createTransmissionVolumePbrMaterial({
33
- ior: 1.5,
34
- transmission: 1,
30
+ // Clear glass preset composed from a standard metallic-roughness property block and a transmission
31
+ // volume descriptor. Metallic: 0 · roughness: 0 · IOR: 1.5 · transmission: 1 · baseColor: white.
32
+ export function createGlassExtendedPbrMaterial(opts) {
33
+ return createExtendedPbrMaterial({
35
34
  ...opts,
35
+ extensions: [
36
+ createTransmissionVolumePbrExtension({
37
+ ior: 1.5,
38
+ transmission: 1,
39
+ ...opts?.transmissionVolume,
40
+ }),
41
+ ],
42
+ standard: createStandardPbrMaterialProperties({
43
+ baseColor: 0xffffffff,
44
+ metallic: 0,
45
+ roughness: 0,
46
+ ...opts?.standard,
47
+ }),
36
48
  });
37
49
  }
38
50
  // Gold: fully metallic, moderate roughness, warm saturated base color.
@@ -1 +1 @@
1
- {"version":3,"file":"materialPresets.js","sourceRoot":"","sources":["../src/materialPresets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialPresets.js","sourceRoot":"","sources":["../src/materialPresets.ts"],"names":[],"mappings":"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"}