@liminal-hq/plugin-gamepad-haptics 0.0.0-stage → 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../guest-js/identity.ts","../guest-js/pattern/types.ts","../guest-js/pattern/pad-compile.ts","../guest-js/pattern/schedule.ts","../guest-js/pattern/validate.ts","../guest-js/web-backend.ts","../guest-js/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { CurvePoint, Pattern, Tier } from './types';
2
+ /** One step of motor levels, 0 to 1, held for `durationMs`. */
3
+ export type MotorFrame = {
4
+ durationMs: number;
5
+ heavy: number;
6
+ light: number;
7
+ leftTrigger?: number;
8
+ rightTrigger?: number;
9
+ };
10
+ /** What a pad can play and how long a request may run. */
11
+ export type PadCaps = {
12
+ topTier: Tier;
13
+ maxDurationMs: number;
14
+ };
15
+ export type PadCompileOptions = {
16
+ /** Compile for a lower tier than the pad's own. */
17
+ maxTier?: Tier;
18
+ };
19
+ export type PadCompileReport = {
20
+ frames: MotorFrame[];
21
+ /** The tier the frames need: 3 with triggers, 2 when both motors are used, 1 otherwise, 0 when empty. */
22
+ tier: Tier;
23
+ /** Where the frames end, in ms. */
24
+ estimatedMs: number;
25
+ notes: string[];
26
+ };
27
+ export declare const MAX_FRAMES = 512;
28
+ /** Time between samples. Longer patterns widen it so they stay within `MAX_FRAMES`. */
29
+ export declare const SAMPLE_MS = 10;
30
+ /** A transient is stretched to this long, so a motor has time to spin up. */
31
+ export declare const MIN_TAP_MS = 40;
32
+ /** The value of a constant or a `{t, v}` curve at `t`, 0..1 across the event. */
33
+ export declare function curveAt(curve: number | CurvePoint[], t: number): number;
34
+ /**
35
+ * How an intensity and a sharpness split across the two body motors. Sharp is crisp and goes to the
36
+ * light motor, dull is deep and goes to the heavy motor; the 1.25 keeps a mid sharpness from
37
+ * halving both.
38
+ */
39
+ export declare function mix(intensity: number, sharpness: number): {
40
+ heavy: number;
41
+ light: number;
42
+ };
43
+ /**
44
+ * The tier a frame list needs, which is what the Rust side reports back as its request tier: 3 with
45
+ * triggers, 2 when both body motors are used and differ somewhere, else 1.
46
+ */
47
+ export declare function framesTier(frames: MotorFrame[]): Tier;
48
+ export declare function compilePad(pattern: Pattern, caps: PadCaps, options?: PadCompileOptions): PadCompileReport;
49
+ //# sourceMappingURL=pad-compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pad-compile.d.ts","sourceRoot":"","sources":["../../guest-js/pattern/pad-compile.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,UAAU,EAAE,OAAO,EAAgB,IAAI,EAAE,MAAM,SAAS,CAAC;AAExF,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,mDAAmD;IACnD,OAAO,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,yGAAyG;IACzG,IAAI,EAAE,IAAI,CAAC;IACX,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,uFAAuF;AACvF,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,6EAA6E;AAC7E,eAAO,MAAM,UAAU,KAAK,CAAC;AAO7B,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAO1F;AAkDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAOrD;AAID,wBAAgB,UAAU,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,GAC7B,gBAAgB,CA6ClB"}
@@ -0,0 +1,46 @@
1
+ import type { Policy } from './types';
2
+ /** What the scheduler did with a trigger. */
3
+ export type Decision = 'played' | 'queued' | 'dropped' | 'coalesced';
4
+ export type Job<R> = {
5
+ /** Triggers with the same key share one busy state and one queue; this is the pattern id. */
6
+ key: string;
7
+ policy: Policy;
8
+ /** How long the pattern runs; "busy" is tracked from this, never polled from native. */
9
+ estimatedMs: number;
10
+ /** The trigger's own scale, 0..1; a coalesced group raises it. */
11
+ scale: number;
12
+ /** Plays the pattern at `scale`. */
13
+ run: (scale: number) => Promise<R>;
14
+ /** Whether a result means something played; a run that resolved silently frees the pattern. */
15
+ didPlay?: (result: R) => boolean;
16
+ };
17
+ export type Outcome<R> = {
18
+ policy: Decision;
19
+ /** Absent when nothing was played for this trigger (dropped, coalesced or cancelled). */
20
+ result?: R;
21
+ };
22
+ export declare const MAX_QUEUE = 4;
23
+ export declare const MAX_MERGES = 3;
24
+ export declare const MERGE_BOOST = 0.15;
25
+ /**
26
+ * Decides whether and when a compiled pattern runs. It only schedules: playing is the caller's
27
+ * `run` function, so the same scheduler serves any backend. `stop()` clears every queue and timer.
28
+ */
29
+ export declare class PatternScheduler {
30
+ private state;
31
+ submit<R>(job: Job<R>): Promise<Outcome<R>>;
32
+ /** True while the pattern with this key is still within its estimated run time. */
33
+ isBusy(key: string): boolean;
34
+ /** Cancels one pattern's queued, merged and pending triggers and forgets its state. */
35
+ cancel(key: string): void;
36
+ /** Cancels every queued, merged and pending trigger and clears the busy state. */
37
+ stop(): void;
38
+ private get;
39
+ private clear;
40
+ /** A run that played nothing was never busy, so the pattern is free again. */
41
+ private release;
42
+ private play;
43
+ private enqueue;
44
+ private coalesce;
45
+ }
46
+ //# sourceMappingURL=schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../guest-js/pattern/schedule.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAErE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IACpB,6FAA6F;IAC7F,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,yFAAyF;IACzF,MAAM,CAAC,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,WAAW,OAAO,CAAC;AAsBhC;;;GAGG;AACH,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,KAAK,CAAwC;IAErD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IA0B3C,mFAAmF;IACnF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK5B,uFAAuF;IACvF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOzB,kFAAkF;IAClF,IAAI,IAAI,IAAI;IAKZ,OAAO,CAAC,GAAG;IASX,OAAO,CAAC,KAAK;IAcb,8EAA8E;IAC9E,OAAO,CAAC,OAAO;YAID,IAAI;IAkBlB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,QAAQ;CAyBhB"}
@@ -0,0 +1,48 @@
1
+ export type HapticsUsage = 'touch' | 'notification' | 'alarm' | 'media';
2
+ /** A pad's tier: 0 nothing, 1 single motor, 2 dual motor, 3 triggers. */
3
+ export type Tier = 0 | 1 | 2 | 3;
4
+ export declare const PATTERN_FORMAT = "haptics-lab/pattern@1";
5
+ /** A point on a curve; `t` runs 0..1 across the event and `v` is 0..1. */
6
+ export type CurvePoint = {
7
+ t: number;
8
+ v: number;
9
+ };
10
+ export type TransientEvent = {
11
+ type: 'transient';
12
+ at: number;
13
+ intensity: number;
14
+ sharpness: number;
15
+ };
16
+ export type ContinuousEvent = {
17
+ type: 'continuous';
18
+ at: number;
19
+ duration: number;
20
+ intensity: number | CurvePoint[];
21
+ sharpness: number | CurvePoint[];
22
+ };
23
+ export type PatternEvent = TransientEvent | ContinuousEvent;
24
+ /** What happens when a pattern is triggered while it is still playing. */
25
+ export type Policy = 'interrupt' | 'queue' | 'drop-if-busy' | {
26
+ coalesce: number;
27
+ };
28
+ export type Pattern = {
29
+ format: typeof PATTERN_FORMAT;
30
+ id?: string;
31
+ usage?: HapticsUsage;
32
+ policy?: Policy;
33
+ events: PatternEvent[];
34
+ };
35
+ export type RegisterOptions = {
36
+ tier?: Tier;
37
+ };
38
+ export type TriggerOptions = {
39
+ scale?: number;
40
+ tier?: Tier;
41
+ usage?: HapticsUsage;
42
+ respectSystemSettings?: boolean;
43
+ };
44
+ /** Shortest continuous event, in ms. */
45
+ export declare const MIN_CONTINUOUS_MS = 20;
46
+ /** A transient always plays for at least this long, so it needs that much room before the limit. */
47
+ export declare const MIN_TRANSIENT_MS = 1;
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../guest-js/pattern/types.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAExE,yEAAyE;AACzE,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,eAAO,MAAM,cAAc,0BAA0B,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF,MAAM,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,OAAO,cAAc,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,oGAAoG;AACpG,eAAO,MAAM,gBAAgB,IAAI,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Pattern } from './types';
2
+ export type ValidationIssue = {
3
+ path: string;
4
+ message: string;
5
+ };
6
+ export type ValidateOptions = {
7
+ /** Longest allowed pattern, in ms, measured to the end of the last event. */
8
+ maxDurationMs?: number;
9
+ };
10
+ /**
11
+ * Returns every problem with `input`, or an empty list when it is a valid pattern. Never throws.
12
+ */
13
+ export declare function validatePattern(input: unknown, opts?: ValidateOptions): ValidationIssue[];
14
+ /** Type guard: true when `input` has no validation issues. */
15
+ export declare function isPattern(input: unknown, opts?: ValidateOptions): input is Pattern;
16
+ /** One line per issue, for error messages and logs. */
17
+ export declare function formatIssues(issues: ValidationIssue[]): string;
18
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../guest-js/pattern/validate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAgFF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,GAAG,eAAe,EAAE,CA0F7F;AA2BD,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,eAAoB,GAAG,KAAK,IAAI,OAAO,CAEtF;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,42 @@
1
+ import type { MotorFrame } from './pattern/pad-compile';
2
+ import type { Tier } from './pattern/types';
3
+ export type Transport = 'usb' | 'bluetooth' | 'unknown';
4
+ export interface PadInfo {
5
+ id: string;
6
+ slot: number;
7
+ name: string;
8
+ vendorId: number;
9
+ productId: number;
10
+ serial?: string;
11
+ transport: Transport;
12
+ guid: string;
13
+ motors: 0 | 1 | 2;
14
+ triggers: boolean;
15
+ /** The light motor only switches on and off, so the plugin pulses it to approximate strengths. */
16
+ lightBinary: boolean;
17
+ /** The heavy motor cannot spin up for a short soft tap, so the plugin lengthens such taps. */
18
+ weakHeavy: boolean;
19
+ topTier: Tier;
20
+ reason?: string;
21
+ backend: string;
22
+ }
23
+ /** Motor levels, 0 to 1, held for `durationMs`. */
24
+ export type Frame = MotorFrame;
25
+ export interface PlayResult {
26
+ ok: true;
27
+ tier: number;
28
+ /** The pad that played, `gamepad:N` for a native pad or `web:N` for a webview pad. */
29
+ target: string;
30
+ downgraded: boolean;
31
+ reason?: string;
32
+ }
33
+ export interface Capabilities {
34
+ platform: string;
35
+ backend: string;
36
+ limits: {
37
+ maxDurationMs: number;
38
+ maxContinuousMs: number;
39
+ };
40
+ pads: PadInfo[];
41
+ }
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../guest-js/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,WAAW,EAAE,OAAO,CAAC;IACrB,8FAA8F;IAC9F,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAE/B,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,IAAI,EAAE,OAAO,EAAE,CAAC;CAChB"}
@@ -0,0 +1,24 @@
1
+ import type { MotorFrame } from './pattern/pad-compile';
2
+ type Actuator = {
3
+ playEffect?: (type: string, params: Record<string, number>) => Promise<unknown>;
4
+ reset?: () => Promise<unknown>;
5
+ };
6
+ type WebPad = {
7
+ id: string;
8
+ index: number;
9
+ connected?: boolean;
10
+ vibrationActuator?: Actuator | null;
11
+ };
12
+ /** The pads the webview exposes. The browser lists none until a button is pressed on the page. */
13
+ export declare function webPads(): WebPad[];
14
+ /** Whether a web pad can rumble: it needs a `dual-rumble` actuator. */
15
+ export declare function canRumble(pad: WebPad): boolean;
16
+ /** Stops one web pad, or every pad when `index` is omitted. */
17
+ export declare function stopWeb(index?: number): Promise<void>;
18
+ /**
19
+ * Plays `frames` on a web pad: one `dual-rumble` effect per frame, each started on its own timer
20
+ * so a pad that drops one still ends silent. Returns the time the pattern takes.
21
+ */
22
+ export declare function playWeb(pad: WebPad, frames: MotorFrame[], scale?: number): Promise<number>;
23
+ export {};
24
+ //# sourceMappingURL=web-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-backend.d.ts","sourceRoot":"","sources":["../guest-js/web-backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,KAAK,QAAQ,GAAG;IACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,KAAK,MAAM,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,kGAAkG;AAClG,wBAAgB,OAAO,IAAI,MAAM,EAAE,CAKlC;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9C;AAID,+DAA+D;AAC/D,wBAAsB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB3F"}
package/package.json CHANGED
@@ -1,6 +1,45 @@
1
1
  {
2
- "name": "@liminal-hq/plugin-gamepad-haptics",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
2
+ "name": "@liminal-hq/plugin-gamepad-haptics",
3
+ "version": "0.1.0",
4
+ "license": "Apache-2.0 OR MIT",
5
+ "authors": [
6
+ "Liminal HQ Contributors"
7
+ ],
8
+ "repository": "https://github.com/liminal-hq/tauri-plugins-workspace",
9
+ "keywords": [
10
+ "tauri",
11
+ "tauri-plugin",
12
+ "gamepad",
13
+ "rumble",
14
+ "haptics"
15
+ ],
16
+ "type": "module",
17
+ "types": "./dist-js/index.d.ts",
18
+ "main": "./dist-js/index.cjs",
19
+ "module": "./dist-js/index.js",
20
+ "exports": {
21
+ "types": "./dist-js/index.d.ts",
22
+ "import": "./dist-js/index.js",
23
+ "require": "./dist-js/index.cjs"
24
+ },
25
+ "scripts": {
26
+ "build": "rollup -c",
27
+ "prepare": "pnpm build"
28
+ },
29
+ "files": [
30
+ "dist-js",
31
+ "README.md",
32
+ "LICENSE-MIT",
33
+ "LICENSE-APACHE",
34
+ "api-iife.js"
35
+ ],
36
+ "dependencies": {
37
+ "@tauri-apps/api": "^2.10.0"
38
+ },
39
+ "devDependencies": {
40
+ "@rollup/plugin-typescript": "^12.1.4",
41
+ "rollup": "^4.59.1",
42
+ "tslib": "^2.8.1",
43
+ "typescript": "^5.9.3"
44
+ }
45
+ }