@codexo/exojs 0.6.3 → 0.6.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/CHANGELOG.md +156 -0
- package/dist/esm/core/Application.d.ts +8 -1
- package/dist/esm/core/Application.js +17 -1
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/SceneManager.js +11 -12
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/capabilities.d.ts +30 -29
- package/dist/esm/core/capabilities.js +163 -61
- package/dist/esm/core/capabilities.js.map +1 -1
- package/dist/esm/index.js +1 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/math/geometry.d.ts +12 -8
- package/dist/esm/math/geometry.js +119 -72
- package/dist/esm/math/geometry.js.map +1 -1
- package/dist/esm/rendering/index.d.ts +0 -5
- package/dist/esm/rendering/primitives/Graphics.d.ts +3 -2
- package/dist/esm/rendering/primitives/Graphics.js +33 -25
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +1 -4
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +0 -3
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +1 -2
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/exo.esm.js +710 -1280
- package/dist/exo.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/esm/rendering/primitives/CircleGeometry.d.ts +0 -4
- package/dist/esm/rendering/primitives/CircleGeometry.js +0 -21
- package/dist/esm/rendering/primitives/CircleGeometry.js.map +0 -1
- package/dist/esm/rendering/primitives/DrawableShape.d.ts +0 -11
- package/dist/esm/rendering/primitives/DrawableShape.js +0 -21
- package/dist/esm/rendering/primitives/DrawableShape.js.map +0 -1
- package/dist/esm/rendering/primitives/Geometry.d.ts +0 -13
- package/dist/esm/rendering/primitives/Geometry.js +0 -16
- package/dist/esm/rendering/primitives/Geometry.js.map +0 -1
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.d.ts +0 -26
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js +0 -222
- package/dist/esm/rendering/webgl2/WebGl2PrimitiveRenderer.js.map +0 -1
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js +0 -4
- package/dist/esm/rendering/webgl2/glsl/primitive.frag.js.map +0 -1
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js +0 -4
- package/dist/esm/rendering/webgl2/glsl/primitive.vert.js.map +0 -1
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.d.ts +0 -38
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js +0 -488
- package/dist/esm/rendering/webgpu/WebGpuPrimitiveRenderer.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,162 @@ All notable changes to ExoJS are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.6.5] - 2026-05-02
|
|
8
|
+
|
|
9
|
+
> **Heads-up — breaking change despite the patch number.** Removes
|
|
10
|
+
> `DrawableShape`, `Geometry`, `CircleGeometry`, and the
|
|
11
|
+
> `WebGl2PrimitiveRenderer` / `WebGpuPrimitiveRenderer` classes. Pre-1.0
|
|
12
|
+
> SemVer permits breaking changes within the 0.x.y line; we kept the
|
|
13
|
+
> minor digit unchanged because direct usage of those classes outside
|
|
14
|
+
> the engine is unlikely (the public `Graphics` API is unchanged).
|
|
15
|
+
|
|
16
|
+
Collapses the legacy primitive-rendering stack into the existing `Mesh`
|
|
17
|
+
primitive. Net effect: ~1100 LOC removed across two files of
|
|
18
|
+
backend-specific primitive renderers and three legacy data classes,
|
|
19
|
+
one unified rendering path for everything triangle-shaped.
|
|
20
|
+
|
|
21
|
+
### Breaking
|
|
22
|
+
|
|
23
|
+
- **`DrawableShape` removed.** Internal Graphics children are now
|
|
24
|
+
`Mesh` instances. If you constructed `DrawableShape` directly,
|
|
25
|
+
switch to `new Mesh({ vertices, indices, ... })` and assign the
|
|
26
|
+
fill color via `mesh.tint = color`. See migration below.
|
|
27
|
+
- **`Geometry` and `CircleGeometry` classes removed.** They were
|
|
28
|
+
only ever consumed by `DrawableShape` and the (now-gone) primitive
|
|
29
|
+
renderers. The geometry-builder helpers in `src/math/geometry`
|
|
30
|
+
(`buildLine`, `buildPath`, `buildCircle`, `buildEllipse`,
|
|
31
|
+
`buildRectangle`, `buildPolygon`, `buildStar`) now return a
|
|
32
|
+
`MeshGeometryData` plain object — `{ vertices: Float32Array,
|
|
33
|
+
indices: Uint16Array, points: Array<number> }` — directly suitable
|
|
34
|
+
for `new Mesh({ ... })`.
|
|
35
|
+
- **`WebGl2PrimitiveRenderer` and `WebGpuPrimitiveRenderer` removed.**
|
|
36
|
+
Their work moved entirely into the existing `*MeshRenderer`s. Both
|
|
37
|
+
backends now register only `Sprite`, `Mesh`, and `ParticleSystem`
|
|
38
|
+
renderers.
|
|
39
|
+
- **`primitiveRendererBatchSize` ApplicationOptions removed.** The
|
|
40
|
+
field was wired only into the deleted PrimitiveRenderer; no
|
|
41
|
+
replacement.
|
|
42
|
+
- **`Graphics.getChildAt(index)` return type narrows from
|
|
43
|
+
`DrawableShape` to `Mesh`.** Children of a `Graphics` are still
|
|
44
|
+
walked the same way; only the type narrows.
|
|
45
|
+
- **`buildX(...)` geometry-builder return type changes.** Functions
|
|
46
|
+
previously returned a `Geometry` instance; now return
|
|
47
|
+
`MeshGeometryData`. The `vertices` and `indices` shift from
|
|
48
|
+
`Array<number>` / `Array<number>` to typed arrays.
|
|
49
|
+
- **`Lines`, `LineStrip`, `LineLoop`, `Points`, `TriangleFan`,
|
|
50
|
+
`TriangleStrip` draw modes are no longer renderable** through the
|
|
51
|
+
public stack. The `RenderingPrimitives` enum is still exported but
|
|
52
|
+
is now used only internally by SpriteRenderer / ParticleRenderer /
|
|
53
|
+
MeshRenderer / VertexArrayObject (which all draw triangle-list or
|
|
54
|
+
triangle-strip).
|
|
55
|
+
|
|
56
|
+
### Migration
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
// Before (0.6.4)
|
|
60
|
+
import { DrawableShape, Geometry, RenderingPrimitives, Color } from '@codexo/exojs';
|
|
61
|
+
|
|
62
|
+
const shape = new DrawableShape(
|
|
63
|
+
new Geometry({ vertices: [0, 0, 100, 0, 50, 100], indices: [0, 1, 2] }),
|
|
64
|
+
Color.red,
|
|
65
|
+
RenderingPrimitives.Triangles,
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
// After (0.6.5)
|
|
69
|
+
import { Mesh, Color } from '@codexo/exojs';
|
|
70
|
+
|
|
71
|
+
const mesh = new Mesh({
|
|
72
|
+
vertices: new Float32Array([0, 0, 100, 0, 50, 100]),
|
|
73
|
+
indices: new Uint16Array([0, 1, 2]),
|
|
74
|
+
});
|
|
75
|
+
mesh.tint = Color.red;
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`Graphics`'s public surface is unchanged — `drawCircle`, `drawRectangle`,
|
|
79
|
+
`drawLine`, `drawPath`, `drawPolygon`, `drawEllipse`, `drawArc`,
|
|
80
|
+
`drawStar`, `lineTo`, `moveTo`, `bezierCurveTo`, `quadraticCurveTo`,
|
|
81
|
+
`arcTo`, `clear`, `fillColor`, `lineColor`, `lineWidth`, `currentPoint`
|
|
82
|
+
all behave identically.
|
|
83
|
+
|
|
84
|
+
### Internals
|
|
85
|
+
|
|
86
|
+
- All geometry builders now produce triangle-list output. Previously
|
|
87
|
+
most produced TriangleStrip with degenerate-triangle bridging (the
|
|
88
|
+
duplicated-first-and-last-index pattern); that hack is gone.
|
|
89
|
+
- `Graphics.drawX` methods now construct `Mesh` children with
|
|
90
|
+
`mesh.tint` carrying the fill/line color.
|
|
91
|
+
- `SceneManager`'s internal `TransitionOverlay` switched from
|
|
92
|
+
`DrawableShape` to `Mesh`; quad now indexed `[0,1,2, 1,3,2]`.
|
|
93
|
+
|
|
94
|
+
## [0.6.4] - 2026-05-02
|
|
95
|
+
|
|
96
|
+
> **Heads-up — breaking change despite the patch number.** Reshapes
|
|
97
|
+
> the capabilities API one version after it was introduced. Pre-1.0
|
|
98
|
+
> SemVer permits breaking changes within the 0.x.y line; we kept the
|
|
99
|
+
> minor digit unchanged because the previous shape only existed for
|
|
100
|
+
> a single release (0.6.3) and almost no one will have pinned to it.
|
|
101
|
+
|
|
102
|
+
0.6.3 shipped a sync-only `capabilities` object plus an `isSupported`
|
|
103
|
+
helper; both are gone. The replacement is a `Capabilities` class with
|
|
104
|
+
a lazy-cached `static get ready` Promise — async-aware (real WebGPU
|
|
105
|
+
adapter check, not just API surface), flat-property, OOP-flavored to
|
|
106
|
+
match the rest of ExoJS.
|
|
107
|
+
|
|
108
|
+
### Breaking
|
|
109
|
+
|
|
110
|
+
- **`capabilities` (lowercase const) and `isSupported` are removed.**
|
|
111
|
+
Replace with `await Capabilities.ready`. Properties on the resolved
|
|
112
|
+
instance carry the same information at richer fidelity:
|
|
113
|
+
- `capabilities.touch` (`boolean`) → `caps.touch` (`boolean`) plus
|
|
114
|
+
new `caps.maxTouchPoints` (`number`).
|
|
115
|
+
- `capabilities.webgpu` (`boolean`, API-surface only) →
|
|
116
|
+
`caps.webgpu` (`boolean`, same API-surface meaning) plus new
|
|
117
|
+
`caps.webgpuAdapter` (`GPUAdapter | null`, the actual adapter
|
|
118
|
+
request result), `caps.webgpuVendor`, `caps.webgpuArchitecture`.
|
|
119
|
+
- `capabilities.audio` (`boolean`) → `caps.audio` (`boolean`).
|
|
120
|
+
- All other booleans (`pointer`, `keyboard`, `gamepad`,
|
|
121
|
+
`fullscreen`, `vibration`, `offscreenCanvas`, `webWorkers`,
|
|
122
|
+
`devicePixelRatio`, `webgl2`) carry over with identical names.
|
|
123
|
+
- **`CapabilityName` type is removed.** It existed only to type
|
|
124
|
+
`isSupported`'s parameter; with the function gone the union has no
|
|
125
|
+
consumer.
|
|
126
|
+
|
|
127
|
+
### Added
|
|
128
|
+
|
|
129
|
+
- **`Capabilities` class** with lazy-cached static `ready` Promise.
|
|
130
|
+
First read fires the probes (sync ones immediate, the WebGPU
|
|
131
|
+
adapter check async); every subsequent read returns the same
|
|
132
|
+
Promise. The resolved instance is frozen.
|
|
133
|
+
- **`Application.capabilities`** accessor returns the same instance
|
|
134
|
+
after `await app.start(...)` resolves; reading before start throws.
|
|
135
|
+
Application's start now overlaps capability detection with backend
|
|
136
|
+
init via `Promise.all`-style parallelism — no extra startup
|
|
137
|
+
latency.
|
|
138
|
+
- **Real WebGPU adapter check** as part of detection: `webgpuAdapter`
|
|
139
|
+
is non-null only if `navigator.gpu.requestAdapter()` succeeded.
|
|
140
|
+
Solves the "API surface present but adapter not available" false
|
|
141
|
+
positive that the 0.6.3 sync `capabilities.webgpu` couldn't
|
|
142
|
+
distinguish.
|
|
143
|
+
|
|
144
|
+
### Migration
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
// Before (0.6.3)
|
|
148
|
+
import { capabilities, isSupported } from '@codexo/exojs';
|
|
149
|
+
if (capabilities.webgpu) startWebGpu(); // false positives possible
|
|
150
|
+
if (isSupported('touch')) showTouchUi();
|
|
151
|
+
|
|
152
|
+
// After (0.6.4)
|
|
153
|
+
import { Capabilities } from '@codexo/exojs';
|
|
154
|
+
const caps = await Capabilities.ready;
|
|
155
|
+
if (caps.webgpuAdapter) startWebGpu(); // strict adapter check
|
|
156
|
+
if (caps.touch) showTouchUi();
|
|
157
|
+
|
|
158
|
+
// Or via Application after start:
|
|
159
|
+
await app.start(scene);
|
|
160
|
+
if (app.capabilities.touch) showTouchUi();
|
|
161
|
+
```
|
|
162
|
+
|
|
7
163
|
## [0.6.3] - 2026-05-02
|
|
8
164
|
|
|
9
165
|
Adds the `capabilities` feature-detection API. Pure addition — no
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Capabilities } from './capabilities';
|
|
1
2
|
import { SceneManager } from './SceneManager';
|
|
2
3
|
import { InputManager } from '@/input/InputManager';
|
|
3
4
|
import { Loader } from '@/resources/Loader';
|
|
@@ -22,7 +23,6 @@ export interface ApplicationOptions {
|
|
|
22
23
|
clearColor: Color;
|
|
23
24
|
spriteRendererBatchSize: number;
|
|
24
25
|
particleRendererBatchSize: number;
|
|
25
|
-
primitiveRendererBatchSize: number;
|
|
26
26
|
gamepadDefinitions: Array<GamepadDefinition>;
|
|
27
27
|
pointerDistanceThreshold: number;
|
|
28
28
|
webglAttributes: WebGLContextAttributes;
|
|
@@ -57,6 +57,7 @@ export declare class Application {
|
|
|
57
57
|
private _frameRequest;
|
|
58
58
|
private _backendType;
|
|
59
59
|
private _backend;
|
|
60
|
+
private _capabilities;
|
|
60
61
|
constructor(appSettings?: Partial<ApplicationOptions>);
|
|
61
62
|
get status(): ApplicationStatus;
|
|
62
63
|
get startupTime(): Time;
|
|
@@ -64,6 +65,12 @@ export declare class Application {
|
|
|
64
65
|
get frameTime(): Time;
|
|
65
66
|
get frameCount(): number;
|
|
66
67
|
get backend(): RenderBackend;
|
|
68
|
+
/**
|
|
69
|
+
* Resolved capabilities for the host browser. Available after
|
|
70
|
+
* {@link Application.start} resolves; reading before that throws.
|
|
71
|
+
* For pre-start access use {@link Capabilities.ready} directly.
|
|
72
|
+
*/
|
|
73
|
+
get capabilities(): Capabilities;
|
|
67
74
|
start(scene: Scene): Promise<this>;
|
|
68
75
|
update(): this;
|
|
69
76
|
stop(): this;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Capabilities } from './capabilities.js';
|
|
1
2
|
import { Clock } from './Clock.js';
|
|
2
3
|
import { SceneManager } from './SceneManager.js';
|
|
3
4
|
import { WebGl2Backend } from '../rendering/webgl2/WebGl2Backend.js';
|
|
@@ -23,7 +24,6 @@ const defaultAppSettings = {
|
|
|
23
24
|
debug: false,
|
|
24
25
|
spriteRendererBatchSize: 4096, // ~ 262kb
|
|
25
26
|
particleRendererBatchSize: 8192, // ~ 1.18mb
|
|
26
|
-
primitiveRendererBatchSize: 65536, // ~ 786kb
|
|
27
27
|
gamepadDefinitions: [],
|
|
28
28
|
pointerDistanceThreshold: 10,
|
|
29
29
|
webglAttributes: {
|
|
@@ -59,6 +59,7 @@ class Application {
|
|
|
59
59
|
_frameRequest = 0;
|
|
60
60
|
_backendType;
|
|
61
61
|
_backend;
|
|
62
|
+
_capabilities = null;
|
|
62
63
|
constructor(appSettings) {
|
|
63
64
|
this.options = {
|
|
64
65
|
canvas: appSettings?.canvas ?? createDefaultCanvas(),
|
|
@@ -100,11 +101,26 @@ class Application {
|
|
|
100
101
|
get backend() {
|
|
101
102
|
return this._backend;
|
|
102
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Resolved capabilities for the host browser. Available after
|
|
106
|
+
* {@link Application.start} resolves; reading before that throws.
|
|
107
|
+
* For pre-start access use {@link Capabilities.ready} directly.
|
|
108
|
+
*/
|
|
109
|
+
get capabilities() {
|
|
110
|
+
if (this._capabilities === null) {
|
|
111
|
+
throw new Error('Application.capabilities is unavailable before start() resolves. Use `await Capabilities.ready` for pre-start checks.');
|
|
112
|
+
}
|
|
113
|
+
return this._capabilities;
|
|
114
|
+
}
|
|
103
115
|
async start(scene) {
|
|
104
116
|
if (this._status === ApplicationStatus.Stopped) {
|
|
105
117
|
this._status = ApplicationStatus.Loading;
|
|
118
|
+
// Kick off capability detection in parallel with renderer init —
|
|
119
|
+
// both are mostly-async startup work, no point serializing them.
|
|
120
|
+
const capabilitiesPromise = Capabilities.ready;
|
|
106
121
|
try {
|
|
107
122
|
await this.initializeRenderManager();
|
|
123
|
+
this._capabilities = await capabilitiesPromise;
|
|
108
124
|
await this.sceneManager.setScene(scene);
|
|
109
125
|
this._frameRequest = requestAnimationFrame(this._updateHandler);
|
|
110
126
|
this._frameClock.restart();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Application.js","sources":["../../../../src/core/Application.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Signal } from './Signal.js';
|
|
2
2
|
import { Color } from './Color.js';
|
|
3
|
-
import {
|
|
4
|
-
import { Geometry } from '../rendering/primitives/Geometry.js';
|
|
5
|
-
import { RenderingPrimitives } from '../rendering/types.js';
|
|
3
|
+
import { Mesh } from '../rendering/mesh/Mesh.js';
|
|
6
4
|
|
|
7
|
-
class
|
|
5
|
+
class TransitionOverlayMesh extends Mesh {
|
|
8
6
|
render(backend) {
|
|
9
7
|
if (this.visible) {
|
|
10
8
|
backend.draw(this);
|
|
@@ -12,16 +10,16 @@ class TransitionOverlayShape extends DrawableShape {
|
|
|
12
10
|
return this;
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
|
-
const
|
|
16
|
-
vertices
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
const createOverlayMesh = () => new TransitionOverlayMesh({
|
|
14
|
+
// 4 vertices (TL, TR, BL, BR) with 2 indexed triangles forming a screen quad.
|
|
15
|
+
vertices: new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]),
|
|
16
|
+
indices: new Uint16Array([0, 1, 2, 1, 3, 2]),
|
|
19
17
|
});
|
|
20
18
|
const defaultFadeTransitionDuration = 220;
|
|
21
19
|
class SceneManager {
|
|
22
20
|
_app;
|
|
23
21
|
_stack = [];
|
|
24
|
-
_transitionOverlay =
|
|
22
|
+
_transitionOverlay = createOverlayMesh();
|
|
25
23
|
_transition = null;
|
|
26
24
|
onChangeScene = new Signal();
|
|
27
25
|
onStartScene = new Signal();
|
|
@@ -384,7 +382,8 @@ class SceneManager {
|
|
|
384
382
|
const overlayColor = transition ? transition.color : Color.black;
|
|
385
383
|
const backend = this._app.backend;
|
|
386
384
|
const bounds = backend.view.getBounds();
|
|
387
|
-
const
|
|
385
|
+
const overlay = this._transitionOverlay;
|
|
386
|
+
const vertices = overlay.vertices;
|
|
388
387
|
vertices[0] = bounds.left;
|
|
389
388
|
vertices[1] = bounds.top;
|
|
390
389
|
vertices[2] = bounds.right;
|
|
@@ -393,8 +392,8 @@ class SceneManager {
|
|
|
393
392
|
vertices[5] = bounds.bottom;
|
|
394
393
|
vertices[6] = bounds.right;
|
|
395
394
|
vertices[7] = bounds.bottom;
|
|
396
|
-
|
|
397
|
-
|
|
395
|
+
overlay.tint.set(overlayColor.r, overlayColor.g, overlayColor.b, Math.max(0, Math.min(1, alpha)));
|
|
396
|
+
overlay.render(backend);
|
|
398
397
|
}
|
|
399
398
|
}
|
|
400
399
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SceneManager.js","sources":["../../../../src/core/SceneManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare class Capabilities {
|
|
2
|
+
private static _readyPromise;
|
|
3
|
+
/**
|
|
4
|
+
* Lazy-cached Promise that resolves to a frozen Capabilities instance.
|
|
5
|
+
*
|
|
6
|
+
* The first read kicks off the async probes (currently just the WebGPU
|
|
7
|
+
* adapter request); every subsequent read returns the same Promise.
|
|
8
|
+
* Concurrent callers share the in-flight detection — no double work.
|
|
9
|
+
*
|
|
10
|
+
* Early-warmup pattern for callers who want to overlap detection with
|
|
11
|
+
* other startup work:
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* void Capabilities.ready; // fire-and-forget; starts probes now
|
|
15
|
+
* // ... unrelated bootstrap ...
|
|
16
|
+
* const caps = await Capabilities.ready; // typically already resolved
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
static get ready(): Promise<Capabilities>;
|
|
3
20
|
readonly webgl2: boolean;
|
|
4
|
-
/** `navigator.gpu` is present. Does NOT guarantee adapter availability. */
|
|
5
21
|
readonly webgpu: boolean;
|
|
6
|
-
|
|
7
|
-
readonly
|
|
8
|
-
|
|
22
|
+
readonly webgpuAdapter: GPUAdapter | null;
|
|
23
|
+
readonly webgpuVendor: string | null;
|
|
24
|
+
readonly webgpuArchitecture: string | null;
|
|
9
25
|
readonly pointer: boolean;
|
|
10
|
-
/** Touch input is exposed via `ontouchstart` or `maxTouchPoints > 0`. */
|
|
11
|
-
readonly touch: boolean;
|
|
12
|
-
/** `navigator.getGamepads` is available. */
|
|
13
|
-
readonly gamepad: boolean;
|
|
14
|
-
/** `KeyboardEvent` is supported. */
|
|
15
26
|
readonly keyboard: boolean;
|
|
16
|
-
|
|
27
|
+
readonly gamepad: boolean;
|
|
28
|
+
readonly touch: boolean;
|
|
29
|
+
readonly maxTouchPoints: number;
|
|
30
|
+
readonly audio: boolean;
|
|
17
31
|
readonly fullscreen: boolean;
|
|
18
|
-
/** `navigator.vibrate` is available. */
|
|
19
32
|
readonly vibration: boolean;
|
|
20
|
-
/** `OffscreenCanvas` constructor is on the global. */
|
|
21
33
|
readonly offscreenCanvas: boolean;
|
|
34
|
+
readonly webWorkers: boolean;
|
|
35
|
+
readonly devicePixelRatio: number;
|
|
36
|
+
private constructor();
|
|
37
|
+
private static _detect;
|
|
22
38
|
}
|
|
23
|
-
export type Capabilities = CapabilitiesShape;
|
|
24
|
-
export type CapabilityName = keyof CapabilitiesShape;
|
|
25
|
-
/**
|
|
26
|
-
* Synchronous, one-shot feature-detection results. Computed once at
|
|
27
|
-
* module load and frozen. Use either as a property bag (`capabilities.touch`)
|
|
28
|
-
* or via {@link isSupported} for typed lookup.
|
|
29
|
-
*/
|
|
30
|
-
export declare const capabilities: Capabilities;
|
|
31
|
-
/**
|
|
32
|
-
* Typed lookup over {@link capabilities}. Identical to
|
|
33
|
-
* `capabilities[name]` but the function form gives clearer call-sites
|
|
34
|
-
* when the name is computed.
|
|
35
|
-
*/
|
|
36
|
-
export declare function isSupported(name: CapabilityName): boolean;
|
|
37
|
-
export {};
|