@flighthq/sdk 0.4.0-next.1920.b93ad0f → 0.4.0-next.1932.1ef883a

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 (3) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +275 -0
  3. package/package.json +147 -147
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2013-2026 Joshua Granick and other contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,275 @@
1
+ # Flight
2
+
3
+ [![CI](https://github.com/flighthq/flight/actions/workflows/tests.yml/badge.svg?branch=develop)](https://github.com/flighthq/flight/actions/workflows/tests.yml?query=branch%3Adevelop) [![npm](https://img.shields.io/npm/v/@flighthq/sdk?logo=npm)](https://www.npmjs.com/package/@flighthq/sdk)
4
+
5
+ Flight is a modular TypeScript SDK for building interactive applications — designed to be read and written by AI coding agents as well as people. Its more than 150 tree-shakable packages span 2D and 3D graphics, physics, animation, media, input, asset formats, application lifecycle, and desktop/mobile platform APIs.
6
+
7
+ The API is cellular: explicit passes over plain data, self-identifying names, clear ownership, and no work at import time. A function can be understood in isolation; an application can import one capability without inheriting an engine. Those same properties keep the codebase grepable for agents, portable to compiled targets, and small in production builds.
8
+
9
+ Build a scene once and choose a renderer — Canvas 2D, DOM, WebGL 2, or WebGPU — by registering only the implementations it uses. Compose the same small primitives into a game, visualization, media experience, desktop tool, or mobile application.
10
+
11
+ ## Try It
12
+
13
+ See Flight render its own [live introduction](https://flighthq.ai), browse the [examples gallery](https://flighthq.ai/examples/), compare [ports from established frameworks](https://ports.flighthq.ai), or run the gallery locally:
14
+
15
+ ```sh
16
+ npm install
17
+ npm run examples
18
+ ```
19
+
20
+ ## Getting Started
21
+
22
+ ```sh
23
+ npm install @flighthq/sdk
24
+ ```
25
+
26
+ Create a display-object scene, register the renderer kinds you use, update the render graph, then draw:
27
+
28
+ ```ts
29
+ import {
30
+ addNodeChild,
31
+ createCanvasElement,
32
+ createCanvasRenderState,
33
+ createDisplayObject,
34
+ createSprite,
35
+ createTexture,
36
+ defaultCanvasSpriteRenderer,
37
+ getCanvasRenderStateTextureResolvers,
38
+ loadImageResourceFromUrl,
39
+ prepareScene2DRender,
40
+ registerCanvasImageTextureResolver,
41
+ registerRenderer,
42
+ renderCanvasBackground,
43
+ renderCanvasScene2D,
44
+ SpriteKind,
45
+ } from '@flighthq/sdk';
46
+
47
+ const pixelRatio = window.devicePixelRatio || 1;
48
+ const canvas = createCanvasElement(550, 400, pixelRatio);
49
+ document.body.appendChild(canvas);
50
+
51
+ const state = createCanvasRenderState(canvas, {
52
+ backgroundColor: 0xeeddccff,
53
+ sceneGraphSyncPolicy: 'requiresInvalidation',
54
+ });
55
+
56
+ registerCanvasImageTextureResolver(getCanvasRenderStateTextureResolvers(state));
57
+ registerRenderer(state, SpriteKind, defaultCanvasSpriteRenderer);
58
+
59
+ const root = createDisplayObject();
60
+ root.scaleX = pixelRatio;
61
+ root.scaleY = pixelRatio;
62
+
63
+ const sprite = createSprite();
64
+ const image = await loadImageResourceFromUrl('assets/wabbit_alpha.png');
65
+ sprite.data.texture = createTexture({ dimension: '2d', source: image });
66
+ addNodeChild(root, sprite);
67
+
68
+ function enterFrame(): void {
69
+ if (prepareScene2DRender(state, root)) {
70
+ renderCanvasBackground(state);
71
+ renderCanvasScene2D(state, root);
72
+ }
73
+
74
+ requestAnimationFrame(enterFrame);
75
+ }
76
+
77
+ enterFrame();
78
+ ```
79
+
80
+ The same scene renders through DOM, WebGL2, or WebGPU by creating the matching render state and registering that backend's renderers — no change to the scene graph itself. The display objects stay plain data; backend work remains explicit.
81
+
82
+ ### Animation
83
+
84
+ The application package provides a request-animation-frame loop with typed update and render signals. Host implementations are explicit; in a browser, install `@flighthq/host-web` and enable its loop backend before starting the application:
85
+
86
+ ```sh
87
+ npm install @flighthq/host-web
88
+ ```
89
+
90
+ ```ts
91
+ import { enableHostWebLoop } from '@flighthq/host-web';
92
+ import {
93
+ connectSignal,
94
+ createApplication,
95
+ createTween,
96
+ createTweenManager,
97
+ easeOutElastic,
98
+ invalidateNodeRender,
99
+ startApplicationLoop,
100
+ updateTweens,
101
+ } from '@flighthq/sdk';
102
+
103
+ const manager = createTweenManager();
104
+
105
+ const tween = createTween(manager, sprite, 1000, { x: 400, alpha: 0 }, { ease: easeOutElastic });
106
+ connectSignal(tween.onUpdate, () => invalidateNodeRender(sprite));
107
+
108
+ const app = createApplication();
109
+ connectSignal(app.onUpdate, (delta) => updateTweens(manager, delta));
110
+ connectSignal(app.onRender, () => {
111
+ if (prepareScene2DRender(state, root)) {
112
+ renderCanvasBackground(state);
113
+ renderCanvasScene2D(state, root);
114
+ }
115
+ });
116
+
117
+ enableHostWebLoop();
118
+ startApplicationLoop(app);
119
+ ```
120
+
121
+ ### Interaction
122
+
123
+ Wire up pointer events on any scene node. Register a hit-test strategy once, then create an interaction manager and connect it to the input system:
124
+
125
+ ```ts
126
+ import {
127
+ attachPointerInput,
128
+ connectInputToInteraction,
129
+ connectInteractionSignal,
130
+ createInputManager,
131
+ createInteractionManager,
132
+ invalidateNodeRender,
133
+ registerDefaultHitTests,
134
+ setNodeHitTestEnabled,
135
+ } from '@flighthq/sdk';
136
+
137
+ registerDefaultHitTests();
138
+ setNodeHitTestEnabled(sprite, true);
139
+
140
+ const interaction = createInteractionManager(root);
141
+ const input = createInputManager();
142
+ attachPointerInput(input, canvas);
143
+ connectInputToInteraction(input, interaction, pixelRatio);
144
+
145
+ connectInteractionSignal(interaction, sprite, 'onPointerDown', () => {
146
+ sprite.alpha = 0.5;
147
+ invalidateNodeRender(sprite);
148
+ });
149
+ connectInteractionSignal(interaction, sprite, 'onPointerUp', () => {
150
+ sprite.alpha = 1;
151
+ invalidateNodeRender(sprite);
152
+ });
153
+ ```
154
+
155
+ ### Sound
156
+
157
+ Load an audio resource with fallback formats, then play it:
158
+
159
+ ```ts
160
+ import { loadAudioResourceFromUrls, playAudioResource } from '@flighthq/sdk';
161
+
162
+ const audioContext = new AudioContext();
163
+ const sound = await loadAudioResourceFromUrls(audioContext, [{ url: 'assets/click.ogg' }, { url: 'assets/click.mp3' }]);
164
+
165
+ connectInteractionSignal(interaction, sprite, 'onPointerDown', () => {
166
+ playAudioResource(audioContext, sound);
167
+ });
168
+ ```
169
+
170
+ ## Rendering Model
171
+
172
+ Flight separates authored data from backend work:
173
+
174
+ 1. Build a graph from display objects, sprites, text, shapes, tilemaps, particles, or 3D scene nodes.
175
+ 2. Create a backend render state for Canvas 2D, DOM, WebGL2, or WebGPU.
176
+ 3. Register only the renderers and effect backends the scene needs.
177
+ 4. Run the explicit prepare/update pass.
178
+ 5. Draw through the selected backend.
179
+
180
+ Canvas and DOM are lightweight host-web paths. WebGL2 and WebGPU add GPU render targets, cached pipelines, shader/material registries, post-processing, clipping, masking, velocity, render caches, 2D batching, and 3D forward renderers with a 20-material Cook-Torrance PBR + classic/NPR/debug shader library.
181
+
182
+ ## Platform Scope
183
+
184
+ Flight currently spans more than 150 independently importable, publishable packages. The public API can be inspected with:
185
+
186
+ ```sh
187
+ npm run api
188
+ npm run api -- --json
189
+ ```
190
+
191
+ Major areas:
192
+
193
+ | Area | Packages |
194
+ | --- | --- |
195
+ | Core and data | `types`, `entity`, `node`, `signals`, `math`, `geometry`, `color`, `layout`, `compression` |
196
+ | 2D graphics | `scene2d`, `bitmap`, `shape`, `path`, `clip`, `text`, `tilemap`, `quadbatch` |
197
+ | 3D graphics | `scene3d`, `mesh`, `materials`, `shading`, `lighting`, `texture`, `camera`, `skeleton3d`, `picking` |
198
+ | Rendering | `render`, Canvas/DOM scene renderers, WebGL 2 and WebGPU cores, and 2D/3D GPU renderers |
199
+ | Effects and imaging | `adjustments`, `effects`, Canvas/WebGL/WebGPU effect executors, `image`, `image-codec`, `capture` |
200
+ | Text | `textlayout`, `textshaper`, `textsegment`, `textbidi`, `textinput`, `glyphatlas`, `bitmapfont`, `bitmaptext`, `text-markup` |
201
+ | Animation and simulation | `easing`, `tween`, `spring`, `animation`, `timeline`, `movieclip`, `spritesheet`, `motionpath`, `clock`, `particles` |
202
+ | Games and interaction | `input`, `interaction`, `collision`, `physics2d`, `spatial`, `flow`, `statechart`, `snapshot` |
203
+ | Resources and formats | Loaders and structured importers for images, fonts, atlases, tilemaps, particles, SVG, SWF, glTF, OBJ/MTL, 3DS, MD2/MD5, AWD2, and more |
204
+ | Application and media | `application`, `audio`, `video`, `media`, `mediasession`, `intl`, `log`, `debug` |
205
+ | Platform integration | Web-first APIs for storage, networking, filesystem, clipboard, dialogs, notifications, sensors, windows, lifecycle, and other OS/device capabilities |
206
+ | Native hosts | Replaceable adapters for Electron, Tauri, and Capacitor |
207
+ | Tooling | Capture and baseline tooling, cross-renderer smoke/parity checks, conformance fixtures, API/export/package/order/portability gates, and bundle-size budgets |
208
+
209
+ All packages are published under `@flighthq/`. Applications and examples usually import from `@flighthq/sdk`:
210
+
211
+ ```ts
212
+ import { addNodeChild, createBitmap, createShape } from '@flighthq/sdk';
213
+ ```
214
+
215
+ Library code should prefer the smallest package root that provides the needed API:
216
+
217
+ ```ts
218
+ import { createTween, updateTweens } from '@flighthq/tween';
219
+ ```
220
+
221
+ Platform implementations are registered explicitly. Browser applications opt into the narrow `enableHostWeb*` functions they use (or the combined `enableHostWeb()` setup); Electron, Tauri, and Capacitor hosts register their matching adapters. The application-facing API remains stable across those hosts.
222
+
223
+ ## Engineering Confidence
224
+
225
+ Flight is pre-release software, so confidence comes from the engineering path behind each change. Code changes are exercised by two unit-test lanes, a full TypeScript build, package and public-API validation, bundle-size budgets, and browser-render smoke and parity checks across DOM, Canvas, WebGL, and WebGPU. Nightly runs add coverage thresholds and generated API-surface checks.
226
+
227
+ `main` is a machine-managed known-good pointer: it advances only to commits whose CI run succeeded. Version releases verify that exact tagged commit passed CI before publishing the complete package graph to npm with provenance.
228
+
229
+ The repository also keeps reliability concerns visible in the design: imports are side-effect-free, feature families use explicit registries, resource ownership and allocation are named, format importers report structured diagnostics, source stays inside a checked compiled-target-portable subset, and render output is tested across interchangeable backends.
230
+
231
+ ## Examples
232
+
233
+ The gallery includes focused examples for shapes, bitmaps, text, interaction, animation, tilemaps, particles, collision, application flow, audio/video, file-format loading, and a growing set of 3D scenes covering primitives, shading, skyboxes, skeletal animation, picking, fire, explosions, and a globe. Where a capability is shared, the gallery lets you switch the same scene among supported renderers.
234
+
235
+ Build a specific example:
236
+
237
+ ```sh
238
+ npm run build --workspace=examples/packages/shapes
239
+ ```
240
+
241
+ Run a renderer-specific example dev server:
242
+
243
+ ```sh
244
+ npm run dev:canvas --workspace=examples/packages/shapes
245
+ npm run dev:dom --workspace=examples/packages/shapes
246
+ npm run dev:webgl --workspace=examples/packages/shapes
247
+ npm run dev:webgpu --workspace=examples/packages/scene-primitives
248
+ ```
249
+
250
+ ## Repository
251
+
252
+ ```sh
253
+ git clone https://github.com/flighthq/flight.git
254
+ cd flight
255
+ npm install
256
+ ```
257
+
258
+ ```text
259
+ packages/ Workspace packages published as @flighthq/*
260
+ examples/ Standalone Vite example apps
261
+ conformance/ Import fixtures and structured conformance checks
262
+ tools/ Gallery, functional scenes, capture harness, and repo utilities
263
+ scripts/ Validation, API, coverage, ordering, size, and build scripts
264
+ ```
265
+
266
+ Useful checks:
267
+
268
+ ```sh
269
+ npm run check # package, type, API, export, portability, docs, and style gates
270
+ npm run test # unit tests across all packages
271
+ npm run size # gzip output size against committed budgets
272
+ npm run test:smoke # fail on browser/runtime/render errors
273
+ npm run test:parity # compare output across render backends
274
+ npm run test:regression # compare output against committed fingerprints
275
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/sdk",
3
- "version": "0.4.0-next.1920.b93ad0f",
3
+ "version": "0.4.0-next.1932.1ef883a",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -90,152 +90,152 @@
90
90
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
91
91
  },
92
92
  "dependencies": {
93
- "@flighthq/abc": "0.4.0-next.1920.b93ad0f",
94
- "@flighthq/accessibility": "0.4.0-next.1920.b93ad0f",
95
- "@flighthq/adjustments": "0.4.0-next.1920.b93ad0f",
96
- "@flighthq/animation": "0.4.0-next.1920.b93ad0f",
97
- "@flighthq/app": "0.4.0-next.1920.b93ad0f",
98
- "@flighthq/application": "0.4.0-next.1920.b93ad0f",
99
- "@flighthq/application-gl": "0.4.0-next.1920.b93ad0f",
100
- "@flighthq/assets": "0.4.0-next.1920.b93ad0f",
101
- "@flighthq/audio": "0.4.0-next.1920.b93ad0f",
102
- "@flighthq/binpack": "0.4.0-next.1920.b93ad0f",
103
- "@flighthq/bitmap": "0.4.0-next.1920.b93ad0f",
104
- "@flighthq/bitmapfont": "0.4.0-next.1920.b93ad0f",
105
- "@flighthq/bitmapfont-formats": "0.4.0-next.1920.b93ad0f",
106
- "@flighthq/bitmaptext": "0.4.0-next.1920.b93ad0f",
107
- "@flighthq/camera": "0.4.0-next.1920.b93ad0f",
108
- "@flighthq/camera-controls": "0.4.0-next.1920.b93ad0f",
109
- "@flighthq/capture": "0.4.0-next.1920.b93ad0f",
110
- "@flighthq/clip": "0.4.0-next.1920.b93ad0f",
111
- "@flighthq/clipboard": "0.4.0-next.1920.b93ad0f",
112
- "@flighthq/clock": "0.4.0-next.1920.b93ad0f",
113
- "@flighthq/collision": "0.4.0-next.1920.b93ad0f",
114
- "@flighthq/color": "0.4.0-next.1920.b93ad0f",
115
- "@flighthq/compression": "0.4.0-next.1920.b93ad0f",
116
- "@flighthq/connectivity": "0.4.0-next.1920.b93ad0f",
117
- "@flighthq/debug": "0.4.0-next.1920.b93ad0f",
118
- "@flighthq/device": "0.4.0-next.1920.b93ad0f",
119
- "@flighthq/dialog": "0.4.0-next.1920.b93ad0f",
120
- "@flighthq/easing": "0.4.0-next.1920.b93ad0f",
121
- "@flighthq/effects": "0.4.0-next.1920.b93ad0f",
122
- "@flighthq/effects-canvas": "0.4.0-next.1920.b93ad0f",
123
- "@flighthq/effects-gl": "0.4.0-next.1920.b93ad0f",
124
- "@flighthq/effects-wgpu": "0.4.0-next.1920.b93ad0f",
125
- "@flighthq/entity": "0.4.0-next.1920.b93ad0f",
126
- "@flighthq/filesystem": "0.4.0-next.1920.b93ad0f",
127
- "@flighthq/flow": "0.4.0-next.1920.b93ad0f",
128
- "@flighthq/font": "0.4.0-next.1920.b93ad0f",
129
- "@flighthq/font-formats": "0.4.0-next.1920.b93ad0f",
130
- "@flighthq/geolocation": "0.4.0-next.1920.b93ad0f",
131
- "@flighthq/geometry": "0.4.0-next.1920.b93ad0f",
132
- "@flighthq/glyphatlas": "0.4.0-next.1920.b93ad0f",
133
- "@flighthq/haptics": "0.4.0-next.1920.b93ad0f",
134
- "@flighthq/image": "0.4.0-next.1920.b93ad0f",
135
- "@flighthq/image-codec": "0.4.0-next.1920.b93ad0f",
136
- "@flighthq/importdiagnostics": "0.4.0-next.1920.b93ad0f",
137
- "@flighthq/input": "0.4.0-next.1920.b93ad0f",
138
- "@flighthq/interaction": "0.4.0-next.1920.b93ad0f",
139
- "@flighthq/intl": "0.4.0-next.1920.b93ad0f",
140
- "@flighthq/ipc": "0.4.0-next.1920.b93ad0f",
141
- "@flighthq/keyboard": "0.4.0-next.1920.b93ad0f",
142
- "@flighthq/layout": "0.4.0-next.1920.b93ad0f",
143
- "@flighthq/lifecycle": "0.4.0-next.1920.b93ad0f",
144
- "@flighthq/lighting": "0.4.0-next.1920.b93ad0f",
145
- "@flighthq/loader": "0.4.0-next.1920.b93ad0f",
146
- "@flighthq/log": "0.4.0-next.1920.b93ad0f",
147
- "@flighthq/materials": "0.4.0-next.1920.b93ad0f",
148
- "@flighthq/math": "0.4.0-next.1920.b93ad0f",
149
- "@flighthq/media": "0.4.0-next.1920.b93ad0f",
150
- "@flighthq/mediasession": "0.4.0-next.1920.b93ad0f",
151
- "@flighthq/menu": "0.4.0-next.1920.b93ad0f",
152
- "@flighthq/mesh": "0.4.0-next.1920.b93ad0f",
153
- "@flighthq/motionpath": "0.4.0-next.1920.b93ad0f",
154
- "@flighthq/movieclip": "0.4.0-next.1920.b93ad0f",
155
- "@flighthq/net": "0.4.0-next.1920.b93ad0f",
156
- "@flighthq/node": "0.4.0-next.1920.b93ad0f",
157
- "@flighthq/notification": "0.4.0-next.1920.b93ad0f",
158
- "@flighthq/particleemitter": "0.4.0-next.1920.b93ad0f",
159
- "@flighthq/particles": "0.4.0-next.1920.b93ad0f",
160
- "@flighthq/particles-formats": "0.4.0-next.1920.b93ad0f",
161
- "@flighthq/path": "0.4.0-next.1920.b93ad0f",
162
- "@flighthq/path-boolean": "0.4.0-next.1920.b93ad0f",
163
- "@flighthq/path-formats": "0.4.0-next.1920.b93ad0f",
164
- "@flighthq/permissions": "0.4.0-next.1920.b93ad0f",
165
- "@flighthq/physics2d": "0.4.0-next.1920.b93ad0f",
166
- "@flighthq/physics3d": "0.4.0-next.1920.b93ad0f",
167
- "@flighthq/physics2d-abi": "0.4.0-next.1920.b93ad0f",
168
- "@flighthq/physics3d-abi": "0.4.0-next.1920.b93ad0f",
169
- "@flighthq/picking": "0.4.0-next.1920.b93ad0f",
170
- "@flighthq/platform": "0.4.0-next.1920.b93ad0f",
171
- "@flighthq/power": "0.4.0-next.1920.b93ad0f",
172
- "@flighthq/protocol": "0.4.0-next.1920.b93ad0f",
173
- "@flighthq/quadbatch": "0.4.0-next.1920.b93ad0f",
174
- "@flighthq/render": "0.4.0-next.1920.b93ad0f",
175
- "@flighthq/render-gl": "0.4.0-next.1920.b93ad0f",
176
- "@flighthq/render-wgpu": "0.4.0-next.1920.b93ad0f",
177
- "@flighthq/requirements": "0.4.0-next.1920.b93ad0f",
178
- "@flighthq/registry": "0.4.0-next.1920.b93ad0f",
179
- "@flighthq/registry-catalog": "0.4.0-next.1920.b93ad0f",
180
- "@flighthq/registry-codegen": "0.4.0-next.1920.b93ad0f",
181
- "@flighthq/scene2d": "0.4.0-next.1920.b93ad0f",
182
- "@flighthq/scene2d-canvas": "0.4.0-next.1920.b93ad0f",
183
- "@flighthq/scene2d-dom": "0.4.0-next.1920.b93ad0f",
184
- "@flighthq/scene2d-formats": "0.4.0-next.1920.b93ad0f",
185
- "@flighthq/scene2d-gl": "0.4.0-next.1920.b93ad0f",
186
- "@flighthq/scene2d-resources": "0.4.0-next.1920.b93ad0f",
187
- "@flighthq/scene2d-wgpu": "0.4.0-next.1920.b93ad0f",
188
- "@flighthq/scene3d": "0.4.0-next.1920.b93ad0f",
189
- "@flighthq/scene3d-formats": "0.4.0-next.1920.b93ad0f",
190
- "@flighthq/scene3d-gl": "0.4.0-next.1920.b93ad0f",
191
- "@flighthq/scene3d-resources": "0.4.0-next.1920.b93ad0f",
192
- "@flighthq/scene3d-wgpu": "0.4.0-next.1920.b93ad0f",
193
- "@flighthq/screen": "0.4.0-next.1920.b93ad0f",
194
- "@flighthq/sensors": "0.4.0-next.1920.b93ad0f",
195
- "@flighthq/shading": "0.4.0-next.1920.b93ad0f",
196
- "@flighthq/shape": "0.4.0-next.1920.b93ad0f",
197
- "@flighthq/shape-formats": "0.4.0-next.1920.b93ad0f",
198
- "@flighthq/share": "0.4.0-next.1920.b93ad0f",
199
- "@flighthq/shell": "0.4.0-next.1920.b93ad0f",
200
- "@flighthq/shortcut": "0.4.0-next.1920.b93ad0f",
201
- "@flighthq/signals": "0.4.0-next.1920.b93ad0f",
202
- "@flighthq/skeleton2d": "0.4.0-next.1920.b93ad0f",
203
- "@flighthq/skeleton2d-formats": "0.4.0-next.1920.b93ad0f",
204
- "@flighthq/skeleton3d": "0.4.0-next.1920.b93ad0f",
205
- "@flighthq/snapshot": "0.4.0-next.1920.b93ad0f",
206
- "@flighthq/socket": "0.4.0-next.1920.b93ad0f",
207
- "@flighthq/spatial": "0.4.0-next.1920.b93ad0f",
208
- "@flighthq/spring": "0.4.0-next.1920.b93ad0f",
209
- "@flighthq/statechart": "0.4.0-next.1920.b93ad0f",
210
- "@flighthq/spritesheet": "0.4.0-next.1920.b93ad0f",
211
- "@flighthq/spritesheet-formats": "0.4.0-next.1920.b93ad0f",
212
- "@flighthq/statusbar": "0.4.0-next.1920.b93ad0f",
213
- "@flighthq/storage": "0.4.0-next.1920.b93ad0f",
214
- "@flighthq/swf": "0.4.0-next.1920.b93ad0f",
215
- "@flighthq/text": "0.4.0-next.1920.b93ad0f",
216
- "@flighthq/text-markup": "0.4.0-next.1920.b93ad0f",
217
- "@flighthq/textbidi": "0.4.0-next.1920.b93ad0f",
218
- "@flighthq/textinput": "0.4.0-next.1920.b93ad0f",
219
- "@flighthq/textlayout": "0.4.0-next.1920.b93ad0f",
220
- "@flighthq/textsegment": "0.4.0-next.1920.b93ad0f",
221
- "@flighthq/textshaper": "0.4.0-next.1920.b93ad0f",
222
- "@flighthq/textshaper-canvas": "0.4.0-next.1920.b93ad0f",
223
- "@flighthq/texture": "0.4.0-next.1920.b93ad0f",
224
- "@flighthq/texture-formats": "0.4.0-next.1920.b93ad0f",
225
- "@flighthq/textureatlas": "0.4.0-next.1920.b93ad0f",
226
- "@flighthq/textureatlas-formats": "0.4.0-next.1920.b93ad0f",
227
- "@flighthq/tilemap": "0.4.0-next.1920.b93ad0f",
228
- "@flighthq/tilemap-formats": "0.4.0-next.1920.b93ad0f",
229
- "@flighthq/timeline": "0.4.0-next.1920.b93ad0f",
230
- "@flighthq/tray": "0.4.0-next.1920.b93ad0f",
231
- "@flighthq/tween": "0.4.0-next.1920.b93ad0f",
232
- "@flighthq/types": "0.4.0-next.1920.b93ad0f",
233
- "@flighthq/updater": "0.4.0-next.1920.b93ad0f",
234
- "@flighthq/useragent": "0.4.0-next.1920.b93ad0f",
235
- "@flighthq/velocity": "0.4.0-next.1920.b93ad0f",
236
- "@flighthq/video": "0.4.0-next.1920.b93ad0f",
237
- "@flighthq/webcam": "0.4.0-next.1920.b93ad0f",
238
- "@flighthq/xml": "0.4.0-next.1920.b93ad0f"
93
+ "@flighthq/abc": "0.4.0-next.1932.1ef883a",
94
+ "@flighthq/accessibility": "0.4.0-next.1932.1ef883a",
95
+ "@flighthq/adjustments": "0.4.0-next.1932.1ef883a",
96
+ "@flighthq/animation": "0.4.0-next.1932.1ef883a",
97
+ "@flighthq/app": "0.4.0-next.1932.1ef883a",
98
+ "@flighthq/application": "0.4.0-next.1932.1ef883a",
99
+ "@flighthq/application-gl": "0.4.0-next.1932.1ef883a",
100
+ "@flighthq/assets": "0.4.0-next.1932.1ef883a",
101
+ "@flighthq/audio": "0.4.0-next.1932.1ef883a",
102
+ "@flighthq/binpack": "0.4.0-next.1932.1ef883a",
103
+ "@flighthq/bitmap": "0.4.0-next.1932.1ef883a",
104
+ "@flighthq/bitmapfont": "0.4.0-next.1932.1ef883a",
105
+ "@flighthq/bitmapfont-formats": "0.4.0-next.1932.1ef883a",
106
+ "@flighthq/bitmaptext": "0.4.0-next.1932.1ef883a",
107
+ "@flighthq/camera": "0.4.0-next.1932.1ef883a",
108
+ "@flighthq/camera-controls": "0.4.0-next.1932.1ef883a",
109
+ "@flighthq/capture": "0.4.0-next.1932.1ef883a",
110
+ "@flighthq/clip": "0.4.0-next.1932.1ef883a",
111
+ "@flighthq/clipboard": "0.4.0-next.1932.1ef883a",
112
+ "@flighthq/clock": "0.4.0-next.1932.1ef883a",
113
+ "@flighthq/collision": "0.4.0-next.1932.1ef883a",
114
+ "@flighthq/color": "0.4.0-next.1932.1ef883a",
115
+ "@flighthq/compression": "0.4.0-next.1932.1ef883a",
116
+ "@flighthq/connectivity": "0.4.0-next.1932.1ef883a",
117
+ "@flighthq/debug": "0.4.0-next.1932.1ef883a",
118
+ "@flighthq/device": "0.4.0-next.1932.1ef883a",
119
+ "@flighthq/dialog": "0.4.0-next.1932.1ef883a",
120
+ "@flighthq/easing": "0.4.0-next.1932.1ef883a",
121
+ "@flighthq/effects": "0.4.0-next.1932.1ef883a",
122
+ "@flighthq/effects-canvas": "0.4.0-next.1932.1ef883a",
123
+ "@flighthq/effects-gl": "0.4.0-next.1932.1ef883a",
124
+ "@flighthq/effects-wgpu": "0.4.0-next.1932.1ef883a",
125
+ "@flighthq/entity": "0.4.0-next.1932.1ef883a",
126
+ "@flighthq/filesystem": "0.4.0-next.1932.1ef883a",
127
+ "@flighthq/flow": "0.4.0-next.1932.1ef883a",
128
+ "@flighthq/font": "0.4.0-next.1932.1ef883a",
129
+ "@flighthq/font-formats": "0.4.0-next.1932.1ef883a",
130
+ "@flighthq/geolocation": "0.4.0-next.1932.1ef883a",
131
+ "@flighthq/geometry": "0.4.0-next.1932.1ef883a",
132
+ "@flighthq/glyphatlas": "0.4.0-next.1932.1ef883a",
133
+ "@flighthq/haptics": "0.4.0-next.1932.1ef883a",
134
+ "@flighthq/image": "0.4.0-next.1932.1ef883a",
135
+ "@flighthq/image-codec": "0.4.0-next.1932.1ef883a",
136
+ "@flighthq/importdiagnostics": "0.4.0-next.1932.1ef883a",
137
+ "@flighthq/input": "0.4.0-next.1932.1ef883a",
138
+ "@flighthq/interaction": "0.4.0-next.1932.1ef883a",
139
+ "@flighthq/intl": "0.4.0-next.1932.1ef883a",
140
+ "@flighthq/ipc": "0.4.0-next.1932.1ef883a",
141
+ "@flighthq/keyboard": "0.4.0-next.1932.1ef883a",
142
+ "@flighthq/layout": "0.4.0-next.1932.1ef883a",
143
+ "@flighthq/lifecycle": "0.4.0-next.1932.1ef883a",
144
+ "@flighthq/lighting": "0.4.0-next.1932.1ef883a",
145
+ "@flighthq/loader": "0.4.0-next.1932.1ef883a",
146
+ "@flighthq/log": "0.4.0-next.1932.1ef883a",
147
+ "@flighthq/materials": "0.4.0-next.1932.1ef883a",
148
+ "@flighthq/math": "0.4.0-next.1932.1ef883a",
149
+ "@flighthq/media": "0.4.0-next.1932.1ef883a",
150
+ "@flighthq/mediasession": "0.4.0-next.1932.1ef883a",
151
+ "@flighthq/menu": "0.4.0-next.1932.1ef883a",
152
+ "@flighthq/mesh": "0.4.0-next.1932.1ef883a",
153
+ "@flighthq/motionpath": "0.4.0-next.1932.1ef883a",
154
+ "@flighthq/movieclip": "0.4.0-next.1932.1ef883a",
155
+ "@flighthq/net": "0.4.0-next.1932.1ef883a",
156
+ "@flighthq/node": "0.4.0-next.1932.1ef883a",
157
+ "@flighthq/notification": "0.4.0-next.1932.1ef883a",
158
+ "@flighthq/particleemitter": "0.4.0-next.1932.1ef883a",
159
+ "@flighthq/particles": "0.4.0-next.1932.1ef883a",
160
+ "@flighthq/particles-formats": "0.4.0-next.1932.1ef883a",
161
+ "@flighthq/path": "0.4.0-next.1932.1ef883a",
162
+ "@flighthq/path-boolean": "0.4.0-next.1932.1ef883a",
163
+ "@flighthq/path-formats": "0.4.0-next.1932.1ef883a",
164
+ "@flighthq/permissions": "0.4.0-next.1932.1ef883a",
165
+ "@flighthq/physics2d": "0.4.0-next.1932.1ef883a",
166
+ "@flighthq/physics3d": "0.4.0-next.1932.1ef883a",
167
+ "@flighthq/physics2d-abi": "0.4.0-next.1932.1ef883a",
168
+ "@flighthq/physics3d-abi": "0.4.0-next.1932.1ef883a",
169
+ "@flighthq/picking": "0.4.0-next.1932.1ef883a",
170
+ "@flighthq/platform": "0.4.0-next.1932.1ef883a",
171
+ "@flighthq/power": "0.4.0-next.1932.1ef883a",
172
+ "@flighthq/protocol": "0.4.0-next.1932.1ef883a",
173
+ "@flighthq/quadbatch": "0.4.0-next.1932.1ef883a",
174
+ "@flighthq/render": "0.4.0-next.1932.1ef883a",
175
+ "@flighthq/render-gl": "0.4.0-next.1932.1ef883a",
176
+ "@flighthq/render-wgpu": "0.4.0-next.1932.1ef883a",
177
+ "@flighthq/requirements": "0.4.0-next.1932.1ef883a",
178
+ "@flighthq/registry": "0.4.0-next.1932.1ef883a",
179
+ "@flighthq/registry-catalog": "0.4.0-next.1932.1ef883a",
180
+ "@flighthq/registry-codegen": "0.4.0-next.1932.1ef883a",
181
+ "@flighthq/scene2d": "0.4.0-next.1932.1ef883a",
182
+ "@flighthq/scene2d-canvas": "0.4.0-next.1932.1ef883a",
183
+ "@flighthq/scene2d-dom": "0.4.0-next.1932.1ef883a",
184
+ "@flighthq/scene2d-formats": "0.4.0-next.1932.1ef883a",
185
+ "@flighthq/scene2d-gl": "0.4.0-next.1932.1ef883a",
186
+ "@flighthq/scene2d-resources": "0.4.0-next.1932.1ef883a",
187
+ "@flighthq/scene2d-wgpu": "0.4.0-next.1932.1ef883a",
188
+ "@flighthq/scene3d": "0.4.0-next.1932.1ef883a",
189
+ "@flighthq/scene3d-formats": "0.4.0-next.1932.1ef883a",
190
+ "@flighthq/scene3d-gl": "0.4.0-next.1932.1ef883a",
191
+ "@flighthq/scene3d-resources": "0.4.0-next.1932.1ef883a",
192
+ "@flighthq/scene3d-wgpu": "0.4.0-next.1932.1ef883a",
193
+ "@flighthq/screen": "0.4.0-next.1932.1ef883a",
194
+ "@flighthq/sensors": "0.4.0-next.1932.1ef883a",
195
+ "@flighthq/shading": "0.4.0-next.1932.1ef883a",
196
+ "@flighthq/shape": "0.4.0-next.1932.1ef883a",
197
+ "@flighthq/shape-formats": "0.4.0-next.1932.1ef883a",
198
+ "@flighthq/share": "0.4.0-next.1932.1ef883a",
199
+ "@flighthq/shell": "0.4.0-next.1932.1ef883a",
200
+ "@flighthq/shortcut": "0.4.0-next.1932.1ef883a",
201
+ "@flighthq/signals": "0.4.0-next.1932.1ef883a",
202
+ "@flighthq/skeleton2d": "0.4.0-next.1932.1ef883a",
203
+ "@flighthq/skeleton2d-formats": "0.4.0-next.1932.1ef883a",
204
+ "@flighthq/skeleton3d": "0.4.0-next.1932.1ef883a",
205
+ "@flighthq/snapshot": "0.4.0-next.1932.1ef883a",
206
+ "@flighthq/socket": "0.4.0-next.1932.1ef883a",
207
+ "@flighthq/spatial": "0.4.0-next.1932.1ef883a",
208
+ "@flighthq/spring": "0.4.0-next.1932.1ef883a",
209
+ "@flighthq/statechart": "0.4.0-next.1932.1ef883a",
210
+ "@flighthq/spritesheet": "0.4.0-next.1932.1ef883a",
211
+ "@flighthq/spritesheet-formats": "0.4.0-next.1932.1ef883a",
212
+ "@flighthq/statusbar": "0.4.0-next.1932.1ef883a",
213
+ "@flighthq/storage": "0.4.0-next.1932.1ef883a",
214
+ "@flighthq/swf": "0.4.0-next.1932.1ef883a",
215
+ "@flighthq/text": "0.4.0-next.1932.1ef883a",
216
+ "@flighthq/text-markup": "0.4.0-next.1932.1ef883a",
217
+ "@flighthq/textbidi": "0.4.0-next.1932.1ef883a",
218
+ "@flighthq/textinput": "0.4.0-next.1932.1ef883a",
219
+ "@flighthq/textlayout": "0.4.0-next.1932.1ef883a",
220
+ "@flighthq/textsegment": "0.4.0-next.1932.1ef883a",
221
+ "@flighthq/textshaper": "0.4.0-next.1932.1ef883a",
222
+ "@flighthq/textshaper-canvas": "0.4.0-next.1932.1ef883a",
223
+ "@flighthq/texture": "0.4.0-next.1932.1ef883a",
224
+ "@flighthq/texture-formats": "0.4.0-next.1932.1ef883a",
225
+ "@flighthq/textureatlas": "0.4.0-next.1932.1ef883a",
226
+ "@flighthq/textureatlas-formats": "0.4.0-next.1932.1ef883a",
227
+ "@flighthq/tilemap": "0.4.0-next.1932.1ef883a",
228
+ "@flighthq/tilemap-formats": "0.4.0-next.1932.1ef883a",
229
+ "@flighthq/timeline": "0.4.0-next.1932.1ef883a",
230
+ "@flighthq/tray": "0.4.0-next.1932.1ef883a",
231
+ "@flighthq/tween": "0.4.0-next.1932.1ef883a",
232
+ "@flighthq/types": "0.4.0-next.1932.1ef883a",
233
+ "@flighthq/updater": "0.4.0-next.1932.1ef883a",
234
+ "@flighthq/useragent": "0.4.0-next.1932.1ef883a",
235
+ "@flighthq/velocity": "0.4.0-next.1932.1ef883a",
236
+ "@flighthq/video": "0.4.0-next.1932.1ef883a",
237
+ "@flighthq/webcam": "0.4.0-next.1932.1ef883a",
238
+ "@flighthq/xml": "0.4.0-next.1932.1ef883a"
239
239
  },
240
240
  "devDependencies": {
241
241
  "typescript": "^5.3.0"