@windborne/grapher 1.0.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.
- package/.eslintrc.js +85 -0
- package/.idea/codeStyles/Project.xml +19 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/grapher.iml +12 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/0.bundle.js +2 -0
- package/0.bundle.js.map +1 -0
- package/1767282193a714f63082.module.wasm +0 -0
- package/537.bundle.js +2 -0
- package/537.bundle.js.map +1 -0
- package/831.bundle.js +2 -0
- package/831.bundle.js.map +1 -0
- package/bundle.js +2 -0
- package/bundle.js.map +1 -0
- package/package.json +75 -0
- package/readme.md +129 -0
- package/src/components/annotations.js +62 -0
- package/src/components/context_menu.js +73 -0
- package/src/components/draggable_points.js +114 -0
- package/src/components/graph_body.js +292 -0
- package/src/components/graph_title.js +16 -0
- package/src/components/options.js +111 -0
- package/src/components/percentile_button.js +72 -0
- package/src/components/range_graph.js +352 -0
- package/src/components/range_selection.js +175 -0
- package/src/components/range_selection_button.js +26 -0
- package/src/components/range_selection_button_base.js +51 -0
- package/src/components/series_key.js +235 -0
- package/src/components/series_key_axis_container.js +70 -0
- package/src/components/series_key_item.js +52 -0
- package/src/components/sidebar.js +76 -0
- package/src/components/tooltip.js +244 -0
- package/src/components/vertical_lines.js +70 -0
- package/src/components/x_axis.js +124 -0
- package/src/components/y_axis.js +239 -0
- package/src/eventable.js +65 -0
- package/src/grapher.js +367 -0
- package/src/grapher.scss +914 -0
- package/src/helpers/axis_sizes.js +2 -0
- package/src/helpers/binary_search.js +67 -0
- package/src/helpers/color_to_vector.js +35 -0
- package/src/helpers/colors.js +27 -0
- package/src/helpers/custom_prop_types.js +159 -0
- package/src/helpers/flatten_simple_data.js +81 -0
- package/src/helpers/format.js +233 -0
- package/src/helpers/generator_params_equal.js +10 -0
- package/src/helpers/name_for_series.js +16 -0
- package/src/helpers/place_grid.js +257 -0
- package/src/helpers/pyodide_ready.js +13 -0
- package/src/multigrapher.js +105 -0
- package/src/renderer/background.frag +7 -0
- package/src/renderer/background.vert +7 -0
- package/src/renderer/background_program.js +48 -0
- package/src/renderer/circle.frag +26 -0
- package/src/renderer/circle.vert +12 -0
- package/src/renderer/create_gl_program.js +36 -0
- package/src/renderer/draw_area.js +159 -0
- package/src/renderer/draw_background.js +15 -0
- package/src/renderer/draw_bars.js +80 -0
- package/src/renderer/draw_line.js +69 -0
- package/src/renderer/draw_zero_line.js +24 -0
- package/src/renderer/extract_vertices.js +137 -0
- package/src/renderer/graph_body_renderer.js +293 -0
- package/src/renderer/line.frag +51 -0
- package/src/renderer/line.vert +32 -0
- package/src/renderer/line_program.js +125 -0
- package/src/renderer/paths_from.js +72 -0
- package/src/renderer/scale_bounds.js +28 -0
- package/src/renderer/size_canvas.js +59 -0
- package/src/rust/Cargo.lock +233 -0
- package/src/rust/Cargo.toml +35 -0
- package/src/rust/pkg/grapher_rs.d.ts +42 -0
- package/src/rust/pkg/grapher_rs.js +351 -0
- package/src/rust/pkg/grapher_rs_bg.d.ts +11 -0
- package/src/rust/pkg/grapher_rs_bg.wasm +0 -0
- package/src/rust/pkg/index.js +342 -0
- package/src/rust/pkg/index_bg.wasm +0 -0
- package/src/rust/pkg/package.json +14 -0
- package/src/rust/src/extract_vertices.rs +83 -0
- package/src/rust/src/get_point_number.rs +50 -0
- package/src/rust/src/lib.rs +15 -0
- package/src/rust/src/selected_space_to_render_space.rs +131 -0
- package/src/state/average_loop_times.js +15 -0
- package/src/state/bound_calculator_from_selection.js +36 -0
- package/src/state/bound_calculators.js +41 -0
- package/src/state/calculate_annotations_state.js +59 -0
- package/src/state/calculate_data_bounds.js +104 -0
- package/src/state/calculate_tooltip_state.js +241 -0
- package/src/state/data_types.js +13 -0
- package/src/state/expand_bounds.js +58 -0
- package/src/state/find_matching_axis.js +31 -0
- package/src/state/get_default_bounds_calculator.js +15 -0
- package/src/state/hooks.js +164 -0
- package/src/state/infer_type.js +74 -0
- package/src/state/merge_bounds.js +64 -0
- package/src/state/multigraph_state_controller.js +334 -0
- package/src/state/selection_from_global_bounds.js +25 -0
- package/src/state/space_conversions/condense_data_space.js +115 -0
- package/src/state/space_conversions/data_space_to_selected_space.js +328 -0
- package/src/state/space_conversions/selected_space_to_background_space.js +144 -0
- package/src/state/space_conversions/selected_space_to_render_space.js +161 -0
- package/src/state/space_conversions/simple_series_to_data_space.js +229 -0
- package/src/state/state_controller.js +1770 -0
- package/src/state/sync_pool.js +101 -0
- package/test/setup.js +15 -0
- package/test/space_conversions/data_space_to_selected_space.test.js +434 -0
- package/webpack.dev.config.js +109 -0
- package/webpack.prod.config.js +60 -0
- package/webpack.test.config.js +59 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
const path = require('path');
|
2
|
+
const WasmPackPlugin = require('@wasm-tool/wasm-pack-plugin');
|
3
|
+
|
4
|
+
module.exports = {
|
5
|
+
mode: 'production',
|
6
|
+
entry: './src/grapher.js',
|
7
|
+
devtool: 'source-map',
|
8
|
+
output: {
|
9
|
+
path: path.resolve(__dirname), // string
|
10
|
+
filename: 'bundle.js',
|
11
|
+
publicPath: '/assets/',
|
12
|
+
library: 'Grapher',
|
13
|
+
libraryTarget: 'umd',
|
14
|
+
},
|
15
|
+
optimization: {
|
16
|
+
minimize: true
|
17
|
+
},
|
18
|
+
externals: {
|
19
|
+
react: 'react'
|
20
|
+
},
|
21
|
+
experiments: {
|
22
|
+
syncWebAssembly: true
|
23
|
+
},
|
24
|
+
resolve: {
|
25
|
+
fallback: {
|
26
|
+
util: require.resolve("util/")
|
27
|
+
}
|
28
|
+
},
|
29
|
+
module: {
|
30
|
+
rules: [
|
31
|
+
{
|
32
|
+
test:/\.s?css$/,
|
33
|
+
exclude: /(node_modules|bower_components|build)/,
|
34
|
+
use:['style-loader', 'css-loader', 'sass-loader']
|
35
|
+
},
|
36
|
+
{
|
37
|
+
test: /\.js$/,
|
38
|
+
exclude: /(node_modules|bower_components|build)/,
|
39
|
+
use: {
|
40
|
+
loader: 'babel-loader',
|
41
|
+
options: {
|
42
|
+
presets: ["@babel/preset-env", "@babel/preset-react"]
|
43
|
+
}
|
44
|
+
}
|
45
|
+
},
|
46
|
+
{
|
47
|
+
test: /\.(vert|frag|glsl)$/,
|
48
|
+
use: 'webpack-glsl-loader'
|
49
|
+
}
|
50
|
+
]
|
51
|
+
},
|
52
|
+
plugins: [
|
53
|
+
new WasmPackPlugin({
|
54
|
+
crateDirectory: path.resolve(__dirname, 'src', 'rust'),
|
55
|
+
outDir: path.resolve(__dirname, 'src', 'rust', 'pkg'),
|
56
|
+
extraArgs: '--no-typescript',
|
57
|
+
forceMode: 'production'
|
58
|
+
})
|
59
|
+
]
|
60
|
+
};
|
@@ -0,0 +1,59 @@
|
|
1
|
+
const path = require('path');
|
2
|
+
const WasmPackPlugin = require('@wasm-tool/wasm-pack-plugin');
|
3
|
+
const nodeExternals = require('webpack-node-externals');
|
4
|
+
const isCoverage = process.env.NODE_ENV === 'coverage';
|
5
|
+
|
6
|
+
module.exports = {
|
7
|
+
target: 'node',
|
8
|
+
mode: 'development',
|
9
|
+
devtool: 'inline-cheap-module-source-map',
|
10
|
+
externals: [nodeExternals()],
|
11
|
+
output: {
|
12
|
+
devtoolModuleFilenameTemplate: '[absolute-resource-path]',
|
13
|
+
devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]'
|
14
|
+
},
|
15
|
+
experiments: {
|
16
|
+
syncWebAssembly: true
|
17
|
+
},
|
18
|
+
resolve: {
|
19
|
+
fallback: {
|
20
|
+
util: require.resolve("util/")
|
21
|
+
}
|
22
|
+
},
|
23
|
+
module: {
|
24
|
+
rules: [
|
25
|
+
isCoverage ? {
|
26
|
+
test: /\.(js|ts)/,
|
27
|
+
include: path.resolve('src'),
|
28
|
+
loader: 'istanbul-instrumenter-loader'
|
29
|
+
} : [],
|
30
|
+
{
|
31
|
+
test:/\.s?css$/,
|
32
|
+
exclude: /(node_modules|bower_components|build)/,
|
33
|
+
use:['style-loader', 'css-loader', 'sass-loader']
|
34
|
+
},
|
35
|
+
{
|
36
|
+
test: /\.js$/,
|
37
|
+
exclude: /(node_modules|bower_components|build)/,
|
38
|
+
use: {
|
39
|
+
loader: 'babel-loader',
|
40
|
+
options: {
|
41
|
+
presets: ["@babel/preset-env", "@babel/preset-react"]
|
42
|
+
}
|
43
|
+
}
|
44
|
+
},
|
45
|
+
{
|
46
|
+
test: /\.(vert|frag|glsl)$/,
|
47
|
+
use: 'webpack-glsl-loader'
|
48
|
+
}
|
49
|
+
].flat()
|
50
|
+
},
|
51
|
+
plugins: [
|
52
|
+
new WasmPackPlugin({
|
53
|
+
crateDirectory: path.resolve(__dirname, 'src', 'rust'),
|
54
|
+
outDir: path.resolve(__dirname, 'src', 'rust', 'pkg'),
|
55
|
+
extraArgs: '--no-typescript',
|
56
|
+
forceMode: 'production'
|
57
|
+
})
|
58
|
+
]
|
59
|
+
};
|