@webviz/subsurface-viewer 1.12.4 → 1.13.0

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 (157) hide show
  1. package/dist/layers/axes/box.fs.glsl.d.ts +1 -1
  2. package/dist/layers/axes/box.fs.glsl.js +0 -2
  3. package/dist/layers/axes/box.fs.glsl.js.map +1 -1
  4. package/dist/layers/axes/box.vs.glsl.d.ts +1 -1
  5. package/dist/layers/axes/box.vs.glsl.js +0 -2
  6. package/dist/layers/axes/box.vs.glsl.js.map +1 -1
  7. package/dist/layers/axes/boxLayer.js +2 -1
  8. package/dist/layers/axes/boxLayer.js.map +1 -1
  9. package/dist/layers/axes2d/axes2DLayer.js +4 -3
  10. package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
  11. package/dist/layers/axes2d/label.fs.glsl.d.ts +1 -1
  12. package/dist/layers/axes2d/label.fs.glsl.js +0 -2
  13. package/dist/layers/axes2d/label.fs.glsl.js.map +1 -1
  14. package/dist/layers/axes2d/label.vs.glsl.d.ts +1 -1
  15. package/dist/layers/axes2d/label.vs.glsl.js +0 -2
  16. package/dist/layers/axes2d/label.vs.glsl.js.map +1 -1
  17. package/dist/layers/axes2d/line.fs.glsl.d.ts +1 -1
  18. package/dist/layers/axes2d/line.fs.glsl.js +0 -2
  19. package/dist/layers/axes2d/line.fs.glsl.js.map +1 -1
  20. package/dist/layers/axes2d/line.vs.glsl.d.ts +1 -1
  21. package/dist/layers/axes2d/line.vs.glsl.js +0 -2
  22. package/dist/layers/axes2d/line.vs.glsl.js.map +1 -1
  23. package/dist/layers/colormap/colormap.fs.glsl.d.ts +1 -1
  24. package/dist/layers/colormap/colormap.fs.glsl.js +0 -2
  25. package/dist/layers/colormap/colormap.fs.glsl.js.map +1 -1
  26. package/dist/layers/colormap/colormapLayer.js +7 -1
  27. package/dist/layers/colormap/colormapLayer.js.map +1 -1
  28. package/dist/layers/gpglLayers/gpglValueMappedSurfaceLayer.d.ts +120 -0
  29. package/dist/layers/gpglLayers/gpglValueMappedSurfaceLayer.js +495 -0
  30. package/dist/layers/gpglLayers/gpglValueMappedSurfaceLayer.js.map +1 -0
  31. package/dist/layers/gpglLayers/texTriangle.fs.glsl.d.ts +2 -0
  32. package/dist/layers/gpglLayers/texTriangle.fs.glsl.js +59 -0
  33. package/dist/layers/gpglLayers/texTriangle.fs.glsl.js.map +1 -0
  34. package/dist/layers/gpglLayers/texTriangle.vs.glsl.d.ts +2 -0
  35. package/dist/layers/gpglLayers/texTriangle.vs.glsl.js +45 -0
  36. package/dist/layers/gpglLayers/texTriangle.vs.glsl.js.map +1 -0
  37. package/dist/layers/gpglLayers/triangle.fs.glsl.d.ts +2 -0
  38. package/dist/layers/gpglLayers/triangle.fs.glsl.js +29 -0
  39. package/dist/layers/gpglLayers/triangle.fs.glsl.js.map +1 -0
  40. package/dist/layers/gpglLayers/triangle.vs.glsl.d.ts +2 -0
  41. package/dist/layers/gpglLayers/triangle.vs.glsl.js +45 -0
  42. package/dist/layers/gpglLayers/triangle.vs.glsl.js.map +1 -0
  43. package/dist/layers/gpglLayers/triangleLine.fs.glsl.d.ts +2 -0
  44. package/dist/layers/gpglLayers/triangleLine.fs.glsl.js +21 -0
  45. package/dist/layers/gpglLayers/triangleLine.fs.glsl.js.map +1 -0
  46. package/dist/layers/gpglLayers/triangleLine.vs.glsl.d.ts +2 -0
  47. package/dist/layers/gpglLayers/triangleLine.vs.glsl.js +30 -0
  48. package/dist/layers/gpglLayers/triangleLine.vs.glsl.js.map +1 -0
  49. package/dist/layers/gpglLayers/typeDefs.d.ts +7 -1
  50. package/dist/layers/gpglLayers/typeDefs.js.map +1 -1
  51. package/dist/layers/grid3d/grid3dLayer.d.ts +1 -1
  52. package/dist/layers/grid3d/grid3dLayer.js +1 -1
  53. package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
  54. package/dist/layers/grid3d/line.fs.glsl.d.ts +1 -1
  55. package/dist/layers/grid3d/line.fs.glsl.js +0 -2
  56. package/dist/layers/grid3d/line.fs.glsl.js.map +1 -1
  57. package/dist/layers/grid3d/line.vs.glsl.d.ts +1 -1
  58. package/dist/layers/grid3d/line.vs.glsl.js +0 -2
  59. package/dist/layers/grid3d/line.vs.glsl.js.map +1 -1
  60. package/dist/layers/grid3d/privateGrid3dLayer.js +3 -1
  61. package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
  62. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.d.ts +1 -1
  63. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js +0 -2
  64. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js.map +1 -1
  65. package/dist/layers/hillshading2d/hillshading2dLayer.js +7 -1
  66. package/dist/layers/hillshading2d/hillshading2dLayer.js.map +1 -1
  67. package/dist/layers/index.d.ts +4 -0
  68. package/dist/layers/index.js +2 -0
  69. package/dist/layers/index.js.map +1 -1
  70. package/dist/layers/map/line.fs.glsl.d.ts +1 -1
  71. package/dist/layers/map/line.fs.glsl.js +0 -2
  72. package/dist/layers/map/line.fs.glsl.js.map +1 -1
  73. package/dist/layers/map/line.vs.glsl.d.ts +1 -1
  74. package/dist/layers/map/line.vs.glsl.js +0 -2
  75. package/dist/layers/map/line.vs.glsl.js.map +1 -1
  76. package/dist/layers/map/map.fs.glsl.d.ts +1 -1
  77. package/dist/layers/map/map.fs.glsl.js +0 -2
  78. package/dist/layers/map/map.fs.glsl.js.map +1 -1
  79. package/dist/layers/map/map.vs.glsl.d.ts +1 -1
  80. package/dist/layers/map/map.vs.glsl.js +0 -2
  81. package/dist/layers/map/map.vs.glsl.js.map +1 -1
  82. package/dist/layers/map/mapLayer.d.ts +6 -6
  83. package/dist/layers/map/mapLayer.js +1 -1
  84. package/dist/layers/map/mapLayer.js.map +1 -1
  85. package/dist/layers/map/privateMapLayer.js +3 -1
  86. package/dist/layers/map/privateMapLayer.js.map +1 -1
  87. package/dist/layers/northarrow/northArrow3DLayer.js +2 -1
  88. package/dist/layers/northarrow/northArrow3DLayer.js.map +1 -1
  89. package/dist/layers/northarrow/northarrow.fs.glsl.d.ts +1 -1
  90. package/dist/layers/northarrow/northarrow.fs.glsl.js +0 -2
  91. package/dist/layers/northarrow/northarrow.fs.glsl.js.map +1 -1
  92. package/dist/layers/northarrow/northarrow.vs.glsl.d.ts +1 -1
  93. package/dist/layers/northarrow/northarrow.vs.glsl.js +0 -2
  94. package/dist/layers/northarrow/northarrow.vs.glsl.js.map +1 -1
  95. package/dist/layers/piechart/pieChartLayer.js +2 -1
  96. package/dist/layers/piechart/pieChartLayer.js.map +1 -1
  97. package/dist/layers/piechart/piechart.fs.glsl.d.ts +1 -1
  98. package/dist/layers/piechart/piechart.fs.glsl.js +0 -2
  99. package/dist/layers/piechart/piechart.fs.glsl.js.map +1 -1
  100. package/dist/layers/piechart/piechart.vs.glsl.d.ts +1 -1
  101. package/dist/layers/piechart/piechart.vs.glsl.js +0 -2
  102. package/dist/layers/piechart/piechart.vs.glsl.js.map +1 -1
  103. package/dist/layers/points/privatePointsLayer.js +6 -1
  104. package/dist/layers/points/privatePointsLayer.js.map +1 -1
  105. package/dist/layers/polylines/polyline.fs.glsl.d.ts +1 -1
  106. package/dist/layers/polylines/polyline.fs.glsl.js +0 -2
  107. package/dist/layers/polylines/polyline.fs.glsl.js.map +1 -1
  108. package/dist/layers/polylines/privatePolylinesLayer.js +6 -1
  109. package/dist/layers/polylines/privatePolylinesLayer.js.map +1 -1
  110. package/dist/layers/seismic/seismicLayer.d.ts +105 -0
  111. package/dist/layers/seismic/seismicLayer.js +182 -0
  112. package/dist/layers/seismic/seismicLayer.js.map +1 -0
  113. package/dist/layers/shader_modules/test-precision/precisionForTests-shaders-glsl.d.ts +2 -0
  114. package/dist/layers/shader_modules/test-precision/precisionForTests-shaders-glsl.js +10 -0
  115. package/dist/layers/shader_modules/test-precision/precisionForTests-shaders-glsl.js.map +1 -0
  116. package/dist/layers/shader_modules/test-precision/precisionForTests.d.ts +3 -0
  117. package/dist/layers/shader_modules/test-precision/precisionForTests.js +8 -0
  118. package/dist/layers/shader_modules/test-precision/precisionForTests.js.map +1 -0
  119. package/dist/layers/triangle/line.fs.glsl.d.ts +1 -1
  120. package/dist/layers/triangle/line.fs.glsl.js +0 -2
  121. package/dist/layers/triangle/line.fs.glsl.js.map +1 -1
  122. package/dist/layers/triangle/line.vs.glsl.d.ts +1 -1
  123. package/dist/layers/triangle/line.vs.glsl.js +0 -2
  124. package/dist/layers/triangle/line.vs.glsl.js.map +1 -1
  125. package/dist/layers/triangle/privateTriangleLayer.js +8 -1
  126. package/dist/layers/triangle/privateTriangleLayer.js.map +1 -1
  127. package/dist/layers/triangle/triangle.fs.glsl.d.ts +1 -1
  128. package/dist/layers/triangle/triangle.fs.glsl.js +0 -2
  129. package/dist/layers/triangle/triangle.fs.glsl.js.map +1 -1
  130. package/dist/layers/triangle/triangle.vs.glsl.d.ts +1 -1
  131. package/dist/layers/triangle/triangle.vs.glsl.js +0 -2
  132. package/dist/layers/triangle/triangle.vs.glsl.js.map +1 -1
  133. package/dist/layers/triangle/triangleLayer.d.ts +1 -1
  134. package/dist/layers/triangle/triangleLayer.js +1 -1
  135. package/dist/layers/triangle/triangleLayer.js.map +1 -1
  136. package/dist/layers/utils/colormapTools.d.ts +38 -13
  137. package/dist/layers/utils/colormapTools.js +1 -1
  138. package/dist/layers/utils/colormapTools.js.map +1 -1
  139. package/dist/layers/well_markers/marker.fs.glsl.d.ts +1 -1
  140. package/dist/layers/well_markers/marker.fs.glsl.js +0 -2
  141. package/dist/layers/well_markers/marker.fs.glsl.js.map +1 -1
  142. package/dist/layers/well_markers/marker.vs.glsl.d.ts +1 -1
  143. package/dist/layers/well_markers/marker.vs.glsl.js +0 -1
  144. package/dist/layers/well_markers/marker.vs.glsl.js.map +1 -1
  145. package/dist/layers/well_markers/wellMarkersLayer.js +8 -1
  146. package/dist/layers/well_markers/wellMarkersLayer.js.map +1 -1
  147. package/dist/utils/Color.d.ts +10 -0
  148. package/dist/utils/Color.js +19 -1
  149. package/dist/utils/Color.js.map +1 -1
  150. package/dist/utils/index.d.ts +1 -0
  151. package/dist/utils/index.js +1 -0
  152. package/dist/utils/index.js.map +1 -1
  153. package/dist/utils/serialize.d.ts +1 -1
  154. package/dist/utils/serialize.js +2 -2
  155. package/dist/utils/serialize.js.map +1 -1
  156. package/dist/utils/typedArray.js.map +1 -1
  157. package/package.json +2 -2
