@skinhub/viewer 0.1.1 → 0.2.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/EMBED.md CHANGED
@@ -8,6 +8,11 @@ no account, and no signup. Two ways to drive it:
8
8
  | **The URL** | an `<iframe src>` | the complete initial picture: item, float, seed, stickers, charm, view, agent, gloves, lighting, quality |
9
9
  | **`postMessage`** | ~10 lines of JavaScript | live updates on top of that, plus `ready` / `error` / `change` events |
10
10
 
11
+ **Five kinds of item are inspectable**, each with its own parameter: a weapon or glove
12
+ (`?weapon=`+`?paint=`), a sticker (`?sticker=`), a charm (`?charm=`), a collectible - pin, coin, medal
13
+ or trophy - (`?collectible=`), and an operator (`?subject=agent&agent=`). See
14
+ [the other four subjects](#the-other-four-subjects---a-sticker-a-charm-a-collectible-an-operator).
15
+
11
16
  **The URL alone is a supported, first-class integration.** If your stack is PHP, Rails, Laravel, plain
12
17
  HTML or anything else that renders on a server, you can interpolate an item into an `src` attribute
13
18
  and be finished. Everything on this page above the "Live updates" heading works with JavaScript
@@ -79,6 +84,74 @@ Loads the legacy mesh variant. Most finishes declare this themselves and it is i
79
84
  those that do not, from your catalogue's `legacy_model` column. It changes which textures apply, so
80
85
  the wrong value is the wrong picture rather than a detail.
81
86
 
87
+ ### The other four subjects - a sticker, a charm, a collectible, an operator
88
+
89
+ A weapon is one of **five** things the viewer draws, and a glove is not one of the other four - a glove
90
+ is a `?weapon=` id like any other. Each of the remaining four is named by its own parameter, and naming
91
+ it is the whole URL:
92
+
93
+ ```
94
+ ?sticker=37 one sticker, on nothing - the real holo/foil/glitter shader
95
+ ?charm=5 one charm, off the gun
96
+ ?collectible=874 one pin, coin, medal or trophy
97
+ ?subject=agent&agent=5036 one operator, alone
98
+ ```
99
+
100
+ | parameter | meaning | default |
101
+ |---|---|---|
102
+ | `sticker` | a `stickers.json` id. **Implies `subject=sticker`** | - |
103
+ | `wear` | that sticker's scratch, `0` (mint) to `1` (scraped off) | `0` |
104
+ | `charm` | a `keychains.json` id. **Implies `subject=charm`** | - |
105
+ | `pattern` | the charm's template - a hue/saturation/brightness adjust on its own albedo, not a different model | `0` |
106
+ | `collectible` | a `collectibles.json` item definition index. **Implies `subject=collectible`** | - |
107
+ | `subject` | `weapon`, `sticker`, `charm`, `collectible`, `agent` - read last, so it always wins | `weapon` |
108
+
109
+ **`?pattern=` and not `?seed=`,** because `seed` on this URL is already the weapon's paint seed.
110
+
111
+ **Two subjects in one URL:** the last one named wins, reading `sticker` → `charm` → `collectible` →
112
+ `subject`. There is no reason to send two; the rule exists only so that a URL which does still means
113
+ something.
114
+
115
+ In `@skinhub/viewer` each of the four is its own prop, and exactly one may be passed:
116
+
117
+ ```jsx
118
+ <SkinViewer sticker={{ id: 37, wear: 0.2 }} />
119
+ <SkinViewer charm={{ id: 5, pattern: 900 }} />
120
+ <SkinViewer collectible={{ id: 874 }} />
121
+ <SkinViewer operator={{ id: 5036 }} />
122
+ ```
123
+
124
+ #### The operator is the one that needs `?subject=`
125
+
126
+ `?agent=5036` has always meant **which operator**, and it keeps meaning exactly that. What changes is
127
+ what is on screen:
128
+
129
+ | | what you see |
130
+ |---|---|
131
+ | `?weapon=weapon_ak47&paint=1449&view=agent&agent=5036` | the operator **holding your weapon** |
132
+ | `?subject=agent&agent=5036` | the operator **alone**, no weapon drawn |
133
+
134
+ If your database row is an agent, you want the second: the first would put a rifle nobody asked for
135
+ into the picture. In the React package these are the `agent` prop (a modifier on the weapon subject)
136
+ and the `operator` prop (the person as the subject) - two words because they are two pictures.
137
+
138
+ `?pose=` works in both - 285 main-menu clips across 44 weapon families - and with no weapon on screen
139
+ it defaults to that team's own knife idle rather than matching a gun. The weapon each clip is
140
+ *holding* is never drawn, so `Look at gun` is an operator studying an empty hand.
141
+
142
+ #### What each subject does **not** have
143
+
144
+ A collectible has no float, no seed, no wear, no template and no pose - two copies of the same medal
145
+ are the same object, and `?collectible=874` is the entire configuration. None of the four takes
146
+ `?view=`, `?i=`, `?float=`, `?slot=` or the sticker slots: those are all statements about a weapon, and
147
+ `?view=` in particular answers "what is the weapon being shown *on*", which is not a question a sticker
148
+ has. They are ignored rather than rejected, and everything in §5 (lighting, background, quality, orbit,
149
+ zoom) applies to all five subjects identically.
150
+
151
+ An id of `0`, or one your catalogue does not have, renders **nothing** - deliberately. `sticker_id: 0`
152
+ is how the game itself says "empty slot", and drawing our default AK-47 for it would look exactly like
153
+ a successful render of the wrong item.
154
+
82
155
  ---
83
156
 
84
157
  ## 3. Configuring the item
@@ -248,7 +321,11 @@ Every message in both directions carries these three fields:
248
321
 
249
322
  ```js
250
323
  set({
251
- item: { weaponType, paintIndex, legacyModel, float, seed, statTrak, nameTag, stickers },
324
+ subject: 'weapon' | 'sticker' | 'charm' | 'collectible' | 'agent',
325
+ item: { weaponType, paintIndex, legacyModel, float, seed, statTrak, nameTag, stickers },
326
+ sticker: { id, wear },
327
+ charm: { id, pattern },
328
+ collectible: { id },
252
329
  view: 'gun' | 'hands' | 'agent',
253
330
  agent: { id, pose },
254
331
  gloves: { type, paintIndex, float, seed } | null,
@@ -268,6 +345,13 @@ keeps your weapon, your stickers and your name plate. `set({ settings: { quality
268
345
  keeps the camera and the environment. This is not just convenience - see
269
346
  [cheap vs reload](#cheap-vs-reload).
270
347
 
348
+ **All five subjects are held at once, and only `subject` switches between them.**
349
+ `set({ sticker: { id: 37 } })` *configures* the sticker; `set({ subject: 'sticker' })` *shows* it. Send
350
+ both to do both. The split is what lets you pre-load the pin a visitor is about to open without
351
+ disturbing the rifle on screen, and what stops a host that restates its whole state on every render
352
+ from flipping subject whenever two groups happen to be present. Switching back is one field -
353
+ `set({ subject: 'weapon' })` - and the weapon is exactly where you left it.
354
+
271
355
  **`null` is a value, not an absence**, wherever it means something: `nameTag: null` is no plate,
272
356
  `statTrak: false` is no counter, `gloves: null` is the wearer's own default pair, `agent.pose: null` is
273
357
  "match the weapon", `settings.environment.map: null` is our calibrated reference rig.
@@ -306,6 +390,18 @@ This is the part that decides whether the embed feels like a component or like a
306
390
  | `float`, `seed`, `statTrak`, `nameTag`, stickers, the charm, **anything under `settings` or `interactions`** | **updates in place.** No loading card, no blank frame, no dropped frames. Drive it from a slider at 60 Hz |
307
391
  | `item.weaponType`, `item.paintIndex`, `item.legacyModel`, `view`, and `agent.id` in the `agent` view | **reloads.** The viewer covers itself until the new model has actually drawn, and shows nothing rather than something half-built |
308
392
 
393
+ The same split, for the other four subjects:
394
+
395
+ | subject | reloads | updates in place |
396
+ |---|---|---|
397
+ | `sticker` | `sticker.id` | `sticker.wear` |
398
+ | `charm` | `charm.id` | `charm.pattern` |
399
+ | `collectible` | `collectible.id` | *nothing - there is no other field* |
400
+ | `agent` | `agent.id` | `agent.pose` |
401
+
402
+ **Changing `subject` always reloads**, in every direction: a weapon and a pin are drawn by different
403
+ renderers, so the picture is rebuilt from nothing.
404
+
309
405
  Measured across the frame boundary: 140 `set` messages carrying a moving float, plus seed, StatTrak,
310
406
  a name plate, a bloom change and a map change, produced **zero covered frames** over 93 drawn frames
311
407
  and 979 samples.
@@ -161,7 +161,7 @@ export const SkinViewer = (props) => {
161
161
  * showing, or the next real item would be diffed against a hole and sent in full for no reason.
162
162
  */
163
163
  sent.current = { ...next, item: next.item ?? sent.current.item };
164
- if (coversCanvas(patch, next.view)) {
164
+ if (coversCanvas(patch, next)) {
165
165
  setStatus('loading');
166
166
  // A NEW ITEM IS A NEW CHANCE. A lost GL context or a 404 on one model says nothing about the
167
167
  // next one, so the fallback comes down and the frame is allowed to try. A protocol mismatch is
@@ -1 +1 @@
1
- {"version":3,"file":"SkinViewer.js","sourceRoot":"","sources":["../src/SkinViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SkinViewer.js","sourceRoot":"","sources":["../src/SkinViewer.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,15 @@
6
6
  * <SkinViewer item={{ weapon: 'weapon_ak47', paintIndex: 1449, float: 0.27 }} style={{ height: 420 }} />
7
7
  * <SkinViewer inspectLink={tradeOffer.inspectLink} style={{ height: 420 }} />
8
8
  *
9
+ * A weapon (or a glove) is one of SIX ways to name a subject, and each is its own prop:
10
+ *
11
+ * <SkinViewer sticker={{ id: 37, wear: 0.2 }} /> one sticker, the real holo/foil shader
12
+ * <SkinViewer charm={{ id: 5 }} /> one charm, off the gun
13
+ * <SkinViewer collectible={{ id: 874 }} /> one pin, coin, medal or trophy
14
+ * <SkinViewer operator={{ id: 5036 }} /> one agent, alone
15
+ *
16
+ * Exactly one of the six, enforced in the types - see `ViewerSubject`.
17
+ *
9
18
  * The 3D is not in here. It is a page on our origin that this component embeds and drives over
10
19
  * `postMessage`, which is why installing this pulls in no `three`, no `@react-three/fiber` and no
11
20
  * asset bundle - the only peer dependency is React. `EMBED.md` documents the same contract for stacks
@@ -46,7 +55,7 @@ export { useSkinViewer } from './useSkinViewer.js';
46
55
  * when it can hand you the link. See `item.ts` for the three easy-to-get-wrong facts these encode.
47
56
  */
48
57
  export { fromInspectLink, toInspectLink, toPlacement } from './item.js';
49
- export type { MapName, SkinViewerCharm, SkinViewerError, SkinViewerErrorCode, SkinViewerHandle, SkinViewerItem, SkinViewerProps, SkinViewerSticker, TimeOfDay, ViewerAgent, ViewerBackground, ViewerCameraSettings, ViewerEnvironmentSettings, ViewerGloves, ViewerInteractions, ViewerOverlaySettings, ViewerQualitySettings, ViewerResize, ViewerSettings, ViewerStatus, ViewerSubject, ViewerView, } from './types.js';
58
+ export type { MapName, SkinViewerCharm, SkinViewerError, SkinViewerErrorCode, SkinViewerHandle, SkinViewerItem, SkinViewerProps, SkinViewerSticker, TimeOfDay, ViewerAgent, ViewerBackground, ViewerCameraSettings, ViewerCharmSubject, ViewerCollectibleSubject, ViewerEnvironmentSettings, ViewerGloves, ViewerInteractions, ViewerOperatorSubject, ViewerOverlaySettings, ViewerQualitySettings, ViewerResize, ViewerSettings, ViewerStatus, ViewerStickerSubject, ViewerSubject, ViewerView, } from './types.js';
50
59
  export { CHEAP_FIELDS, MAP_NAMES } from './types.js';
51
60
  export type { KnownWeaponId, WeaponId } from './weapons.js';
52
61
  export { defindexForWeaponId, isGloveId, isKnownWeaponId, normalizeWeaponId, WEAPON_ID_ALIASES, WEAPON_ID_BY_DEFINDEX, WEAPON_IDS, weaponIdForDefindex, } from './weapons.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvE,YAAY,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,GACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EACN,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,GACnB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvE,YAAY,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,UAAU,GACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EACN,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,GACnB,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -6,6 +6,15 @@
6
6
  * <SkinViewer item={{ weapon: 'weapon_ak47', paintIndex: 1449, float: 0.27 }} style={{ height: 420 }} />
7
7
  * <SkinViewer inspectLink={tradeOffer.inspectLink} style={{ height: 420 }} />
8
8
  *
9
+ * A weapon (or a glove) is one of SIX ways to name a subject, and each is its own prop:
10
+ *
11
+ * <SkinViewer sticker={{ id: 37, wear: 0.2 }} /> one sticker, the real holo/foil shader
12
+ * <SkinViewer charm={{ id: 5 }} /> one charm, off the gun
13
+ * <SkinViewer collectible={{ id: 874 }} /> one pin, coin, medal or trophy
14
+ * <SkinViewer operator={{ id: 5036 }} /> one agent, alone
15
+ *
16
+ * Exactly one of the six, enforced in the types - see `ViewerSubject`.
17
+ *
9
18
  * The 3D is not in here. It is a page on our origin that this component embeds and drives over
10
19
  * `postMessage`, which is why installing this pulls in no `three`, no `@react-three/fiber` and no
11
20
  * asset bundle - the only peer dependency is React. `EMBED.md` documents the same contract for stacks
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AA0BvE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGpD,OAAO,EACN,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,GACnB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AA8BvE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGpD,OAAO,EACN,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,GACnB,MAAM,cAAc,CAAA"}
package/dist/item.d.ts CHANGED
@@ -30,7 +30,7 @@
30
30
  * use us - That is stated as a requirement and it is the path the product exists for.
31
31
  */
32
32
  import { type SkinPlacement } from '@skinhub/cdn/placement';
33
- import type { FrameItem, PlacementSlots } from './protocol.js';
33
+ import type { FrameCharm, FrameCollectible, FrameItem, FrameSticker, FrameSubjectKind, PlacementSlots } from './protocol.js';
34
34
  import type { SkinViewerCharm, SkinViewerError, SkinViewerItem, SkinViewerSticker, ViewerSubject } from './types.js';
35
35
  /**
36
36
  * The public sticker list and charm as the six-slot tuple the frame validates.
@@ -74,6 +74,31 @@ export type ResolvedSubject = {
74
74
  * build the frame's URL in a `useState` initialiser and have the FIRST PAINT be the integrator's item
75
75
  * rather than ours swapped a tick later.
76
76
  */
77
+ /**
78
+ * *** THE OTHER FOUR SUBJECTS, RESOLVED BEFORE THE WEAPON IS EVEN LOOKED FOR. ***
79
+ *
80
+ * Returns null when the props name none of them, which is what sends {@link resolveSubject} on to the
81
+ * `inspectLink` / `item` pair below. The ORDER is the arm order in `types.ts` and it only matters for
82
+ * props that bypassed the types (plain JavaScript, an `any`), where naming two subjects has to mean
83
+ * SOMETHING - it means the first one on this list.
84
+ *
85
+ * *** AN ID THAT IS NOT A POSITIVE INTEGER IS `no-item`, NOT A ZERO. *** `sticker_id: 0` IS the empty
86
+ * slot throughout the renderer, so passing it through would ask the frame to draw an item that by
87
+ * definition does not exist; the instruction card plus an `onError` is a far better answer than an
88
+ * empty canvas. This is the same "data had not arrived yet" case the `no-item` code exists for.
89
+ */
90
+ export type ResolvedStandalone = {
91
+ subject: Exclude<FrameSubjectKind, 'weapon'>;
92
+ sticker?: FrameSticker;
93
+ charm?: FrameCharm;
94
+ collectible?: FrameCollectible;
95
+ agent?: {
96
+ id: number;
97
+ pose?: string | null;
98
+ };
99
+ error: SkinViewerError | null;
100
+ };
101
+ export declare const resolveStandalone: (props: Partial<ViewerSubject>) => ResolvedStandalone | null;
77
102
  export declare const resolveSubject: (subject: Partial<ViewerSubject>) => ResolvedSubject;
78
103
  /**
79
104
  * The frame's item as the public one - what {@link SkinViewerProps.onChange} hands back.
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAgBpH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GACnB,UAAU,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAC3D,OAAO,eAAe,GAAG,IAAI,GAAG,SAAS,KACvC,cAAc,GAAG,SAkCnB,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,SAAS,GACrB,OAAO,cAAc,GAAG,SAAS,KAC/B;IAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;CAyBhE,CAAA;AAMD,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE;AACjE;;;;;GAKG;GACD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAA;AA+B/D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,CAAC,aAAa,CAAC,KAAG,eAwFhE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,KAAG,cAa9C,CAAA;AAqBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,cAAc,KAAG,aAqBlD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,cAAc,KAAG,MAA4C,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,cAAc,GAAG,IAG/D,CAAA"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAkD,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3G,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAgBpH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,GACnB,UAAU,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAC3D,OAAO,eAAe,GAAG,IAAI,GAAG,SAAS,KACvC,cAAc,GAAG,SAkCnB,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,SAAS,GACrB,OAAO,cAAc,GAAG,SAAS,KAC/B;IAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;CAyBhE,CAAA;AAMD,MAAM,MAAM,eAAe,GACxB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE;AACjE;;;;;GAKG;GACD;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAA;AA+B/D;;;;;;;GAOG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC5C,KAAK,EAAE,eAAe,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,CAAC,aAAa,CAAC,KAAG,kBAAkB,GAAG,IAiCtF,CAAA;AASD,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,CAAC,aAAa,CAAC,KAAG,eAwFhE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,KAAG,cAa9C,CAAA;AAqBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,cAAc,KAAG,aAqBlD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,cAAc,KAAG,MAA4C,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,cAAc,GAAG,IAG/D,CAAA"}
package/dist/item.js CHANGED
@@ -149,14 +149,43 @@ const fromPlacement = (placement, weaponType) => {
149
149
  stickers: slots,
150
150
  };
151
151
  };
152
- /**
153
- * *** THE ONE FUNCTION THE WHOLE PROP SURFACE FUNNELS THROUGH. *** Either arm of
154
- * {@link ViewerSubject}, plus the runtime cases the types were supposed to prevent, into one item.
155
- *
156
- * IT IS PURE AND SYNCHRONOUS - no fetch, no React, no catalogue - which is what lets the component
157
- * build the frame's URL in a `useState` initialiser and have the FIRST PAINT be the integrator's item
158
- * rather than ours swapped a tick later.
159
- */
152
+ export const resolveStandalone = (props) => {
153
+ const bad = (subject, prop, id) => ({
154
+ subject,
155
+ error: {
156
+ code: 'no-item',
157
+ message: `\`${prop}.id\` must be a positive integer, got ${JSON.stringify(id)}. In TypeScript that is a compile error, so this is JavaScript, an \`any\`, or data that had not arrived yet.`,
158
+ },
159
+ });
160
+ const ok = (id) => typeof id === 'number' && Number.isSafeInteger(id) && id > 0;
161
+ if (props.sticker)
162
+ return ok(props.sticker.id)
163
+ ? { subject: 'sticker', sticker: dropUndefined({ id: props.sticker.id, wear: props.sticker.wear }), error: null }
164
+ : bad('sticker', 'sticker', props.sticker.id);
165
+ if (props.charm)
166
+ return ok(props.charm.id)
167
+ ? { subject: 'charm', charm: dropUndefined({ id: props.charm.id, pattern: props.charm.pattern }), error: null }
168
+ : bad('charm', 'charm', props.charm.id);
169
+ if (props.collectible)
170
+ return ok(props.collectible.id)
171
+ ? { subject: 'collectible', collectible: { id: props.collectible.id }, error: null }
172
+ : bad('collectible', 'collectible', props.collectible.id);
173
+ /* `operator` BECOMES `agent` ON THE WIRE - see `FrameSubjectKind`. The pose rides in the same group
174
+ the weapon views use, because it is the same question (which performance) asked of the same row. */
175
+ if (props.operator)
176
+ return ok(props.operator.id)
177
+ ? { subject: 'agent', agent: dropUndefined({ id: props.operator.id, pose: props.operator.pose }), error: null }
178
+ : bad('agent', 'operator', props.operator.id);
179
+ return null;
180
+ };
181
+ /** Drops keys the caller did not set, so "say nothing" survives into the URL and into the diff. */
182
+ const dropUndefined = (source) => {
183
+ const out = {};
184
+ for (const key of Object.keys(source))
185
+ if (source[key] !== undefined)
186
+ out[key] = source[key];
187
+ return out;
188
+ };
160
189
  export const resolveSubject = (subject) => {
161
190
  const fail = (code, message) => ({
162
191
  item: null,
package/dist/item.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"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"}
@@ -126,9 +126,41 @@ export type FrameInteractions = {
126
126
  dragStickers?: boolean;
127
127
  dragCharm?: boolean;
128
128
  };
129
- /** Everything `/frame` holds. One field per prop of the renderer that a host can set. */
129
+ /**
130
+ * *** THE FRAME'S FIVE SUBJECT KINDS. *** `weapon` covers gloves too - a glove is a `weaponType`.
131
+ *
132
+ * NOTE THE WORD: the wire says `agent` where `types.ts` says `operator`. That is the translation this
133
+ * package exists to do (see `item.ts`'s header): the frame's own subject vocabulary has always called
134
+ * the person an agent, and an integrator holding a weapon-modifier prop already named `agent` needs a
135
+ * different word for the standalone picture. One rename, in one file.
136
+ */
137
+ export type FrameSubjectKind = 'weapon' | 'sticker' | 'charm' | 'collectible' | 'agent';
138
+ /** The three standalone item groups, in the frame's words. An id, and at most one number. */
139
+ export type FrameSticker = {
140
+ id: number;
141
+ wear?: number;
142
+ };
143
+ export type FrameCharm = {
144
+ id: number;
145
+ pattern?: number;
146
+ };
147
+ export type FrameCollectible = {
148
+ id: number;
149
+ };
150
+ /**
151
+ * Everything `/frame` holds. One field per prop of the renderer that a host can set.
152
+ *
153
+ * *** THE FIVE SUBJECTS ARE HELD AT ONCE AND `subject` PICKS ONE. *** A patch naming `sticker` does
154
+ * NOT make the sticker the subject - only `subject` does. That matters here in particular because this
155
+ * package restates its whole prop set on every render: if a group write switched the picture, a host
156
+ * holding both a weapon and a pin would flip between them on any render mentioning both.
157
+ */
130
158
  export type FrameState = {
159
+ subject: FrameSubjectKind;
131
160
  item: FrameItem;
161
+ sticker: FrameSticker;
162
+ charm: FrameCharm;
163
+ collectible: FrameCollectible;
132
164
  view: 'gun' | 'hands' | 'agent';
133
165
  agent: {
134
166
  id: number;
@@ -153,7 +185,12 @@ export type FrameState = {
153
185
  * rather than merged would blank the weapon on every float tick.
154
186
  */
155
187
  export type FramePatch = {
188
+ /** The subject switch, and the only one - see {@link FrameState}. An IDENTITY change in every direction. */
189
+ subject?: FrameSubjectKind;
156
190
  item?: Partial<FrameItem>;
191
+ sticker?: Partial<FrameSticker>;
192
+ charm?: Partial<FrameCharm>;
193
+ collectible?: Partial<FrameCollectible>;
157
194
  view?: FrameState['view'];
158
195
  agent?: Partial<FrameState['agent']>;
159
196
  gloves?: FrameState['gloves'];
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AA8FvC,iGAAiG;AACjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAe,EAAE,CAC9D,KAAK;IACJ,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACzF,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAatF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACrE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAqB,EAAE;IAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAE1G,IAAI,IAAI,CAAC,CAAC,KAAK,sBAAsB;QACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAEnG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC5D;;;;;OAKG;IACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAE3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;AAElH;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,CAAC,QAAiB,EAAU,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,sBAAsB;QACpE,OAAO,mCAAmC,sBAAsB,gCAAgC,IAAI,qNAAqN,CAAA;IAC1T,OAAO,mCAAmC,sBAAsB,gCAAgC,IAAI,kKAAkK,CAAA;AACvQ,CAAC,CAAA"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AA6HvC,iGAAiG;AACjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAe,EAAE,CAC9D,KAAK;IACJ,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;IACzF,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAatF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACrE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAqB,EAAE;IAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAE1G,IAAI,IAAI,CAAC,CAAC,KAAK,sBAAsB;QACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAEnG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC5D;;;;;OAKG;IACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAE3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAA;AAElH;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAG,CAAC,QAAiB,EAAU,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,sBAAsB;QACpE,OAAO,mCAAmC,sBAAsB,gCAAgC,IAAI,qNAAqN,CAAA;IAC1T,OAAO,mCAAmC,sBAAsB,gCAAgC,IAAI,kKAAkK,CAAA;AACvQ,CAAC,CAAA"}
package/dist/state.d.ts CHANGED
@@ -30,7 +30,7 @@
30
30
  *
31
31
  * So the diff is structural: a field is in the patch only if its VALUE moved.
32
32
  */
33
- import type { FrameInteractions, FrameItem, FramePatch, FrameSettings } from './protocol.js';
33
+ import type { FrameCharm, FrameCollectible, FrameInteractions, FrameItem, FramePatch, FrameSettings, FrameSticker, FrameSubjectKind } from './protocol.js';
34
34
  import type { SkinViewerError, SkinViewerProps, ViewerGloves, ViewerView } from './types.js';
35
35
  /**
36
36
  * Why the frame is showing its instruction card instead of an item. See `SkinViewer.tsx` and the
@@ -47,8 +47,23 @@ export type HelpReason = 'no-item' | 'bad-link' | 'unknown-weapon';
47
47
  * caller did not mention.
48
48
  */
49
49
  export type DesiredState = {
50
- /** `null` when the props named no renderable item; {@link help} then says why. */
50
+ /**
51
+ * WHICH OF THE FIVE IS ON SCREEN.
52
+ *
53
+ * *** THE ONE FIELD HERE THAT IS ALWAYS SET, AND THE EXCEPTION IS EARNED. *** Everything else in
54
+ * this type obeys "absent means say nothing", because our defaults must not be frozen into somebody
55
+ * else's URL. The subject cannot: going BACK to a weapon from a sticker has to be expressible, and a
56
+ * diff can only express it if there is a value to compare against. So it is always resolved - and
57
+ * {@link frameUrl} then declines to write `?subject=weapon`, which keeps the same promise in the one
58
+ * place it can be kept.
59
+ */
60
+ subject: FrameSubjectKind;
61
+ /** `null` when the props named no renderable item, or named a subject that is not a weapon. */
51
62
  item: FrameItem | null;
63
+ /** Set only when {@link subject} names it. Same rule as `item`, one per standalone subject. */
64
+ sticker?: FrameSticker;
65
+ charm?: FrameCharm;
66
+ collectible?: FrameCollectible;
52
67
  /** The integrator's own inspect link, forwarded verbatim as `?i=`. See `item.ts`. */
53
68
  inspectPayload: string | null;
54
69
  help: HelpReason | null;
@@ -102,6 +117,12 @@ export declare const frameUrl: (origin: string, desired: DesiredState) => {
102
117
  export declare const IDENTITY_FIELDS: readonly ["weaponType", "paintIndex", "legacyModel"];
103
118
  /** `undefined` when nothing moved, which is what lets the component skip the `postMessage` entirely. */
104
119
  export declare const diffState: (previous: DesiredState, next: DesiredState) => FramePatch | undefined;
105
- /** True when a patch would cover the canvas - see {@link IDENTITY_FIELDS}. */
106
- export declare const coversCanvas: (patch: FramePatch, view: ViewerView | undefined) => boolean;
120
+ /**
121
+ * True when a patch would cover the canvas - see {@link IDENTITY_FIELDS} and `CHEAP_FIELDS`.
122
+ *
123
+ * IT TAKES THE WHOLE NEXT STATE rather than just the view, because one of the answers depends on which
124
+ * SUBJECT the patch lands on: an operator's id covers under `subject: 'agent'` for the same reason it
125
+ * covers under `view: 'agent'`, and does not under `hands`.
126
+ */
127
+ export declare const coversCanvas: (patch: FramePatch, next: Pick<DesiredState, "subject" | "view">) => boolean;
107
128
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAA;AAE5G,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5F;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B,kFAAkF;IAClF,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IACtB,qFAAqF;IACrF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC7C,gGAAgG;IAChG,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,CAAC,eAAe,CAAC,KAAG,YAgB9D,CAAA;AAqCD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,SAAS,YAAY,KAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CA6DtG,CAAA;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sDAIqB,CAAA;AAoBjD,wGAAwG;AACxG,eAAO,MAAM,SAAS,GAAI,UAAU,YAAY,EAAE,MAAM,YAAY,KAAG,UAAU,GAAG,SAuEnF,CAAA;AAkDD,8EAA8E;AAC9E,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,EAAE,MAAM,UAAU,GAAG,SAAS,KAAG,OAO9E,CAAA"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAEhB,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5F;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;;;;;;OASG;IACH,OAAO,EAAE,gBAAgB,CAAA;IACzB,+FAA+F;IAC/F,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IACtB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,qFAAqF;IACrF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC7C,gGAAgG;IAChG,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,YAAY,CAAC,EAAE,iBAAiB,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,CAAC,eAAe,CAAC,KAAG,YA6C9D,CAAA;AAqCD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,SAAS,YAAY,KAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAsFtG,CAAA;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,sDAIqB,CAAA;AAoBjD,wGAAwG;AACxG,eAAO,MAAM,SAAS,GAAI,UAAU,YAAY,EAAE,MAAM,YAAY,KAAG,UAAU,GAAG,SA+GnF,CAAA;AAsED;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC,KAAG,OAa9F,CAAA"}