@zylem/game-lib 0.6.3 → 0.7.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 +3 -1
- package/dist/actions.d.ts +255 -8
- package/dist/actions.js +1 -772
- package/dist/audio.d.ts +13 -0
- package/dist/audio.js +1 -0
- package/dist/base-node-life-cycle-CnJ-7zX-.d.ts +143 -0
- package/dist/behavior.d.ts +3 -0
- package/dist/behavior.js +1 -0
- package/dist/chunk-4QLJUQSJ.js +1 -0
- package/dist/chunk-73VZQZUL.js +1 -0
- package/dist/chunk-A34ZG3L4.js +1 -0
- package/dist/chunk-CDPY4VOQ.js +1 -0
- package/dist/chunk-DR6XXZE7.js +19 -0
- package/dist/chunk-FM5TBEPO.js +1 -0
- package/dist/chunk-G2IIMSUH.js +1 -0
- package/dist/chunk-MSC2BEO5.js +1 -0
- package/dist/chunk-NIH5CONO.js +1 -0
- package/dist/chunk-ONWXGBWB.js +1 -0
- package/dist/chunk-QEDQDR27.js +1 -0
- package/dist/chunk-QXVH6POE.js +1 -0
- package/dist/chunk-RXDTAWI2.js +29 -0
- package/dist/chunk-WKHW2QO2.js +1 -0
- package/dist/chunk-XRP4JJXL.js +1 -0
- package/dist/chunk-YHEWKN7N.js +1 -0
- package/dist/chunk-YHKXQ2ZN.js +1 -0
- package/dist/core.d.ts +206 -13
- package/dist/core.js +24 -9160
- package/dist/debug.d.ts +24 -0
- package/dist/debug.js +1 -0
- package/dist/default-controls-BGc61yYl.d.ts +111 -0
- package/dist/entity-DNkYKfdp.d.ts +1043 -0
- package/dist/entity-type-map-C94h2TDW.d.ts +781 -0
- package/dist/entity.d.ts +265 -0
- package/dist/entity.js +1 -0
- package/dist/events.d.ts +172 -0
- package/dist/events.js +1 -0
- package/dist/game-Cuj5gy7U.d.ts +1590 -0
- package/dist/game-default-PZLLHYL7.js +1 -0
- package/dist/game-interfaces-tfpM5NBk.d.ts +90 -0
- package/dist/globals.d.ts +104 -0
- package/dist/globals.js +1 -0
- package/dist/graphics.d.ts +83 -0
- package/dist/graphics.js +1 -0
- package/dist/input-ui.d.ts +34 -0
- package/dist/input-ui.js +1 -0
- package/dist/input.d.ts +72 -0
- package/dist/input.js +1 -0
- package/dist/material-Wz83vTTp.d.ts +151 -0
- package/dist/runtime.d.ts +433 -0
- package/dist/runtime.js +1 -0
- package/dist/web-components.d.ts +67 -0
- package/dist/web-components.js +9 -0
- package/dist/world-C9zdyl5d.d.ts +103 -0
- package/dist/zylem-stage-runtime-Cs-UDEVU.d.ts +777 -0
- package/package.json +54 -41
- package/dist/actions.js.map +0 -1
- package/dist/behavior/platformer-3d.d.ts +0 -296
- package/dist/behavior/platformer-3d.js +0 -518
- package/dist/behavior/platformer-3d.js.map +0 -1
- package/dist/behavior/ricochet-2d.d.ts +0 -274
- package/dist/behavior/ricochet-2d.js +0 -394
- package/dist/behavior/ricochet-2d.js.map +0 -1
- package/dist/behavior/screen-wrap.d.ts +0 -86
- package/dist/behavior/screen-wrap.js +0 -195
- package/dist/behavior/screen-wrap.js.map +0 -1
- package/dist/behavior/thruster.d.ts +0 -10
- package/dist/behavior/thruster.js +0 -234
- package/dist/behavior/thruster.js.map +0 -1
- package/dist/behavior/world-boundary-2d.d.ts +0 -141
- package/dist/behavior/world-boundary-2d.js +0 -181
- package/dist/behavior/world-boundary-2d.js.map +0 -1
- package/dist/behavior-descriptor-BWNWmIjv.d.ts +0 -142
- package/dist/blueprints-BWGz8fII.d.ts +0 -26
- package/dist/camera-B5e4c78l.d.ts +0 -468
- package/dist/camera.d.ts +0 -6
- package/dist/camera.js +0 -1406
- package/dist/camera.js.map +0 -1
- package/dist/composition-DrzFrbqI.d.ts +0 -218
- package/dist/core-DAkskq6Y.d.ts +0 -498
- package/dist/core.js.map +0 -1
- package/dist/entities-DC9ce_vx.d.ts +0 -416
- package/dist/entities.d.ts +0 -9
- package/dist/entities.js +0 -4069
- package/dist/entities.js.map +0 -1
- package/dist/entity-BpbZqg19.d.ts +0 -1100
- package/dist/entity-Bq_eNEDI.d.ts +0 -28
- package/dist/entity-types-DAu8sGJH.d.ts +0 -26
- package/dist/global-change-Dc8uCKi2.d.ts +0 -25
- package/dist/main.d.ts +0 -654
- package/dist/main.js +0 -13355
- package/dist/main.js.map +0 -1
- package/dist/stage-types-BFsm3qsZ.d.ts +0 -567
- package/dist/stage.d.ts +0 -51
- package/dist/stage.js +0 -5738
- package/dist/stage.js.map +0 -1
- package/dist/thruster-DhRaJnoL.d.ts +0 -172
- package/dist/world-Be5m1XC1.d.ts +0 -31
package/dist/debug.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { G as GameEntity } from './entity-DNkYKfdp.js';
|
|
2
|
+
import 'three';
|
|
3
|
+
import '@dimforge/rapier3d-compat';
|
|
4
|
+
import './material-Wz83vTTp.js';
|
|
5
|
+
import 'three/webgpu';
|
|
6
|
+
import './base-node-life-cycle-CnJ-7zX-.js';
|
|
7
|
+
import './events.js';
|
|
8
|
+
import 'mitt';
|
|
9
|
+
import '@zylem/behaviors/core';
|
|
10
|
+
|
|
11
|
+
type DebugTools = 'select' | 'translate' | 'rotate' | 'scale' | 'delete' | 'none';
|
|
12
|
+
interface DebugState {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
paused: boolean;
|
|
15
|
+
tool: DebugTools;
|
|
16
|
+
selectedEntity: GameEntity<any> | null;
|
|
17
|
+
hoveredEntity: GameEntity<any> | null;
|
|
18
|
+
flags: Set<string>;
|
|
19
|
+
}
|
|
20
|
+
declare const debugState: DebugState;
|
|
21
|
+
declare function setPaused(paused: boolean): void;
|
|
22
|
+
declare function setDebugTool(tool: DebugTools): void;
|
|
23
|
+
|
|
24
|
+
export { type DebugTools, debugState, setDebugTool, setPaused };
|
package/dist/debug.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as o,e as t}from"./chunk-CDPY4VOQ.js";export{e as debugState,t as setDebugTool,o as setPaused};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { I as InputPlayer } from './base-node-life-cycle-CnJ-7zX-.js';
|
|
2
|
+
import { a as VirtualTouchButtonSlot, V as VirtualTouchConfig, G as GameInputConfig } from './game-interfaces-tfpM5NBk.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Color tokens consumed by the SVG factories in `svg-assets.ts` and the
|
|
6
|
+
* `defaultTouchControls(...)` preset. All fields are CSS color strings; the
|
|
7
|
+
* factories compose them into static SVG markup.
|
|
8
|
+
*/
|
|
9
|
+
interface TouchTheme {
|
|
10
|
+
/** Inner fill of joystick base & button bodies (usually translucent dark). */
|
|
11
|
+
baseFill: string;
|
|
12
|
+
/** Outer ring stroke on joystick base. */
|
|
13
|
+
joystickStroke: string;
|
|
14
|
+
/** Inner ring stroke on joystick base (subtle highlight). */
|
|
15
|
+
joystickInnerStroke: string;
|
|
16
|
+
/** Inner ring fill on joystick base (translucent accent). */
|
|
17
|
+
joystickAccentFill: string;
|
|
18
|
+
/** Direction tab fill on the joystick base (the four arrows). */
|
|
19
|
+
joystickTabFill: string;
|
|
20
|
+
/** Filled joystick thumb color. */
|
|
21
|
+
thumbFill: string;
|
|
22
|
+
/** Joystick thumb border. */
|
|
23
|
+
thumbStroke: string;
|
|
24
|
+
/** Inner highlight ring on the thumb. */
|
|
25
|
+
thumbInnerFill: string;
|
|
26
|
+
/** Stroke/text accent for buttons when no per-slot accent is provided. */
|
|
27
|
+
defaultButtonAccent: string;
|
|
28
|
+
/** Optional per-button accent overrides. */
|
|
29
|
+
buttonAccents?: Partial<Record<VirtualTouchButtonSlot, string>>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Built-in named themes. Pass a key (e.g. `'lagoon'`) anywhere a `TouchTheme`
|
|
33
|
+
* is accepted. Use {@link resolveTouchTheme} to turn a key or partial input
|
|
34
|
+
* into a fully-populated theme.
|
|
35
|
+
*/
|
|
36
|
+
declare const touchThemes: {
|
|
37
|
+
readonly default: TouchTheme;
|
|
38
|
+
readonly lagoon: TouchTheme;
|
|
39
|
+
};
|
|
40
|
+
type TouchThemeName = keyof typeof touchThemes;
|
|
41
|
+
/**
|
|
42
|
+
* Normalize a theme input to a fully populated {@link TouchTheme}.
|
|
43
|
+
*
|
|
44
|
+
* @param input Either a built-in theme name (e.g. `'lagoon'`) or a
|
|
45
|
+
* full `TouchTheme` object. When omitted, returns the
|
|
46
|
+
* `'default'` theme.
|
|
47
|
+
*/
|
|
48
|
+
declare function resolveTouchTheme(input?: TouchTheme | TouchThemeName): TouchTheme;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the theme accent for a given button slot. Per-slot overrides win
|
|
51
|
+
* over `theme.defaultButtonAccent`; a caller-provided `accentOverride`
|
|
52
|
+
* trumps everything.
|
|
53
|
+
*/
|
|
54
|
+
declare function resolveButtonAccent(theme: TouchTheme, slot: VirtualTouchButtonSlot, accentOverride?: string): string;
|
|
55
|
+
|
|
56
|
+
type JoystickSelection = 'left' | 'right' | 'both' | 'none';
|
|
57
|
+
interface DefaultTouchControlsOptions {
|
|
58
|
+
/**
|
|
59
|
+
* Controls whether the touch UI mounts. `'auto'` (default) lets the
|
|
60
|
+
* provider show controls only on touch/mobile devices. `true` forces it
|
|
61
|
+
* on (useful for testing on desktop), `false` disables the UI entirely.
|
|
62
|
+
*/
|
|
63
|
+
enabled?: boolean | 'auto';
|
|
64
|
+
/** Theme name (`'default'` / `'lagoon'`) or a custom {@link TouchTheme}. */
|
|
65
|
+
theme?: TouchTheme | TouchThemeName;
|
|
66
|
+
/**
|
|
67
|
+
* Buttons to render. Default `['A', 'B']`. Buttons not listed here are
|
|
68
|
+
* disabled. Pass `[]` to render no buttons.
|
|
69
|
+
*/
|
|
70
|
+
buttons?: VirtualTouchButtonSlot[];
|
|
71
|
+
/** Per-button accent color overrides (override theme `buttonAccents`). */
|
|
72
|
+
buttonAccents?: Partial<Record<VirtualTouchButtonSlot, string>>;
|
|
73
|
+
/** Custom labels for buttons (default uses the slot name, e.g. `'A'`). */
|
|
74
|
+
buttonLabels?: Partial<Record<VirtualTouchButtonSlot, string>>;
|
|
75
|
+
/**
|
|
76
|
+
* Which joysticks to render. Default `'left'`.
|
|
77
|
+
* - `'left'` : analog left only
|
|
78
|
+
* - `'right'` : analog right only
|
|
79
|
+
* - `'both'` : both sticks
|
|
80
|
+
* - `'none'` : disable all joysticks
|
|
81
|
+
*/
|
|
82
|
+
joysticks?: JoystickSelection;
|
|
83
|
+
/**
|
|
84
|
+
* Escape hatch — a raw {@link VirtualTouchConfig} merged on top of the
|
|
85
|
+
* generated config. Use this when you need fine-grained tweaks
|
|
86
|
+
* (custom positions, sizes, raw SVG) without reaching for the lower-level
|
|
87
|
+
* `useVirtualControls(...)` preset.
|
|
88
|
+
*/
|
|
89
|
+
override?: VirtualTouchConfig;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Builds a ready-to-use {@link GameInputConfig} that wires up themed
|
|
93
|
+
* virtual touch controls for a player. Internally composes
|
|
94
|
+
* {@link useVirtualControls} with theme-aware SVGs from `svg-assets.ts`.
|
|
95
|
+
*
|
|
96
|
+
* On desktop runtimes the provider stays dormant (with the default
|
|
97
|
+
* `enabled: 'auto'`), so it's safe to add this to any game's input
|
|
98
|
+
* configuration unconditionally.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* stage.setInputConfiguration(
|
|
102
|
+
* defaultTouchControls('p1', {
|
|
103
|
+
* theme: 'lagoon',
|
|
104
|
+
* joysticks: 'left',
|
|
105
|
+
* buttons: ['A', 'B'],
|
|
106
|
+
* }),
|
|
107
|
+
* );
|
|
108
|
+
*/
|
|
109
|
+
declare function defaultTouchControls(player?: InputPlayer, options?: DefaultTouchControlsOptions): GameInputConfig;
|
|
110
|
+
|
|
111
|
+
export { type DefaultTouchControlsOptions as D, type JoystickSelection as J, type TouchTheme as T, type TouchThemeName as a, resolveButtonAccent as b, defaultTouchControls as d, resolveTouchTheme as r, touchThemes as t };
|