u-space 0.0.0-alpha.1
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 +21 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +1374 -0
- package/dist/plugins/atmosphere/Atmosphere.d.ts +9 -0
- package/dist/plugins/atmosphere/index.cjs +1 -0
- package/dist/plugins/atmosphere/index.d.ts +1 -0
- package/dist/plugins/atmosphere/index.js +15 -0
- package/dist/plugins/curve-movement/CurveMovement.d.ts +78 -0
- package/dist/plugins/curve-movement/CurveMovementCamera.d.ts +8 -0
- package/dist/plugins/curve-movement/CurveMovementObject.d.ts +14 -0
- package/dist/plugins/curve-movement/index.cjs +1 -0
- package/dist/plugins/curve-movement/index.d.ts +3 -0
- package/dist/plugins/curve-movement/index.js +153 -0
- package/dist/plugins/keyboard-controls/KeyboardControls.d.ts +31 -0
- package/dist/plugins/keyboard-controls/index.cjs +1 -0
- package/dist/plugins/keyboard-controls/index.d.ts +1 -0
- package/dist/plugins/keyboard-controls/index.js +67 -0
- package/dist/plugins/minimap/Minimap.d.ts +22 -0
- package/dist/plugins/minimap/index.cjs +1 -0
- package/dist/plugins/minimap/index.d.ts +1 -0
- package/dist/plugins/minimap/index.js +67 -0
- package/dist/plugins/tiles/ArcgisTilesRenderer.d.ts +14 -0
- package/dist/plugins/tiles/Globe.d.ts +22 -0
- package/dist/plugins/tiles/index.cjs +1 -0
- package/dist/plugins/tiles/index.d.ts +2 -0
- package/dist/plugins/tiles/index.js +179 -0
- package/dist/plugins/tiles/plugins/TileMaterialReplacementPlugin.d.ts +11 -0
- package/dist/plugins/tiles/plugins/fade/FadeMaterialManager.d.ts +17 -0
- package/dist/plugins/tiles/plugins/fade/TilesFadePlugin.d.ts +5 -0
- package/dist/plugins/tiles/plugins/fade/wrapFadeNodeMaterial.d.ts +3 -0
- package/dist/plugins/tracking-controls/TrackingControls.d.ts +13 -0
- package/dist/plugins/tracking-controls/index.cjs +1 -0
- package/dist/plugins/tracking-controls/index.d.ts +1 -0
- package/dist/plugins/tracking-controls/index.js +23 -0
- package/dist/plugins/u-manager/Watermarker.d.ts +12 -0
- package/dist/plugins/u-manager/constants.d.ts +5 -0
- package/dist/plugins/u-manager/index.cjs +86 -0
- package/dist/plugins/u-manager/index.d.ts +6 -0
- package/dist/plugins/u-manager/index.js +20877 -0
- package/dist/plugins/u-manager/license/decryptUtils.d.ts +5 -0
- package/dist/plugins/u-manager/loaders/AnimationsLoader.d.ts +59 -0
- package/dist/plugins/u-manager/loaders/BaseFileLoader.d.ts +5 -0
- package/dist/plugins/u-manager/loaders/PropertiesLoader.d.ts +12 -0
- package/dist/plugins/u-manager/loaders/SceneLoader.d.ts +15 -0
- package/dist/plugins/u-manager/loaders/TopologiesLoader.d.ts +10 -0
- package/dist/plugins/u-manager/loaders/VisionsLoader.d.ts +26 -0
- package/dist/plugins/u-manager/types.d.ts +84 -0
- package/dist/src/animations/Tween.d.ts +20 -0
- package/dist/src/animations/index.d.ts +1 -0
- package/dist/src/effects/MaterialEffects.d.ts +10 -0
- package/dist/src/effects/TSLEffects.d.ts +24 -0
- package/dist/src/effects/index.d.ts +2 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/interactions/InteractionEvent.d.ts +39 -0
- package/dist/src/interactions/InteractionManager.d.ts +55 -0
- package/dist/src/interactions/index.d.ts +2 -0
- package/dist/src/interfaces/base.d.ts +11 -0
- package/dist/src/interfaces/index.d.ts +1 -0
- package/dist/src/loaders/ModelLoaderManager.d.ts +40 -0
- package/dist/src/loaders/SBMLoader.d.ts +6 -0
- package/dist/src/loaders/SBMUtils.d.ts +5 -0
- package/dist/src/loaders/SBMXLoader.d.ts +6 -0
- package/dist/src/loaders/TextureLoaderManager.d.ts +11 -0
- package/dist/src/loaders/index.d.ts +4 -0
- package/dist/src/managers/ObjectManager.d.ts +60 -0
- package/dist/src/managers/index.d.ts +1 -0
- package/dist/src/objects/BaseGroup.d.ts +8 -0
- package/dist/src/objects/BaseMesh.d.ts +8 -0
- package/dist/src/objects/BaseSprite.d.ts +8 -0
- package/dist/src/objects/CircleMesh.d.ts +17 -0
- package/dist/src/objects/ExtrudeMesh.d.ts +17 -0
- package/dist/src/objects/Model.d.ts +17 -0
- package/dist/src/objects/ObjectUtils.d.ts +4 -0
- package/dist/src/objects/PlaneMesh.d.ts +17 -0
- package/dist/src/objects/Poi.d.ts +38 -0
- package/dist/src/objects/ShapeMesh.d.ts +17 -0
- package/dist/src/objects/SphereMesh.d.ts +20 -0
- package/dist/src/objects/Topology.d.ts +64 -0
- package/dist/src/objects/TubeMesh.d.ts +18 -0
- package/dist/src/objects/index.d.ts +13 -0
- package/dist/src/types.d.ts +1 -0
- package/dist/src/viewers/CameraControls.d.ts +19 -0
- package/dist/src/viewers/Info.d.ts +18 -0
- package/dist/src/viewers/RenderPipeline.d.ts +17 -0
- package/dist/src/viewers/RoomEnvironment.d.ts +11 -0
- package/dist/src/viewers/Viewer.d.ts +59 -0
- package/dist/src/viewers/ViewerHelper.d.ts +12 -0
- package/dist/src/viewers/index.d.ts +3 -0
- package/docs/api-interactions.md +64 -0
- package/docs/api-managers.md +54 -0
- package/docs/api-objects.md +65 -0
- package/docs/api-plugins.md +103 -0
- package/docs/api-viewer.md +84 -0
- package/docs/examples-guide.md +48 -0
- package/docs/getting-started.md +126 -0
- package/package.json +60 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Viewer API
|
|
2
|
+
|
|
3
|
+
The `Viewer` is the core class of `u-space`. It encapsulates the WebGPU Renderer, Scene, Camera, Controls, and various managers into an easy-to-use interface.
|
|
4
|
+
|
|
5
|
+
## Constructor
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
new Viewer(options: ViewerOptions)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### `ViewerOptions`
|
|
12
|
+
|
|
13
|
+
| Property | Type | Required | Description |
|
|
14
|
+
| :---------------- | :------------------------ | :------- | :-------------------------------------------------------------------------------------------------------------------- |
|
|
15
|
+
| `el` | `HTMLElement` | Yes | The DOM element where the WebGPURenderer's canvas will be injected. |
|
|
16
|
+
| `rendererOptions` | `WebGLRendererParameters` | No | Options passed directly to the underlying `WebGPURenderer`. By default, it uses high-performance settings for WebGPU. |
|
|
17
|
+
|
|
18
|
+
## Properties
|
|
19
|
+
|
|
20
|
+
The `Viewer` instance exposes several core Three.js and `u-space` components.
|
|
21
|
+
|
|
22
|
+
| Property | Type | Description |
|
|
23
|
+
| :------------------- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
+
| `el` | `HTMLElement` | The container element. |
|
|
25
|
+
| `renderer` | `WebGPURenderer` | The underlying WebGPU renderer instance. |
|
|
26
|
+
| `scene` | `Scene` | The main Three.js scene. |
|
|
27
|
+
| `camera` | `PerspectiveCamera` \| `OrthographicCamera` | The active camera. |
|
|
28
|
+
| `controls` | `CameraControls` | Camera controls (powered by `camera-controls` library). |
|
|
29
|
+
| `interactionManager` | `InteractionManager` | Manages pointer events and raycasting on objects. |
|
|
30
|
+
| `objectManager` | `ObjectManager` | A utility for registering and retrieving objects by ID or name. |
|
|
31
|
+
| `frameloop` | `'always'` \| `'demand'` | Sets the rendering mode. Default is `'demand'` (render only when required). Set to `'always'` for continuous rendering. |
|
|
32
|
+
|
|
33
|
+
## Methods
|
|
34
|
+
|
|
35
|
+
### `init()`
|
|
36
|
+
|
|
37
|
+
Initializes the renderer asynchronously. This must be called if you need to ensure the renderer (like setting up environments or plugins) is fully ready.
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
await viewer.init();
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### `render(frame?: number)`
|
|
44
|
+
|
|
45
|
+
Requests a render frame. In `'demand'` frameloop mode, this must be called whenever the scene changes visually to update the canvas. `frame` specifies how many frames to render.
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
viewer.render();
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `setCamera(camera: PerspectiveCamera | OrthographicCamera)`
|
|
52
|
+
|
|
53
|
+
Sets a custom camera for the viewer and automatically updates the controls and interaction manager to use it.
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
const customCamera = new PerspectiveCamera(75, width / height, 0.1, 1000);
|
|
57
|
+
viewer.setCamera(customCamera);
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `setCameraByType(type: 'perspective' | 'orthographic')`
|
|
61
|
+
|
|
62
|
+
Convenience method to switch the camera type while maintaining the viewer context.
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
viewer.setCameraByType('orthographic');
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### `dispose()`
|
|
69
|
+
|
|
70
|
+
Cleans up the viewer, removing the canvas from the DOM, removing event listeners, and disposing of the renderer and environment maps to prevent memory leaks.
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
viewer.dispose();
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Events
|
|
77
|
+
|
|
78
|
+
The viewer extends `EventDispatcher` and fires the following events:
|
|
79
|
+
|
|
80
|
+
- `beforeControlsUpdate`: Fired before `CameraControls` update. Emitter provides `{ time: number }`.
|
|
81
|
+
- `afterControlsUpdate`: Fired after `CameraControls` update. Emitter provides `{ time: number }`.
|
|
82
|
+
- `beforeRender`: Fired immediately before `renderer.render` is called. Emitter provides `{ time: number }`.
|
|
83
|
+
- `afterRender`: Fired immediately after `renderer.render` completes. Emitter provides `{ time: number }`.
|
|
84
|
+
- `cameraChange`: Fired when `setCamera` is called. Emitter provides `{ camera: Camera }`.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Examples Guide
|
|
2
|
+
|
|
3
|
+
`u-space` contains an extensive `examples/` directory that demonstrates the engine's capabilities. Below are a few key examples and what they teach you about the system.
|
|
4
|
+
|
|
5
|
+
## 1. `demo01.html`: Basic Setup & Interactivity
|
|
6
|
+
|
|
7
|
+
This example demonstrates the absolute bare-minimum setup required to get a 3D scene rendering via WebGPU, as covered in the [Getting Started](./getting-started.md) guide.
|
|
8
|
+
|
|
9
|
+
### Key Takeaways:
|
|
10
|
+
|
|
11
|
+
- Injecting the `Viewer` into a DOM element.
|
|
12
|
+
- Setting the scene background using WebGPU `Color`.
|
|
13
|
+
- Adding primitive geometries (like `BoxGeometry`).
|
|
14
|
+
- Enabling global interaction via `viewer.interactionManager.pointerMoveEventsEnabled`.
|
|
15
|
+
- Attaching DOM-style event listeners (`click`, `pointerenter`, `pointerleave`) natively to 3D meshes.
|
|
16
|
+
|
|
17
|
+
## 2. `test_loader.html`: Model Caching Mechanics
|
|
18
|
+
|
|
19
|
+
This example dives deep into the `u-space` Model Loader pipeline and explains the differences between runtime cache and browser persistent cache.
|
|
20
|
+
|
|
21
|
+
### Key Takeaways:
|
|
22
|
+
|
|
23
|
+
- Utilizing the global `Model` class to load `.glb` files asynchronously via `Model.prototype.loadAsync()`.
|
|
24
|
+
- Demystifying `cache: true` (which retains the model node in RAM for instant cloning/instantiation).
|
|
25
|
+
- Demystifying `persistent: true` (which uses the Service Worker / Cache Storage API to cache the actual network request bytes).
|
|
26
|
+
- Demonstrates how to register these loaded asynchronous assets into the `viewer.objectManager` securely.
|
|
27
|
+
- Provides examples on programmatically flushing the caches using `Model.clearMemoryCache()` and `Model.clearPersistentCache()`.
|
|
28
|
+
|
|
29
|
+
## 3. `load_tiles.html`: GIS & Earth Rendering
|
|
30
|
+
|
|
31
|
+
This example uses the external `3d-tiles-renderer` peer dependency securely wrapped by a `u-space` plugin to render massive level-of-detail GIS globes.
|
|
32
|
+
|
|
33
|
+
### Key Takeaways:
|
|
34
|
+
|
|
35
|
+
- Instantiating complex plugins (`ArcgisTilesRenderer`) dynamically passing the core viewer reference.
|
|
36
|
+
- Using `viewer.frameloop = 'always'` since tiles stream asynchronously and continuously update the viewport.
|
|
37
|
+
- Fetching specific Longitude and Latitude positions using the plugin's `invalidate(lon, lat, zoom)` method.
|
|
38
|
+
|
|
39
|
+
## 4. `test_umanager.html`: Scene Compositions & Parsers
|
|
40
|
+
|
|
41
|
+
This robust example combines multiple tools, illustrating how to build complete applications instead of just placing single models.
|
|
42
|
+
|
|
43
|
+
### Key Takeaways:
|
|
44
|
+
|
|
45
|
+
- Initializing multiple Plugins concurrently (minimap, tracking, keyboard-controls) and toggling their state via `.enable()` / `.disable()`.
|
|
46
|
+
- Streaming structured scene layouts, parsing scene descriptions (`SceneLoader`, `TopologiesLoader`).
|
|
47
|
+
- Working with camera animations (`VisionsLoader` and `VisionsParser`) to choreograph pre-defined flight paths securely within the scene.
|
|
48
|
+
- Retrieving complex Node materials and customizing WebGPU specific TSL (Three Shading Language) nodes like `TSLEffects.fluid()`.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Getting Started with `u-space`
|
|
2
|
+
|
|
3
|
+
`u-space` is a WebGPU-ready 3D engine built on top of Three.js. This guide will show you how to set up a basic `u-space` application.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Ensure you have `@types/three` and `three` installed as peer dependencies. If you plan to use interactions, you might also need `camera-controls`.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install three camera-controls
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Basic Setup
|
|
14
|
+
|
|
15
|
+
Here is a minimal example of setting up a `u-space` `Viewer` and adding an interactive object to the scene.
|
|
16
|
+
|
|
17
|
+
### 1. HTML Structure
|
|
18
|
+
|
|
19
|
+
Create an element to house your 3D viewer.
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<!DOCTYPE html>
|
|
23
|
+
<html lang="en">
|
|
24
|
+
<head>
|
|
25
|
+
<meta charset="UTF-8" />
|
|
26
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
27
|
+
<title>u-space App</title>
|
|
28
|
+
</head>
|
|
29
|
+
<body style="margin: 0">
|
|
30
|
+
<div id="app" style="width: 100vw; height: 100vh"></div>
|
|
31
|
+
<!-- Script goes here -->
|
|
32
|
+
</body>
|
|
33
|
+
</html>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 2. Import Maps
|
|
37
|
+
|
|
38
|
+
Since `u-space` relies on Three.js WebGPU features, it's recommended to set up an import map to resolve the WebGPU build of Three.js.
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<script type="importmap">
|
|
42
|
+
{
|
|
43
|
+
"imports": {
|
|
44
|
+
"three": "/node_modules/three/build/three.webgpu.js",
|
|
45
|
+
"three/webgpu": "/node_modules/three/build/three.webgpu.js",
|
|
46
|
+
"three/addons/": "/node_modules/three/examples/jsm/",
|
|
47
|
+
"camera-controls": "/node_modules/camera-controls/dist/camera-controls.module.js",
|
|
48
|
+
"u-space": "path/to/u-space/dist/index.js"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 3. Initialize Viewer & Add Objects
|
|
55
|
+
|
|
56
|
+
Now, initialize the `Viewer` and add a basic Three.js object to the scene.
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<script type="module">
|
|
60
|
+
import { Color, GridHelper, Mesh, BoxGeometry, MeshBasicMaterial } from 'three/webgpu';
|
|
61
|
+
import { Viewer } from 'u-space';
|
|
62
|
+
|
|
63
|
+
const app = document.getElementById('app');
|
|
64
|
+
|
|
65
|
+
// Initialize the viewer
|
|
66
|
+
const viewer = new Viewer({
|
|
67
|
+
el: app,
|
|
68
|
+
rendererOptions: { forceWebGL: false }, // Prefer WebGPU
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Set background color
|
|
72
|
+
viewer.scene.background = new Color(0x666666);
|
|
73
|
+
|
|
74
|
+
// Add a grid
|
|
75
|
+
const gridHelper = new GridHelper(10, 10);
|
|
76
|
+
viewer.scene.add(gridHelper);
|
|
77
|
+
|
|
78
|
+
// Add a Box
|
|
79
|
+
const geometry = new BoxGeometry(1, 1, 1);
|
|
80
|
+
const material = new MeshBasicMaterial({ color: 0xff0000 });
|
|
81
|
+
const box = new Mesh(geometry, material);
|
|
82
|
+
box.position.set(0, 0.5, 0);
|
|
83
|
+
viewer.scene.add(box);
|
|
84
|
+
|
|
85
|
+
// Render the scene
|
|
86
|
+
viewer.render();
|
|
87
|
+
</script>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. Enable Interactions
|
|
91
|
+
|
|
92
|
+
`u-space` has a built-in `InteractionManager`. You can easily add event listeners to your 3D objects.
|
|
93
|
+
|
|
94
|
+
```javascript
|
|
95
|
+
// Enable pointer move events
|
|
96
|
+
viewer.interactionManager.targetObjects = [];
|
|
97
|
+
viewer.interactionManager.pointerMoveEventsEnabled = true;
|
|
98
|
+
|
|
99
|
+
// Add click event
|
|
100
|
+
box.addEventListener('click', (e) => {
|
|
101
|
+
console.log('Clicked at:', e.event.intersect.point);
|
|
102
|
+
material.color.set(Math.random() * 0xffffff);
|
|
103
|
+
viewer.render(); // Request a new frame
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
// Add hover events
|
|
107
|
+
box.addEventListener('pointerenter', (e) => {
|
|
108
|
+
document.body.style.cursor = 'pointer';
|
|
109
|
+
material.color.set(0x00ff00);
|
|
110
|
+
viewer.render();
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
box.addEventListener('pointerleave', (e) => {
|
|
114
|
+
document.body.style.cursor = 'default';
|
|
115
|
+
material.color.set(0xff0000);
|
|
116
|
+
viewer.render();
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
And that's it! You now have a basic `u-space` application up and running.
|
|
121
|
+
|
|
122
|
+
## Next Steps
|
|
123
|
+
|
|
124
|
+
- Learn more about the [Viewer API](./api-viewer.md)
|
|
125
|
+
- Explore how to [load Models](./api-objects.md)
|
|
126
|
+
- Understand the [Interaction System](./api-interactions.md)
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "u-space",
|
|
3
|
+
"version": "0.0.0-alpha.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"types": "dist/src/index.d.ts",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"main": "dist/index.cjs",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./plugins/*": "./dist/plugins/*/index.js"
|
|
15
|
+
},
|
|
16
|
+
"typesVersions": {
|
|
17
|
+
"*": {
|
|
18
|
+
"plugins/*": [
|
|
19
|
+
"./dist/plugins/*/index.d.ts"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"package.json",
|
|
26
|
+
"README.md",
|
|
27
|
+
"docs"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"u-space",
|
|
31
|
+
"space",
|
|
32
|
+
"3d",
|
|
33
|
+
"webgpu",
|
|
34
|
+
"threejs",
|
|
35
|
+
"three",
|
|
36
|
+
"camera-controls"
|
|
37
|
+
],
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/node-rsa": "^1.1.4",
|
|
40
|
+
"cross-env": "^10.1.0",
|
|
41
|
+
"crypto-browserify": "^3.12.1",
|
|
42
|
+
"node-rsa": "^1.1.1",
|
|
43
|
+
"typescript": "~5.9.3",
|
|
44
|
+
"vite": "^7.3.1",
|
|
45
|
+
"vite-plugin-node-polyfills": "^0.24.0"
|
|
46
|
+
},
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"3d-tiles-renderer": "^0.4.19",
|
|
49
|
+
"@takram/three-geospatial": "^0.6.0",
|
|
50
|
+
"@types/three": "^0.183.1",
|
|
51
|
+
"camera-controls": "^3.1.2",
|
|
52
|
+
"three": "^0.183.1"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build:dev": "vite build --mode development && tsc",
|
|
56
|
+
"build:u-space": "cross-env BUILD_TARGET=u-space vite build --mode development",
|
|
57
|
+
"build:plugins": "cross-env BUILD_TARGET=plugins vite build --mode development",
|
|
58
|
+
"build": "cross-env BUILD_TARGET=all vite build --mode production && tsc"
|
|
59
|
+
}
|
|
60
|
+
}
|