@webviz/subsurface-viewer 0.0.1-alpha.1 → 0.0.2-alpha.1

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 (171) hide show
  1. package/dist/package.json +5 -2
  2. package/package.json +6 -3
  3. package/src/DashSubsurfaceViewer.tsx +0 -270
  4. package/src/SubsurfaceViewer.stories.tsx +0 -449
  5. package/src/SubsurfaceViewer.test.tsx +0 -98
  6. package/src/SubsurfaceViewer.tsx +0 -356
  7. package/src/__snapshots__/SubsurfaceViewer.test.tsx.snap +0 -178
  8. package/src/assets/glTF/north_arrow/scene.bin +0 -0
  9. package/src/assets/glTF/north_arrow/scene.gltf +0 -315
  10. package/src/assets/glTF/north_arrow/textures/Arrow5_baseColor.png +0 -0
  11. package/src/assets/glTF/north_arrow/textures/Arrow5_metallicRoughness.png +0 -0
  12. package/src/assets/glTF/north_arrow/textures/Arrow5_normal.png +0 -0
  13. package/src/components/ColorLegend.test.tsx +0 -32
  14. package/src/components/ColorLegend.tsx +0 -80
  15. package/src/components/ColorLegends.test.tsx +0 -97
  16. package/src/components/ColorLegends.tsx +0 -46
  17. package/src/components/DistanceScale.stories.tsx +0 -28
  18. package/src/components/DistanceScale.test.tsx +0 -36
  19. package/src/components/DistanceScale.tsx +0 -84
  20. package/src/components/InfoCard.test.tsx +0 -110
  21. package/src/components/InfoCard.tsx +0 -263
  22. package/src/components/Map.test.tsx +0 -142
  23. package/src/components/Map.tsx +0 -1435
  24. package/src/components/StatusIndicator.test.tsx +0 -14
  25. package/src/components/StatusIndicator.tsx +0 -38
  26. package/src/components/ViewAnnotation.tsx +0 -16
  27. package/src/components/ViewFooter.test.tsx +0 -12
  28. package/src/components/ViewFooter.tsx +0 -30
  29. package/src/components/__snapshots__/ColorLegends.test.tsx.snap +0 -15
  30. package/src/components/__snapshots__/DistanceScale.test.tsx.snap +0 -33
  31. package/src/components/__snapshots__/InfoCard.test.tsx.snap +0 -561
  32. package/src/components/__snapshots__/Map.test.tsx.snap +0 -119
  33. package/src/components/__snapshots__/StatusIndicator.test.tsx.snap +0 -3
  34. package/src/components/__snapshots__/ViewFooter.test.tsx.snap +0 -7
  35. package/src/components/settings/DrawModeSelector.test.tsx +0 -45
  36. package/src/components/settings/DrawModeSelector.tsx +0 -58
  37. package/src/components/settings/DrawModeSelector_performance.test.tsx +0 -35
  38. package/src/components/settings/LayerProperty.test.tsx +0 -35
  39. package/src/components/settings/LayerProperty.tsx +0 -153
  40. package/src/components/settings/LayerProperty_performance.test.tsx +0 -39
  41. package/src/components/settings/LayerSettingsButton.test.tsx +0 -133
  42. package/src/components/settings/LayerSettingsButton.tsx +0 -95
  43. package/src/components/settings/LayersButton.test.tsx +0 -102
  44. package/src/components/settings/LayersButton.tsx +0 -97
  45. package/src/components/settings/NumericInput.test.tsx +0 -25
  46. package/src/components/settings/NumericInput.tsx +0 -67
  47. package/src/components/settings/Settings.tsx +0 -71
  48. package/src/components/settings/SliderInput.test.tsx +0 -28
  49. package/src/components/settings/SliderInput.tsx +0 -71
  50. package/src/components/settings/ToggleButton.test.tsx +0 -25
  51. package/src/components/settings/ToggleButton.tsx +0 -53
  52. package/src/components/settings/__snapshots__/DrawModeSelector.test.tsx.snap +0 -124
  53. package/src/components/settings/__snapshots__/LayerProperty.test.tsx.snap +0 -124
  54. package/src/components/settings/__snapshots__/LayerSettingsButton.test.tsx.snap +0 -36
  55. package/src/components/settings/__snapshots__/LayersButton.test.tsx.snap +0 -83
  56. package/src/components/settings/__snapshots__/NumericInput.test.tsx.snap +0 -123
  57. package/src/components/settings/__snapshots__/SliderInput.test.tsx.snap +0 -244
  58. package/src/components/settings/__snapshots__/ToggleButton.test.tsx.snap +0 -182
  59. package/src/custom.d.ts +0 -9
  60. package/src/index.ts +0 -5
  61. package/src/inputSchema/ColorTables.json +0 -51
  62. package/src/inputSchema/FaultPolygons.json +0 -80
  63. package/src/inputSchema/Grid.json +0 -39
  64. package/src/inputSchema/PieChart.json +0 -72
  65. package/src/inputSchema/WellLog.json +0 -126
  66. package/src/inputSchema/WellLogTemplate.json +0 -136
  67. package/src/inputSchema/WellLogs.json +0 -5
  68. package/src/inputSchema/Wells.json +0 -106
  69. package/src/inputSchema/schemaValidationUtil.tsx +0 -55
  70. package/src/inputSchema/validator.tsx +0 -72
  71. package/src/inputSchema/wellCompletions.json +0 -108
  72. package/src/layers/BoxSelectionLayer/boxSelectionLayer.stories.tsx +0 -172
  73. package/src/layers/BoxSelectionLayer/boxSelectionLayer.tsx +0 -136
  74. package/src/layers/axes/axes-fragment.glsl.ts +0 -15
  75. package/src/layers/axes/axesLayer.stories.tsx +0 -87
  76. package/src/layers/axes/axesLayer.ts +0 -692
  77. package/src/layers/axes/boxLayer.ts +0 -71
  78. package/src/layers/axes/grid-vertex.glsl.ts +0 -14
  79. package/src/layers/axes2d/axes2DLayer.stories.tsx +0 -150
  80. package/src/layers/axes2d/axes2DLayer.ts +0 -841
  81. package/src/layers/axes2d/font-atlas.png +0 -0
  82. package/src/layers/axes2d/label-fragment.glsl.js +0 -37
  83. package/src/layers/axes2d/label-vertex.glsl.js +0 -20
  84. package/src/layers/axes2d/line-fragment.glsl.js +0 -14
  85. package/src/layers/axes2d/line-vertex.glsl.js +0 -13
  86. package/src/layers/colormap/colormap.fs.glsl.ts +0 -42
  87. package/src/layers/colormap/colormapLayer.ts +0 -247
  88. package/src/layers/drawing/drawingLayer.tsx +0 -256
  89. package/src/layers/fault_polygons/faultPolygonsLayer.ts +0 -54
  90. package/src/layers/grid3d/fragment.fs.glsl.ts +0 -109
  91. package/src/layers/grid3d/fragment_lines.glsl.ts +0 -21
  92. package/src/layers/grid3d/grid3dLayer.stories.tsx +0 -172
  93. package/src/layers/grid3d/grid3dLayer.ts +0 -248
  94. package/src/layers/grid3d/privateLayer.ts +0 -292
  95. package/src/layers/grid3d/vertex.glsl.ts +0 -43
  96. package/src/layers/grid3d/vertex_lines.glsl.ts +0 -15
  97. package/src/layers/grid3d/webworker.ts +0 -173
  98. package/src/layers/hillshading2d/hillshading2d.fs.glsl.ts +0 -62
  99. package/src/layers/hillshading2d/hillshading2dLayer.ts +0 -172
  100. package/src/layers/index.ts +0 -35
  101. package/src/layers/intersection/intersectionView.stories.tsx +0 -294
  102. package/src/layers/intersection/unfoldedGeoJsonLayer.ts +0 -92
  103. package/src/layers/map/fragment.fs.glsl.ts +0 -127
  104. package/src/layers/map/fragment_lines.glsl.ts +0 -21
  105. package/src/layers/map/mapLayer.stories.tsx +0 -1369
  106. package/src/layers/map/mapLayer.ts +0 -470
  107. package/src/layers/map/privateMapLayer.ts +0 -317
  108. package/src/layers/map/vertex.glsl.ts +0 -45
  109. package/src/layers/map/vertex_lines.glsl.ts +0 -15
  110. package/src/layers/map/webworker.ts +0 -479
  111. package/src/layers/northarrow/northArrow.stories.tsx +0 -108
  112. package/src/layers/northarrow/northArrow3DLayer.ts +0 -204
  113. package/src/layers/northarrow/northarrow-fragment.glsl.js +0 -14
  114. package/src/layers/northarrow/northarrow-vertex.glsl.js +0 -13
  115. package/src/layers/piechart/fragment.glsl.js +0 -42
  116. package/src/layers/piechart/pieChartLayer.ts +0 -246
  117. package/src/layers/piechart/vertex.glsl.js +0 -42
  118. package/src/layers/points/pointsLayer.stories.tsx +0 -141
  119. package/src/layers/points/pointsLayer.ts +0 -143
  120. package/src/layers/polylines/polylinesLayer.stories.tsx +0 -144
  121. package/src/layers/polylines/polylinesLayer.ts +0 -263
  122. package/src/layers/selectable_geojson/selectableGeoJsonLayer.ts +0 -25
  123. package/src/layers/shader_modules/decoder.fs.glsl.ts +0 -41
  124. package/src/layers/shader_modules/decoder.ts +0 -46
  125. package/src/layers/shader_modules/index.ts +0 -1
  126. package/src/layers/terrain/map3DLayer.stories.tsx +0 -340
  127. package/src/layers/terrain/map3DLayer.ts +0 -556
  128. package/src/layers/terrain/terrainMapLayer.ts +0 -334
  129. package/src/layers/terrain/terrainmap.fs.glsl.ts +0 -134
  130. package/src/layers/triangle/fragment.fs.glsl.ts +0 -126
  131. package/src/layers/triangle/fragment_lines.glsl.ts +0 -21
  132. package/src/layers/triangle/privateTriangleLayer.ts +0 -203
  133. package/src/layers/triangle/test_data/surfacePoints.ts +0 -4344
  134. package/src/layers/triangle/test_data/surfaceTriangles.ts +0 -7392
  135. package/src/layers/triangle/triangleLayer.stories.tsx +0 -191
  136. package/src/layers/triangle/triangleLayer.ts +0 -273
  137. package/src/layers/triangle/vertex.glsl.ts +0 -35
  138. package/src/layers/triangle/vertex_lines.glsl.ts +0 -15
  139. package/src/layers/triangle/webworker.ts +0 -165
  140. package/src/layers/utils/glsl.d.ts +0 -4
  141. package/src/layers/utils/layerTools.ts +0 -182
  142. package/src/layers/utils/propertyMapTools.ts +0 -43
  143. package/src/layers/wells/utils/spline.ts +0 -318
  144. package/src/layers/wells/wellsLayer.stories.tsx +0 -625
  145. package/src/layers/wells/wellsLayer.ts +0 -1377
  146. package/src/redux/actions.ts +0 -8
  147. package/src/redux/reducer.ts +0 -43
  148. package/src/redux/store.ts +0 -15
  149. package/src/redux/types.ts +0 -114
  150. package/src/storybook/SubsurfaceViewer.stories.jsx +0 -644
  151. package/src/storybook/components/InfoCard.stories.jsx +0 -39
  152. package/src/storybook/components/colorLegends/ContinuousLegend.stories.jsx +0 -32
  153. package/src/storybook/components/colorLegends/DiscreteLegend.stories.jsx +0 -33
  154. package/src/storybook/components/colorLegends/IndividualScaleForMap.stories.jsx +0 -99
  155. package/src/storybook/components/colorLegends/SingleScaleForMap.stories.jsx +0 -120
  156. package/src/storybook/components/settings/LayerSettingsButton.stories.jsx +0 -34
  157. package/src/storybook/components/settings/NumericInput.stories.jsx +0 -17
  158. package/src/storybook/components/settings/ToggleButton.stories.jsx +0 -16
  159. package/src/storybook/schemaValidation/sampleData.js +0 -177
  160. package/src/storybook/schemaValidation/schemaValidation.stories.jsx +0 -91
  161. package/src/test/TestWrapper.tsx +0 -13
  162. package/src/utils/configuration.ts +0 -61
  163. package/src/utils/fit-bounds.js +0 -85
  164. package/src/utils/measurement.ts +0 -61
  165. package/src/utils/northArrow.ts +0 -4
  166. package/src/utils/specExtractor.ts +0 -36
  167. package/src/viewports/index.js +0 -1
  168. package/src/viewports/intersectionViewport.ts +0 -137
  169. package/src/views/index.js +0 -1
  170. package/src/views/intersectionView.ts +0 -38
  171. package/tsconfig.json +0 -7
