@multisetai/vps 1.0.4 → 1.0.5
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 +23 -17
- package/dist/core/index.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MultiSet VPS WebXR
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MultiSet VPS WebXR is a TypeScript SDK that enables developers to integrate MultiSet's Visual Positioning System (VPS) capabilities into WebXR applications. It provides precise 6-DOF (6 degrees of freedom) localization by matching camera frames against cloud-hosted maps, allowing AR applications to understand their position and orientation in physical space.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
- **Core Client** (`@multisetai/vps/core`) - Authentication and API client for
|
|
7
|
+
- **Core Client** (`@multisetai/vps/core`) - Authentication and API client for MultiSet VPS services
|
|
8
8
|
- **WebXR Controller** (`@multisetai/vps/webxr`) - Three.js WebXR session management and frame capture
|
|
9
9
|
- **Framework-agnostic** - Works with React, Vue, Angular, or vanilla JavaScript
|
|
10
10
|
- **TypeScript support** - Full type definitions included
|
|
11
11
|
- **Event-driven architecture** - Comprehensive callbacks for all operations
|
|
12
12
|
- **Precise localization** - 6-DOF pose estimation with position and rotation
|
|
13
|
-
- **Cloud-based mapping** - Leverages
|
|
13
|
+
- **Cloud-based mapping** - Leverages MultiSet's cloud infrastructure for map storage and matching
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
@@ -47,9 +47,9 @@ import { WebxrController } from '@multisetai/vps/webxr';
|
|
|
47
47
|
|
|
48
48
|
```typescript
|
|
49
49
|
const client = new MultisetClient({
|
|
50
|
-
clientId: '
|
|
51
|
-
clientSecret: '
|
|
52
|
-
code: '
|
|
50
|
+
clientId: 'CLIENT_ID',
|
|
51
|
+
clientSecret: 'CLIENT_SECRET',
|
|
52
|
+
code: 'MAP_OUR_MAPSET_CODE',
|
|
53
53
|
mapType: 'map', // or 'map-set'
|
|
54
54
|
endpoints: DEFAULT_ENDPOINTS,
|
|
55
55
|
onAuthorize: (token) => console.log('Authorized:', token),
|
|
@@ -87,7 +87,7 @@ if (result?.localizeData?.poseFound) {
|
|
|
87
87
|
|
|
88
88
|
### `MultisetClient`
|
|
89
89
|
|
|
90
|
-
The core client handles authentication and API interactions with
|
|
90
|
+
The core client handles authentication and API interactions with MultiSet services.
|
|
91
91
|
|
|
92
92
|
#### Constructor
|
|
93
93
|
|
|
@@ -99,8 +99,8 @@ new MultisetClient(config: IMultisetSdkConfig)
|
|
|
99
99
|
|
|
100
100
|
```typescript
|
|
101
101
|
interface IMultisetSdkConfig {
|
|
102
|
-
clientId: string; // Your
|
|
103
|
-
clientSecret: string; // Your
|
|
102
|
+
clientId: string; // Your MultiSet client ID
|
|
103
|
+
clientSecret: string; // Your MultiSet client secret
|
|
104
104
|
code: string; // Map code (e.g., 'MAP_XXXXX')
|
|
105
105
|
mapType: 'map' | 'map-set'; // Type of map to use
|
|
106
106
|
endpoints?: Partial<IMultisetSdkEndpoints>; // Optional custom endpoints
|
|
@@ -116,7 +116,7 @@ interface IMultisetSdkConfig {
|
|
|
116
116
|
|
|
117
117
|
##### `authorize(): Promise<string>`
|
|
118
118
|
|
|
119
|
-
Authenticates with
|
|
119
|
+
Authenticates with MultiSet services and obtains an access token. Must be called before making any API requests.
|
|
120
120
|
|
|
121
121
|
```typescript
|
|
122
122
|
const token = await client.authorize();
|
|
@@ -257,6 +257,12 @@ import type {
|
|
|
257
257
|
|
|
258
258
|
## Examples
|
|
259
259
|
|
|
260
|
+
> **Full working examples**: This repository includes complete, runnable example applications in the [`examples/`](./examples) directory:
|
|
261
|
+
> - **[React Example](./examples/react)** - Full React implementation with TypeScript
|
|
262
|
+
> - **[Vanilla JavaScript Example](./examples/vanilla)** - Vanilla JavaScript implementation
|
|
263
|
+
>
|
|
264
|
+
> Each example includes setup instructions, configuration, and demonstrates the complete SDK integration workflow.
|
|
265
|
+
|
|
260
266
|
### Vanilla JavaScript
|
|
261
267
|
|
|
262
268
|
```javascript
|
|
@@ -265,9 +271,9 @@ import { MultisetClient, DEFAULT_ENDPOINTS } from '@multisetai/vps/core';
|
|
|
265
271
|
import { WebxrController } from '@multisetai/vps/webxr';
|
|
266
272
|
|
|
267
273
|
const client = new MultisetClient({
|
|
268
|
-
clientId: '
|
|
269
|
-
clientSecret: '
|
|
270
|
-
code: '
|
|
274
|
+
clientId: 'CLIENT_ID',
|
|
275
|
+
clientSecret: 'CLIENT_SECRET',
|
|
276
|
+
code: 'MAP_OR_MAPSET_CODE',
|
|
271
277
|
mapType: 'map',
|
|
272
278
|
endpoints: DEFAULT_ENDPOINTS,
|
|
273
279
|
onAuthorize: (token) => console.log('Authorized:', token),
|
|
@@ -318,9 +324,9 @@ export default function App() {
|
|
|
318
324
|
|
|
319
325
|
useEffect(() => {
|
|
320
326
|
clientRef.current = new MultisetClient({
|
|
321
|
-
clientId: '
|
|
322
|
-
clientSecret: '
|
|
323
|
-
code: '
|
|
327
|
+
clientId: 'CLIENT_ID',
|
|
328
|
+
clientSecret: 'CLIENT_SECRET',
|
|
329
|
+
code: 'MAP_OR_MAPSET_CODE',
|
|
324
330
|
mapType: 'map',
|
|
325
331
|
endpoints: DEFAULT_ENDPOINTS,
|
|
326
332
|
});
|
package/dist/core/index.d.ts
CHANGED