@found-in-space/skykit 0.2.0-alpha.1 → 0.2.0-alpha.20260528

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 (40) hide show
  1. package/README.md +142 -11
  2. package/examples/custom-object-layer/custom-object-layer.js +1 -24
  3. package/examples/xr-free-roam/index.html +62 -4
  4. package/examples/xr-free-roam/xr-free-roam.css +249 -18
  5. package/examples/xr-free-roam/xr-free-roam.js +675 -274
  6. package/package.json +22 -6
  7. package/src/__tests__/skykit-anchored-images.test.js +32 -4
  8. package/src/__tests__/skykit-browser.test.js +267 -0
  9. package/src/__tests__/skykit-data.test.js +131 -0
  10. package/src/__tests__/skykit-parallax.test.js +4 -4
  11. package/src/__tests__/skykit-touch-os.test.js +71 -0
  12. package/src/__tests__/skykit-xr.test.js +179 -2
  13. package/src/__tests__/skykit.test.js +142 -506
  14. package/src/actions.js +0 -8
  15. package/src/anchored-images.js +14 -15
  16. package/src/browser-addons.d.ts +16 -0
  17. package/src/browser-addons.js +155 -0
  18. package/src/browser-constellations.d.ts +13 -0
  19. package/src/browser-constellations.js +387 -0
  20. package/src/browser.d.ts +81 -0
  21. package/src/browser.js +192 -13
  22. package/src/data.d.ts +133 -0
  23. package/src/data.js +447 -0
  24. package/src/embed.d.ts +5 -0
  25. package/src/embed.js +53 -2
  26. package/src/hr-diagram.js +23 -5
  27. package/src/index.d.ts +21 -73
  28. package/src/index.js +0 -1
  29. package/src/plugins.js +22 -708
  30. package/src/three-shim.d.ts +32 -0
  31. package/src/touch-os.d.ts +70 -0
  32. package/src/touch-os.js +275 -0
  33. package/src/utils.js +96 -6
  34. package/src/viewer-entry.d.ts +10 -0
  35. package/src/viewer-entry.js +4 -0
  36. package/src/viewer.js +110 -12
  37. package/src/xr/plugins.js +298 -13
  38. package/src/xr/session.js +60 -14
  39. package/src/xr.d.ts +40 -0
  40. package/src/xr.js +2 -0
package/src/xr.d.ts CHANGED
@@ -14,6 +14,7 @@ import type {
14
14
  SkykitEvent,
15
15
  SkykitPlugin,
16
16
  SkykitStarCellSource,
17
+ SkykitThreeFrame,
17
18
  SkykitViewState,
18
19
  } from './index.js';
19
20
 
@@ -105,6 +106,22 @@ export interface SkykitXrBodyTracker {
105
106
  dispose(): void;
106
107
  }
107
108
 
