worldorbit 2.5.16 → 2.6.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.
Files changed (35) hide show
  1. package/README.md +81 -15
  2. package/dist/browser/core/dist/index.js +1228 -110
  3. package/dist/browser/editor/dist/index.js +1896 -180
  4. package/dist/browser/markdown/dist/index.js +1071 -99
  5. package/dist/browser/viewer/dist/index.js +1127 -113
  6. package/dist/unpkg/core/dist/index.js +1228 -110
  7. package/dist/unpkg/editor/dist/index.js +1896 -180
  8. package/dist/unpkg/markdown/dist/index.js +1071 -99
  9. package/dist/unpkg/viewer/dist/index.js +1127 -113
  10. package/dist/unpkg/worldorbit-core.min.js +12 -12
  11. package/dist/unpkg/worldorbit-editor.min.js +295 -203
  12. package/dist/unpkg/worldorbit-markdown.min.js +66 -58
  13. package/dist/unpkg/worldorbit-viewer.min.js +84 -76
  14. package/dist/unpkg/worldorbit.js +1304 -124
  15. package/dist/unpkg/worldorbit.min.js +88 -80
  16. package/package.json +1 -1
  17. package/packages/core/dist/atlas-edit.js +75 -1
  18. package/packages/core/dist/atlas-validate.js +211 -8
  19. package/packages/core/dist/draft-parse.js +401 -22
  20. package/packages/core/dist/draft.d.ts +5 -2
  21. package/packages/core/dist/draft.js +103 -8
  22. package/packages/core/dist/format.js +99 -6
  23. package/packages/core/dist/load.js +9 -2
  24. package/packages/core/dist/normalize.js +1 -0
  25. package/packages/core/dist/scene.js +400 -64
  26. package/packages/core/dist/types.d.ts +60 -4
  27. package/packages/editor/dist/editor.js +702 -65
  28. package/packages/editor/dist/types.d.ts +3 -1
  29. package/packages/viewer/dist/atlas-state.js +11 -2
  30. package/packages/viewer/dist/atlas-viewer.js +19 -7
  31. package/packages/viewer/dist/render.js +31 -2
  32. package/packages/viewer/dist/theme.js +1 -0
  33. package/packages/viewer/dist/tooltip.js +9 -0
  34. package/packages/viewer/dist/types.d.ts +12 -2
  35. package/packages/viewer/dist/viewer.js +28 -1
@@ -2,10 +2,11 @@ export type WorldOrbitObjectType = "system" | "star" | "planet" | "moon" | "belt
2
2
  export type PlacementMode = "orbit" | "at" | "surface" | "free";
3
3
  export type Unit = "au" | "km" | "m" | "ly" | "pc" | "kpc" | "re" | "rj" | "sol" | "me" | "mj" | "s" | "min" | "h" | "d" | "y" | "ky" | "my" | "gy" | "K" | "deg";
4
4
  export type WorldOrbitDocumentVersion = "1.0";
5
- export type WorldOrbitAtlasDocumentVersion = "2.0" | "2.1";
5
+ export type WorldOrbitAtlasDocumentVersion = "2.0" | "2.1" | "2.5";
6
6
  export type WorldOrbitDraftDocumentVersion = "2.0-draft";
7
7
  export type WorldOrbitAnyDocumentVersion = WorldOrbitDocumentVersion | WorldOrbitAtlasDocumentVersion | WorldOrbitDraftDocumentVersion;
8
- export type ViewProjection = "topdown" | "isometric";
8
+ export type ViewProjection = "topdown" | "isometric" | "orthographic" | "perspective";
9
+ export type RenderProjectionFallback = "topdown" | "isometric";
9
10
  export type RenderPresetName = "diagram" | "presentation" | "atlas-card" | "markdown";