@@ -0,0 +1,182 @@
1
+ import { isEqual } from "lodash";
2
+ import { CompositeLayer } from "@deck.gl/core";
3
+ import { PrivatePolylinesLayer } from "../polylines/privatePolylinesLayer";
4
+ import { GpglValueMappedSurfaceLayer, } from "../gpglLayers/gpglValueMappedSurfaceLayer";
5
+ import { createPropertyData, computeBoundingBox } from "../utils/layerTools";
6
+ import { addPoints3D } from "../../utils";
7
+ const defaultCageProps = {
8
+ widthUnits: "meters",
9
+ lineWidth: 2,
10
+ color: [255, 100, 0],
11
+ visible: true,
12
+ };
13
+ const defaultProps = {
14
+ "@@type": "SeismicLayer",
15
+ name: "SeismicLayer",
16
+ id: "seismic-layer",
17
+ cage: defaultCageProps,
18
+ seismicFences: [],
19
+ material: {
20
+ ambient: 0.35,
21
+ diffuse: 0.9,
22
+ shininess: 32,
23
+ specularColor: [38, 38, 38],
24
+ },
25
+ smoothShading: false,
26
+ pickable: true,
27
+ visible: true,
28
+ depthTest: true,
29
+ ZIncreasingDownwards: true,
30
+ };
31
+ export default class SeismicLayer extends CompositeLayer {
32
+ initializeState() {
33
+ const cageAttributes = this.rebuildCageAttributes(true);
34
+ this.setState({
35
+ cageAttributes,
36
+ });
37
+ }
38
+ updateState({ props, oldProps }) {
39
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
40
+ const needs_reload_cage = !isEqual((_a = props.cage) === null || _a === void 0 ? void 0 : _a.origin, (_b = oldProps.cage) === null || _b === void 0 ? void 0 : _b.origin) ||
41
+ !isEqual((_c = props.cage) === null || _c === void 0 ? void 0 : _c.edgeU, (_d = oldProps.cage) === null || _d === void 0 ? void 0 : _d.edgeU) ||
42
+ !isEqual((_e = props.cage) === null || _e === void 0 ? void 0 : _e.edgeV, (_f = oldProps.cage) === null || _f === void 0 ? void 0 : _f.edgeV) ||
43
+ !isEqual((_g = props.cage) === null || _g === void 0 ? void 0 : _g.edgeW, (_h = oldProps.cage) === null || _h === void 0 ? void 0 : _h.edgeW) ||
44
+ !isEqual(props.ZIncreasingDownwards, oldProps.ZIncreasingDownwards);
45
+ if (needs_reload_cage) {
46
+ const cageAttributes = this.rebuildCageAttributes(false);
47
+ this.setState(Object.assign(Object.assign({}, this.state), { cageAttributes }));
48
+ }
49
+ const needs_reload_fences = !isEqual(props.seismicFences.length, (_j = oldProps.seismicFences) === null || _j === void 0 ? void 0 : _j.length) ||
50
+ props.seismicFences.some((fence, index) => {
51
+ var _a;
52
+ const oldFence = (_a = oldProps.seismicFences) === null || _a === void 0 ? void 0 : _a[index];
53
+ return (
54
+ // do not use isEqual for performance: it iterates on each element
55
+ fence.topology !== (oldFence === null || oldFence === void 0 ? void 0 : oldFence.topology) ||
56
+ fence.vertices !== (oldFence === null || oldFence === void 0 ? void 0 : oldFence.vertices) ||
57
+ fence.normals !== (oldFence === null || oldFence === void 0 ? void 0 : oldFence.normals) ||
58
+ fence.texCoords !== (oldFence === null || oldFence === void 0 ? void 0 : oldFence.texCoords) ||
59
+ //fence.seismicData !== oldFence?.seismicData ||
60
+ fence.vertexIndices.value !==
61
+ (oldFence === null || oldFence === void 0 ? void 0 : oldFence.vertexIndices.value) ||
62
+ fence.vertexIndices.size !== (oldFence === null || oldFence === void 0 ? void 0 : oldFence.vertexIndices.size));
63
+ });
64
+ if (needs_reload_fences) {
65
+ const fences = this.rebuildFencesAttributes();
66
+ this.setState(Object.assign(Object.assign({}, this.state), { seismicFences: fences !== null && fences !== void 0 ? fences : [] }));
67
+ }
68
+ }
69
+ rebuildCageAttributes(reportBoundingBox) {
70
+ const cageDataArrays = this.loadCageData();
71
+ if (typeof this.props.reportBoundingBox === "function" &&
72
+ reportBoundingBox) {
73
+ const boundingBox = computeBoundingBox(cageDataArrays.positions);
74
+ this.props.reportBoundingBox({ layerBoundingBox: boundingBox });
75
+ }
76
+ return {
77
+ length: cageDataArrays.linesCount,
78
+ startIndices: cageDataArrays.startIndices,
79
+ attributes: {
80
+ getPath: {
81
+ value: cageDataArrays.positions,
82
+ size: 3,
83
+ },
84
+ },
85
+ };
86
+ }
87
+ loadCageData() {
88
+ // build the list of vertices to represent the cage
89
+ const cage = this.props.cage;
90
+ const pO = cage.origin;
91
+ const pU = addPoints3D(cage.origin, cage.edgeU);
92
+ const pV = addPoints3D(cage.origin, cage.edgeV);
93
+ const pW = addPoints3D(cage.origin, cage.edgeW);
94
+ const pUV = addPoints3D(pU, cage.edgeV);
95
+ const pUW = addPoints3D(pU, cage.edgeW);
96
+ const pVW = addPoints3D(pV, cage.edgeW);
97
+ const pUVW = addPoints3D(pUV, cage.edgeW);
98
+ const vertices = [
99
+ ...pO, // base side
100
+ ...pU,
101
+ ...pUV,
102
+ ...pV,
103
+ ...pO,
104
+ ...pW, // front side
105
+ ...pUW,
106
+ ...pU,
107
+ ...pUV, // right side
108
+ ...pUVW,
109
+ ...pUW,
110
+ ...pW, // top side
111
+ ...pVW,
112
+ ...pUVW,
113
+ ...pVW, // junction
114
+ ...pV, // close back and left sides
115
+ ];
116
+ return {
117
+ positions: new Float32Array(vertices),
118
+ linesCount: 1,
119
+ startIndices: new Uint32Array([0, vertices.length / 3]),
120
+ };
121
+ }
122
+ rebuildFencesAttributes() {
123
+ return this.props.seismicFences;
124
+ }
125
+ getPickingInfo({ info }) {
126
+ var _a;
127
+ if (!info.color) {
128
+ return info;
129
+ }
130
+ const layer_properties = [];
131
+ const zScale = this.props.modelMatrix ? this.props.modelMatrix[10] : 1;
132
+ if (((_a = info.coordinate) === null || _a === void 0 ? void 0 : _a[2]) !== undefined) {
133
+ const depth = (this.props.ZIncreasingDownwards
134
+ ? -info.coordinate[2]
135
+ : info.coordinate[2]) / Math.max(0.001, zScale);
136
+ layer_properties.push(createPropertyData("Depth", depth));
137
+ }
138
+ return Object.assign(Object.assign({}, info), { properties: layer_properties });
139
+ }
140
+ renderLayers() {
141
+ var _a, _b;
142
+ const cage = this.state["cageAttributes"];
143
+ const cageLayer = new PrivatePolylinesLayer(this.getSubLayerProps({
144
+ id: "polylines-layer",
145
+ widthUnits: this.props.cage.widthUnits,
146
+ billboard: true,
147
+ jointRounded: true,
148
+ capRounded: true,
149
+ data: cage,
150
+ _pathType: "open",
151
+ getColor: () => this.props.cage.color,
152
+ getWidth: () => this.props.cage.lineWidth,
153
+ updateTriggers: {
154
+ getColor: [this.props.cage.color],
155
+ getWidth: [this.props.cage.lineWidth],
156
+ },
157
+ visible: (_a = this.props.cage.visible) !== null && _a !== void 0 ? _a : defaultCageProps.visible,
158
+ pickable: this.props.pickable,
159
+ depthTest: this.props.depthTest,
160
+ ZIncreasingDownwards: this.props.ZIncreasingDownwards,
161
+ }));
162
+ const seismicFences = this.state["seismicFences"];
163
+ const seismicLayer = new GpglValueMappedSurfaceLayer(this.getSubLayerProps({
164
+ id: `seismic-fence-layer`,
165
+ valueMappedTriangles: seismicFences,
166
+ showMesh: this.props.showMesh,
167
+ colormap: this.props.colormap,
168
+ colormapSetup: this.props.colormapSetup,
169
+ material: this.props.material === true
170
+ ? defaultProps.material
171
+ : this.props.material,
172
+ smoothShading: (_b = this.props.smoothShading) !== null && _b !== void 0 ? _b : defaultProps.smoothShading,
173
+ pickable: this.props.pickable,
174
+ depthTest: this.props.depthTest,
175
+ ZIncreasingDownwards: this.props.ZIncreasingDownwards,
176
+ }));
177
+ return [cageLayer, seismicLayer];
178
+ }
179
+ }
180
+ SeismicLayer.layerName = "SeismicLayer";
181
+ SeismicLayer.defaultProps = defaultProps;
182
+ //# sourceMappingURL=seismicLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seismicLayer.js","sourceRoot":"","sources":["../../../src/layers/seismic/seismicLayer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const PRECISION: string;
2
+ export { PRECISION };
@@ -0,0 +1,10 @@
1
+ const TEST_PRECISION = /* glsl */ `\
2
+ // Enforce high precision for shaders for tests which are performed in a docker container
3
+
4
+ precision highp float;
5
+ `;
6
+ const PROD_PRECISION = /* glsl */ `\
7
+ `;
8
+ const PRECISION = process.env["NODE_ENV"] !== "production" ? TEST_PRECISION : PROD_PRECISION;
9
+ export { PRECISION };
10
+ //# sourceMappingURL=precisionForTests-shaders-glsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precisionForTests-shaders-glsl.js","sourceRoot":"","sources":["../../../../src/layers/shader_modules/test-precision/precisionForTests-shaders-glsl.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,UAAU,CAAC;;;;CAIjC,CAAC;AAEF,MAAM,cAAc,GAAG,UAAU,CAAC;CACjC,CAAC;AAEF,MAAM,SAAS,GACX,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ShaderModule } from "@luma.gl/shadertools";
2
+ /** In Phong shading, the normal vector is linearly interpolated across the surface of the polygon from the polygon's vertex normals. */
3
+ export declare const precisionForTests: ShaderModule;
@@ -0,0 +1,8 @@
1
+ import { PRECISION } from "./precisionForTests-shaders-glsl";
2
+ /** In Phong shading, the normal vector is linearly interpolated across the surface of the polygon from the polygon's vertex normals. */
3
+ export const precisionForTests = {
4
+ name: "precisionForTests",
5
+ vs: PRECISION,
6
+ fs: PRECISION,
7
+ };
8
+ //# sourceMappingURL=precisionForTests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"precisionForTests.js","sourceRoot":"","sources":["../../../../src/layers/shader_modules/test-precision/precisionForTests.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,wIAAwI;AACxI,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC3C,IAAI,EAAE,mBAAmB;IACzB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CAChB,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME triangle-line-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n\n // Picking pass.\n if (picking.isActive > 0.5) {\n discard;\n return;\n }\n\n fragColor = vColor;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME triangle-line-fragment-shader\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n\n // Picking pass.\n if (picking.isActive > 0.5) {\n discard;\n return;\n }\n\n fragColor = vColor;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
2
2
  export default _default;
