zx-kit 0.33.0 → 0.35.0

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 CHANGED
@@ -25,14 +25,14 @@ zx-kit captures that aesthetic in TypeScript. You get the Spectrum's palette, RO
25
25
  - **AY-3-8912 Melodik emulator** — three independent square-wave channels, LFSR noise generator, all 16 hardware envelope shapes, logarithmic amplitude table accurate to the real chip
26
26
  - **ZX Spectrum ROM font** — all 96 printable ASCII characters, 8×8 pixels, byte-for-byte faithful to the original ROM
27
27
  - **Authentic 15-color palette** — normal and bright variants, palette-enforced at compile time via the `SpectrumColor` type
28
- - **Canvas renderer** — pixel-perfect scaled rendering, sprite flipping, text drawing, CRT scanline overlay, animated border flashing
28
+ - **Canvas renderer** — pixel-perfect scaled rendering, sprite flipping, text drawing, CRT scanline overlay, dither/shade tones, animated border flashing
29
29
  - **Tile map engine** — scrollable maps, O(1) id-index, smart seasonal background swapping, solid-tile collision queries
30
30
  - **Offscreen layer cache** — render a static or rarely-changing layer (tile map, CRT overlay) once to an offscreen canvas and blit it each frame; `dirty`-flag invalidation turns thousands of per-pixel `fillRect`s into a single `drawImage`
31
31
  - **Authentic attribute clash (opt-in)** — a 32×24 cell ink/paper screen that reproduces the real Spectrum colour bleed when a sprite and the background share an 8×8 cell; resolved to one `putImageData`/frame. Off by default, on when you want it
32
32
  - **Monochrome playfield (opt-in)** — the classic anti-clash trick: render the action area in a single ink + paper at its own size, keep the colour in the HUD around it. Everything inside becomes a clean two-colour silhouette — no clash, ever
33
33
  - **Free-roaming sprites** — position, velocity, gravity, `flipX` caching, transparent or opaque background
34
34
  - **Three-tier collision** — AABB overlap tests, generic rect-vs-tile wall resolution (any sprite size), and pixel-precise mask overlap with O(pixels) sorted-merge intersection — no allocations per frame
35
- - **Keyboard and gamepad input** — configurable key-repeat, transparent gamepad polling, single-consume action flags, instant state reset on phase transitions
35
+ - **Keyboard and gamepad input** — configurable key-repeat, transparent gamepad polling, single-consume action flags, instant state reset on phase transitions, built-in `+`/`-` volume with an auto-hide HUD bar (one render-loop line)
36
36
  - **ZX-style UI widgets** — progress bars with managed lifetime, boxes, frames, panel titles
37
37
  - **Typed save / load** — persistent saves via `localStorage` with schema versioning, migrations, slot enumeration, in-memory throttling, and discriminated Result types for every failure mode
38
38
  - **Runtime locale switching** — type-safe string-pack selection via `pickLocale()`, so a game can switch language while running — unimaginable on the original Spectrum, natural in the browser
@@ -178,18 +178,18 @@ Zero runtime dependencies, `sideEffects: false`, fully tree-shakeable.
178
178
  |--------|---------|-------|
