baselode 0.1.5 → 0.1.7
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/README.md +62 -33
- package/dist/baselode.js +1634 -1383
- package/dist/baselode.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,72 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Baselode (JavaScript)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Baselode is an open-source JavaScript toolkit providing structured data models for exploration and mining applications.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Version 0.1.0 focuses on domain-aware data models and validation utilities for drillhole-style data. The goal is to provide a consistent foundation for analytics, visualization, and AI workflows.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
---
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Installation
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
```bash
|
|
12
|
+
npm install baselode
|
|
13
|
+
```
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
**Requires:** Node.js 20+, React 18+
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
---
|
|
16
18
|
|
|
17
|
-
- **Data Loading:** Efficiently import and manage your exploration and mining data (drillholes, assays, block models, structural measurements).
|
|
19
|
+
- **Data Loading:** Efficiently import and manage your exploration and mining data (drillholes, assays, geology/lithology, block models, structural measurements).
|
|
18
20
|
- **Data Models:** Utilize predefined models to normalize and interpret your data (40+ column name variants, minimum-curvature desurveying).
|
|
19
21
|
- **Data Visualization:** Create insightful 2D strip logs (Plotly) and interactive 3D scenes (Three.js) with orbit/fly controls, assay coloring, structural disc rendering, and click-select glow.
|
|
20
22
|
- **Common Algorithms:** Access a range of algorithms designed to solve common problems in the industry.
|
|
21
23
|
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
```javascript
|
|
27
|
+
import { parseDrillholesCSV } from 'baselode';
|
|
28
|
+
|
|
29
|
+
// Example: file is a File object from an <input type="file" />
|
|
30
|
+
const file = /* your File object */;
|
|
31
|
+
file.text().then(csvText => {
|
|
32
|
+
const { holes } = parseDrillholesCSV(csvText);
|
|
33
|
+
// holes is an array of collar objects
|
|
34
|
+
console.log(holes);
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Included in 0.1.0
|
|
41
|
+
|
|
42
|
+
- Drillhole collar, survey, assay, and geology/lithology models
|
|
43
|
+
- Downhole interval structures
|
|
44
|
+
- Basic validation utilities
|
|
45
|
+
- Strip log visualisations (numeric, categorical, geology)
|
|
46
|
+
- Map visualisations
|
|
47
|
+
- 3D visualisations
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Design Principles
|
|
52
|
+
|
|
53
|
+
- Explicit domain models (not generic tables)
|
|
54
|
+
- Minimal dependencies
|
|
55
|
+
- Visualisation tooling as key to data analysis
|
|
56
|
+
- Designed for integration with analytics, GIS, and AI systems
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Roadmap
|
|
61
|
+
|
|
62
|
+
Future releases may include:
|
|
63
|
+
|
|
64
|
+
- Geospatial helpers
|
|
65
|
+
- Interoperability with common mining formats
|
|
66
|
+
- Visualization adapters
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
22
70
|
## 3D Scene Architecture
|
|
23
71
|
|
|
24
72
|
`Baselode3DScene` is a thin orchestrator; rendering is handled by domain modules:
|
|
@@ -34,31 +82,12 @@ This is the javascript version of `baselode`. See also the python module.
|
|
|
34
82
|
|
|
35
83
|
## License
|
|
36
84
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
## Obligations
|
|
85
|
+
GNU General Public License v3.0 or later (GPL-3.0-or-later).
|
|
40
86
|
|
|
41
|
-
|
|
87
|
+
See the `LICENSE` file in this repository for full details.
|
|
42
88
|
|
|
43
|
-
|
|
44
|
-
- You must state any significant changes made to the original software.
|
|
45
|
-
- You must distribute your modified source code under the GPL-3.0 license.
|
|
89
|
+
---
|
|
46
90
|
|
|
47
|
-
|
|
91
|
+
## Contributing
|
|
48
92
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
This package is configured to take its version from the git tag on the current commit.
|
|
52
|
-
|
|
53
|
-
- Tag format: `vMAJOR.MINOR.PATCH` (example: `v0.1.0`)
|
|
54
|
-
- On `npm pack` or `npm publish`, `prepack` runs `scripts/set-version-from-tag.mjs`
|
|
55
|
-
- The script strips the leading `v` and updates `package.json` version before building
|
|
56
|
-
|
|
57
|
-
Typical publish flow:
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
git tag v0.1.0
|
|
61
|
-
git push origin v0.1.0
|
|
62
|
-
npm run pack:check
|
|
63
|
-
npm run publish:npm
|
|
64
|
-
```
|
|
93
|
+
Contributions and issue reports are welcome via GitHub.
|