worldorbit 3.2.1 → 4.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/README.md +546 -545
- package/dist/browser/core/dist/atlas-edit.js +146 -1
- package/dist/browser/core/dist/atlas-validate.js +105 -10
- package/dist/browser/core/dist/draft-parse.js +341 -16
- package/dist/browser/core/dist/draft.d.ts +2 -1
- package/dist/browser/core/dist/draft.js +25 -3
- package/dist/browser/core/dist/format.js +86 -4
- package/dist/browser/core/dist/index.d.ts +1 -0
- package/dist/browser/core/dist/index.js +1 -0
- package/dist/browser/core/dist/load.js +7 -2
- package/dist/browser/core/dist/normalize.js +1 -0
- package/dist/browser/core/dist/scene.js +11 -2
- package/dist/browser/core/dist/schema.js +11 -1
- package/dist/browser/core/dist/solver.d.ts +26 -0
- package/dist/browser/core/dist/solver.js +27 -0
- package/dist/browser/core/dist/types.d.ts +57 -3
- package/dist/browser/editor/dist/editor.js +844 -719
- package/dist/browser/editor/dist/types.d.ts +2 -1
- package/dist/browser/obsidian-plugin/dist/diagnostics.d.ts +3 -0
- package/dist/browser/obsidian-plugin/dist/diagnostics.js +23 -0
- package/dist/browser/obsidian-plugin/dist/examples.d.ts +3 -0
- package/dist/browser/obsidian-plugin/dist/examples.js +77 -0
- package/dist/browser/obsidian-plugin/dist/index.d.ts +9 -0
- package/dist/browser/obsidian-plugin/dist/index.js +8 -0
- package/dist/browser/obsidian-plugin/dist/main.d.ts +2 -0
- package/dist/browser/obsidian-plugin/dist/main.js +2 -0
- package/dist/browser/obsidian-plugin/dist/navigation.d.ts +6 -0
- package/dist/browser/obsidian-plugin/dist/navigation.js +44 -0
- package/dist/browser/obsidian-plugin/dist/plugin.d.ts +8 -0
- package/dist/browser/obsidian-plugin/dist/plugin.js +508 -0
- package/dist/browser/obsidian-plugin/dist/positions.d.ts +7 -0
- package/dist/browser/obsidian-plugin/dist/positions.js +14 -0
- package/dist/browser/obsidian-plugin/dist/settings.d.ts +2 -0
- package/dist/browser/obsidian-plugin/dist/settings.js +5 -0
- package/dist/browser/obsidian-plugin/dist/theme.d.ts +2 -0
- package/dist/browser/obsidian-plugin/dist/theme.js +31 -0
- package/dist/browser/obsidian-plugin/dist/types.d.ts +42 -0
- package/dist/browser/obsidian-plugin/dist/types.js +1 -0
- package/dist/browser/obsidian-plugin/dist/viewer-host.d.ts +14 -0
- package/dist/browser/obsidian-plugin/dist/viewer-host.js +110 -0
- package/dist/browser/viewer/dist/index.d.ts +1 -0
- package/dist/browser/viewer/dist/index.js +1 -0
- package/dist/browser/viewer/dist/interactive-2d.d.ts +21 -0
- package/dist/browser/viewer/dist/interactive-2d.js +201 -0
- package/dist/browser/viewer/dist/minimap.js +9 -7
- package/dist/browser/viewer/dist/render.d.ts +1 -1
- package/dist/browser/viewer/dist/render.js +25 -20
- package/dist/browser/viewer/dist/runtime-3d.js +2 -0
- package/dist/browser/viewer/dist/viewer-state.d.ts +1 -1
- package/dist/browser/viewer/dist/viewer-state.js +1 -1
- package/dist/browser/viewer/dist/viewer.js +7 -3
- package/dist/obsidian-plugin/LICENSE +21 -0
- package/dist/obsidian-plugin/README.md +141 -0
- package/dist/obsidian-plugin/main.js +108 -0
- package/dist/obsidian-plugin/manifest.json +9 -0
- package/dist/obsidian-plugin/obsidian_scsh_1.png +0 -0
- package/dist/obsidian-plugin/obsidian_scsh_2.png +0 -0
- package/dist/obsidian-plugin/styles.css +164 -0
- package/dist/unpkg/core/dist/atlas-edit.js +146 -1
- package/dist/unpkg/core/dist/atlas-validate.js +105 -10
- package/dist/unpkg/core/dist/draft-parse.js +341 -16
- package/dist/unpkg/core/dist/draft.d.ts +2 -1
- package/dist/unpkg/core/dist/draft.js +25 -3
- package/dist/unpkg/core/dist/format.js +86 -4
- package/dist/unpkg/core/dist/index.d.ts +1 -0
- package/dist/unpkg/core/dist/index.js +1 -0
- package/dist/unpkg/core/dist/load.js +7 -2
- package/dist/unpkg/core/dist/normalize.js +1 -0
- package/dist/unpkg/core/dist/scene.js +11 -2
- package/dist/unpkg/core/dist/schema.js +11 -1
- package/dist/unpkg/core/dist/solver.d.ts +26 -0
- package/dist/unpkg/core/dist/solver.js +27 -0
- package/dist/unpkg/core/dist/types.d.ts +57 -3
- package/dist/unpkg/editor/dist/editor.js +844 -719
- package/dist/unpkg/editor/dist/types.d.ts +2 -1
- package/dist/unpkg/obsidian-plugin/dist/diagnostics.d.ts +3 -0
- package/dist/unpkg/obsidian-plugin/dist/diagnostics.js +23 -0
- package/dist/unpkg/obsidian-plugin/dist/examples.d.ts +3 -0
- package/dist/unpkg/obsidian-plugin/dist/examples.js +77 -0
- package/dist/unpkg/obsidian-plugin/dist/index.d.ts +9 -0
- package/dist/unpkg/obsidian-plugin/dist/index.js +8 -0
- package/dist/unpkg/obsidian-plugin/dist/main.d.ts +2 -0
- package/dist/unpkg/obsidian-plugin/dist/main.js +2 -0
- package/dist/unpkg/obsidian-plugin/dist/navigation.d.ts +6 -0
- package/dist/unpkg/obsidian-plugin/dist/navigation.js +44 -0
- package/dist/unpkg/obsidian-plugin/dist/plugin.d.ts +8 -0
- package/dist/unpkg/obsidian-plugin/dist/plugin.js +508 -0
- package/dist/unpkg/obsidian-plugin/dist/positions.d.ts +7 -0
- package/dist/unpkg/obsidian-plugin/dist/positions.js +14 -0
- package/dist/unpkg/obsidian-plugin/dist/settings.d.ts +2 -0
- package/dist/unpkg/obsidian-plugin/dist/settings.js +5 -0
- package/dist/unpkg/obsidian-plugin/dist/theme.d.ts +2 -0
- package/dist/unpkg/obsidian-plugin/dist/theme.js +31 -0
- package/dist/unpkg/obsidian-plugin/dist/types.d.ts +42 -0
- package/dist/unpkg/obsidian-plugin/dist/types.js +1 -0
- package/dist/unpkg/obsidian-plugin/dist/viewer-host.d.ts +14 -0
- package/dist/unpkg/obsidian-plugin/dist/viewer-host.js +110 -0
- package/dist/unpkg/viewer/dist/index.d.ts +1 -0
- package/dist/unpkg/viewer/dist/index.js +1 -0
- package/dist/unpkg/viewer/dist/interactive-2d.d.ts +21 -0
- package/dist/unpkg/viewer/dist/interactive-2d.js +201 -0
- package/dist/unpkg/viewer/dist/minimap.js +9 -7
- package/dist/unpkg/viewer/dist/render.d.ts +1 -1
- package/dist/unpkg/viewer/dist/render.js +25 -20
- package/dist/unpkg/viewer/dist/runtime-3d.js +2 -0
- package/dist/unpkg/viewer/dist/viewer-state.d.ts +1 -1
- package/dist/unpkg/viewer/dist/viewer-state.js +1 -1
- package/dist/unpkg/viewer/dist/viewer.js +7 -3
- package/dist/unpkg/worldorbit-core.min.js +10 -10
- package/dist/unpkg/worldorbit-editor.min.js +359 -332
- package/dist/unpkg/worldorbit-markdown.min.js +28 -28
- package/dist/unpkg/worldorbit-viewer.min.js +203 -203
- package/dist/unpkg/worldorbit.js +958 -40
- package/dist/unpkg/worldorbit.min.js +214 -214
- package/package.json +22 -1
- package/packages/core/dist/atlas-edit.js +146 -1
- package/packages/core/dist/atlas-validate.js +105 -10
- package/packages/core/dist/draft-parse.js +341 -16
- package/packages/core/dist/draft.d.ts +2 -1
- package/packages/core/dist/draft.js +25 -3
- package/packages/core/dist/format.js +86 -4
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.js +1 -0
- package/packages/core/dist/load.js +7 -2
- package/packages/core/dist/normalize.js +1 -0
- package/packages/core/dist/scene.js +11 -2
- package/packages/core/dist/schema.js +11 -1
- package/packages/core/dist/solver.d.ts +26 -0
- package/packages/core/dist/solver.js +27 -0
- package/packages/core/dist/types.d.ts +57 -3
- package/packages/editor/dist/editor.js +844 -719
- package/packages/editor/dist/types.d.ts +2 -1
- package/packages/viewer/dist/index.d.ts +1 -0
- package/packages/viewer/dist/index.js +1 -0
- package/packages/viewer/dist/interactive-2d.d.ts +21 -0
- package/packages/viewer/dist/interactive-2d.js +201 -0
- package/packages/viewer/dist/minimap.js +9 -7
- package/packages/viewer/dist/render.d.ts +1 -1
- package/packages/viewer/dist/render.js +25 -20
- package/packages/viewer/dist/runtime-3d.js +2 -0
- package/packages/viewer/dist/viewer-state.d.ts +1 -1
- package/packages/viewer/dist/viewer-state.js +1 -1
- package/packages/viewer/dist/viewer.js +7 -3
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# WorldOrbit for Obsidian
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://img.shields.io/badge/version-1.0.0-gold?style=for-the-badge" alt="Version 1.0.0">
|
|
5
|
+
<img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="License MIT">
|
|
6
|
+
<img src="https://img.shields.io/badge/Obsidian-v1.5.0+-purple?style=for-the-badge&logo=obsidian" alt="Obsidian v1.5.0+">
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Treat your Obsidian Vault as a stellar atlas. WorldOrbit provides a text-first DSL (Domain Specific Language) to render fictional star systems, orbital mechanics, and space infrastructure directly inside your notes.
|
|
12
|
+
|
|
13
|
+
See the **Examples** section below for a quick start, or the [full reference](https://github.com/negurvulkan/worldorbit) for all the details.
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
Render a basic star system with a star and a planet:
|
|
18
|
+
|
|
19
|
+
Code-Snippet
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
schema 2.6
|
|
23
|
+
system Sol
|
|
24
|
+
|
|
25
|
+
object star Sun
|
|
26
|
+
radius 695700km
|
|
27
|
+
|
|
28
|
+
object planet Earth
|
|
29
|
+
orbit Sun
|
|
30
|
+
semiMajor 1au
|
|
31
|
+
color #6fa8ff
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
*.*
|
|
36
|
+
<p align="center">
|
|
37
|
+
<img src="https://negurvulkan.github.io/worldorbit/obsidian_scsh_1.png" width="700" alt="WorldOrbit Simple System Preview">
|
|
38
|
+
<br>
|
|
39
|
+
<em>WorldOrbit Simple System Preview</em>
|
|
40
|
+
</p>
|
|
41
|
+
|
|
42
|
+
Visualize complex orbital hierarchies including moons and rings:
|
|
43
|
+
|
|
44
|
+
Code-Snippet
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
schema 2.6
|
|
48
|
+
system Sol
|
|
49
|
+
|
|
50
|
+
object star Sun
|
|
51
|
+
radius 695700km
|
|
52
|
+
|
|
53
|
+
object planet Earth
|
|
54
|
+
orbit Sun
|
|
55
|
+
semiMajor 1au
|
|
56
|
+
color #6fa8ff
|
|
57
|
+
|
|
58
|
+
object planet Saturn
|
|
59
|
+
orbit Sun
|
|
60
|
+
semiMajor 9.58au
|
|
61
|
+
|
|
62
|
+
object ring Saturn-Rings
|
|
63
|
+
orbit Saturn
|
|
64
|
+
inner 67000km
|
|
65
|
+
outer 140000km
|
|
66
|
+
|
|
67
|
+
object moon Titan
|
|
68
|
+
orbit Saturn
|
|
69
|
+
distance 1221870km
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
<p align="center">
|
|
74
|
+
<img src="https://negurvulkan.github.io/worldorbit/obsidian_scsh_2.png" width="700" alt="WorldOrbit Advanced System Preview">
|
|
75
|
+
<br>
|
|
76
|
+
<em>WorldOrbit Advanced System</em>
|
|
77
|
+
</p>
|
|
78
|
+
|
|
79
|
+
## Usage
|
|
80
|
+
|
|
81
|
+
WorldOrbit consists of two major aspects: **Data (DSL)** and **Visualizing**.
|
|
82
|
+
|
|
83
|
+
### Data
|
|
84
|
+
|
|
85
|
+
WorldOrbit generates diagrams from fenced code blocks using the `.ks` (KeplerScript) syntax. It is designed for fictional worldbuilding, focusing on readability and logic rather than strict astrophysical simulation.
|
|
86
|
+
|
|
87
|
+
- **Objects**: Define stars, planets, moons, or space stations.
|
|
88
|
+
- **Placement**: Use `orbit`, `at` (for Lagrange points or anchors), or `surface` to position objects.
|
|
89
|
+
- **Physical Traits**: Assign `mass`, `radius`, `color`, and `atmosphere` to enrich the simulation.
|
|
90
|
+
|
|
91
|
+
### Visualizing
|
|
92
|
+
|
|
93
|
+
Once you've defined your system, the plugin renders it using three modes:
|
|
94
|
+
|
|
95
|
+
1. **Reading View & Live Preview**: Automatically turns code blocks into interactive 2D diagrams.
|
|
96
|
+
2. **Lazy Loading**: Previews are only rendered when they become visible, keeping your Obsidian vault fast and responsive.
|
|
97
|
+
3. **Locked Mode**: By default, diagrams are locked to allow safe scrolling. Click "Activate Interaction" to enable pan and zoom.
|
|
98
|
+
|
|
99
|
+
## Features
|
|
100
|
+
|
|
101
|
+
- **2D Interactive Viewer**: Pan, zoom, and explore your systems.
|
|
102
|
+
- **Diagnostics**: Real-time validation of your orbital data. If a planet's period doesn't match its mass (Kepler's Laws), the plugin will tell you.
|
|
103
|
+
- **Command Palette**: Use `WorldOrbit: Insert Solar System Example` to quickly bootstrap a new system.
|
|
104
|
+
- **Fullscreen Mode**: Open any diagram in a high-resolution modal view for detailed inspection.
|
|
105
|
+
|
|
106
|
+
## Installation
|
|
107
|
+
|
|
108
|
+
### Community Plugin
|
|
109
|
+
|
|
110
|
+
Search for **WorldOrbit** in the Obsidian Community Plugins settings and click Install. (Note: Submission pending).
|
|
111
|
+
|
|
112
|
+
### Manual Installation
|
|
113
|
+
|
|
114
|
+
1. Download `main.js`, `manifest.json`, and `styles.css` from the [latest release](https://github.com/negurvulkan/worldorbit/releases).
|
|
115
|
+
2. Create a folder `.obsidian/plugins/worldorbit` in your vault.
|
|
116
|
+
3. Move the files into that folder and enable the plugin in Obsidian.
|
|
117
|
+
|
|
118
|
+
## Contributing
|
|
119
|
+
|
|
120
|
+
Contributions via bug reports, documentation, and improvements are welcome.
|
|
121
|
+
|
|
122
|
+
### Local Development
|
|
123
|
+
|
|
124
|
+
The codebase is part of a TypeScript monorepo. To set up locally:
|
|
125
|
+
|
|
126
|
+
Bash
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
git clone https://github.com/negurvulkan/worldorbit.git
|
|
130
|
+
cd worldorbit
|
|
131
|
+
npm install
|
|
132
|
+
npm run build
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## License
|
|
136
|
+
|
|
137
|
+
Licensed under the **MIT License**.
|
|
138
|
+
|
|
139
|
+

|
|
140
|
+

|
|
141
|
+

|