179
179
  | `palette` | `SCALE`, `CELL`, the 15-colour `C` object, `SpectrumColor` type | [rendering](docs/rendering.md#palettets--color-constants) |
180
180
  | `font` | 96-char ROM 8×8 bitmap font, `getCharRow` | [rendering](docs/rendering.md#fontts--rom-bitmap-font) |
181
- | `renderer` | Canvas setup, sprites, text, bitmaps, attribute maps, scanlines, border flash | [rendering](docs/rendering.md#rendererts--canvas-renderer) |
181
+ | `renderer` | Canvas setup, sprites, text, bitmaps, attribute maps, scanlines, dither/shade, border flash | [rendering](docs/rendering.md#rendererts--canvas-renderer) |
182
182
  | `cache` | Offscreen layer cache with dirty-flag invalidation | [rendering](docs/rendering.md#cachets--offscreen-layer-cache) |
183
183
  | `attrscreen` | Opt-in authentic per-cell ink/paper colour clash | [rendering](docs/rendering.md#attrscreents--attribute-clash-opt-in) |
184
184
  | `monoscreen` | Opt-in monochrome playfield + colour HUD (clash-proof) | [rendering](docs/rendering.md#monoscreents--monochrome-playfield) |
185
185
  | `tilescroll` | Pixel-smooth sub-tile tilemap scrolling | [rendering](docs/rendering.md#tilescrollts--pixel-smooth-scrolling) |
186
186
  | `lighting` | Dithered cave darkness, one blit per frame | [rendering](docs/rendering.md#lightingts--dithered-cave-darkness) |
187
- | `audio` | 1-bit beeper: square-wave notes, patterns, volume | [audio](docs/audio.md#audiots--beeper-audio) |
187
+ | `audio` | 1-bit beeper: square-wave notes, patterns, volume + built-in auto-hide volume bar | [audio](docs/audio.md#audiots--beeper-audio) |
188
188
  | `ay` | AY-3-8912: 3-channel tone, LFSR noise, 16 envelopes | [audio](docs/audio.md#ayts--ay-3-8912-melodik-audio) |
189
189
  | `music` | AY music by note name (`A5`, `C#4`) + looping | [audio](docs/audio.md#musicts--note-name-ay-music) |
190
190
  | `collision` | AABB / rect-vs-tile / pixel-precise mask overlap | [collision](docs/collision.md) |
191
191
  | `save` | Typed save/load: versioning, migration, slots, throttle | [save](docs/save.md) |
192
- | `input` | Keyboard + gamepad movement, key-repeat, action flags | [api](docs/api.md#inputts--keyboard--gamepad-input) |
192
+ | `input` | Keyboard + gamepad movement, key-repeat, action flags, built-in `+`/`-` volume keys | [api](docs/api.md#inputts--keyboard--gamepad-input) |
193
193
  | `sprite` | Free-roaming sprites: position, velocity, gravity, flip | [api](docs/api.md#spritets--free-roaming-sprites) |
194
194
  | `animation` | Frame timer, position tween, blinker | [api](docs/api.md#animationts--frame-timer--tween) |
195
195
  | `camera` | Viewport follow with lerp + deadzone, world clamp | [api](docs/api.md#camerats--scrolling-camera) |
@@ -220,12 +220,13 @@ zx-kit/
220
220
  │ ├── audio.ts # initAudio, resumeAudio, beep, playPattern,
221
221
  │ │ # getAudioContext, getMasterGain,
222
222
  │ │ # getMasterVolume, setMasterVolume,
223
- │ │ # increaseVolume, decreaseVolume, Note
223
+ │ │ # increaseVolume, decreaseVolume, Note,
224
+ │ │ # setVolumeBarStyle, drawVolumeBar
224
225
  │ ├── ay.ts # createAY, playAY, AYChannel, AYNote, AYChip,
225
226
  │ │ # AY_VOL, AY_CLOCK, AY_ENVELOPE_SHAPES
226
227
  │ ├── input.ts # initInput, tickMovement, consumeFlag,
227
228
  │ │ # consumePause, consumeDebug, consumeAnyKey,
228
- │ │ # isHeld, resetInput, Direction
229
+ │ │ # isHeld, resetInput, setVolumeKeys, Direction
229
230
  │ ├── ui.ts # drawBox, drawFrame, drawPanelTitle,
230
231
  │ │ # instrumentation widgets, progress bars
231
232
  │ ├── tilemap.ts # createTileMap, Tile, Viewport, TileMap
package/dist/audio.d.ts CHANGED
@@ -17,6 +17,7 @@
17
17
  *
18
18
  * @see {@link createAY} and {@link playAY} for multi-channel music in `ay.ts`
19
19
  */
20
+ import type { SpectrumColor } from './palette.js';
20
21
  /**
21
22
  * Creates the shared `AudioContext` and master `GainNode`. Idempotent — safe to call
22
23
  * multiple times (subsequent calls are no-ops).
@@ -74,6 +75,8 @@ export declare function getMasterVolume(): number;
74
75
  export declare function setMasterVolume(volume: number): void;
75
76
  /**
76
77
  * Increases master volume by 0.1, up to a maximum of 1.0.
78
+ * Also marks the moment so {@link drawVolumeBar} auto-shows the HUD bar — calling
79
+ * this (by key **or** programmatically) makes the bar appear for ~1.5 s.
77
80
  *
78
81
  * @example
79
82
  * increaseVolume() // 0.3 → 0.4
@@ -81,11 +84,50 @@ export declare function setMasterVolume(volume: number): void;
81
84
  export declare function increaseVolume(): void;
82
85
  /**
83
86
  * Decreases master volume by 0.1, down to a minimum of 0.0.
87
+ * Also marks the moment so {@link drawVolumeBar} auto-shows the HUD bar — calling
88
+ * this (by key **or** programmatically) makes the bar appear for ~1.5 s.
84
89
  *
85
90
  * @example
86
91
  * decreaseVolume() // 0.3 → 0.2
87
92
  */
88
93
  export declare function decreaseVolume(): void;
94
+ /** Optional overrides for {@link setVolumeBarStyle}. */
95
+ export interface VolumeBarStyleOptions {
96
+ /** Bar ink colour. Default `C.B_GREEN`. */
97
+ color?: SpectrumColor;
98
+ /** Bar width in cells (`width = segments * CELL`). Default `10`. */
99
+ segments?: number;
100
+ /** Left edge in game pixels. Omit to centre horizontally. */
101
+ x?: number;
102
+ /** Top edge in game pixels. Default `96 - CELL` (≈ mid-screen). */
103
+ y?: number;
104
+ }
105
+ /**
106
+ * Configures the auto-hide volume bar's appearance (config-once style). Stores
107
+ * style in module state only — does **not** render. Optional: the defaults
108
+ * (centred 10-segment green bar, mid-screen) apply if this is never called.
109
+ *
110
+ * @param opts - Style overrides; unspecified fields keep their current value.
111
+ *
112
+ * @example
113
+ * setVolumeBarStyle({ color: C.B_CYAN }) // recolour only
114
+ * setVolumeBarStyle({ segments: 16, y: 176 }) // wider, near the bottom
115
+ */
116
+ export declare function setVolumeBarStyle(opts?: VolumeBarStyleOptions): void;
117
+ /**
118
+ * Draws the volume bar — the only render-loop call. Reads the stored style (see
119
+ * {@link setVolumeBarStyle}); takes no style args. Auto-show: draws nothing once
120
+ * more than ~1.5 s has passed since the last {@link increaseVolume} /
121
+ * {@link decreaseVolume}; otherwise renders the current master volume and hides
122
+ * itself afterwards. Call every frame.
123
+ *
124
+ * @param canvasCtx - The game canvas 2D context (scaled by `SCALE`).
125
+ *
126
+ * @example
127
+ * // in the render loop:
128
+ * drawVolumeBar(ctx) // shows ~1.5 s after a change, then hides itself
129
+ */
130
+ export declare function drawVolumeBar(canvasCtx: CanvasRenderingContext2D): void;
89
131
  /** A single note in a melody pattern. Use `freq: 0` for a rest (silence). */
90
132
  export interface Note {
91
133
  freq: number;
@@ -1 +1 @@
1
- {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAM,GAAG,IAAI,CAM5C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,QAAQ,GAAG,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,6EAA6E;AAC7E,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI,CAS/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAc9E"}
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAkBjD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAM,GAAG,IAAI,CAM5C;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,QAAQ,GAAG,IAAI,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAwBD,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,mEAAmE;IACnE,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,qBAA0B,GAAG,IAAI,CAKxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI,CAuBvE;AAED,6EAA6E;AAC7E,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,SAAI,GAAG,IAAI,CAS/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAc9E"}
package/dist/audio.js CHANGED
@@ -17,9 +17,15 @@
17
17
  *
18
18
  * @see {@link createAY} and {@link playAY} for multi-channel music in `ay.ts`
19
19
  */
20
+ import { C, CELL, SCALE } from './palette.js';
21
+ import { drawProgressBar } from './ui.js';
20
22
  let ctx = null;
21
23
  let masterGain = null;
22
24
  const VOLUME_STEP = 0.1;
25
+ /** Wall-clock time (ms, `performance.now()`) of the last volume change — drives the auto-show HUD bar. */
26
+ let _volumeChangedAt = 0;
27
+ /** How long {@link drawVolumeBar} keeps the bar visible after a change (ms). */
28
+ const VOLUME_BAR_MS = 1500;
23
29
  function clampVolume(v) {
24
30
  return Math.max(0, Math.min(1, v));
25
31
  }
@@ -100,21 +106,92 @@ export function setMasterVolume(volume) {
100
106
  }
101
107
  /**
102
108
  * Increases master volume by 0.1, up to a maximum of 1.0.
109
+ * Also marks the moment so {@link drawVolumeBar} auto-shows the HUD bar — calling
110
+ * this (by key **or** programmatically) makes the bar appear for ~1.5 s.
103
111
  *
104
112
  * @example
105
113
  * increaseVolume() // 0.3 → 0.4
106
114
  */
107
115
  export function increaseVolume() {
108
116
  setMasterVolume(getMasterVolume() + VOLUME_STEP);
117
+ _volumeChangedAt = performance.now();
109
118
  }
110
119
  /**
111
120
  * Decreases master volume by 0.1, down to a minimum of 0.0.
121
+ * Also marks the moment so {@link drawVolumeBar} auto-shows the HUD bar — calling
122
+ * this (by key **or** programmatically) makes the bar appear for ~1.5 s.
112
123
  *
113
124
  * @example
114
125
  * decreaseVolume() // 0.3 → 0.2
115
126
  */
116
127
  export function decreaseVolume() {
117
128
  setMasterVolume(getMasterVolume() - VOLUME_STEP);
129
+ _volumeChangedAt = performance.now();
130
+ }
131
+ const _volumeBarStyle = {
132
+ color: C.B_GREEN, // → drawProgressBar ink
133
+ segments: 10, // → width = 10 * CELL = 80 px
134
+ x: undefined, // centred horizontally
135
+ y: 96 - CELL, // roughly mid-screen
136
+ };
137
+ /**
138
+ * Configures the auto-hide volume bar's appearance (config-once style). Stores
139
+ * style in module state only — does **not** render. Optional: the defaults
140
+ * (centred 10-segment green bar, mid-screen) apply if this is never called.
141
+ *
142
+ * @param opts - Style overrides; unspecified fields keep their current value.
143
+ *
144
+ * @example
145
+ * setVolumeBarStyle({ color: C.B_CYAN }) // recolour only
146
+ * setVolumeBarStyle({ segments: 16, y: 176 }) // wider, near the bottom
147
+ */
148
+ export function setVolumeBarStyle(opts = {}) {
149
+ if (opts.color !== undefined)
150
+ _volumeBarStyle.color = opts.color;
151
+ if (opts.segments !== undefined)
152
+ _volumeBarStyle.segments = opts.segments;
153
+ if (opts.x !== undefined)
154
+ _volumeBarStyle.x = opts.x;
155
+ if (opts.y !== undefined)
156
+ _volumeBarStyle.y = opts.y;
157
+ }
158
+ /**
159
+ * Draws the volume bar — the only render-loop call. Reads the stored style (see
160
+ * {@link setVolumeBarStyle}); takes no style args. Auto-show: draws nothing once
161
+ * more than ~1.5 s has passed since the last {@link increaseVolume} /
162
+ * {@link decreaseVolume}; otherwise renders the current master volume and hides
163
+ * itself afterwards. Call every frame.
164
+ *
165
+ * @param canvasCtx - The game canvas 2D context (scaled by `SCALE`).
166
+ *
167
+ * @example
168
+ * // in the render loop:
169
+ * drawVolumeBar(ctx) // shows ~1.5 s after a change, then hides itself
170
+ */
171
+ export function drawVolumeBar(canvasCtx) {
172
+ if (performance.now() - _volumeChangedAt > VOLUME_BAR_MS)
173
+ return;
174
+ const { color, segments, x, y } = _volumeBarStyle;
175
+ const width = segments * CELL;
176
+ // drawProgressBar works in game-pixel space; convert the device-pixel backing
177
+ // store to it via the context's current horizontal scale (set by setupCanvas),
178
+ // so centring is correct at any scale. Falls back to SCALE if getTransform is
179
+ // unavailable (e.g. a bare test mock).
180
+ const scaleX = canvasCtx.getTransform?.().a || SCALE;
181
+ const screenW = canvasCtx.canvas.width / scaleX;
182
+ drawProgressBar(canvasCtx, {
183
+ id: 'zxkit:volume',
184
+ x: x ?? Math.round((screenW - width) / 2),
185
+ y,
186
+ width,
187
+ value: getMasterVolume(),
188
+ min: 0,
189
+ max: 1,
190
+ ink: color,
191
+ paper: C.BLACK,
192
+ border: { style: 'solid' },
193
+ visibilityLength: VOLUME_BAR_MS,
194
+ });
118
195
  }
119
196
  /**
120
197
  * Schedules a sequence of notes on the shared `AudioContext`.
package/dist/audio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../src/audio.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAG1D;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAA;IACX,iGAAiG;IACjG,OAAO,EAAE,MAAM,CAAA;IACf,iHAAiH;IACjH,MAAM,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB,8GAA8G;IAC9G,OAAO,EAAE,MAAM,CAAA;IACf,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,YAAY,CAUd;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAA0B,GAAG,IAAI,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAA0B,GAAG,IAAI,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,YAAY,EACf,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC3C,SAAS,CAUX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,SAAS,EACf,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,GAAG,GAAE,aAA0B,EAC/B,KAAK,GAAE,aAAuB,GAC7B,IAAI,CAON"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AAG1D;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAA;IACX,iGAAiG;IACjG,OAAO,EAAE,MAAM,CAAA;IACf,iHAAiH;IACjH,MAAM,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB,8GAA8G;IAC9G,OAAO,EAAE,MAAM,CAAA;IACf,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAA;IACjB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,YAAY,CAUd;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAA0B,GAAG,IAAI,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAA0B,GAAG,IAAI,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,YAAY,EACf,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC3C,SAAS,CAUX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,SAAS,EACf,CAAC,GAAE,MAAU,EACb,CAAC,GAAE,MAAU,EACb,GAAG,GAAE,aAA0B,EAC/B,KAAK,GAAE,aAAuB,GAC7B,IAAI,CAKN"}
package/dist/debug.js CHANGED
@@ -85,8 +85,7 @@ export function drawDebugOverlay(ctx, info, x = 1, y = 1, ink = C.B_YELLOW, pape
85
85
  lines.push(`CPU ${Math.round(info.cpuLoad * 100)}%`);
86
86
  for (const key of Object.keys(info.custom))
87
87
  lines.push(`${key} ${info.custom[key]}`);
88
- for (let i = 0; i < lines.length; i++) {
88
+ for (let i = 0; i < lines.length; i++)
89
89
  drawText(ctx, lines[i], x, y + i * CELL, ink, paper);
90
- }
91
90
  }
92
91
  //# sourceMappingURL=debug.js.map
package/dist/debug.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
package/dist/input.d.ts CHANGED
@@ -5,17 +5,32 @@ export type Direction = 'up' | 'down' | 'left' | 'right';
5
5
  * Idempotent — safe to call multiple times. Timing params are always updated;
6
6
  * listeners are only attached on the first call.
7
7
  * Arrow keys drive movement; `F`/`f` = flag; `P`/`p` = pause; `Ctrl+Shift+B` = debug toggle.
8
- * Gamepad support is automatic — `tickMovement` polls the Gamepad API each frame.
9
- * D-pad and left analog stick map to directions; A = flag, Start = pause, Y = debug.
8
+ * `+`/`=` raise and `-`/`_` lower the master volume (see {@link setVolumeKeys} to
9
+ * remap or disable). Gamepad support is automatic `tickMovement` polls the
10
+ * Gamepad API each frame. D-pad and left analog stick map to directions;
11
+ * A = flag, Start = pause, Y = debug.
10
12
  *
11
13
  * @param repeatDelay - Milliseconds before auto-repeat starts after initial press (default `150`)
12
14
  * @param repeatInterval - Milliseconds between repeat ticks while key is held (default `80`)
13
15
  *
14
16
  * @example
15
- * initInput() // defaults: 150ms delay, 80ms repeat
17
+ * initInput() // defaults: 150ms delay, 80ms repeat, +/- volume
16
18
  * initInput(200, 60) // custom timing; safe to call again to reconfigure
17
19
  */
18
20
  export declare function initInput(repeatDelay?: number, repeatInterval?: number): void;
21
+ /**
22
+ * Overrides the keys that adjust master volume. Optional — `+`/`=` (up) and
23
+ * `-`/`_` (down) stay active if this is never called. Pass empty arrays to
24
+ * disable volume keys entirely.
25
+ *
26
+ * @param up - Key(s) (`KeyboardEvent.key`) that raise volume. A string or array.
27
+ * @param down - Key(s) that lower volume. A string or array.
28
+ *
29
+ * @example
30
+ * setVolumeKeys('9', '8') // numpad-ish remap; +/- no longer touch volume
31
+ * setVolumeKeys([], []) // disable built-in volume keys
32
+ */
33
+ export declare function setVolumeKeys(up: string | string[], down: string | string[]): void;
19
34
  /**
20
35
  * Advances the key-repeat timer and returns the movement direction for this frame.
21
36
  * Call once per frame with the frame delta in milliseconds.
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AA8GxD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,WAAW,SAAM,EAAE,cAAc,SAAK,GAAG,IAAI,CAoCtE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,SAAS,GAAG,IAAI,CA4B7E;AAED,sGAAsG;AACtG,wBAAgB,WAAW,IAAI,OAAO,CAA+D;AAErG,gGAAgG;AAChG,wBAAgB,YAAY,IAAI,OAAO,CAA8D;AAErG,kFAAkF;AAClF,wBAAgB,YAAY,IAAI,OAAO,CAA8D;AAErG;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAA6D;AAErG;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAyB;AAErE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAgBjC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAEA,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAmHxD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,WAAW,SAAM,EAAE,cAAc,SAAK,GAAG,IAAI,CAuCtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAGlF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,SAAS,GAAG,IAAI,CA4B7E;AAED,sGAAsG;AACtG,wBAAgB,WAAW,IAAI,OAAO,CAA+D;AAErG,gGAAgG;AAChG,wBAAgB,YAAY,IAAI,OAAO,CAA8D;AAErG,kFAAkF;AAClF,wBAAgB,YAAY,IAAI,OAAO,CAA8D;AAErG;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAA6D;AAErG;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAyB;AAErE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAgBjC"}
package/dist/input.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { increaseVolume, decreaseVolume } from './audio.js';
1
2
  const DIR_KEYS = {
2
3
  ArrowUp: 'up', ArrowDown: 'down', ArrowLeft: 'left', ArrowRight: 'right',
3
4
  };
@@ -16,6 +17,10 @@ let pendingImmediate = null;
16
17
  let _repeatDelay = 150;
17
18
  let _repeatInterval = 80;
18
19
  let inputInitialized = false;
20
+ // Volume keys — on by default; zx-kit owning +/- is the owner-approved trade-off.
21
+ // Remap with setVolumeKeys(); disable with empty sets. Drives audio.ts directly.
22
+ let _volumeUpKeys = ['+', '='];
23
+ let _volumeDownKeys = ['-', '_'];
19
24
  // ── Gamepad state ──────────────────────────────────────────────────────────────
20
25
  const STICK_DEAD = 0.35;
21
26
  let padPrevDir = null;
@@ -109,14 +114,16 @@ function pollGamepad() {
109
114
  * Idempotent — safe to call multiple times. Timing params are always updated;
110
115
  * listeners are only attached on the first call.
111
116
  * Arrow keys drive movement; `F`/`f` = flag; `P`/`p` = pause; `Ctrl+Shift+B` = debug toggle.
112
- * Gamepad support is automatic — `tickMovement` polls the Gamepad API each frame.
113
- * D-pad and left analog stick map to directions; A = flag, Start = pause, Y = debug.
117
+ * `+`/`=` raise and `-`/`_` lower the master volume (see {@link setVolumeKeys} to
118
+ * remap or disable). Gamepad support is automatic `tickMovement` polls the
119
+ * Gamepad API each frame. D-pad and left analog stick map to directions;
120
+ * A = flag, Start = pause, Y = debug.
114
121
  *
115
122
  * @param repeatDelay - Milliseconds before auto-repeat starts after initial press (default `150`)
116
123
  * @param repeatInterval - Milliseconds between repeat ticks while key is held (default `80`)
117
124
  *
118
125
  * @example
119
- * initInput() // defaults: 150ms delay, 80ms repeat
126
+ * initInput() // defaults: 150ms delay, 80ms repeat, +/- volume
120
127
  * initInput(200, 60) // custom timing; safe to call again to reconfigure
121
128
  */
122
129
  export function initInput(repeatDelay = 150, repeatInterval = 80) {
@@ -141,6 +148,10 @@ export function initInput(repeatDelay = 150, repeatInterval = 80) {
141
148
  pendingFlag = true;
142
149
  if (e.key === 'p' || e.key === 'P')
143
150
  pendingPause = true;
151
+ if (_volumeUpKeys.includes(e.key))
152
+ increaseVolume();
153
+ if (_volumeDownKeys.includes(e.key))
154
+ decreaseVolume();
144
155
  if (e.ctrlKey && e.shiftKey && (e.key === 'b' || e.key === 'B')) {
145
156
  pendingDebug = true;
146
157
  e.preventDefault();
@@ -155,6 +166,22 @@ export function initInput(repeatDelay = 150, repeatInterval = 80) {
155
166
  }
156
167
  });
157
168
  }
169
+ /**
170
+ * Overrides the keys that adjust master volume. Optional — `+`/`=` (up) and
171
+ * `-`/`_` (down) stay active if this is never called. Pass empty arrays to
172
+ * disable volume keys entirely.
173
+ *
174
+ * @param up - Key(s) (`KeyboardEvent.key`) that raise volume. A string or array.
175
+ * @param down - Key(s) that lower volume. A string or array.
176
+ *
177
+ * @example
178
+ * setVolumeKeys('9', '8') // numpad-ish remap; +/- no longer touch volume
179
+ * setVolumeKeys([], []) // disable built-in volume keys
180
+ */
181
+ export function setVolumeKeys(up, down) {
182
+ _volumeUpKeys = Array.isArray(up) ? up : [up];
183
+ _volumeDownKeys = Array.isArray(down) ? down : [down];
184
+ }
158
185
  /**
159
186
  * Advances the key-repeat timer and returns the movement direction for this frame.
160
187
  * Call once per frame with the frame delta in milliseconds.
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAK3D,MAAM,QAAQ,GAA8B;IAC1C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;CACzE,CAAA;AAED,MAAM,UAAU,GAA8B;IAC5C,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY;CACzE,CAAA;AAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;AAC9B,IAAI,WAAW,GAAG,KAAK,CAAA;AACvB,IAAI,YAAY,GAAG,KAAK,CAAA;AACxB,IAAI,YAAY,GAAG,KAAK,CAAA;AACxB,IAAI,aAAa,GAAG,KAAK,CAAA;AAEzB,IAAI,SAAS,GAAqB,IAAI,CAAA;AACtC,IAAI,WAAW,GAAG,CAAC,CAAA;AACnB,IAAI,WAAW,GAAgC,MAAM,CAAA;AACrD,IAAI,gBAAgB,GAAqB,IAAI,CAAA;AAC7C,IAAI,YAAY,GAAG,GAAG,CAAA;AACtB,IAAI,eAAe,GAAG,EAAE,CAAA;AACxB,IAAI,gBAAgB,GAAG,KAAK,CAAA;AAE5B,kFAAkF;AAClF,iFAAiF;AACjF,IAAI,aAAa,GAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAChC,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAEhC,kFAAkF;AAElF,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,IAAI,UAAU,GAAqB,IAAI,CAAA;AACvC,IAAI,cAAc,GAAI,KAAK,CAAA;AAC3B,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,IAAI,eAAe,GAAG,KAAK,CAAA;AAC3B,IAAI,UAAU,GAAQ,KAAK,CAAA;AAC3B,IAAI,YAAY,GAAM,KAAK,CAAA,CAAE,qDAAqD;AAClF,IAAI,cAAc,GAAI,CAAC,CAAA,CAAM,wDAAwD;AAErF,SAAS,WAAW;IAClB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAM;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAM;IAEjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,SAAS;YAAE,SAAQ;QAE7B,2EAA2E;QAC3E,IAAI,GAAG,GAAqB,IAAI,CAAA;QAChC,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAS,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;YAAE,GAAG,GAAG,IAAI,CAAA;aACxC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;YAAE,GAAG,GAAG,MAAM,CAAA;aAC1C,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;YAAE,GAAG,GAAG,MAAM,CAAA;aAC1C,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO;YAAE,GAAG,GAAG,OAAO,CAAA;QAEhD,uDAAuD;QACvD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;gBAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;;oBAC/B,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAG,CAAC,CAAC,MAAM,CAAA;gBAChE,SAAS,GAAG,IAAI,CAAA;YAClB,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,UAAU,KAAK,IAAI,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACzF,SAAS,GAAK,IAAI,CAAA;gBAClB,WAAW,GAAG,MAAM,CAAA;YACtB,CAAC;YACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,gBAAgB,GAAG,GAAG,CAAA;gBACtB,SAAS,GAAU,GAAG,CAAA;gBACtB,WAAW,GAAQ,OAAO,CAAA;gBAC1B,WAAW,GAAQ,YAAY,CAAA;gBAC/B,YAAY,GAAO,SAAS,CAAA;gBAC5B,cAAc,GAAK,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,KAAK,CAAA;YACtB,CAAC;QACH,CAAC;QACD,UAAU,GAAG,GAAG,CAAA;QAEhB,wEAAwE;QACxE,MAAM,OAAO,GAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAElD,IAAI,OAAO,IAAK,CAAC,cAAc;YAAG,WAAW,GAAK,IAAI,CAAA;QACtD,IAAI,QAAQ,IAAI,CAAC,eAAe;YAAE,YAAY,GAAI,IAAI,CAAA;QACtD,IAAI,QAAQ,IAAI,CAAC,eAAe;YAAE,YAAY,GAAI,IAAI,CAAA;QACtD,IAAI,MAAM,IAAM,CAAC,UAAU;YAAO,aAAa,GAAG,IAAI,CAAA;QAEtD,cAAc,GAAI,OAAO,CAAA;QACzB,eAAe,GAAG,QAAQ,CAAA;QAC1B,eAAe,GAAG,QAAQ,CAAA;QAC1B,UAAU,GAAQ,MAAM,CAAA;QACxB,OAAM,CAAE,+BAA+B;IACzC,CAAC;IAED,oEAAoE;IACpE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAClE,SAAS,GAAK,IAAI,CAAA;YAClB,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;QACD,UAAU,GAAG,IAAI,CAAA;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,WAAW,GAAG,GAAG,EAAE,cAAc,GAAG,EAAE;IAC9D,YAAY,GAAG,WAAW,CAAA;IAC1B,eAAe,GAAG,cAAc,CAAA;IAChC,IAAI,gBAAgB;QAAE,OAAM;IAC5B,gBAAgB,GAAG,IAAI,CAAA;IAEvB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;QACtD,IAAI,CAAC,CAAC,MAAM;YAAE,OAAM;QACpB,aAAa,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAEf,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,GAAG,GAAG,CAAA;YACf,WAAW,GAAG,OAAO,CAAA;YACrB,WAAW,GAAG,YAAY,CAAA;YAC1B,gBAAgB,GAAG,GAAG,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;YAAE,WAAW,GAAG,IAAI,CAAA;QACtD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;YAAE,YAAY,GAAG,IAAI,CAAA;QAEvD,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YAAI,cAAc,EAAE,CAAA;QACrD,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,cAAc,EAAE,CAAA;QAErD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YAChE,YAAY,GAAG,IAAI,CAAA;YACnB,CAAC,CAAC,cAAc,EAAE,CAAA;QACpB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAgB,EAAE,EAAE;QACpD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAA;YAChB,WAAW,GAAG,MAAM,CAAA;QACtB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,IAAuB;IAC1E,aAAa,GAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAG,CAAC,CAAC,EAAE,CAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnD,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,YAAY,GAAG,CAAC;IACzD,WAAW,EAAE,CAAA;IACb,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAA;IAEnD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,gBAAgB,CAAA;QAC1B,gBAAgB,GAAG,IAAI,CAAA;QACvB,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC;YAAE,cAAc,GAAG,YAAY,CAAA;QACnE,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,SAAS,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QACjD,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACxB,cAAc,GAAG,YAAY,CAAA;gBAC7B,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,WAAW,IAAI,IAAI,CAAA;QACnB,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,WAAW,IAAI,eAAe,CAAA;YAC9B,IAAI,WAAW,KAAK,OAAO;gBAAE,WAAW,GAAG,QAAQ,CAAA;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,WAAW,KAAgB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAG,WAAW,GAAK,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAErG,gGAAgG;AAChG,MAAM,UAAU,YAAY,KAAe,MAAM,CAAC,GAAG,YAAY,CAAC,CAAE,YAAY,GAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAErG,kFAAkF;AAClF,MAAM,UAAU,YAAY,KAAe,MAAM,CAAC,GAAG,YAAY,CAAC,CAAE,YAAY,GAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAErG;;;GAGG;AACH,MAAM,UAAU,aAAa,KAAc,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC;AAErG;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,GAAW,IAAa,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,KAAK,EAAE,CAAA;IACZ,WAAW,GAAK,KAAK,CAAA;IACrB,YAAY,GAAI,KAAK,CAAA;IACrB,YAAY,GAAI,KAAK,CAAA;IACrB,aAAa,GAAG,KAAK,CAAA;IACrB,SAAS,GAAO,IAAI,CAAA;IACpB,WAAW,GAAK,MAAM,CAAA;IACtB,gBAAgB,GAAG,IAAI,CAAA;IACvB,UAAU,GAAQ,IAAI,CAAA;IACtB,cAAc,GAAI,KAAK,CAAA;IACvB,eAAe,GAAG,KAAK,CAAA;IACvB,eAAe,GAAG,KAAK,CAAA;IACvB,UAAU,GAAQ,KAAK,CAAA;IACvB,YAAY,GAAM,KAAK,CAAA;IACvB,cAAc,GAAI,CAAC,CAAA;AACrB,CAAC"}
@@ -127,6 +127,41 @@ export declare function drawTextCentered(ctx: CanvasRenderingContext2D, text: st
127
127
  * drawScanlines(ctx, 0.35) // stronger effect
128
128
  */
129
129
  export declare function drawScanlines(ctx: CanvasRenderingContext2D, alpha?: number): void;
130
+ /**
131
+ * Named 8×8 ordered-dither patterns (one byte per row, bit 7 = leftmost pixel) for
132
+ * faking an intermediate shade within the ZX one-ink/one-paper-per-cell limit —
133
+ * the classic way to get "halftones" out of two colours. These are the three
134
+ * common densities; pass any other 8×8 `Uint8Array` to {@link drawShade} for a
135
+ * different density or texture. Usable directly with {@link drawSprite} /
136
+ * {@link drawBitmap} too, when you want the pattern aligned to the 8×8 grid.
137
+ */
138
+ export declare const DITHER: {
139
+ /** 16/64 ink pixels — a light hatch. */
140
+ readonly QUARTER: Uint8Array<ArrayBuffer>;
141
+ /** 32/64 ink pixels — a 50% checkerboard. */
142
+ readonly HALF: Uint8Array<ArrayBuffer>;
143
+ /** 48/64 ink pixels — a dense hatch. */
144
+ readonly THREE_QUARTERS: Uint8Array<ArrayBuffer>;
145
+ };
146
+ /**
147
+ * Fills a `w×h` rectangle (game pixels) with an ordered-dither **shade** of `ink`
148
+ * over `paper` — a tone between the two solid colours, within the one-ink/one-paper
149
+ * limit. `pattern` is an 8×8 dither tile: a {@link DITHER} constant
150
+ * (`DITHER.QUARTER` / `HALF` / `THREE_QUARTERS`), or **any 8×8 `Uint8Array`** of your
151
+ * own for a different density/texture. Colour-clash-safe by construction: the
152
+ * caller picks an `ink`/`paper` pair sharing a bright plane (the whole rect is one
153
+ * ink + one paper).
154
+ *
155
+ * Per-pixel like the kit's other primitives, so for a large **static** backdrop
156
+ * draw it once, or cache it on a {@link createLayerCache} layer — don't re-shade
157
+ * a full screen every frame.
158
+ *
159
+ * @example
160
+ * drawShade(ctx, 0, 0, 256, 80, C.BLACK, C.B_BLUE) // a dim, overcast night sky (default HALF)
161
+ * drawShade(ctx, x, y, 64, 16, C.BLACK, C.WHITE, DITHER.QUARTER) // a light hatch
162
+ * drawShade(ctx, x, y, 64, 16, C.BLACK, C.WHITE, myCustomTile) // your own 8×8 pattern
163
+ */
164
+ export declare function drawShade(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, ink: SpectrumColor, paper: SpectrumColor, pattern?: Uint8Array): void;
130
165
  /**
131
166
  * An arbitrary-size monochrome bitmap. Width must be a multiple of 8 (byte-aligned).
132
167
  * `data` is row-major: `(width/8) * height` bytes, with bit 7 = leftmost pixel of each byte.
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
package/dist/renderer.js CHANGED
@@ -198,6 +198,53 @@ export function drawScanlines(ctx, alpha = 0.25) {
198
198
  }
199
199
  ctx.restore();
200
200
  }
201
+ // ─── Dither / shade ──────────────────────────────────────────────────────────
202
+ /**
203
+ * Named 8×8 ordered-dither patterns (one byte per row, bit 7 = leftmost pixel) for
204
+ * faking an intermediate shade within the ZX one-ink/one-paper-per-cell limit —
205
+ * the classic way to get "halftones" out of two colours. These are the three
206
+ * common densities; pass any other 8×8 `Uint8Array` to {@link drawShade} for a
207
+ * different density or texture. Usable directly with {@link drawSprite} /
208
+ * {@link drawBitmap} too, when you want the pattern aligned to the 8×8 grid.
209
+ */
210
+ export const DITHER = {
211
+ /** 16/64 ink pixels — a light hatch. */
212
+ QUARTER: new Uint8Array([0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22]),
213
+ /** 32/64 ink pixels — a 50% checkerboard. */
214
+ HALF: new Uint8Array([0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55]),
215
+ /** 48/64 ink pixels — a dense hatch. */
216
+ THREE_QUARTERS: new Uint8Array([0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD]),
217
+ };
218
+ /**
219
+ * Fills a `w×h` rectangle (game pixels) with an ordered-dither **shade** of `ink`
220
+ * over `paper` — a tone between the two solid colours, within the one-ink/one-paper
221
+ * limit. `pattern` is an 8×8 dither tile: a {@link DITHER} constant
222
+ * (`DITHER.QUARTER` / `HALF` / `THREE_QUARTERS`), or **any 8×8 `Uint8Array`** of your
223
+ * own for a different density/texture. Colour-clash-safe by construction: the
224
+ * caller picks an `ink`/`paper` pair sharing a bright plane (the whole rect is one
225
+ * ink + one paper).
226
+ *
227
+ * Per-pixel like the kit's other primitives, so for a large **static** backdrop
228
+ * draw it once, or cache it on a {@link createLayerCache} layer — don't re-shade
229
+ * a full screen every frame.
230
+ *
231
+ * @example
232
+ * drawShade(ctx, 0, 0, 256, 80, C.BLACK, C.B_BLUE) // a dim, overcast night sky (default HALF)
233
+ * drawShade(ctx, x, y, 64, 16, C.BLACK, C.WHITE, DITHER.QUARTER) // a light hatch
234
+ * drawShade(ctx, x, y, 64, 16, C.BLACK, C.WHITE, myCustomTile) // your own 8×8 pattern
235
+ */
236
+ export function drawShade(ctx, x, y, w, h, ink, paper, pattern = DITHER.HALF) {
237
+ ctx.fillStyle = paper;
238
+ ctx.fillRect(x, y, w, h);
239
+ ctx.fillStyle = ink;
240
+ for (let py = 0; py < h; py++) {
241
+ const bits = pattern[py & 7];
242
+ for (let px = 0; px < w; px++) {
243
+ if (bits & (0x80 >> (px & 7)))
244
+ ctx.fillRect(x + px, y + py, 1, 1);
245
+ }
246
+ }
247
+ }
201
248
  /**
202
249
  * Constructs a {@link Bitmap} with validation. Throws on invalid dimensions
203
250
  * or wrong byte count so the error surfaces at definition time, not render time.
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zx-kit",
3
- "version": "0.33.0",
3
+ "version": "0.35.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/zrebec/zx-kit.git"