@@ -2,8 +2,6 @@ export default `\
2
2
  #version 300 es
3
3
  #define SHADER_NAME triangle-line-fragment-shader
4
4
 
5
- precision highp float;
6
-
7
5
  in vec4 vColor;
8
6
 
9
7
  out vec4 fragColor;
@@ -1 +1 @@
1
- {"version":3,"file":"line.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/line.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;CAqBd,CAAC"}
1
+ {"version":3,"file":"line.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/line.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;CAmBd,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME triangle-line-vertex-shader\n\nprecision highp float;\n\nin vec3 positions;\n\nout vec4 vColor;\n\nvoid main(void) {\n vec3 position = positions;\n position[2] *= triangleMesh.ZIncreasingDownwards ? -1.0 : 1.0;\n\n vec3 position_commonspace = project_position(position);\n gl_Position = project_common_position_to_clipspace(vec4(position_commonspace, 0.0));\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vColor = vec4(0.0, 0.0, 0.0, layer.opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME triangle-line-vertex-shader\n\nin vec3 positions;\n\nout vec4 vColor;\n\nvoid main(void) {\n vec3 position = positions;\n position[2] *= triangleMesh.ZIncreasingDownwards ? -1.0 : 1.0;\n\n vec3 position_commonspace = project_position(position);\n gl_Position = project_common_position_to_clipspace(vec4(position_commonspace, 0.0));\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vColor = vec4(0.0, 0.0, 0.0, layer.opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
2
2
  export default _default;
@@ -2,8 +2,6 @@ export default `\
2
2
  #version 300 es
