@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.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzE,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAE1D,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAElD,KAAK,gBAAgB,GAAG;IACtB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,kEAAkE;IAClE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACnC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GACzC,CACI;IACE,yFAAyF;IACzF,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB,GACD;IACE,qFAAqF;IACrF,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,EAAE,WAAW,CAAC;CACvB,CACJ,CAAC;AAEJ,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,IAAI,IAAI,CAAC;IACf,0EAA0E;IAC1E,KAAK,IAAI,IAAI,CAAC;IACd,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;IAG1C,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,SAAS,CAAC,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,IACT;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GACpC,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAElD,0EAA0E;IAC1E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACrD"}
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's SDK exposes `{ manifest, load }` (an `EngineSDK`).
4
- // `load()` boots the engine and returns an `EngineInstance` the host controls.
5
- // The interface is identical across engines; per-engine differences are absorbed
6
- // by `manifest` (Layer A) and the `assets`/`options` payloads.
7
- export {};
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
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iFAAiF;AACjF,+DAA+D"}
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 type { EngineSDK, EngineInstance, EngineConfig, EngineEvent, AssetData, PersistMode, } from './engine.js';
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. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,cAAc,EACd,eAAe,EACf,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,MAAM,EACN,WAAW,EACX,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,GACZ,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"}
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
- // @wasm-gaming/engine-specs — the engine contract.
2
- //
3
- // Layer A (declarative): EngineManifest & friends — what an engine ships/needs.
4
- // Layer B (imperative): EngineSDK / EngineInstance — how the host drives it.
5
- // Plus a runtime validator for the manifest.
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,mDAAmD;AACnD,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,6CAA6C;AAuB7C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGjE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC"}
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.5",
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",