@@ -1,136 +0,0 @@
1
- import { CompositeLayer, PickingInfo, LayersList } from "@deck.gl/core/typed";
2
- import { FeatureCollection } from "@nebula.gl/edit-modes";
3
- import { SelectionLayer } from "@nebula.gl/layers";
4
- import { GeoJsonLayer } from "@deck.gl/layers/typed";
5
- import { ExtendedLayerProps } from "../utils/layerTools";
6
- import { getSize } from "../wells/wellsLayer";
7
- import { Color } from "@deck.gl/core/typed";
8
- import { Feature } from "geojson";
9
-
10
- // This should be fixed at some point
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- type PickInfo = any;
13
-
14
- export interface BoxSelectionLayerProps<D> extends ExtendedLayerProps<D> {
15
- mode: string; // One of modes in MODE_MAP
16
- selectedFeatureIndexes: number[];
17
- pickingInfos: PickingInfo[];
18
- refine: boolean;
19
- pointRadiusScale: number;
20
- lineWidthScale: number;
21
- lineStyle: LineStyleAccessor;
22
- wellHeadStyle: WellHeadStyleAccessor;
23
- handleSelection: (pickingInfos: PickInfo[]) => void;
24
- }
25
-
26
- const defaultProps = {
27
- "@@type": "BoxSelectionLayer",
28
- name: "boxSelection",
29
- id: "boxSelection-layer",
30
- pickable: true,
31
- visible: true,
32
-
33
- // Props used to get/set data in the box selection layer.
34
- selectedFeatureIndexes: [] as number[],
35
- data: {
36
- type: "FeatureCollection",
37
- features: [],
38
- },
39
- };
40
-
41
- type StyleAccessorFunction = (
42
- object: Feature,
43
- objectInfo?: Record<string, unknown>
44
- ) => StyleData;
45
-
46
- type NumberPair = [number, number];
47
- type DashAccessor = boolean | NumberPair | StyleAccessorFunction | undefined;
48
- type ColorAccessor = Color | StyleAccessorFunction | undefined;
49
- type SizeAccessor = number | StyleAccessorFunction | undefined;
50
- type StyleData = NumberPair | Color | number;
51
-
52
- type LineStyleAccessor = {
53
- color?: ColorAccessor;
54
- dash?: DashAccessor;
55
- width?: SizeAccessor;
56
- };
57
-
58
- type WellHeadStyleAccessor = {
59
- color?: ColorAccessor;
60
- size?: SizeAccessor;
61
- };
62
-
63
- // Composite layer that contains an Selection Lyaer from nebula.gl
64
- // See https://nebula.gl/docs/api-reference/layers/selection-layer
65
- export default class BoxSelectionLayer extends CompositeLayer<
66
- BoxSelectionLayerProps<FeatureCollection>
67
- > {
68
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
- setMultiSelection(pickingInfos: any[]): void {
70
- if (this.internalState) {
71
- const data = pickingInfos
72
- .map((item) => item.object)
73
- .filter((item) => item.type === "Feature");
74
- this.setState({
75
- pickingInfos: pickingInfos,
76
- data: data,
77
- });
78
- }
79
- }
80
-
81
- renderLayers(): LayersList {
82
- if (this.props.visible == false) {
83
- return [];
84
- }
85
-
86
- const LINE = "line";
87
- const POINT = "point";
88
- const isOrthographic =
89
- this.context.viewport.constructor.name === "OrthographicViewport";
90
- const positionFormat = isOrthographic ? "XY" : "XYZ";
91
- const geoJsonLayer = new GeoJsonLayer({
92
- id: "geoJson",
93
- data: this.state["data"],
94
- pickable: false,
95
- stroked: false,
96
- positionFormat,
97
- pointRadiusUnits: "pixels",
98
- lineWidthUnits: "pixels",
99
- pointRadiusScale: this.props.pointRadiusScale
100
- ? this.props.pointRadiusScale
101
- : 1,
102
- lineWidthScale: this.props.lineWidthScale
103
- ? this.props.lineWidthScale
104
- : 1,
105
- getLineWidth: getSize(LINE, this.props.lineStyle?.width, -1),
106
- getPointRadius: getSize(POINT, this.props.wellHeadStyle?.size, 2),
107
- getFillColor: [255, 140, 0],
108
- getLineColor: [255, 140, 0],
109
- });
110
- const selectionLayer = new SelectionLayer(
111
- // @ts-expect-error: EditableGeoJsonLayer from nebula.gl has no typing
112
- this.getSubLayerProps({
113
- id: "selection",
114
- selectionType: "rectangle",
115
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
- onSelect: ({ pickingInfos }: any) => {
117
- this.setMultiSelection(pickingInfos);
118
- if (this.props.handleSelection) {
119
- this.props.handleSelection(pickingInfos);
120
- }
121
- },
122
- layerIds: ["wells-layer"],
123
- getTentativeFillColor: () => [255, 0, 255, 100],
124
- getTentativeLineColor: () => [0, 0, 255, 255],
125
- getTentativeLineDashArray: () => [0, 0],
126
- lineWidthMinPixels: 3,
127
- })
128
- );
129
- // @ts-expect-error: EditableGeoJsonLayer from nebula.gl has no typing
130
- return [selectionLayer, geoJsonLayer];
131
- }
132
- }
133
-
134
- BoxSelectionLayer.layerName = "BoxSelectionLayer";
135
- BoxSelectionLayer.defaultProps =
136
- defaultProps as unknown as BoxSelectionLayerProps<FeatureCollection>;
@@ -1,15 +0,0 @@
1
- const fragmentShader = `#version 300 es
2
- #define SHADER_NAME graph-layer-fragment-shader
3
-
4
- precision highp float;
5
-
6
- out vec4 fragColor;
7
-
8
- uniform vec4 uColor;
9
-
10
- void main(void) {
11
- fragColor = uColor;
12
- }
13
- `;
14
-
15
- export default fragmentShader;
@@ -1,87 +0,0 @@
1
- import React from "react";
2
- import DeckGL from "@deck.gl/react/typed";
3
- import { rgb } from "d3-color";
4
- import { Color, OrthographicView } from "@deck.gl/core/typed";
5
-
6
- import { ComponentStory, ComponentMeta } from "@storybook/react";
7
- import AxesLayer from "./axesLayer";
8
-
9
- export default {
10
- component: DeckGL,
11
- title: "SubsurfaceViewer / Axes",
12
- } as ComponentMeta<typeof DeckGL>;
13
-
14
- const layerProps = {
15
- name: "axes",
16
- bounds: [-100, -100, 0, 100, 100, 100] as [
17
- number,
18
- number,
19
- number,
20
- number,
21
- number,
22
- number
23
- ],
24
- };
25
-
26
- function getRgba(color: string) {
27
- const c = rgb(color);
28
- return [c.r, c.g, c.b, c.opacity * 255];
29
- }
30
-
31
- export const Baseline: ComponentStory<typeof DeckGL> = (args) => {
32
- args.layers = [new AxesLayer({ ...layerProps })];
33
- args.views = [new OrthographicView({})];
34
- return <DeckGL {...args} />;
35
- };
36
-
37
- function ColoredLabels(props: { labelColor: string; axisColor: string }) {
38
- const layers = [
39
- new AxesLayer({
40
- ...layerProps,
41
- labelColor: getRgba(props.labelColor) as Color,
42
- axisColor: getRgba(props.axisColor) as Color,
43
- }),
44
- ];
45
- const views = [new OrthographicView({})];
46
- return <DeckGL layers={layers} views={views} />;
47
- }
48
-
49
- export const DarkMode: ComponentStory<typeof ColoredLabels> = (args) => {
50
- return <ColoredLabels {...args} />;
51
- };
52
-
53
- DarkMode.args = {
54
- labelColor: "white",
55
- axisColor: "white",
56
- };
57
-
58
- DarkMode.parameters = {
59
- backgrounds: { default: "dark" },
60
- };
61
-
62
- export const CustomLabel: ComponentStory<typeof CustomLabels> = (args) => {
63
- return <CustomLabels {...args} />;
64
- };
65
-
66
- function CustomLabels(props: {
67
- labelColor: string;
68
- labelFontSize: number;
69
- fontFamily: string;
70
- }) {
71
- const layers = [
72
- new AxesLayer({
73
- ...layerProps,
74
- labelColor: getRgba(props.labelColor) as Color,
75
- labelFontSize: props.labelFontSize,
76
- fontFamily: props.fontFamily,
77
- }),
78
- ];
79
- const views = [new OrthographicView({})];
80
- return <DeckGL layers={layers} views={views} />;
81
- }
82
-
83
- CustomLabel.args = {
84
- labelColor: "blue",
85
- labelFontSize: 10,
86
- fontFamily: "math",
87
- };