109
+ export interface SkykitXrBodyPluginOptions {
110
+ id?: string;
111
+ priority?: number;
112
+ rig?: SkykitXrRig;
113
+ tracker?: SkykitXrBodyTracker;
114
+ hideUntrackedHands?: boolean;
115
+ disposeTracker?: boolean;
116
+ onBody?: (body: SkykitXrBodyModel, frame: SkykitThreeFrame) => void;
117
+ }
118
+
119
+ export interface SkykitXrBodyPlugin extends SkykitPlugin {
120
+ readonly id: string;
121
+ getBody(): SkykitXrBodyModel;
122
+ getSnapshot(): unknown;
123
+ }
124
+
108
125
  export interface SkykitXrAxisBinding {
109
126
  hand?: 'left' | 'right' | 'any';
110
127
  stick?: 'primary' | 'secondary';
@@ -326,6 +343,7 @@ export interface EnterSkykitXrSessionOptions {
326
343
  referenceSpaceType?: string;
327
344
  sessionInit?: unknown;
328
345
  navigator?: unknown;
346
+ requestReferenceSpace?: boolean;
329
347
  onSessionStarted?: (handle: SkykitXrSessionHandle) => void;
330
348
  }
331
349
 
@@ -389,6 +407,26 @@ export interface SkykitXrNavigationPlugin extends SkykitPlugin {
389
407
  getSnapshot(): unknown;
390
408
  }
391
409
 
410
+ export interface SkykitXrRayVisualPluginOptions {
411
+ id?: string;
412
+ priority?: number;
413
+ raySource: SkykitXrRaySource;
414
+ rig?: SkykitXrRig;
415
+ blockers?: Iterable<SkykitXrPickBlocker>;
416
+ parent?: THREE.Object3D | ((context: import('./index.js').SkykitThreePluginContext) => THREE.Object3D | null | undefined);
417
+ material?: THREE.Material;
418
+ color?: THREE.ColorRepresentation;
419
+ opacity?: number;
420
+ depthTest?: boolean;
421
+ renderOrder?: number;
422
+ length?: number;
423
+ }
424
+
425
+ export interface SkykitXrRayVisualPlugin extends SkykitPlugin {
426
+ readonly id: string;
427
+ getSnapshot(): unknown;
428
+ }
429
+
392
430
  export interface SkykitXrStarPickEvent extends SkykitEvent {
393
431
  type: 'stars/xr-pick';
394
432
  id: string;
@@ -424,6 +462,7 @@ export interface SkykitXrStarPickingPluginOptions {
424
462
 
425
463
  export declare function createSkykitXrRig(options?: CreateSkykitXrRigOptions): SkykitXrRig;
426
464
  export declare function createSkykitXrBodyTracker(options?: CreateSkykitXrBodyTrackerOptions): SkykitXrBodyTracker;
465
+ export declare function createSkykitXrBodyPlugin(options?: SkykitXrBodyPluginOptions): SkykitXrBodyPlugin;
427
466
  export declare function createSkykitXrControlBindings(options?: SkykitXrControlBindingsOptions): SkykitXrControlBindingsHandle;
428
467
  export declare function readSkykitXrAxis(inputSources: Iterable<any>, binding?: SkykitXrAxisBinding & { deadzone?: number }): SkykitXrAxisState;
429
468
  export declare function readSkykitXrButton(inputSources: Iterable<any>, binding?: SkykitXrButtonBinding, previous?: SkykitXrButtonState | null): SkykitXrButtonState;
@@ -432,6 +471,7 @@ export declare function createSkykitXrPickRouter(options?: SkykitXrPickRouterOpt
432
471
  export declare function createSkykitXrObserverRig(options: CreateSkykitXrObserverRigOptions): import('./index.js').SkykitObserverRig;
433
472
  export declare function createSkykitXrSessionPlugin(options?: SkykitXrSessionPluginOptions): SkykitXrSessionPlugin;
434
473
  export declare function createSkykitXrNavigationPlugin(options?: SkykitXrNavigationPluginOptions): SkykitXrNavigationPlugin;
474
+ export declare function createSkykitXrRayVisualPlugin(options: SkykitXrRayVisualPluginOptions): SkykitXrRayVisualPlugin;
435
475
  export declare function createSkykitXrStarPickingPlugin(options: SkykitXrStarPickingPluginOptions): SkykitPlugin & {
436
476
  getSnapshot(): unknown;
437
477
  };
package/src/xr.js CHANGED
@@ -14,8 +14,10 @@ export {
14
14
  export { createSkykitXrRaySource } from './xr/rays.js';
15
15
  export { createSkykitXrPickRouter } from './xr/pick-router.js';
16
16
  export {
17
+ createSkykitXrBodyPlugin,
17
18
  createSkykitXrNavigationPlugin,
18
19
  createSkykitXrObserverRig,
20
+ createSkykitXrRayVisualPlugin,
19
21
  createSkykitXrSessionPlugin,
20
22
  createSkykitXrStarPickingPlugin,
21
23
  } from './xr/plugins.js';