3
3
  #define SHADER_NAME triangle-line-vertex-shader
4
4
 
5
- precision highp float;
6
-
7
5
  in vec3 positions;
8
6
 
9
7
  out vec4 vColor;
@@ -1 +1 @@
1
- {"version":3,"file":"line.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/line.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;CAsBd,CAAC"}
1
+ {"version":3,"file":"line.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/line.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;CAoBd,CAAC"}
@@ -3,6 +3,7 @@ import { GL } from "@luma.gl/constants";
3
3
  import { Geometry, Model } from "@luma.gl/engine";
4
4
  import { lighting } from "@luma.gl/shadertools";
5
5
  import { phongMaterial } from "../shader_modules/phong-lighting/phong-material";
6
+ import { precisionForTests } from "../shader_modules/test-precision/precisionForTests";
6
7
  import { createPropertyData } from "../utils/layerTools";
7
8
  import fsShader from "./triangle.fs.glsl";
8
9
  import vsShader from "./triangle.vs.glsl";
@@ -55,12 +56,18 @@ export default class PrivateTriangleLayer extends Layer {
55
56
  lighting,
56
57
  phongMaterial,
57
58
  trianglesUniforms,
59
+ precisionForTests,
58
60
  ],
59
61
  })), { bufferLayout: this.getAttributeManager().getBufferLayouts(), geometry: new Geometry(this.props.geometryTriangles), isInstanced: false }));