10
11
  export interface CoordinatePoint {
11
12
  x: number;
@@ -60,6 +61,7 @@ export interface WorldOrbitDocument {
60
61
  system: WorldOrbitSystem | null;
61
62
  groups: WorldOrbitGroup[];
62
63
  relations: WorldOrbitRelation[];
64
+ events: WorldOrbitEvent[];
63
65
  objects: WorldOrbitObject[];
64
66
  }
65
67
  export interface WorldOrbitAtlasDocument {
@@ -70,6 +72,7 @@ export interface WorldOrbitAtlasDocument {
70
72
  system: WorldOrbitAtlasSystem | null;
71
73
  groups: WorldOrbitGroup[];
72
74
  relations: WorldOrbitRelation[];
75
+ events: WorldOrbitEvent[];
73
76
  objects: WorldOrbitObject[];
74
77
  diagnostics: WorldOrbitDiagnostic[];
75
78
  }
@@ -81,6 +84,7 @@ export interface WorldOrbitDraftDocument {
81
84
  system: WorldOrbitAtlasSystem | null;
82
85
  groups: WorldOrbitGroup[];
83
86
  relations: WorldOrbitRelation[];
87
+ events: WorldOrbitEvent[];
84
88
  objects: WorldOrbitObject[];
85
89
  diagnostics: WorldOrbitDiagnostic[];
86
90
  }
@@ -132,6 +136,30 @@ export interface WorldOrbitRelation {
132
136
  color: string | null;
133
137
  hidden: boolean;
134
138
  }
139
+ export interface WorldOrbitEvent {
140
+ id: string;
141
+ kind: string;
142
+ label: string;
143
+ summary: string | null;
144
+ targetObjectId: string | null;
145
+ participantObjectIds: string[];
146
+ timing: string | null;
147
+ visibility: string | null;
148
+ epoch?: string | null;
149
+ referencePlane?: string | null;
150
+ tags: string[];
151
+ color: string | null;
152
+ hidden: boolean;
153
+ positions: WorldOrbitEventPose[];
154
+ }
155
+ export interface WorldOrbitEventPose {
156
+ objectId: string;
157
+ placement: Placement | null;
158
+ inner?: UnitValue;
159
+ outer?: UnitValue;
160
+ epoch?: string | null;
161
+ referencePlane?: string | null;
162
+ }
135
163
  export interface WorldOrbitResonance {
136
164
  targetObjectId: string;
137
165
  ratio: string;
@@ -152,6 +180,12 @@ export interface WorldOrbitToleranceRule {
152
180
  field: string;
153
181
  value: NormalizedValue;
154
182
  }
183
+ export interface WorldOrbitViewCamera {
184
+ azimuth: number | null;
185
+ elevation: number | null;
186
+ roll: number | null;
187
+ distance: number | null;
188
+ }
155
189
  export type NormalizedValue = string | number | boolean | string[] | UnitValue;
156
190
  export type Placement = OrbitPlacement | AtPlacement | SurfacePlacement | FreePlacement;
157
191
  export interface OrbitPlacement {
@@ -211,7 +245,9 @@ export interface SceneRenderOptions {
211
245
  padding?: number;
212
246
  preset?: RenderPresetName;
213
247
  projection?: "document" | ViewProjection;
248
+ camera?: WorldOrbitViewCamera | null;
214
249
  scaleModel?: Partial<RenderScaleModel>;
250
+ activeEventId?: string | null;
215
251
  }
216
252
  export interface RenderBounds {
217
253
  minX: number;
@@ -294,7 +330,18 @@ export interface RenderSceneLabel {
294
330
  direction: "above" | "below" | "left" | "right";
295
331
  hidden: boolean;
296
332
  }
297
- export type SceneLayerId = "background" | "guides" | "orbits-back" | "orbits-front" | "relations" | "objects" | "labels" | "metadata";
333
+ export interface RenderSceneEvent {
334
+ renderId: string;
335
+ eventId: string;
336
+ event: WorldOrbitEvent;
337
+ objectIds: string[];
338
+ participantIds: string[];
339
+ targetObjectId: string | null;
340
+ x: number;
341
+ y: number;
342
+ hidden: boolean;
343
+ }
344
+ export type SceneLayerId = "background" | "guides" | "orbits-back" | "orbits-front" | "relations" | "events" | "objects" | "labels" | "metadata";
298
345
  export interface RenderSceneViewpointFilter {
299
346
  query: string | null;
300
347
  objectTypes: Array<Exclude<WorldOrbitObjectType, "system">>;
@@ -307,9 +354,12 @@ export interface RenderSceneViewpoint {
307
354
  summary: string;
308
355
  objectId: string | null;
309
356
  selectedObjectId: string | null;
357
+ eventIds: string[];
310
358
  projection: ViewProjection;
359
+ renderProjection: RenderProjectionFallback;
311
360
  preset: RenderPresetName | null;
312
361
  rotationDeg: number;
362
+ camera: WorldOrbitViewCamera | null;
313
363
  scale: number | null;
314
364
  layers: Partial<Record<SceneLayerId, boolean>>;
315
365
  filter: RenderSceneViewpointFilter | null;
@@ -356,6 +406,8 @@ export interface RenderScene {
356
406
  padding: number;
357
407
  renderPreset: RenderPresetName | null;
358
408
  projection: ViewProjection;
409
+ renderProjection: RenderProjectionFallback;
410
+ camera: WorldOrbitViewCamera | null;
359
411
  scaleModel: RenderScaleModel;
360
412
  title: string;
361
413
  subtitle: string;
@@ -368,6 +420,8 @@ export interface RenderScene {
368
420
  groups: RenderSceneGroup[];
369
421
  semanticGroups: RenderSceneSemanticGroup[];
370
422
  viewpoints: RenderSceneViewpoint[];
423
+ events: RenderSceneEvent[];
424
+ activeEventId: string | null;
371
425
  objects: RenderSceneObject[];
372
426
  orbitVisuals: RenderOrbitVisual[];
373
427
  relations: RenderSceneRelation[];
@@ -421,10 +475,12 @@ export interface WorldOrbitAtlasViewpoint {
421
475
  summary: string;
422
476
  focusObjectId: string | null;
423
477
  selectedObjectId: string | null;
478
+ events: string[];
424
479
  projection: ViewProjection;
425
480
  preset: RenderPresetName | null;
426
481
  zoom: number | null;
427
482
  rotationDeg: number;
483
+ camera: WorldOrbitViewCamera | null;
428
484
  layers: Partial<Record<SceneLayerId, boolean>>;
429
485
  filter: RenderSceneViewpointFilter | null;
430
486
  }
@@ -448,7 +504,7 @@ export interface WorldOrbitAtlasSystem {
448
504
  viewpoints: WorldOrbitAtlasViewpoint[];
449
505
  annotations: WorldOrbitAtlasAnnotation[];
450
506
  }
451
- export type AtlasDocumentPathKind = "system" | "defaults" | "metadata" | "group" | "object" | "viewpoint" | "annotation" | "relation";
507
+ export type AtlasDocumentPathKind = "system" | "defaults" | "metadata" | "group" | "event" | "event-pose" | "object" | "viewpoint" | "annotation" | "relation";
452
508
  export interface AtlasDocumentPath {
453
509
  kind: AtlasDocumentPathKind;
454
510
  id?: string;