@wasm-gaming/engine-specs 0.2.5 → 0.2.7
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 +19 -20
- package/demo/demo.js +22 -7
- package/dist/engine.d.ts +421 -72
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +80 -5
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/engine.ts +506 -78
- package/src/index.ts +30 -7
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -1,8 +1,83 @@
|
|
|
1
1
|
// Layer B — the imperative contract.
|
|
2
2
|
//
|
|
3
|
-
// Every engine subproject
|
|
4
|
-
//
|
|
5
|
-
// The
|
|
6
|
-
//
|
|
7
|
-
|
|
3
|
+
// Every engine subproject exports a class that extends `EngineSDK`: a factory the
|
|
4
|
+
// host configures by chaining, and whose `boot()`/`start()` hand back an `EnginePlay`
|
|
5
|
+
// — the live engine. The chain is written once, here, so twelve engines don't each
|
|
6
|
+
// reinvent it; a concrete engine supplies only `create()`.
|
|
7
|
+
//
|
|
8
|
+
// Per-engine differences are absorbed by `manifest` (Layer A) and by closing the
|
|
9
|
+
// `Config` / `Options` generics.
|
|
10
|
+
//
|
|
11
|
+
// Status: shapes only. Every member is `abstract`, so the classes exist at runtime but
|
|
12
|
+
// implement nothing yet — the chain, the freeze, the payload merge and the idempotent
|
|
13
|
+
// `boot()` land with the contract 1.0 release.
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// EnginePlay — the live engine
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* The live engine. Handed to the host by {@link EngineSDK.boot} or
|
|
19
|
+
* {@link EngineSDK.start}; never constructed by the host.
|
|
20
|
+
*
|
|
21
|
+
* Sessions come and go on the same live engine: `boot()` gives you one with no
|
|
22
|
+
* session at all, and each {@link EnginePlay.restart} opens another.
|
|
23
|
+
*
|
|
24
|
+
* The capability-gated members exist **if and only if** `manifest.capabilities`
|
|
25
|
+
* says so, so `if (play.saveState)` and reading the manifest always agree.
|
|
26
|
+
*
|
|
27
|
+
* @category Lifecycle
|
|
28
|
+
*/
|
|
29
|
+
export class EnginePlay {
|
|
30
|
+
}
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// EngineSDK — the factory
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
/**
|
|
35
|
+
* The factory every engine package exports a subclass of.
|
|
36
|
+
*
|
|
37
|
+
* Configured by chaining — all of it synchronous, because none of it crosses to
|
|
38
|
+
* the engine; these methods record, they do not resolve. Then `boot()` or
|
|
39
|
+
* `start()` produce the live {@link EnginePlay}.
|
|
40
|
+
*
|
|
41
|
+
* ```js
|
|
42
|
+
* const play = await new MotorSDK()
|
|
43
|
+
* .assets({ data: packHandle })
|
|
44
|
+
* .config({ language: 4 })
|
|
45
|
+
* .storage({ namespace: 'motor/game-1' })
|
|
46
|
+
* .on('error', report)
|
|
47
|
+
* .mount(document.querySelector('#stage'))
|
|
48
|
+
* .start({ slot: 0, player: 1 })
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* Anything settable by chaining is settable in the constructor, and vice versa.
|
|
52
|
+
*
|
|
53
|
+
* Three boot verbs, two of them sugar for the third — and the equivalence is
|
|
54
|
+
* literal, it is how the base class implements them:
|
|
55
|
+
*
|
|
56
|
+
* | | what it does | equals |
|
|
57
|
+
* | --- | --- | --- |
|
|
58
|
+
* | `boot()` | engine alive, no session | — |
|
|
59
|
+
* | `play.restart(p)` | opens or reopens a session | — |
|
|
60
|
+
* | `start(p)` | engine alive **and** session running | `boot().restart(p)` |
|
|
61
|
+
*
|
|
62
|
+
* `boot()` is idempotent, so a factory governs at most one live engine, and
|
|
63
|
+
* `start(p)` on a live one is just `restart(p)`. Neither throws.
|
|
64
|
+
*
|
|
65
|
+
* @typeParam Config - the engine's own settings. Close it per engine; an open
|
|
66
|
+
* `Record<string, unknown>` gives up the compile-time check that is the point.
|
|
67
|
+
* @typeParam Options - the session payload, i.e. the writable keys of
|
|
68
|
+
* {@link EnginePlay.options}.
|
|
69
|
+
* @typeParam Play - the engine's own {@link EnginePlay} subclass, when it adds methods.
|
|
70
|
+
*
|
|
71
|
+
* @category Factory
|
|
72
|
+
*/
|
|
73
|
+
export class EngineSDK {
|
|
74
|
+
/**
|
|
75
|
+
* Accepts the whole setup at once, which is what makes "restore the last session"
|
|
76
|
+
* a single call. Only {@link EngineSetupData} survives `JSON` — use
|
|
77
|
+
* `structuredClone`/IndexedDB for the rest.
|
|
78
|
+
*/
|
|
79
|
+
constructor(setup) {
|
|
80
|
+
void setup; // shape only: the base class does not run yet
|
|
81
|
+
}
|
|
82
|
+
}
|
|
8
83
|
//# sourceMappingURL=engine.js.map
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,+
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,kFAAkF;AAClF,sFAAsF;AACtF,mFAAmF;AACnF,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,iCAAiC;AACjC,EAAE;AACF,uFAAuF;AACvF,sFAAsF;AACtF,+CAA+C;AAsO/C,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,UAAU;CAsF/B;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAgB,SAAS;IAK7B;;;;OAIG;IACH,YAAY,KAAoC;QAC9C,KAAK,KAAK,CAAC,CAAC,8CAA8C;IAC5D,CAAC;CA8FF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* @document ../docs/CONTRACT-MAP.md
|
|
4
|
+
* @document ../docs/USAGE.md
|
|
5
|
+
*/
|
|
1
6
|
export type { EngineManifest, EngineArtifacts, AssetSpec, AssetValidation, VideoSpec, EngineCapabilities, KeyMap, InputPreset, JSONSchema, } from './manifest.js';
|
|
2
|
-
export
|
|
7
|
+
export { EngineSDK, EnginePlay } from './engine.js';
|
|
8
|
+
export type { EngineSDKClass, AssetSource, EngineSetup, EngineSetupData, StorageSetup, StorageInfo, ResolvedProperty, ResolvedProperties, PlayPromise, EngineEventMap, EngineEventHandlers, EngineError, EngineErrorCode, SaveSlot, } from './engine.js';
|
|
3
9
|
export { validateManifest, assertManifest } from './validate.js';
|
|
4
10
|
export type { ValidationResult } from './validate.js';
|
|
5
11
|
/** The contract version. Bump on breaking changes to the shapes above. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,UAAU,GACX,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,YAAY,EACV,cAAc,EAEd,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,WAAW,EAEX,gBAAgB,EAChB,kBAAkB,EAElB,WAAW,EAEX,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,eAAe,EAEf,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @module
|
|
3
|
+
* @document ../docs/CONTRACT-MAP.md
|
|
4
|
+
* @document ../docs/USAGE.md
|
|
5
|
+
*/
|
|
6
|
+
// The two base classes. Every member is abstract for now: the shapes are the 1.0
|
|
7
|
+
// contract, the implementation lands with it.
|
|
8
|
+
export { EngineSDK, EnginePlay } from './engine.js';
|
|
6
9
|
export { validateManifest, assertManifest } from './validate.js';
|
|
7
10
|
/** The contract version. Bump on breaking changes to the shapes above. */
|
|
8
11
|
export const CONTRACT_VERSION = '0.1.1';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,iFAAiF;AACjF,8CAA8C;AAC9C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAwBpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGjE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wasm-gaming/engine-specs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "The wasm-gaming engine contract: the single shared interface every WASM game/emulator engine and the host app conform to. TypeScript types + JSON Schema + a Zod runtime validator.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"provenance": true
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
+
"typedoc": "^0.28.20",
|
|
26
27
|
"typescript": "^5.5.0"
|
|
27
28
|
},
|
|
28
29
|
"license": "MIT",
|