@edv4h/usketch-plugin-character 0.4.0 → 0.5.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
@@ -104,7 +104,10 @@ createCharacterPlugin({
104
104
  and stick can drive together; a partial `throttle` aims for that fraction of the top
105
105
  speed and a partial `steer` turns by that fraction. Touching it resumes a paused
106
106
  follow camera like a movement key. It is ignored while the character is off, and
107
- turning the character off releases it.
107
+ turning the character off releases it. `jump: true` is the jump button: held like the
108
+ jump key (release while rising for a short hop, hold in a fall to hover), and a press
109
+ between two frames still counts. A `drift` press also starts a drift hop when
110
+ `drift.hop` is on.
108
111
  - **Camera modes**
109
112
  - `fixed` — follow, world stays upright.
110
113
  - `rotate` — follow and turn the world by `-heading` (character always faces up).
@@ -154,6 +157,7 @@ api?.setKeys({ ...api.getKeys(), drift: ["KeyX"] }); // KeyboardEvent.code value
154
157
  api?.setShadowRenderer(myShadow);
155
158
  api?.getPose(); // { x, y, heading, speed, moving, steering, slip, drift, z, vz, airborne, hovering, hoverGauge }
156
159
  api?.setVirtualInput({ throttle: 0.8, steer: -0.3 }); // touch stick; null on release
160
+ api?.setVirtualInput({ throttle: 0.8, steer: 0, jump: true }); // + jump button held
157
161
  ```
158
162
 
159
163
  ## Limitations
@@ -1 +1 @@
1
- {"version":3,"file":"character-runtime.d.ts","sourceRoot":"","sources":["../src/character-runtime.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,KAAK,EAIV,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAIN,KAAK,YAAY,EACjB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAG9C,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAiB9C;;;;GAIG;AACH,wBAAgB,UAAU,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkB9D;AAED,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,qEAAqE;IACrE,aAAa,IAAI,IAAI,CAAC;IACtB,iFAAiF;IACjF,WAAW,IAAI,KAAK,CAAC;IACrB,iFAAiF;IACjF,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,aAAa,CAAC;IACzB,iFAAiF;IACjF,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3D,eAAe,IAAI,YAAY,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,uBAAuB,GAC9B,gBAAgB,CA+OlB"}
1
+ {"version":3,"file":"character-runtime.d.ts","sourceRoot":"","sources":["../src/character-runtime.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,KAAK,EAIV,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACN,KAAK,kBAAkB,EAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAIN,KAAK,YAAY,EAEjB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAG9C,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAiB9C;;;;GAIG;AACH,wBAAgB,UAAU,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkB9D;AAED,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,qEAAqE;IACrE,aAAa,IAAI,IAAI,CAAC;IACtB,iFAAiF;IACjF,WAAW,IAAI,KAAK,CAAC;IACrB,iFAAiF;IACjF,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,aAAa,CAAC;IACzB,iFAAiF;IACjF,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3D,eAAe,IAAI,YAAY,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,uBAAuB,GAC9B,gBAAgB,CA4PlB"}
@@ -9,7 +9,7 @@ import { CharacterLayer } from "./character-layer.js";
9
9
  import { constrainToGround, holdDriftForHop, IDLE_JUMP, stepCharacter, stepVertical, } from "./character-physics.js";
10
10
  import { driftHopHeight, effectiveJump } from "./character-store.js";
11
11
  import { createCharacterSync, easeRemotes, } from "./character-sync.js";
12
- import { combineInput, isVirtualInputActive, normalizeVirtualInput, } from "./character-virtual-input.js";
12
+ import { combineInput, isVirtualInputActive, normalizeVirtualInput, virtualPresses, } from "./character-virtual-input.js";
13
13
  export const CHARACTER_LAYER_ID = "character";
14
14
  /** Above shapes and most overlays, below the HUD (9999). */
15
15
  const CHARACTER_LAYER_ORDER = 700;
@@ -67,6 +67,9 @@ export function setupCharacterRuntime(ctx, store, options) {
67
67
  // Cleared when the character turns off, so a control that never sent its release
68
68
  // (unmounted mid-touch) can't leave the next ride driving on its own.
69
69
  let virtual = null;
70
+ // Virtual button presses since the last frame (a tap may press and release in between).
71
+ let virtualJumpPressed = false;
72
+ let virtualDriftPressed = false;
70
73
  let cam = null;
71
74
  let display = new Map();
72
75
  let rafId = null;
@@ -130,11 +133,14 @@ export function setupCharacterRuntime(ctx, store, options) {
130
133
  const input = {
131
134
  ...keyInput,
132
135
  jump: keyInput.jump || holdJump,
133
- jumpPressed: keyInput.jumpPressed || pendingJump,
136
+ jumpPressed: keyInput.jumpPressed || pendingJump || virtualJumpPressed,
137
+ driftPressed: keyInput.driftPressed || virtualDriftPressed,
134
138
  };
135
139
  if (pendingJump)
136
140
  holdJump = true;
137
141
  pendingJump = false;
142
+ virtualJumpPressed = false;
143
+ virtualDriftPressed = false;
138
144
  if (s.followSuspended && (keys.anyHeld() || isVirtualInputActive(virtual))) {
139
145
  store.setFollowSuspended(false);
140
146
  }
@@ -203,6 +209,8 @@ export function setupCharacterRuntime(ctx, store, options) {
203
209
  else {
204
210
  cam = null;
205
211
  virtual = null;
212
+ virtualJumpPressed = false;
213
+ virtualDriftPressed = false;
206
214
  // Hand the camera back upright.
207
215
  if (viewportRotation(ctx.store.getViewport()) !== 0) {
208
216
  ctx.store.rotateTo(0, anchorPoint(), { animate: true });
@@ -258,7 +266,15 @@ export function setupCharacterRuntime(ctx, store, options) {
258
266
  setVirtualInput(input) {
259
267
  // Ignored while off (like the keys), so input sent before the character is
260
268
  // turned on can't make it drive away on its own the moment it spawns.
261
- virtual = store.getState().enabled ? normalizeVirtualInput(input) : null;
269
+ const next = store.getState().enabled ? normalizeVirtualInput(input) : null;
270
+ const pressed = virtualPresses(virtual, next);
271
+ if (pressed.jump)
272
+ virtualJumpPressed = true;
273
+ if (pressed.drift)
274
+ virtualDriftPressed = true;
275
+ virtual = next;
276
+ if (pressed.jump || pressed.drift)
277
+ ensureLoop();
262
278
  },
263
279
  getVirtualInput: () => (virtual ? { ...virtual } : null),
264
280
  dispose() {
@@ -1 +1 @@
1
- {"version":3,"file":"character-runtime.js","sourceRoot":"","sources":["../src/character-runtime.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character-runtime.js","sourceRoot":"","sources":["../src/character-runtime.tsx"],"names":[],"mappings":"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"}
@@ -7,14 +7,30 @@ export interface VirtualInput {
7
7
  steer: number;
8
8
  /** Vehicle: the drift button (only acts when drift is enabled). */
9
9
  drift: boolean;
10
+ /**
11
+ * The jump button, held (only acts while jumping is on). Holding it works like holding
12
+ * the jump key: a release while rising cuts the jump short, and holding it in a fall
13
+ * hovers. Omitted = released.
14
+ */
15
+ jump?: boolean;
10
16
  }
11
17
  /** Clamp a host value into a `VirtualInput`; `null` (or all released) = no input. */
12
18
  export declare function normalizeVirtualInput(input: Partial<VirtualInput> | null): VirtualInput | null;
13
- /** Whether the virtual control is being touched (moves the stick or holds drift). */
19
+ /** Whether the virtual control is being touched (moves the stick or holds a button). */
14
20
  export declare function isVirtualInputActive(v: VirtualInput | null): boolean;
15
21
  /**
16
- * The keys plus the virtual control: their axes add up (capped at ±1) and drift is
17
- * held if either holds it. Without virtual input the key input passes through as is.
22
+ * Buttons that went down between `prev` and `next` — the press edges a step needs
23
+ * (`jumpPressed` starts a jump, `driftPressed` a drift hop), since a quick tap can be
24
+ * pressed and released between two frames.
25
+ */
26
+ export declare function virtualPresses(prev: VirtualInput | null, next: VirtualInput | null): {
27
+ jump: boolean;
28
+ drift: boolean;
29
+ };
30
+ /**
31
+ * The keys plus the virtual control: their axes add up (capped at ±1) and drift / jump
32
+ * are held if either holds them. Without virtual input the key input passes through as
33
+ * is. Press edges are not derived here (see `virtualPresses`).
18
34
  */
19
35
  export declare function combineInput(keys: MoveInput, virtual: VirtualInput | null): MoveInput;
20
36
  //# sourceMappingURL=character-virtual-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"character-virtual-input.d.ts","sourceRoot":"","sources":["../src/character-virtual-input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE9F,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC5B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;CACf;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAQ9F;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAQrF"}
1
+ {"version":3,"file":"character-virtual-input.d.ts","sourceRoot":"","sources":["../src/character-virtual-input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE9F,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC5B,uFAAuF;IACvF,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAS9F;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,YAAY,GAAG,IAAI,EACzB,IAAI,EAAE,YAAY,GAAG,IAAI,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAKnC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CASrF"}
@@ -10,16 +10,29 @@ export function normalizeVirtualInput(input) {
10
10
  throttle: clampUnit(input.throttle),
11
11
  steer: clampUnit(input.steer),
12
12
  drift: input.drift === true,
13
+ jump: input.jump === true,
13
14
  };
14
15
  return isVirtualInputActive(v) ? v : null;
15
16
  }
16
- /** Whether the virtual control is being touched (moves the stick or holds drift). */
17
+ /** Whether the virtual control is being touched (moves the stick or holds a button). */
17
18
  export function isVirtualInputActive(v) {
18
- return v !== null && (v.throttle !== 0 || v.steer !== 0 || v.drift);
19
+ return v !== null && (v.throttle !== 0 || v.steer !== 0 || v.drift || v.jump === true);
19
20
  }
20
21
  /**
21
- * The keys plus the virtual control: their axes add up (capped at ±1) and drift is
22
- * held if either holds it. Without virtual input the key input passes through as is.
22
+ * Buttons that went down between `prev` and `next` — the press edges a step needs
23
+ * (`jumpPressed` starts a jump, `driftPressed` a drift hop), since a quick tap can be
24
+ * pressed and released between two frames.
25
+ */
26
+ export function virtualPresses(prev, next) {
27
+ return {
28
+ jump: next?.jump === true && prev?.jump !== true,
29
+ drift: next?.drift === true && prev?.drift !== true,
30
+ };
31
+ }
32
+ /**
33
+ * The keys plus the virtual control: their axes add up (capped at ±1) and drift / jump
34
+ * are held if either holds them. Without virtual input the key input passes through as
35
+ * is. Press edges are not derived here (see `virtualPresses`).
23
36
  */
24
37
  export function combineInput(keys, virtual) {
25
38
  if (!virtual)
@@ -29,6 +42,7 @@ export function combineInput(keys, virtual) {
29
42
  throttle: clampUnit(inputThrottle(keys) + virtual.throttle),
30
43
  steer: clampUnit(inputSteer(keys) + virtual.steer),
31
44
  drift: keys.drift === true || virtual.drift,
45
+ jump: keys.jump === true || virtual.jump === true,
32
46
  };
33
47
  }
34
48
  //# sourceMappingURL=character-virtual-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"character-virtual-input.js","sourceRoot":"","sources":["../src/character-virtual-input.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,sFAAsF;AACtF,oFAAoF;AACpF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAY9F,qFAAqF;AACrF,MAAM,UAAU,qBAAqB,CAAC,KAAmC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,GAAiB;QACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;KAC3B,CAAC;IACF,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,CAAsB;IAC1D,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,OAA4B;IACzE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACN,GAAG,IAAI;QACP,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3D,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK;KAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"character-virtual-input.js","sourceRoot":"","sources":["../src/character-virtual-input.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,sFAAsF;AACtF,oFAAoF;AACpF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAkB9F,qFAAqF;AACrF,MAAM,UAAU,qBAAqB,CAAC,KAAmC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,GAAiB;QACvB,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,IAAI;KACzB,CAAC;IACF,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,CAAsB;IAC1D,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC7B,IAAyB,EACzB,IAAyB;IAEzB,OAAO;QACN,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI;QAChD,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI;KACnD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,OAA4B;IACzE,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO;QACN,GAAG,IAAI;QACP,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC3D,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QAClD,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK;QAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;KACjD,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,6 @@ export { type CharacterApi, characterService, getCharacterApi, } from "./charact
6
6
  export { effectiveJump, hoverGaugeOf, type JumpInit, MAX_AIR_JUMPS, sanitizeHover, sanitizeJump, } from "./character-store.js";
7
7
  export { AWARENESS_FIELD, type CharacterAwareness, type CharacterWireState, parseWireState, } from "./character-sync.js";
8
8
  export { type CharacterAppearance, type CharacterKeys, type CharacterRenderer, type CharacterRenderProps, DEFAULT_KEYS, type RemoteCharacter, } from "./character-types.js";
9
- export { combineInput, isVirtualInputActive, normalizeVirtualInput, type VirtualInput, } from "./character-virtual-input.js";
9
+ export { combineInput, isVirtualInputActive, normalizeVirtualInput, type VirtualInput, virtualPresses, } from "./character-virtual-input.js";
10
10
  export { type CharacterPluginOptions, createCharacterPlugin } from "./plugin.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,WAAW,EACX,KAAK,SAAS,EACd,WAAW,EACX,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,WAAW,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACN,KAAK,YAAY,EACjB,gBAAgB,EAChB,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,YAAY,EACZ,KAAK,QAAQ,EACb,aAAa,EACb,aAAa,EACb,YAAY,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,YAAY,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,WAAW,EACX,KAAK,SAAS,EACd,WAAW,EACX,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,KAAK,WAAW,EAChB,eAAe,EACf,KAAK,WAAW,EAChB,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EACN,KAAK,YAAY,EACjB,gBAAgB,EAChB,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,YAAY,EACZ,KAAK,QAAQ,EACb,aAAa,EACb,aAAa,EACb,YAAY,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,eAAe,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,YAAY,EACjB,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -6,6 +6,6 @@ export { characterService, getCharacterApi, } from "./character-service.js";
6
6
  export { effectiveJump, hoverGaugeOf, MAX_AIR_JUMPS, sanitizeHover, sanitizeJump, } from "./character-store.js";
7
7
  export { AWARENESS_FIELD, parseWireState, } from "./character-sync.js";
8
8
  export { DEFAULT_KEYS, } from "./character-types.js";
9
- export { combineInput, isVirtualInputActive, normalizeVirtualInput, } from "./character-virtual-input.js";
9
+ export { combineInput, isVirtualInputActive, normalizeVirtualInput, virtualPresses, } from "./character-virtual-input.js";
10
10
  export { createCharacterPlugin } from "./plugin.js";
11
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAGR,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,WAAW,EAEX,WAAW,EACX,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EAGZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,eAAe,EAEf,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EAGb,OAAO,EAGP,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAEN,gBAAgB,EAChB,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,aAAa,EACb,YAAY,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,eAAe,EAGf,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKN,YAAY,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA+B,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EAGR,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,WAAW,EAEX,WAAW,EACX,aAAa,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,YAAY,EAGZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,eAAe,EAEf,aAAa,EACb,SAAS,EACT,UAAU,EACV,aAAa,EAGb,OAAO,EAGP,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAEN,gBAAgB,EAChB,eAAe,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,aAAa,EACb,YAAY,EAEZ,aAAa,EACb,aAAa,EACb,YAAY,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,eAAe,EAGf,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKN,YAAY,GAEZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAErB,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA+B,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-character",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -37,7 +37,7 @@
37
37
  "devDependencies": {
38
38
  "@types/react": "19.3.0",
39
39
  "typescript": "7.0.2",
40
- "vitest": "5.0.5"
40
+ "vitest": "5.1.0"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "tsc -p tsconfig.json",