Skip to content

Commit c716497

Browse files
joa-quimclaude
andcommitted
Add project Vision doc, link from README and docs index
VISION.md moves into docs/src/00-vision.md so it's a real Documenter page (builds at .../dev/00-vision); linked from the docs index and from README between Install and Quick start. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 104b465 commit c716497

4 files changed

Lines changed: 69 additions & 10 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# InteractiveGMT
22

3-
[![Development documentation](https://img.shields.io/badge/docs-dev-blue.svg)](https://www.generic-mapping-tools.org/InteractiveGMT/dev)
3+
[![Documentation](https://img.shields.io/badge/docs-blue.svg)](https://www.generic-mapping-tools.org/InteractiveGMT/dev)
44
[![Test workflow status](https://github.com/joa-quim/InteractiveGMT.jl/actions/workflows/Test.yml/badge.svg?branch=main)](https://github.com/joa-quim/InteractiveGMT.jl/actions/workflows/Test.yml?query=branch%3Amain)
55
[![Coverage](https://codecov.io/gh/joa-quim/InteractiveGMT.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/joa-quim/InteractiveGMT.jl)
66
[![Docs workflow Status](https://github.com/GenericMappingTools/InteractiveGMT/actions/workflows/documentation.yml/badge.svg?branch=master)](https://github.com/GenericMappingTools/InteractiveGMT/actions/workflows/documentation.yml?query=branch%3Amaster)
@@ -25,6 +25,8 @@ using GMT
2525
iGMTinstall()
2626
```
2727

28+
See the [Vision](https://www.generic-mapping-tools.org/InteractiveGMT/dev/00-vision) for where this project is headed.
29+
2830
## Quick start
2931

3032
Use the `i'GMT` icon that you now have on your desktop. Or, from a Julia REPL

docs/make.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ DocMeta.setdocmeta!(InteractiveGMT, :DocTestSetup, :(using InteractiveGMT); recu
55

66
# Add titles of sections and overrides page titles
77
const titles = Dict(
8+
"00-vision.md" => "Vision",
89
"01-getting-started.md" => "Getting Started",
910
"05-preferences.md" => "Preferences",
1011
"10-grid-viewer.md" => "Grid Viewer",

docs/src/00-vision.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# InteractiveGMT — Vision
2+
3+
## Mission
4+
5+
InteractiveGMT (**i'GMT**) is a graphical front end to [GMT](https://www.generic-mapping-tools.org/)
6+
and its Julia extensions ([GMT.jl](https://github.com/GenericMappingTools/GMT.jl)) — not a
7+
replacement for it. GMT's power has always come from being a scriptable, composable command-line
8+
toolset; i'GMT's job is to make that power discoverable, just not and immediate, :).
9+
Most dialogs are thin skin over a real GMT.jl call, and every action a user takes graphically should be,
10+
in future, reproducible, inspectable, and scriptable from the
11+
Julia console docked in the same window. **Scripting is the backbone, not a fallback.**
12+
13+
## The Five Pillars
14+
15+
### 1. A real GUI for GMT — without abandoning the command line
16+
17+
Grids, images, tables, and solids open into a native Qt6 + VTK window with proper interaction
18+
(gizmo, cube axes, shading, colour bars, context menus) — but the in-window Julia console keeps
19+
the underlying GMT.jl calls one keystroke away. Menu actions are GMT.jl one-liners with a UI in
20+
front of them, not a parallel reimplementation. A user should be able to build a figure by
21+
clicking, then lift the equivalent script straight out of the console history.
22+
23+
### 2. 3-D, volumetric, and spherical, natively
24+
25+
GMT's native domain is the 2-D map; i'GMT's is what comes after: 3-D grids and point clouds today,
26+
extending toward true volumetric rendering (netCDF cubes, layered earth models) and spherical
27+
(whole-globe, non-planar) visualization — the geometries a flat `-JX`/`-JM` projection was never
28+
meant to carry. The Qt+VTK core exists specifically because this class of rendering has no home in
29+
classic GMT PostScript output.
30+
31+
### 3. Rescue the Mirone legacy
32+
33+
[Mirone](https://github.com/joa-quim/Mirone) accumulated two decades of MATLAB-based geoscience
34+
utilities — many with no equivalent in any other package, free or commercial: tsunami modelling
35+
(NSWING), Okada elastic deformation, IGRF, focal mechanisms, grid transplanting, nested-grid
36+
tools, seismicity catalogs, tile mosaics, and more. Most would otherwise be lost to an aging,
37+
license-gated runtime. Porting them into i'GMT — one dialog, one Julia module at a time — is not
38+
nostalgia; it's preservation of working science that deserves a modern, open home.
39+
40+
### 4. Native multibeam ingestion
41+
42+
Bring [MB-System](https://www.mbari.org/technology/mb-system/)-readable multibeam formats
43+
directly into i'GMT, and mirror the useful parts of MB-System's own GUI tools (swath editing,
44+
cleaning, mosaicking) inside the same window a grid or point cloud already opens in — instead of
45+
requiring a separate application and a file round-trip.
46+
47+
### 5. Investigate swallowing GMTSAR
48+
49+
InSAR processing ([GMTSAR](https://topex.ucsd.edu/gmtsar/)) is presently a shell-script-driven
50+
pipeline bolted onto GMT. Whether it can be "librarified" — exposed as a callable library GMT.jl
51+
(and by extension i'GMT) can drive directly, the way GMT's own modules already are — is an open
52+
feasibility question, not a commitment. Worth investigating; worth swallowing whole if it proves
53+
tractable.
54+
55+
## What Stays True Throughout
56+
57+
- **GMT command-line fidelity first.** Every graphical feature maps to real GMT/GMT.jl calls a
58+
script could also make. No dialog is allowed to become the *only* way to do something.
59+
- **Julia, not a shadow language.** Extensions are Julia modules calling GMT.jl, not a bespoke
60+
scripting layer competing with it.
61+
- **Windows today, portable in spirit.** The current viewer binary is Windows-only by
62+
circumstance (the build toolchain), not by design — nothing in the architecture is
63+
Windows-specific.

docs/src/index.md

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CurrentModule = InteractiveGMT
44

55
# InteractiveGMT
66

7-
Interactive 3-D viewing of [GMT.jl](https://github.com/GenericMappingTools/GMT.jl) data — grids, point clouds, and GMTfv solids — in a self-contained **Qt6 + VTK** window. No dependency on F3D.
7+
Interactive 3-D viewing of [GMT.jl](https://github.com/GenericMappingTools/GMT.jl) data — grids, point clouds, and GMTfv solids — in a self-contained **Qt6 + VTK** window.
88

99
## Features
1010

@@ -35,16 +35,9 @@ y = sin.(t)
3535
fig = xyplot([t y])
3636
```
3737

38-
## Installation
39-
40-
```julia
41-
Pkg.add("https://github.com/joa-quim/InteractiveGMT.jl.git")
42-
```
43-
44-
**Requirements:** Windows only. The viewer DLL is pre-built.
45-
4638
## Documentation
4739

40+
- [Vision](00-vision.md)
4841
- [Getting Started](01-getting-started.md)
4942
- [Grid Viewer](10-grid-viewer.md)
5043
- [Point Clouds](20-point-clouds.md)

0 commit comments

Comments
 (0)