@benev/tact 0.1.0-5 → 0.1.1

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.
@@ -4,16 +4,16 @@ import { SamplerDevice } from "./devices/infra/sampler.js";
4
4
  import { testPlug, testSetupAlpha, testSetupBravo } from "./testing/testing.js";
5
5
  export default Science.suite({
6
6
  "sample to action value": test(async () => {
7
- const { time, device, resolve } = testSetupAlpha();
7
+ const { clock, device, resolve } = testSetupAlpha();
8
8
  {
9
- time.frame = 1;
9
+ clock.frame = 1;
10
10
  device.setSample("Space", 1);
11
11
  const actions = resolve();
12
12
  expect(actions.basic.jump.value).is(1);
13
13
  expect(actions.basic.shoot.value).is(0);
14
14
  }
15
15
  {
16
- time.frame = 2;
16
+ clock.frame = 2;
17
17
  device.setSample("Space", 2);
18
18
  device.setSample("pointer.button.left", 3);
19
19
  const actions = resolve();
@@ -21,71 +21,114 @@ export default Science.suite({
21
21
  expect(actions.basic.shoot.value).is(3);
22
22
  }
23
23
  }),
24
+ "hold timing and behavior": test(async () => {
25
+ const { clock, device, resolve, actions } = testSetupAlpha();
26
+ const proceed = (options) => {
27
+ clock.time = options.time;
28
+ device.setSample("KeyG", options.value);
29
+ resolve();
30
+ };
31
+ let count = 0;
32
+ actions.basic.grenade.onDown(() => { count++; });
33
+ const getValue = () => actions.basic.grenade.value;
34
+ // start doing nothing
35
+ proceed({ time: 0, value: 0 });
36
+ expect(getValue()).is(0);
37
+ expect(count).is(0);
38
+ // start holding
39
+ proceed({ time: 10, value: 1 });
40
+ expect(getValue()).is(0);
41
+ expect(count).is(0);
42
+ // keep holding
43
+ proceed({ time: 20, value: 1 });
44
+ expect(getValue()).is(0);
45
+ expect(count).is(0);
46
+ // held long enough to trigger down
47
+ proceed({ time: 210, value: 1 });
48
+ expect(getValue()).is(1);
49
+ expect(count).is(1);
50
+ // release, shouldn't trigger new down
51
+ proceed({ time: 220, value: 0 });
52
+ expect(getValue()).is(0);
53
+ expect(count).is(1);
54
+ // start holding again
55
+ proceed({ time: 230, value: 1 });
56
+ expect(getValue()).is(0);
57
+ expect(count).is(1);
58
+ // keep holding again
59
+ proceed({ time: 330, value: 1 });
60
+ expect(getValue()).is(0);
61
+ expect(count).is(1);
62
+ // held long enough again to trigger down
63
+ proceed({ time: 430, value: 1 });
64
+ expect(getValue()).is(1);
65
+ expect(count).is(2);
66
+ }),
24
67
  "hub": Science.suite({
25
68
  "device inputs work": test(async () => {
26
- const { hub, time } = testSetupBravo();
69
+ const { hub, clock } = testSetupBravo();
27
70
  const d1 = testPlug(hub, new SamplerDevice());
28
71
  d1.setSample("Space", 1);
29
- const [p1, p2] = hub.poll(time.now);
72
+ const [p1, p2] = hub.poll(clock.time);
30
73
  expect(p1.actions.basic.jump.value).is(1);
31
74
  expect(p2.actions.basic.jump.value).is(0);
32
75
  }),
33
76
  "reveal overlay works": test(async () => {
34
- const { hub, time } = testSetupBravo();
77
+ const { hub, clock } = testSetupBravo();
35
78
  const d1 = testPlug(hub, new SamplerDevice());
36
79
  d1.setSample("Backslash", 1);
37
- hub.poll(time.now);
80
+ hub.poll(clock.time);
38
81
  expect(hub.metaPort.actions[metaMode].revealOverlay.value)
39
82
  .is(1);
40
83
  }),
41
84
  "two devices playing on separate ports": test(async () => {
42
- const { hub, time } = testSetupBravo();
85
+ const { hub, clock } = testSetupBravo();
43
86
  const c1 = testPlug(hub, new SamplerDevice());
44
87
  const c2 = testPlug(hub, new SamplerDevice());
45
88
  c1.setSample("Space", 1);
46
89
  c2.setSample("Space", 2);
47
- const [p1, p2] = hub.poll(time.now);
90
+ const [p1, p2] = hub.poll(clock.time);
48
91
  expect(p1.actions.basic.jump.value).is(1);
49
92
  expect(p2.actions.basic.jump.value).is(2);
50
93
  }),
51
94
  "device can shimmy": test(async () => {
52
- const { hub, time } = testSetupBravo();
95
+ const { hub, clock } = testSetupBravo();
53
96
  const c1 = testPlug(hub, new SamplerDevice());
54
97
  hub.shimmy(c1, 1);
55
98
  c1.setSample("Space", 1);
56
- const [p1, p2] = hub.poll(time.now);
99
+ const [p1, p2] = hub.poll(clock.time);
57
100
  expect(p1.actions.basic.jump.value).is(0);
58
101
  expect(p2.actions.basic.jump.value).is(1);
59
102
  }),
60
103
  "two devices can share a port": test(async () => {
61
- const { hub, time } = testSetupBravo();
104
+ const { hub, clock } = testSetupBravo();
62
105
  const c1 = testPlug(hub, new SamplerDevice());
63
106
  const c2 = testPlug(hub, new SamplerDevice());
64
107
  hub.shimmy(c2, -1);
65
108
  expect(hub.portByDevice(c1)).is(hub.portByDevice(c2));
66
109
  {
67
110
  c1.setSample("Space", 1);
68
- const [p1, p2] = hub.poll(time.now);
111
+ const [p1, p2] = hub.poll(clock.time);
69
112
  expect(p1.actions.basic.jump.value).is(1);
70
113
  expect(p2.actions.basic.jump.value).is(0);
71
114
  }
72
115
  {
73
116
  c2.setSample("Space", 1);
74
- const [p1, p2] = hub.poll(time.now);
117
+ const [p1, p2] = hub.poll(clock.time);
75
118
  expect(p1.actions.basic.jump.value).is(1);
76
119
  expect(p2.actions.basic.jump.value).is(0);
77
120
  }
78
121
  {
79
122
  c1.setSample("Space", 1);
80
123
  c2.setSample("Space", 2);
81
- const [p1, p2] = hub.poll(time.now);
124
+ const [p1, p2] = hub.poll(clock.time);
82
125
  expect(p1.actions.basic.jump.value).is(2);
83
126
  expect(p2.actions.basic.jump.value).is(0);
84
127
  }
85
128
  {
86
129
  c1.setSample("Space", 2);
87
130
  c2.setSample("Space", 1);
88
- const [p1, p2] = hub.poll(time.now);
131
+ const [p1, p2] = hub.poll(clock.time);
89
132
  expect(p1.actions.basic.jump.value).is(2);
90
133
  expect(p2.actions.basic.jump.value).is(0);
91
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.test.js","sourceRoot":"","sources":["../../s/core/core.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.test.js","sourceRoot":"","sources":["../../s/core/core.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { SetG } from "@e280/stz";
2
1
  import { Device } from "../device.js";
3
2
  export declare class GroupDevice extends Device {
4
3
  #private;
5
- devices: SetG<Device>;
4
+ devices: import("@e280/stz").GSet<Device>;
6
5
  constructor(...devices: Device[]);
7
6
  samples(): Generator<[string, number], void, unknown>;
8
7
  }
@@ -1,9 +1,6 @@
1
1
  import { SamplerDevice } from "../infra/sampler.js";
2
2
  export declare class KeyboardDevice extends SamplerDevice {
3
3
  #private;
4
- dispose: {
5
- (): void;
6
- schedule(fn: () => void): any;
7
- };
4
+ dispose: import("@e280/stz").Disposer;
8
5
  constructor(target?: EventTarget);
9
6
  }
@@ -4,10 +4,7 @@ export declare class PointerDevice extends SamplerDevice {
4
4
  #private;
5
5
  client: Vec2;
6
6
  movement: Vec2;
7
- dispose: {
8
- (): void;
9
- schedule(fn: () => void): any;
10
- };
7
+ dispose: import("@e280/stz").Disposer;
11
8
  constructor(target?: EventTarget);
12
9
  static buttonCode(event: PointerEvent): string;
13
10
  static wheelCodes(event: WheelEvent): [string, number][];
@@ -1,10 +1,9 @@
1
- import { SetG } from "@e280/stz";
2
1
  import { Bindings } from "../bindings/types.js";
3
2
  import { Resolver } from "../bindings/resolver.js";
4
3
  export declare class Port<B extends Bindings> extends Resolver<B> {
5
4
  #private;
6
- readonly devices: SetG<import("../index.js").Device>;
7
- readonly modes: SetG<keyof B>;
5
+ readonly devices: import("@e280/stz").GSet<import("../index.js").Device>;
6
+ readonly modes: import("@e280/stz").GSet<keyof B>;
8
7
  constructor(bindings: B);
9
8
  resolve(now?: number): import("../bindings/types.js").Actions<B>;
10
9
  }
@@ -1,15 +1,17 @@
1
1
  import { Hub } from "../hub/hub.js";
2
2
  import { Device } from "../devices/device.js";
3
3
  import { Resolver } from "../bindings/resolver.js";
4
+ import { Code } from "../bindings/types.js";
4
5
  import { SamplerDevice } from "../devices/infra/sampler.js";
5
- export declare class TestTime {
6
- frame: number;
7
- get now(): number;
6
+ export declare class TestClock {
7
+ time: number;
8
+ set frame(frame: number);
8
9
  }
9
10
  export declare function testBindings(): {
10
11
  basic: {
11
12
  jump: string;
12
13
  shoot: string;
14
+ grenade: Code;
13
15
  };
14
16
  };
15
17
  export declare function testPlug<C extends Device>(hub: Hub<any>, device: C): C;
@@ -19,22 +21,32 @@ export declare function testSetupAlpha(): {
19
21
  basic: {
20
22
  jump: string;
21
23
  shoot: string;
24
+ grenade: Code;
22
25
  };
23
26
  }>;
24
27
  resolve: () => import("../bindings/types.js").Actions<{
25
28
  basic: {
26
29
  jump: string;
27
30
  shoot: string;
31
+ grenade: Code;
32
+ };
33
+ }>;
34
+ clock: TestClock;
35
+ actions: import("../bindings/types.js").Actions<{
36
+ basic: {
37
+ jump: string;
38
+ shoot: string;
39
+ grenade: Code;
28
40
  };
29
41
  }>;
30
- time: TestTime;
31
42
  };
32
43
  export declare function testSetupBravo(): {
33
44
  hub: Hub<{
34
45
  basic: {
35
46
  jump: string;
36
47
  shoot: string;
48
+ grenade: Code;
37
49
  };
38
50
  }, any>;
39
- time: TestTime;
51
+ clock: TestClock;
40
52
  };
@@ -1,13 +1,13 @@
1
1
  import { Hub } from "../hub/hub.js";
2
2
  import { Port } from "../hub/port.js";
3
- import { asBindings } from "../bindings/types.js";
4
3
  import { Resolver } from "../bindings/resolver.js";
5
4
  import { SampleMap } from "../bindings/sample-map.js";
5
+ import { asBindings } from "../bindings/types.js";
6
6
  import { SamplerDevice } from "../devices/infra/sampler.js";
7
- export class TestTime {
8
- frame = 0;
9
- get now() {
10
- return (this.frame++) * (1000 / 60);
7
+ export class TestClock {
8
+ time = 0;
9
+ set frame(frame) {
10
+ this.time = frame * (1000 / 60);
11
11
  }
12
12
  }
13
13
  export function testBindings() {
@@ -15,6 +15,7 @@ export function testBindings() {
15
15
  basic: {
16
16
  jump: "Space",
17
17
  shoot: "pointer.button.left",
18
+ grenade: ["code", "KeyG", { timing: ["hold", 200] }]
18
19
  },
19
20
  });
20
21
  }
@@ -23,21 +24,22 @@ export function testPlug(hub, device) {
23
24
  return device;
24
25
  }
25
26
  export function testSetupAlpha() {
26
- const time = new TestTime();
27
+ const clock = new TestClock();
27
28
  const device = new SamplerDevice();
28
29
  const resolver = new Resolver(testBindings());
29
30
  const modes = new Set(Object.keys(resolver.bindings));
30
- const resolve = () => resolver.resolve(time.now, modes, new SampleMap(device.samples()));
31
- return { device, resolver, resolve, time };
31
+ const actions = resolver.actions;
32
+ const resolve = () => resolver.resolve(clock.time, modes, new SampleMap(device.samples()));
33
+ return { device, resolver, resolve, clock, actions };
32
34
  }
33
35
  export function testSetupBravo() {
34
- const time = new TestTime();
36
+ const clock = new TestClock();
35
37
  const port = () => {
36
38
  const port = new Port(testBindings());
37
39
  port.modes.adds("basic");
38
40
  return port;
39
41
  };
40
42
  const hub = new Hub([port(), port(), port(), port()]);
41
- return { hub, time };
43
+ return { hub, clock };
42
44
  }
43
45
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../s/core/testing/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAA;AAEzD,MAAM,OAAO,QAAQ;IACpB,KAAK,GAAG,CAAC,CAAA;IAET,IAAI,GAAG;QACN,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IACpC,CAAC;CACD;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,UAAU,CAAC;QACjB,KAAK,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,qBAAqB;SAC5B;KACD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,GAAa,EAAE,MAAS;IAClE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChB,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CACrC,IAAI,CAAC,GAAG,EACR,KAAY,EACZ,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAC/B,CAAA;IACD,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACrD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../s/core/testing/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAC,UAAU,EAAO,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAA;AAEzD,MAAM,OAAO,SAAS;IACrB,IAAI,GAAG,CAAC,CAAA;IAER,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IAChC,CAAC;CACD;AAED,MAAM,UAAU,YAAY;IAC3B,OAAO,UAAU,CAAC;QACjB,KAAK,EAAE;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAC,CAAC;SACxD;KACD,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,GAAa,EAAE,MAAS;IAClE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChB,OAAO,MAAM,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;IAChC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CACrC,KAAK,CAAC,IAAI,EACV,KAAY,EACZ,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAC/B,CAAA;IACD,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,GAAG,EAAE;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACrD,OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,CAAA;AACpB,CAAC"}
package/x/deck/deck.d.ts CHANGED
@@ -19,10 +19,7 @@ export declare class Deck<B extends Bindings, MB extends MetaBindings = any> {
19
19
  hub: Hub<B, MB>;
20
20
  db: Db;
21
21
  static load<B extends Bindings, MB extends MetaBindings = any>(options: DeckOptions<B, MB>): Promise<Deck<B, any>>;
22
- dispose: {
23
- (): void;
24
- schedule(fn: () => void): any;
25
- };
22
+ dispose: import("@e280/stz").Disposer;
26
23
  deviceSkins: DeviceSkins;
27
24
  primaryDevice: PrimaryDevice;
28
25
  overlayVisibility: OverlayVisibility;
@@ -1,4 +1,3 @@
1
- import { MapG } from "@e280/stz";
2
1
  import { MetaBindings } from "../../core/hub/types.js";
3
2
  import { Bindings } from "../../core/bindings/types.js";
4
3
  export type Profile = {
@@ -12,7 +11,7 @@ export type CatalogData = {
12
11
  metaBindings: MetaBindings | null;
13
12
  };
14
13
  export declare class Catalog {
15
- profiles: MapG<string, Profile>;
14
+ profiles: import("@e280/stz").GMap<string, Profile>;
16
15
  portProfiles: (string | null)[];
17
16
  metaBindings: MetaBindings | null;
18
17
  constructor(data?: CatalogData);
@@ -7,10 +7,7 @@ export declare class Db {
7
7
  private store;
8
8
  $catalog: SignalFn<Catalog>;
9
9
  static load(store: Store<CatalogData>): Promise<Db>;
10
- dispose: {
11
- (): void;
12
- schedule(fn: () => void): any;
13
- };
10
+ dispose: import("@e280/stz").Disposer;
14
11
  constructor(store: Store<CatalogData>, $catalog: SignalFn<Catalog>);
15
12
  reload(): Promise<void>;
16
13
  save(catalog: Catalog): Promise<void>;
@@ -5,10 +5,7 @@ export declare class OverlayVisibility {
5
5
  hub: Hub<any>;
6
6
  deviceSkins: DeviceSkins;
7
7
  auto: boolean;
8
- dispose: {
9
- (): void;
10
- schedule(fn: () => void): any;
11
- };
8
+ dispose: import("@e280/stz").Disposer;
12
9
  /** manual override for whether the ports view should be visible */
13
10
  readonly $manual: import("@e280/strata").SignalFn<boolean>;
14
11
  /** derived signal about whether the ports view should be visible */
@@ -7,10 +7,7 @@ export declare class Game {
7
7
  deck: GameDeck;
8
8
  static load(): Promise<Game>;
9
9
  logic: Logic;
10
- dispose: {
11
- (): void;
12
- schedule(fn: () => void): any;
13
- };
10
+ dispose: import("@e280/stz").Disposer;
14
11
  state: State;
15
12
  renderer: Renderer;
16
13
  constructor(deck: GameDeck);