60
62
  const lineModel = new Model(device, Object.assign(Object.assign({ id: `${this.props.id}-lines` }, super.getShaders({
61
63
  vs: vsLineShader,
62
64
  fs: fsLineShader,
63
- modules: [project32, picking, triangleMeshUniforms],
65
+ modules: [
66
+ project32,
67
+ picking,
68
+ triangleMeshUniforms,
69
+ precisionForTests,
70
+ ],
64
71
  })), { bufferLayout: this.getAttributeManager().getBufferLayouts(), geometry: new Geometry(this.props.geometryLines), isInstanced: false }));
65
72
  return [triangleModel, lineModel];
66
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"privateTriangleLayer.js","sourceRoot":"","sources":["../../../src/layers/triangle/privateTriangleLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"privateTriangleLayer.js","sourceRoot":"","sources":["../../../src/layers/triangle/privateTriangleLayer.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME triangle-fragment-shader\n\nprecision highp float;\n\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec3 worldPos;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n vec3 normal = normals_commonspace;\n\n if (!triangles.smoothShading) {\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n }\n\n vec4 color = vColor;\n \n bool is_contours = triangles.contourReferencePoint != -1.0 && triangles.contourInterval != -1.0;\n if (is_contours) {\n // Contours are made of either depths or properties.\n float val = (abs(worldPos.z) - triangles.contourReferencePoint) / triangles.contourInterval;\n\n float f = fract(val);\n float df = fwidth(val);\n\n // keep: float c = smoothstep(df * 1.0, df * 2.0, f); // smoothstep from/to no of pixels distance from contour line.\n float c = smoothstep(0.0, df * 2.0, f);\n\n color = color * vec4(c, c, c, 1.0);\n }\n\n // Use two sided phong lighting. This has no effect if \"material\" property is not set.\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, vColor.a);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME triangle-fragment-shader\n\nin vec3 cameraPosition;\nin vec3 normals_commonspace;\nin vec4 position_commonspace;\nin vec3 worldPos;\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n vec3 normal = normals_commonspace;\n\n if (!triangles.smoothShading) {\n normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n }\n\n vec4 color = vColor;\n \n bool is_contours = triangles.contourReferencePoint != -1.0 && triangles.contourInterval != -1.0;\n if (is_contours) {\n // Contours are made of either depths or properties.\n float val = (abs(worldPos.z) - triangles.contourReferencePoint) / triangles.contourInterval;\n\n float f = fract(val);\n float df = fwidth(val);\n\n // keep: float c = smoothstep(df * 1.0, df * 2.0, f); // smoothstep from/to no of pixels distance from contour line.\n float c = smoothstep(0.0, df * 2.0, f);\n\n color = color * vec4(c, c, c, 1.0);\n }\n\n // Use two sided phong lighting. This has no effect if \"material\" property is not set.\n vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, vColor.a);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
2
2
  export default _default;
@@ -1,8 +1,6 @@
1
1
  export default `#version 300 es
2
2
  #define SHADER_NAME triangle-fragment-shader
3
3
 
4
- precision highp float;
5
-
6
4
  in vec3 cameraPosition;
7
5
  in vec3 normals_commonspace;
8
6
  in vec4 position_commonspace;
@@ -1 +1 @@
1
- {"version":3,"file":"triangle.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangle.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCd,CAAC"}
1
+ {"version":3,"file":"triangle.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangle.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCd,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME triangle-vertex-shader\n\nprecision highp float;\n\n// Primitive attributes\nin vec3 positions;\nin float properties;\nin vec3 normals;\n\n// Outputs to fragment shader\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\nout vec3 worldPos;\n\nconst vec3 pickingColor = vec3(1.0, 1.0, 0.0);\n\nvoid main(void) {\n geometry.pickingColor = pickingColor;\n\n cameraPosition = project.cameraPosition;\n\n vec3 position = positions;\n position[2] *= triangles.ZIncreasingDownwards ? -1.0 : 1.0;\n\n worldPos = position;\n\n normals_commonspace = normals;\n\n position_commonspace = vec4(project_position(position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vColor = vec4(triangles.uColor.rgb, triangles.uColor.a * layer.opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME triangle-vertex-shader\n\n// Primitive attributes\nin vec3 positions;\nin float properties;\nin vec3 normals;\n\n// Outputs to fragment shader\nout vec3 cameraPosition;\nout vec3 normals_commonspace;\nout vec4 position_commonspace;\nout vec4 vColor;\nout vec3 worldPos;\n\nconst vec3 pickingColor = vec3(1.0, 1.0, 0.0);\n\nvoid main(void) {\n geometry.pickingColor = pickingColor;\n\n cameraPosition = project.cameraPosition;\n\n vec3 position = positions;\n position[2] *= triangles.ZIncreasingDownwards ? -1.0 : 1.0;\n\n worldPos = position;\n\n normals_commonspace = normals;\n\n position_commonspace = vec4(project_position(position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vColor = vec4(triangles.uColor.rgb, triangles.uColor.a * layer.opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
2
2
  export default _default;
@@ -2,8 +2,6 @@ export default `\
2
2
  #version 300 es
3
3
  #define SHADER_NAME triangle-vertex-shader
4
4
 
5
- precision highp float;
6
-
7
5
  // Primitive attributes
8
6
  in vec3 positions;
9
7
  in float properties;
@@ -1 +1 @@
1
- {"version":3,"file":"triangle.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangle.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC"}
1
+ {"version":3,"file":"triangle.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangle.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCd,CAAC"}
@@ -33,7 +33,7 @@ export interface TriangleLayerProps extends ExtendedLayerProps {
33
33
  * ambient: 0.35,
34
34
  * diffuse: 0.6,
35
35
  * shininess: 32,
36
- * specularColor: [255, 255, 255],
36
+ * specularColor: [38, 38, 38],
37
37
  * }
38
38
  * Default value: true.
39
39
  */
@@ -191,7 +191,7 @@ export default class TriangleLayer extends CompositeLayer {
191
191
  // isFinishedLoading only in state
192
192
  return [];
193
193
  }
194
- const enableLighting = !(this.props.material === false);
194
+ const enableLighting = this.props.material !== false;
195
195
  const layer = new PrivateTriangleLayer(this.getSubLayerProps({
196
196
  geometryTriangles: this.state["geometryTriangles"],
197
197
  geometryLines: this.state["geometryLines"],
@@ -1 +1 @@
1
- {"version":3,"file":"triangleLayer.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangleLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triangleLayer.js","sourceRoot":"","sources":["../../../src/layers/triangle/triangleLayer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Texture } from "@luma.gl/core";
2
2
  import type { colorTablesArray, createColorMapFunction as createColormapFunction } from "@emerson-eps/color-tables/";
3
3
  import type { DeckGLLayerContext } from "./layerTools";
4
+ import type { Color } from "../../utils/Color";
4
5
  /** Type of functions returning a color from a value in the [0,1] range. */
5
6
  export type ColormapFunctionType = ReturnType<typeof createColormapFunction>;
6
7
  /** @deprecated Use ColormapFunctionType instead. */
@@ -19,24 +20,48 @@ export interface IColormapHints {
19
20
  */
20
21
  export interface ColorTableProps {
21
22
  colormapName: string;
23
+ colorTables?: colorTablesArray;
22
24
  }
23
25
  /**
24
- * Colormap definition used for mapping data values to colors.
26
+ * Represents the possible types of colormap inputs that can be used in the subsurface viewer.
25
27
  *
26
- * @property colorTables - An array or collection of color tables from which to select the colormap.
28
+ * - `ColormapFunctionType`: A function that returns a color from a property value.
29
+ * - `Uint8Array`: A raw array of color values, typically representing RGBA or RGB data.
30
+ * - `ColorTableProps`: An object describing a color table with additional properties.
31
+ *
32
+ * This union type allows flexibility in specifying how colormaps are provided to components or utilities.
27
33
  */
28
- export interface ColorTableDef extends ColorTableProps {
29
- colorTables: colorTablesArray;
30
- }
31
34
  export type ColormapProps = ColormapFunctionType | Uint8Array | ColorTableProps;
32
35
  /**
33
- * Represents the possible types that can be used as colormap properties.
34
- *
35
- * - `ColormapFunctionType`: A function converting a value to a color.
36
- * - `Uint8Array`: A typed array containing color data.
37
- * - `ColorTableDef`: An object representing a color table.
36
+ * Configuration options for setting up a colormap.
38
37
  */
39
- export type TColormapDef = ColormapFunctionType | Uint8Array | ColorTableDef;
38
+ export interface ColormapSetup {
39
+ /**
40
+ * Minimum and maximum value range, used to map values to the the colormap colors.
41
+ * Values outside of this range will be displayed with either the clamp color if activated,
42
+ * or with the color of the corresponding colormap end color.
43
+ */
44
+ valueRange?: [number, number];
45
+ /**
46
+ * Range specifying the minimum and maximum values to clamp the data.
47
+ * If it is undefined or not provided, the colormap range will be used.
48
+ * If it is null, no clamping will be applied.
49
+ */
50
+ clampRange?: [number, number] | null;
51
+ /**
52
+ * Color or pair of colors used for clamped values.
53
+ * If a single color is provided, it is used for both ends of the range.
54
+ * If it is undefined or not provided, the default clamp color will be used.
55
+ * If it is null, no clamping will be applied.
56
+ */
57
+ clampColor?: Color | [Color, Color] | null;
58
+ /** Value used to represent undefined data. */
59
+ undefinedValue?: number;
60
+ /** Color used for undefined data. */
61
+ undefinedColor?: Color;
62
+ /** Control used to apply or not smoothing to the display of the property. */
63
+ smooth?: boolean;
64
+ }
40
65
  /**
41
66
  * Creates an array of colors as RGB triplets in range [0, 1] using the colormap definition.
42
67
  * @param colormapDef Definition of the colormap.
@@ -44,5 +69,5 @@ export type TColormapDef = ColormapFunctionType | Uint8Array | ColorTableDef;
44
69
  * @param discreteColormapFunction If true, the color map function is targeting indices ranging from 0 to colormapSize.
45
70
  * @returns Array of colors.
46
71
  */
47
- export declare function getImageData(colormapDef: TColormapDef, colormapSize?: number, discreteColormapFunction?: boolean): Uint8Array;
48
- export declare function createColormapTexture(colormap: TColormapDef, context: DeckGLLayerContext, colormapHints: IColormapHints): Texture;
72
+ export declare function getImageData(colormapDef: ColormapProps, colormapSize?: number, discreteColormapFunction?: boolean): Uint8Array;
73
+ export declare function createColormapTexture(colormap: ColormapProps, context: DeckGLLayerContext, colormapHints: IColormapHints): Texture;
@@ -40,7 +40,7 @@ export function getImageData(colormapDef, colormapSize = 256, discreteColormapFu
40
40
  data[3 * i + 2] = color[2];
41
41
  }
42
42
  }
43
- return data ? data : new Uint8Array([0, 0, 0]);
43
+ return data;
44
44
  }
45
45
  const DEFAULT_TEXTURE_PARAMETERS = {
46
46
  addressModeU: "clamp-to-edge",
@@ -1 +1 @@
1
- {"version":3,"file":"colormapTools.js","sourceRoot":"","sources":["../../../src/layers/utils/colormapTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colormapTools.js","sourceRoot":"","sources":["../../../src/layers/utils/colormapTools.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME well-markers-fragment-shader\n\nprecision highp float;\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vec4(vColor.rgb * (1.0 / 255.0), vColor.a * (1.0 / 255.0));\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME well-markers-fragment-shader\n\nin vec4 vColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = vec4(vColor.rgb * (1.0 / 255.0), vColor.a * (1.0 / 255.0));\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
2
2
  export default _default;
@@ -1,8 +1,6 @@
1
1
  export default `#version 300 es
2
2
  #define SHADER_NAME well-markers-fragment-shader
3
3
 
4
- precision highp float;
5
-
6
4
  in vec4 vColor;
7
5
 
8
6
  out vec4 fragColor;
@@ -1 +1 @@
1
- {"version":3,"file":"marker.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/well_markers/marker.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;CAad,CAAC"}
1
+ {"version":3,"file":"marker.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/well_markers/marker.fs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;CAWd,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME well-markers-vertex-shader\nprecision highp float;\n\nin vec3 positions;\nin vec3 instancePositions;\nin float instanceSizes;\nin float instanceAzimuths;\nin float instanceInclinations;\nin vec4 instanceColors;\nin vec4 instanceOutlineColors;\nin vec3 instancePickingColors;\n\nout vec4 vColor;\n\nvoid main(void) {\n vec3 position = instancePositions;\n position.z *= (wellMarkers.ZIncreasingDownwards? -1.0 : 1.0);\n\n geometry.worldPosition = position;\n geometry.pickingColor = instancePickingColors;\n\n vColor = wellMarkers.useOutlineColor ? instanceOutlineColors : instanceColors;\n\n float sizeInPixels = project_size_to_pixel(instanceSizes, wellMarkers.sizeUnits);\n float projectedSize = project_pixel_size(sizeInPixels);\n\n float sinA = sin (PI / 180.0 * instanceAzimuths);\n float cosA = cos (PI / 180.0 * instanceAzimuths);\n\n float sinI = sin (PI / 180.0 * instanceInclinations);\n float cosI = cos (PI / 180.0 * instanceInclinations);\n\n mat3 azimuthMatrix = mat3(vec3(cosA, sinA, 0.0), vec3(-sinA, cosA, 0.0), vec3(0.0, 0.0, 1.0));\n mat3 inclMatrix = mat3(vec3(1.0, 0.0, 0.0), vec3(0.0, cosI, sinI), vec3(0.0, -sinI, cosI));\n mat3 sizeMatrix = mat3(vec3(projectedSize, 0.0, 0.0), vec3(0.0, projectedSize, 0.0), vec3(0.0, 0.0, 1.0));\n vec3 rotatedPos = azimuthMatrix * inclMatrix * sizeMatrix *positions;\n\n vec4 position_commonspace = vec4(project_position(rotatedPos + position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME well-markers-vertex-shader\n\nin vec3 positions;\nin vec3 instancePositions;\nin float instanceSizes;\nin float instanceAzimuths;\nin float instanceInclinations;\nin vec4 instanceColors;\nin vec4 instanceOutlineColors;\nin vec3 instancePickingColors;\n\nout vec4 vColor;\n\nvoid main(void) {\n vec3 position = instancePositions;\n position.z *= (wellMarkers.ZIncreasingDownwards? -1.0 : 1.0);\n\n geometry.worldPosition = position;\n geometry.pickingColor = instancePickingColors;\n\n vColor = wellMarkers.useOutlineColor ? instanceOutlineColors : instanceColors;\n\n float sizeInPixels = project_size_to_pixel(instanceSizes, wellMarkers.sizeUnits);\n float projectedSize = project_pixel_size(sizeInPixels);\n\n float sinA = sin (PI / 180.0 * instanceAzimuths);\n float cosA = cos (PI / 180.0 * instanceAzimuths);\n\n float sinI = sin (PI / 180.0 * instanceInclinations);\n float cosI = cos (PI / 180.0 * instanceInclinations);\n\n mat3 azimuthMatrix = mat3(vec3(cosA, sinA, 0.0), vec3(-sinA, cosA, 0.0), vec3(0.0, 0.0, 1.0));\n mat3 inclMatrix = mat3(vec3(1.0, 0.0, 0.0), vec3(0.0, cosI, sinI), vec3(0.0, -sinI, cosI));\n mat3 sizeMatrix = mat3(vec3(projectedSize, 0.0, 0.0), vec3(0.0, projectedSize, 0.0), vec3(0.0, 0.0, 1.0));\n vec3 rotatedPos = azimuthMatrix * inclMatrix * sizeMatrix *positions;\n\n vec4 position_commonspace = vec4(project_position(rotatedPos + position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n";
2
2
  export default _default;
@@ -1,6 +1,5 @@
1
1
  export default `#version 300 es
2
2
  #define SHADER_NAME well-markers-vertex-shader
3
- precision highp float;
4
3
 
5
4
  in vec3 positions;
6
5
  in vec3 instancePositions;
@@ -1 +1 @@
1
- {"version":3,"file":"marker.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/well_markers/marker.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cd,CAAC"}
1
+ {"version":3,"file":"marker.vs.glsl.js","sourceRoot":"","sources":["../../../src/layers/well_markers/marker.vs.glsl.ts"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Cd,CAAC"}
@@ -2,6 +2,7 @@ import { Geometry, Model } from "@luma.gl/engine";
2
2
  import { Layer, project, picking, UNIT } from "@deck.gl/core";
3
3
  import { createPropertyData } from "../utils/layerTools";
4
4
  import { utilities } from "../shader_modules";
5
+ import { precisionForTests } from "../shader_modules/test-precision/precisionForTests";
5
6
  import fsShader from "./marker.fs.glsl";
6
7
  import vsShader from "./marker.vs.glsl";
7
8
  const normalizeColor = (color) => {
@@ -190,7 +191,13 @@ export default class WellMarkersLayer extends Layer {
190
191
  return super.getShaders({
191
192
  vs: vsShader,
192
193
  fs: fsShader,
193
- modules: [project, picking, utilities, wellMarkersUniforms],
194
+ modules: [
195
+ project,
196
+ picking,
197
+ utilities,
198
+ wellMarkersUniforms,
199
+ precisionForTests,
200
+ ],
194
201
  });
195
202
  }
196
203
  initShapes() {