@luma.gl/shaders 10.0.0-alpha.7 → 10.0.0-alpha.9

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 (86) hide show
  1. package/dist/dist.dev.js +233 -249
  2. package/dist/dist.min.js +124 -124
  3. package/dist/glsl.cjs.map +2 -2
  4. package/dist/index.cjs.map +3 -3
  5. package/dist/index.d.ts +3 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/shader-assembler-base.cjs +3 -4
  9. package/dist/lib/shader-assembler-base.d.ts +4 -5
  10. package/dist/lib/shader-assembler-base.d.ts.map +1 -1
  11. package/dist/lib/shader-assembler-base.js +3 -4
  12. package/dist/lib/shader-assembler-base.js.map +1 -1
  13. package/dist/lib/shader-assembly/assemble-glsl-shaders.cjs +6 -17
  14. package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts +5 -4
  15. package/dist/lib/shader-assembly/assemble-glsl-shaders.d.ts.map +1 -1
  16. package/dist/lib/shader-assembly/assemble-glsl-shaders.js +14 -19
  17. package/dist/lib/shader-assembly/assemble-glsl-shaders.js.map +1 -1
  18. package/dist/lib/shader-assembly/assemble-wgsl-shaders.cjs +6 -25
  19. package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts +5 -6
  20. package/dist/lib/shader-assembly/assemble-wgsl-shaders.d.ts.map +1 -1
  21. package/dist/lib/shader-assembly/assemble-wgsl-shaders.js +14 -27
  22. package/dist/lib/shader-assembly/assemble-wgsl-shaders.js.map +1 -1
  23. package/dist/lib/shader-assembly/shader-assembly-shared.d.ts +2 -2
  24. package/dist/lib/shader-assembly/shader-assembly-shared.d.ts.map +1 -1
  25. package/dist/lib/shader-assembly/shader-assembly-shared.js.map +1 -1
  26. package/dist/lib/shader-assembly/shader-assembly-types.d.ts +11 -7
  27. package/dist/lib/shader-assembly/shader-assembly-types.d.ts.map +1 -1
  28. package/dist/lib/shader-assembly/shader-hooks.cjs +26 -29
  29. package/dist/lib/shader-assembly/shader-hooks.d.ts +34 -32
  30. package/dist/lib/shader-assembly/shader-hooks.d.ts.map +1 -1
  31. package/dist/lib/shader-assembly/shader-hooks.js +29 -33
  32. package/dist/lib/shader-assembly/shader-hooks.js.map +1 -1
  33. package/dist/lib/shader-assembly/shader-injections.cjs +26 -2
  34. package/dist/lib/shader-assembly/shader-injections.d.ts +20 -7
  35. package/dist/lib/shader-assembly/shader-injections.d.ts.map +1 -1
  36. package/dist/lib/shader-assembly/shader-injections.js +24 -0
  37. package/dist/lib/shader-assembly/shader-injections.js.map +1 -1
  38. package/dist/lib/shader-module/shader-module.cjs +3 -9
  39. package/dist/lib/shader-module/shader-module.d.ts +4 -8
  40. package/dist/lib/shader-module/shader-module.d.ts.map +1 -1
  41. package/dist/lib/shader-module/shader-module.js +3 -6
  42. package/dist/lib/shader-module/shader-module.js.map +1 -1
  43. package/dist/lib/shader-plugin.cjs +38 -17
  44. package/dist/lib/shader-plugin.d.ts +9 -17
  45. package/dist/lib/shader-plugin.d.ts.map +1 -1
  46. package/dist/lib/shader-plugin.js +43 -16
  47. package/dist/lib/shader-plugin.js.map +1 -1
  48. package/dist/modules/engine/clip/clip.cjs +4 -2
  49. package/dist/modules/engine/clip/clip.d.ts.map +1 -1
  50. package/dist/modules/engine/clip/clip.js +4 -2
  51. package/dist/modules/engine/clip/clip.js.map +1 -1
  52. package/dist/modules/engine/filter/filter.cjs +2 -1
  53. package/dist/modules/engine/filter/filter.d.ts.map +1 -1
  54. package/dist/modules/engine/filter/filter.js +2 -1
  55. package/dist/modules/engine/filter/filter.js.map +1 -1
  56. package/dist/modules/lighting/lights/lighting.d.ts +1 -1
  57. package/dist/modules/lighting/lights/lighting.d.ts.map +1 -1
  58. package/dist/modules/lighting/pbr-material/pbr-material-glsl.cjs +2 -2
  59. package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts +1 -1
  60. package/dist/modules/lighting/pbr-material/pbr-material-glsl.d.ts.map +1 -1
  61. package/dist/modules/lighting/pbr-material/pbr-material-glsl.js +2 -2
  62. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.cjs +2 -2
  63. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts +1 -1
  64. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.d.ts.map +1 -1
  65. package/dist/modules/lighting/pbr-material/pbr-material-wgsl.js +2 -2
  66. package/dist/modules/lighting/pbr-material/pbr-material.d.ts +2 -2
  67. package/dist/types/texture-formats.d.ts +1 -1
  68. package/dist/types/texture-formats.d.ts.map +1 -1
  69. package/dist/wgsl.cjs.map +2 -2
  70. package/package.json +3 -3
  71. package/src/index.ts +5 -4
  72. package/src/lib/shader-assembler-base.ts +5 -6
  73. package/src/lib/shader-assembly/assemble-glsl-shaders.ts +27 -26
  74. package/src/lib/shader-assembly/assemble-wgsl-shaders.ts +28 -43
  75. package/src/lib/shader-assembly/shader-assembly-shared.ts +5 -5
  76. package/src/lib/shader-assembly/shader-assembly-types.ts +11 -7
  77. package/src/lib/shader-assembly/shader-hooks.ts +65 -68
  78. package/src/lib/shader-assembly/shader-injections.ts +52 -8
  79. package/src/lib/shader-module/shader-module.ts +7 -14
  80. package/src/lib/shader-plugin.ts +59 -48
  81. package/src/modules/engine/clip/clip.ts +4 -2
  82. package/src/modules/engine/filter/filter.ts +2 -1
  83. package/src/modules/lighting/lights/lighting.ts +1 -1
  84. package/src/modules/lighting/pbr-material/pbr-material-glsl.ts +2 -2
  85. package/src/modules/lighting/pbr-material/pbr-material-wgsl.ts +2 -2
  86. package/src/types/texture-formats.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"shader-injections.js","sourceRoot":"","sources":["../../../src/lib/shader-assembly/shader-injections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader-injections.js","sourceRoot":"","sources":["../../../src/lib/shader-assembly/shader-injections.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,6 @@ __export(shader_module_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(shader_module_exports);
26
26
  var import_prop_types = require("../filters/prop-types.cjs");
27
- var import_shader_injections = require("../shader-assembly/shader-injections.cjs");
28
27
  function initializeShaderModules(modules) {
29
28
  modules.map((module2) => initializeShaderModule(module2));
30
29
  }
@@ -33,15 +32,10 @@ function initializeShaderModule(module2) {
33
32
  return;
34
33
  }
35
34
  initializeShaderModules(module2.dependencies || []);
36
- const {
37
- propTypes = {},
38
- deprecations = [],
39
- // defines = {},
40
- inject = {}
41
- } = module2;
35
+ const { propTypes = {}, deprecations = [] } = module2;
42
36
  const instance = {
43
- normalizedInjections: (0, import_shader_injections.normalizeInjections)(inject),
44
- parsedDeprecations: parseDeprecationDefinitions(deprecations)
37
+ parsedDeprecations: parseDeprecationDefinitions(deprecations),
38
+ normalizedInjections: { vertex: {}, fragment: {} }
45
39
  };
46
40
  if (propTypes) {
47
41
  instance.propValidators = (0, import_prop_types.makePropValidators)(propTypes);
@@ -1,7 +1,7 @@
1
1
  import { UniformFormat } from "../../types.js";
2
2
  import { PropType, PropValidator } from "../filters/prop-types.js";
3
3
  import type { ShaderModuleUniformValue, UniformTypes, UniformValue } from "../utils/uniform-types.js";
4
- import { ShaderInjection } from "../shader-assembly/shader-injections.js";
4
+ import type { ResolvedShaderInjection } from "../shader-assembly/shader-injections.js";
5
5
  import type { ShaderBinding as Binding } from "../../types.js";
6
6
  export type UniformInfo = {
7
7
  format?: UniformFormat;
@@ -63,11 +63,6 @@ export type ShaderModule<PropsT extends Record<string, any> = Record<string, any
63
63
  getUniforms?: (props: Partial<PropsT>, prevUniforms?: UniformsT) => Partial<UniformsT & BindingsT>;
64
64
  /** Boolean or numeric preprocessor defines contributed by this shader module. */
65
65
  defines?: Record<string, boolean | number>;
66
- /** Injections */
67
- inject?: Record<string, string | {
68
- injection: string;
69
- order: number;
70
- }>;
71
66
  dependencies?: ShaderModule<any, any>[];
72
67
  /** Information on deprecated properties */
73
68
  deprecations?: ShaderModuleDeprecation[];
@@ -75,9 +70,10 @@ export type ShaderModule<PropsT extends Record<string, any> = Record<string, any
75
70
  instance?: {
76
71
  propValidators?: Record<string, PropValidator>;
77
72
  parsedDeprecations: ShaderModuleDeprecation[];
73
+ /** Empty compatibility value for consumers using older shadertools assembly. */
78
74
  normalizedInjections: {
79
- vertex: Record<string, ShaderInjection>;
80
- fragment: Record<string, ShaderInjection>;
75
+ vertex: Record<string, ResolvedShaderInjection>;
76
+ fragment: Record<string, ResolvedShaderInjection>;
81
77
  };
82
78
  };
83
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader-module.d.ts","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
4
  import { makePropValidators, getValidatedProperties } from "../filters/prop-types.js";
5
- import { normalizeInjections } from "../shader-assembly/shader-injections.js";
6
5
  // SHNDER MODULE API
7
6
  export function initializeShaderModules(modules) {
8
7
  modules.map((module) => initializeShaderModule(module));
@@ -12,12 +11,10 @@ export function initializeShaderModule(module) {
12
11
  return;
13
12
  }
14
13
  initializeShaderModules(module.dependencies || []);
15
- const { propTypes = {}, deprecations = [],
16
- // defines = {},
17
- inject = {} } = module;
14
+ const { propTypes = {}, deprecations = [] } = module;
18
15
  const instance = {
19
- normalizedInjections: normalizeInjections(inject),
20
- parsedDeprecations: parseDeprecationDefinitions(deprecations)
16
+ parsedDeprecations: parseDeprecationDefinitions(deprecations),
17
+ normalizedInjections: { vertex: {}, fragment: {} }
21
18
  };
22
19
  if (propTypes) {
23
20
  instance.propValidators = makePropValidators(propTypes);
@@ -1 +1 @@
1
- {"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader-module.js","sourceRoot":"","sources":["../../../src/lib/shader-module/shader-module.ts"],"names":[],"mappings":"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"}
@@ -21,11 +21,12 @@ __export(shader_plugin_exports, {
21
21
  resolveShaderPlugins: () => resolveShaderPlugins
22
22
  });
23
23
  module.exports = __toCommonJS(shader_plugin_exports);
24
+ var import_shader_injections = require("./shader-assembly/shader-injections.cjs");
24
25
  var import_types = require("../types.cjs");
25
- const SHADER_PLUGIN_INJECTION_TARGET_REGEX = /^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;
26
26
  function resolveShaderPlugins(plugins = [], shaderLanguage) {
27
27
  const resolved = {
28
28
  modules: [],
29
+ hooks: [],
29
30
  defines: {},
30
31
  injections: {},
31
32
  vertexInputs: {},
@@ -89,20 +90,41 @@ function appendShaderPlugin(resolved, plugin, shaderLanguage) {
89
90
  }
90
91
  resolved.interStageVariables[name] = normalizedVarying;
91
92
  }
92
- for (const injection of plugin.injections || []) {
93
- const source = injection[shaderLanguage];
94
- if (source === void 0)
93
+ for (const hook of plugin.hooks || []) {
94
+ const implementation = hook[shaderLanguage];
95
+ if (!implementation)
95
96
  continue;
96
- assertNamedShaderPluginInjectionTarget(injection.target);
97
- if (!resolved.injections[injection.target]) {
98
- resolved.injections[injection.target] = [];
97
+ const target = `${hook.stage === "vertex" ? "vs" : "fs"}:${hook.name}`;
98
+ if (!/^(vs|fs):[A-Za-z_][A-Za-z0-9_]*$/.test(target)) {
99
+ throw new Error(`Invalid ShaderPlugin hook ${target}`);
99
100
  }
100
- const injections = resolved.injections[injection.target];
101
- injections.push({
102
- pluginName: plugin.name,
103
- injection: source,
104
- order: injection.order ?? 0
105
- });
101
+ const existing = resolved.hooks.find((value) => value.stage === hook.stage && value.name === hook.name);
102
+ const previous = existing == null ? void 0 : existing[shaderLanguage];
103
+ if (previous && (previous.parameters !== implementation.parameters || (previous.returnType || "void") !== (implementation.returnType || "void") || previous.header !== implementation.header || previous.footer !== implementation.footer)) {
104
+ throw new Error(`Conflicting ShaderPlugin hook ${target}`);
105
+ }
106
+ if (!existing)
107
+ resolved.hooks.push({ name: hook.name, stage: hook.stage, [shaderLanguage]: implementation });
108
+ }
109
+ const pluginInjections = Array.isArray(plugin.injections) ? plugin.injections : Object.entries(plugin.injections || {}).flatMap(([key, source]) => {
110
+ const target = selectShaderLanguage(key, shaderLanguage);
111
+ if (target === void 0)
112
+ return [];
113
+ const [stage, ...name] = target.split(":");
114
+ if (stage !== "vs" && stage !== "fs")
115
+ throw new Error(`Invalid ShaderPlugin injection ${key}`);
116
+ return [
117
+ {
118
+ stage: stage === "vs" ? "vertex" : "fragment",
119
+ target: name.join(":"),
120
+ [shaderLanguage]: source
121
+ }
122
+ ];
123
+ });
124
+ const selectedInjections = (0, import_shader_injections.resolveShaderInjections)(pluginInjections, shaderLanguage, plugin.name);
125
+ for (const [target, injections] of Object.entries(selectedInjections)) {
126
+ resolved.injections[target] ||= [];
127
+ resolved.injections[target].push(...injections);
106
128
  }
107
129
  }
108
130
  function assertShaderPluginInterfaceName(name, kind) {
@@ -119,10 +141,9 @@ function normalizeShaderPluginInterStageVariable(name, varying) {
119
141
  }
120
142
  return { type: varying.type, interpolation };
121
143
  }
122
- function assertNamedShaderPluginInjectionTarget(target) {
123
- if (!SHADER_PLUGIN_INJECTION_TARGET_REGEX.test(target)) {
124
- throw new Error(`ShaderPlugin injection target "${target}" must be a named shader anchor or hook`);
125
- }
144
+ function selectShaderLanguage(value, language) {
145
+ const match = /^(glsl|wgsl):([\s\S]+)$/.exec(value);
146
+ return match ? match[1] === language ? match[2] : void 0 : value;
126
147
  }
127
148
  // Annotate the CommonJS export names for ESM import in node:
128
149
  0 && (module.exports = {
@@ -1,19 +1,7 @@
1
- import type { ShaderInjection } from "./shader-assembly/shader-injections.js";
1
+ import type { ShaderHook } from "./shader-assembly/shader-hooks.js";
2
+ import { type ShaderInjection, type ResolvedShaderInjection } from "./shader-assembly/shader-injections.js";
2
3
  import type { ShaderModule } from "./shader-module/shader-module.js";
3
4
  import { type AttributeShaderType } from "../types.js";
4
- /** Named shader anchor or hook target accepted by ShaderPlugin injections. */
5
- export type ShaderPluginInjectionTarget = 'vs:#decl' | 'vs:#main-start' | 'vs:#main-end' | 'fs:#decl' | 'fs:#main-start' | 'fs:#main-end' | `vs:${string}` | `fs:${string}`;
6
- /** Named shader source injection contributed by a ShaderPlugin. */
7
- export type ShaderPluginInjection = {
8
- /** Named shader anchor or hook that receives this source. */
9
- target: ShaderPluginInjectionTarget;
10
- /** GLSL source for this target. Omit to skip this injection when assembling GLSL. */
11
- glsl?: string;
12
- /** WGSL source for this target. Omit to skip this injection when assembling WGSL. */
13
- wgsl?: string;
14
- /** Relative injection order within the target. */
15
- order?: number;
16
- };
17
5
  /** Portable interpolation modes for ShaderPlugin inter-stage variables. */
18
6
  export type ShaderPluginInterStageVariableInterpolation = 'smooth' | 'flat';
19
7
  /** Cross-stage value contributed by a ShaderPlugin. */
@@ -36,8 +24,10 @@ export type ShaderPlugin = {
36
24
  module?: ShaderModule<any, any, any>;
37
25
  /** Boolean or numeric preprocessor defines added to shader assembly. */
38
26
  defines?: Record<string, boolean | number>;
39
- /** Named code injections added to shader assembly. */
40
- injections?: ShaderPluginInjection[];
27
+ /** Named injections as explicit-stage objects or optionally language-qualified string keys. */
28
+ injections?: ShaderInjection[] | Record<string, string>;
29
+ /** Callable extension points with a shared name and language-specific source. */
30
+ hooks?: ShaderHook[];
41
31
  /** Shader-facing vertex inputs added by this plugin. Buffer ownership remains with the caller. */
42
32
  vertexInputs?: Record<string, AttributeShaderType>;
43
33
  /** Values transported from the selected vertex entry point to the fragment entry point. */
@@ -47,10 +37,12 @@ export type ShaderPlugin = {
47
37
  export type ResolvedShaderPlugins = {
48
38
  /** Resolved shader modules in plugin declaration order. */
49
39
  modules: ShaderModule[];
40
+ /** Language-selected hook declarations. */
41
+ hooks: ShaderHook[];
50
42
  /** Resolved boolean or numeric preprocessor defines. */
51
43
  defines: Record<string, boolean | number>;
52
44
  /** Resolved named code injections grouped by target. */
53
- injections: Record<string, ShaderInjection[]>;
45
+ injections: Record<string, ResolvedShaderInjection[]>;
54
46
  /** Resolved shader-facing vertex inputs in plugin declaration order. */
55
47
  vertexInputs: Record<string, AttributeShaderType>;
56
48
  /** Resolved inter-stage variables in plugin declaration order. */
@@ -1 +1 @@
1
- {"version":3,"file":"shader-plugin.d.ts","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,+CAA4C;AACzE,OAAO,KAAK,EAAC,YAAY,EAAC,yCAAsC;AAChE,OAAO,EAAoB,KAAK,mBAAmB,EAAC,oBAAiB;AAErE,8EAA8E;AAC9E,MAAM,MAAM,2BAA2B,GACnC,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,MAAM,MAAM,EAAE,GACd,MAAM,MAAM,EAAE,CAAC;AAEnB,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,6DAA6D;IAC7D,MAAM,EAAE,2BAA2B,CAAC;IACpC,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,2CAA2C,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5E,uDAAuD;AACvD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,6CAA6C;IAC7C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,2CAA2C,CAAC;CAC7D,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,aAAa,EAAE,2CAA2C,CAAC;CAC5D,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,sDAAsD;IACtD,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACnD,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;CACtE,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,2DAA2D;IAC3D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC1C,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9C,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClD,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;CAC7E,CAAC;AAKF,qFAAqF;AACrF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,YAAY,EAAE,YAAK,EACrC,cAAc,EAAE,MAAM,GAAG,MAAM,GAC9B,qBAAqB,CAqBvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,SAAS,YAAY,EAAO,EACrC,aAAa,GAAE,SAAS,YAAY,EAAO,EAC3C,OAAO,GAAE;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;CAAM,GACjG,YAAY,EAAE,CAqBhB"}
1
+ {"version":3,"file":"shader-plugin.d.ts","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,0CAAuC;AAC/D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,+CAA4C;AAC7C,OAAO,KAAK,EAAC,YAAY,EAAC,yCAAsC;AAChE,OAAO,EAAoB,KAAK,mBAAmB,EAAC,oBAAiB;AAErE,2EAA2E;AAC3E,MAAM,MAAM,2CAA2C,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE5E,uDAAuD;AACvD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,6CAA6C;IAC7C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,2CAA2C,CAAC;CAC7D,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,aAAa,EAAE,2CAA2C,CAAC;CAC5D,CAAC;AAEF,oGAAoG;AACpG,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,+FAA+F;IAC/F,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,iFAAiF;IACjF,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACnD,2FAA2F;IAC3F,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;CACtE,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,2DAA2D;IAC3D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2CAA2C;IAC3C,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC1C,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACtD,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClD,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;CAC7E,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,YAAY,EAAE,YAAK,EACrC,cAAc,EAAE,MAAM,GAAG,MAAM,GAC9B,qBAAqB,CAsBvB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,SAAS,YAAY,EAAO,EACrC,aAAa,GAAE,SAAS,YAAY,EAAO,EAC3C,OAAO,GAAE;IAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;CAAM,GACjG,YAAY,EAAE,CAqBhB"}
@@ -1,12 +1,13 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // SPDX-FileCopyrightText: Copyright (c) vis.gl contributors
4
+ import { resolveShaderInjections } from "./shader-assembly/shader-injections.js";
4
5
  import { shaderTypeDecoder } from "../types.js";
5
- const SHADER_PLUGIN_INJECTION_TARGET_REGEX = /^(vs|fs):(?:#(?:decl|main-start|main-end)|[A-Za-z_][\w-]*)$/;
6
6
  /** Resolve plugin interfaces and select injection source for one shader language. */
7
7
  export function resolveShaderPlugins(plugins = [], shaderLanguage) {
8
8
  const resolved = {
9
9
  modules: [],
10
+ hooks: [],
10
11
  defines: {},
11
12
  injections: {},
12
13
  vertexInputs: {},
@@ -78,20 +79,47 @@ function appendShaderPlugin(resolved, plugin, shaderLanguage) {
78
79
  }
79
80
  resolved.interStageVariables[name] = normalizedVarying;
80
81
  }
81
- for (const injection of plugin.injections || []) {
82
- const source = injection[shaderLanguage];
83
- if (source === undefined)
82
+ for (const hook of plugin.hooks || []) {
83
+ const implementation = hook[shaderLanguage];
84
+ if (!implementation)
84
85
  continue;
85
- assertNamedShaderPluginInjectionTarget(injection.target);
86
- if (!resolved.injections[injection.target]) {
87
- resolved.injections[injection.target] = [];
86
+ const target = `${hook.stage === 'vertex' ? 'vs' : 'fs'}:${hook.name}`;
87
+ if (!/^(vs|fs):[A-Za-z_][A-Za-z0-9_]*$/.test(target)) {
88
+ throw new Error(`Invalid ShaderPlugin hook ${target}`);
88
89
  }
89
- const injections = resolved.injections[injection.target];
90
- injections.push({
91
- pluginName: plugin.name,
92
- injection: source,
93
- order: injection.order ?? 0
90
+ const existing = resolved.hooks.find(value => value.stage === hook.stage && value.name === hook.name);
91
+ const previous = existing?.[shaderLanguage];
92
+ if (previous &&
93
+ (previous.parameters !== implementation.parameters ||
94
+ (previous.returnType || 'void') !== (implementation.returnType || 'void') ||
95
+ previous.header !== implementation.header ||
96
+ previous.footer !== implementation.footer)) {
97
+ throw new Error(`Conflicting ShaderPlugin hook ${target}`);
98
+ }
99
+ if (!existing)
100
+ resolved.hooks.push({ name: hook.name, stage: hook.stage, [shaderLanguage]: implementation });
101
+ }
102
+ const pluginInjections = Array.isArray(plugin.injections)
103
+ ? plugin.injections
104
+ : Object.entries(plugin.injections || {}).flatMap(([key, source]) => {
105
+ const target = selectShaderLanguage(key, shaderLanguage);
106
+ if (target === undefined)
107
+ return [];
108
+ const [stage, ...name] = target.split(':');
109
+ if (stage !== 'vs' && stage !== 'fs')
110
+ throw new Error(`Invalid ShaderPlugin injection ${key}`);
111
+ return [
112
+ {
113
+ stage: stage === 'vs' ? 'vertex' : 'fragment',
114
+ target: name.join(':'),
115
+ [shaderLanguage]: source
116
+ }
117
+ ];
94
118
  });
119
+ const selectedInjections = resolveShaderInjections(pluginInjections, shaderLanguage, plugin.name);
120
+ for (const [target, injections] of Object.entries(selectedInjections)) {
121
+ resolved.injections[target] ||= [];
122
+ resolved.injections[target].push(...injections);
95
123
  }
96
124
  }
97
125
  function assertShaderPluginInterfaceName(name, kind) {
@@ -108,9 +136,8 @@ function normalizeShaderPluginInterStageVariable(name, varying) {
108
136
  }
109
137
  return { type: varying.type, interpolation };
110
138
  }
111
- function assertNamedShaderPluginInjectionTarget(target) {
112
- if (!SHADER_PLUGIN_INJECTION_TARGET_REGEX.test(target)) {
113
- throw new Error(`ShaderPlugin injection target "${target}" must be a named shader anchor or hook`);
114
- }
139
+ function selectShaderLanguage(value, language) {
140
+ const match = /^(glsl|wgsl):([\s\S]+)$/.exec(value);
141
+ return match ? (match[1] === language ? match[2] : undefined) : value;
115
142
  }
116
143
  //# sourceMappingURL=shader-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shader-plugin.js","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shader-plugin.js","sourceRoot":"","sources":["../../src/lib/shader-plugin.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,8 @@ const clipShaderPlugin = {
109
109
  },
110
110
  injections: [
111
111
  {
112
- target: "vs:CLIP_POSITION",
112
+ stage: "vertex",
113
+ target: "CLIP_POSITION",
113
114
  glsl: `clipCoordinates = geometryCoordinates;
114
115
  if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_INSTANCE} &&
115
116
  !clip_isInBounds(instanceCoordinates)) {
@@ -122,7 +123,8 @@ if (clipUniforms.enabled != 0 && clipUniforms.mode == ${CLIP_MODE_INSTANCE} &&
122
123
  }`
123
124
  },
124
125
  {
125
- target: "fs:CLIP_COLOR",
126
+ stage: "fragment",
127
+ target: "CLIP_COLOR",
126
128
  glsl: `if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_GEOMETRY} &&
127
129
  !clip_isInBounds(clipCoordinates)) {
128
130
  discard;
@@ -1 +1 @@
1
- {"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,2FAA2F;IAC3F,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC,CAAC;AAqFF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,YAoC9B,CAAC"}
1
+ {"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,2FAA2F;IAC3F,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC,CAAC;AAqFF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,EAAE,YAsC9B,CAAC"}
@@ -85,7 +85,8 @@ export const clipShaderPlugin = {
85
85
  },
86
86
  injections: [
87
87
  {
88
- target: 'vs:CLIP_POSITION',
88
+ stage: 'vertex',
89
+ target: 'CLIP_POSITION',
89
90
  glsl: `\
90
91
  clipCoordinates = geometryCoordinates;
91
92
  if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_INSTANCE} &&
@@ -100,7 +101,8 @@ if (clipUniforms.enabled != 0 && clipUniforms.mode == ${CLIP_MODE_INSTANCE} &&
100
101
  }`
101
102
  },
102
103
  {
103
- target: 'fs:CLIP_COLOR',
104
+ stage: 'fragment',
105
+ target: 'CLIP_COLOR',
104
106
  glsl: `\
105
107
  if (clipState.enabled != 0 && clipState.mode == ${CLIP_MODE_GEOMETRY} &&
106
108
  !clip_isInBounds(clipCoordinates)) {
@@ -1 +1 @@
1
- {"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,EAA2B;IAClC,QAAQ,EAAE,EAAkB;IAC5B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IACzC,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,WAAW;KACpB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACrB;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;CAepB;IACC,WAAW,CAAC,QAA+B,EAAE;QAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACtF,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,mBAAmB,EAAE;QACnB,eAAe,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAC;KAC9D;IACD,UAAU,EAAE;QACV;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE;;kDAEsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;;wDAE4C,kBAAkB;;;EAGxE;SACG;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE;kDACsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;wDAC4C,kBAAkB;;;EAGxE;SACG;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/modules/engine/clip/clip.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,EAA2B;IAClC,QAAQ,EAAE,EAAkB;IAC5B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IACzC,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,WAAW;KACpB;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACrB;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAahB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;CAepB;IACC,WAAW,CAAC,QAA+B,EAAE;QAC3C,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACtF,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,mBAAmB,EAAE;QACnB,eAAe,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAC;KAC9D;IACD,UAAU,EAAE;QACV;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE;;kDAEsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;;wDAE4C,kBAAkB;;;EAGxE;SACG;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE;kDACsC,kBAAkB;;;EAGlE;YACI,IAAI,EAAE;wDAC4C,kBAAkB;;;EAGxE;SACG;KACF;CACF,CAAC"}
@@ -86,7 +86,8 @@ const filterShaderPlugin = {
86
86
  },
87
87
  injections: [
88
88
  {
89
- target: "vs:FILTER_POSITION",
89
+ stage: "vertex",
90
+ target: "FILTER_POSITION",
90
91
  glsl: `if (!filter_isVisible(filterValues)) {
91
92
  position = vec4(2.0, 2.0, 2.0, 1.0);
92
93
  }`,
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA+DF,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,YAmBhC,CAAC"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAC,sCAAmC;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA+DF,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,EAAE,YAoBhC,CAAC"}
@@ -64,7 +64,8 @@ export const filterShaderPlugin = {
64
64
  },
65
65
  injections: [
66
66
  {
67
- target: 'vs:FILTER_POSITION',
67
+ stage: 'vertex',
68
+ target: 'FILTER_POSITION',
68
69
  glsl: `\
69
70
  if (!filter_isVisible(filterValues)) {
70
71
  position = vec4(2.0, 2.0, 2.0, 1.0);
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAA6B;IACpC,QAAQ,EAAE,EAAoB;IAC9B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IAC3C,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;KACX;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;CAUhB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAapB;IACC,WAAW,CAAC,QAAiC,EAAE;QAC7C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE;;;EAGV;YACI,IAAI,EAAE;;;EAGV;SACG;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/modules/engine/filter/filter.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,4DAA4D;AAoB5D,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,EAA6B;IACpC,QAAQ,EAAE,EAAoB;IAC9B,aAAa,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;IAC3C,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;KACX;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP;IACD,EAAE,EAAE,UAAU,CAAC;;;;;;;;;;CAUhB;IACC,MAAM,EAAE,UAAU,CAAC;;;;;;;;;;;;;CAapB;IACC,WAAW,CAAC,QAAiC,EAAE;QAC7C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACuE,CAAC;AAE3E,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAiB;IAC9C,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,kBAAkB;IAC1B,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE;QACV;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE;;;EAGV;YACI,IAAI,EAAE;;;EAGV;SACG;KACF;CACF,CAAC"}
@@ -28,7 +28,7 @@ export type PointLight = {
28
28
  export type DirectionalLight = {
29
29
  /** Discriminator used to identify directional lights in `lights: Light[]`. */
30
30
  type: 'directional';
31
- /** World-space light direction. */
31
+ /** World-space direction in which light travels. */
32
32
  direction: Readonly<NumberArray3>;
33
33
  /** RGB light color in the existing `0..255` convention used by luma.gl materials. */
34
34
  color?: Readonly<NumberArray3>;
@@ -1 +1 @@
1
- {"version":3,"file":"lighting.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/lights/lighting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lighting.d.ts","sourceRoot":"","sources":["../../../../src/modules/lighting/lights/lighting.ts"],"names":[],"mappings":"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"}
@@ -1262,7 +1262,7 @@ vec4 pbr_filterColorWithSpotShadows(vec4 vertexColor, vec4 spotVisibility)
1262
1262
 
1263
1263
  for(int i = 0; i < lighting.directionalLightCount; i++) {
1264
1264
  if (i < lighting.directionalLightCount) {
1265
- PBRInfo_setDirectionalLight(pbrInfo, lighting_getDirectionalLight(i).direction);
1265
+ PBRInfo_setDirectionalLight(pbrInfo, -lighting_getDirectionalLight(i).direction);
1266
1266
  color += calculateFinalColor(pbrInfo, lighting_getDirectionalLight(i).color);
1267
1267
  }
1268
1268
  }
@@ -1550,7 +1550,7 @@ vec4 pbr_filterColorWithSpotShadows(vec4 vertexColor, vec4 spotVisibility)
1550
1550
  // Apply directional light
1551
1551
  for(int i = 0; i < lighting.directionalLightCount; i++) {
1552
1552
  if (i < lighting.directionalLightCount) {
1553
- PBRInfo_setDirectionalLight(pbrInfo, lighting_getDirectionalLight(i).direction);
1553
+ PBRInfo_setDirectionalLight(pbrInfo, -lighting_getDirectionalLight(i).direction);
1554
1554
  color += calculateMaterialLightColor(
1555
1555
  pbrInfo,
1556
1556
  lighting_getDirectionalLight(i).color,