@skinhub/viewer 0.1.1 → 0.2.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.
- package/EMBED.md +105 -7
- package/README.md +47 -26
- package/dist/SkinViewer.js +1 -1
- package/dist/SkinViewer.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/item.d.ts +26 -1
- package/dist/item.d.ts.map +1 -1
- package/dist/item.js +37 -8
- package/dist/item.js.map +1 -1
- package/dist/protocol.d.ts +38 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js.map +1 -1
- package/dist/state.d.ts +25 -4
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +139 -12
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +118 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/src/SkinViewer.tsx +1 -1
- package/src/index.ts +13 -0
- package/src/item.ts +72 -1
- package/src/protocol.ts +32 -1
- package/src/state.ts +166 -15
- package/src/types.ts +144 -1
package/dist/protocol.d.ts
CHANGED
|
@@ -126,9 +126,41 @@ export type FrameInteractions = {
|
|
|
126
126
|
dragStickers?: boolean;
|
|
127
127
|
dragCharm?: boolean;
|
|
128
128
|
};
|
|
129
|
-
/**
|
|
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'];
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,mBAAmB,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAMvC,sGAAsG;AACtG,MAAM,MAAM,cAAc,GAAG;IAC5B,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/G,WAAW,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9F,QAAQ,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,UAAU,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACrD,CAAA;CACD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
106
|
-
|
|
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
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,
|
|
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"}
|
package/dist/state.js
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 { resolveSubject } from './item.js';
|
|
33
|
+
import { resolveStandalone, resolveSubject } from './item.js';
|
|
34
34
|
const HELP_FOR = {
|
|
35
35
|
'no-item': 'no-item',
|
|
36
36
|
'bad-inspect-link': 'bad-link',
|
|
@@ -52,13 +52,9 @@ const HELP_FOR = {
|
|
|
52
52
|
* rather than a `TypeError`.
|
|
53
53
|
*/
|
|
54
54
|
export const resolveState = (props) => {
|
|
55
|
-
const subject = resolveSubject(props);
|
|
56
55
|
const settings = toFrameSettings(props.settings);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
inspectPayload: subject.inspectPayload,
|
|
60
|
-
help: subject.error ? HELP_FOR[subject.error.code] : null,
|
|
61
|
-
subjectError: subject.error,
|
|
56
|
+
/* Everything true of every subject. Hoisted so the two returns below cannot drift apart. */
|
|
57
|
+
const common = {
|
|
62
58
|
...(props.view !== undefined && { view: props.view }),
|
|
63
59
|
...(props.agent !== undefined && { agent: props.agent }),
|
|
64
60
|
...(props.gloves !== undefined && { gloves: props.gloves }),
|
|
@@ -66,6 +62,38 @@ export const resolveState = (props) => {
|
|
|
66
62
|
...(props.interactions !== undefined && { interactions: { ...props.interactions } }),
|
|
67
63
|
...(props.editingSlot !== undefined && { editingSlot: props.editingSlot }),
|
|
68
64
|
};
|
|
65
|
+
/*
|
|
66
|
+
* THE OTHER FOUR SUBJECTS FIRST, because each is named by its own prop and the weapon is the
|
|
67
|
+
* fall-through. `item` stays null for them: there IS no weapon, and inventing one would put a rifle
|
|
68
|
+
* into this package's URL that the frame would then hold behind a subject nobody is looking at.
|
|
69
|
+
*
|
|
70
|
+
* `agent` IS WRITTEN LAST for the operator, so `operator={{ pose }}` beats an `agent={{ pose }}` a
|
|
71
|
+
* host also happened to pass. Two props answering one question is only reachable through the types'
|
|
72
|
+
* back door, and the subject arm is the more specific statement.
|
|
73
|
+
*/
|
|
74
|
+
const standalone = resolveStandalone(props);
|
|
75
|
+
if (standalone)
|
|
76
|
+
return {
|
|
77
|
+
subject: standalone.subject,
|
|
78
|
+
item: null,
|
|
79
|
+
...(standalone.sticker && { sticker: standalone.sticker }),
|
|
80
|
+
...(standalone.charm && { charm: standalone.charm }),
|
|
81
|
+
...(standalone.collectible && { collectible: standalone.collectible }),
|
|
82
|
+
inspectPayload: null,
|
|
83
|
+
help: standalone.error ? HELP_FOR[standalone.error.code] : null,
|
|
84
|
+
subjectError: standalone.error,
|
|
85
|
+
...common,
|
|
86
|
+
...(standalone.agent && { agent: standalone.agent }),
|
|
87
|
+
};
|
|
88
|
+
const subject = resolveSubject(props);
|
|
89
|
+
return {
|
|
90
|
+
subject: 'weapon',
|
|
91
|
+
item: subject.item,
|
|
92
|
+
inspectPayload: subject.inspectPayload,
|
|
93
|
+
help: subject.error ? HELP_FOR[subject.error.code] : null,
|
|
94
|
+
subjectError: subject.error,
|
|
95
|
+
...common,
|
|
96
|
+
};
|
|
69
97
|
};
|
|
70
98
|
/**
|
|
71
99
|
* The public settings as the wire's.
|
|
@@ -123,6 +151,32 @@ export const frameUrl = (origin, desired) => {
|
|
|
123
151
|
const item = desired.item;
|
|
124
152
|
if (desired.help)
|
|
125
153
|
params.set('help', desired.help);
|
|
154
|
+
/*
|
|
155
|
+
* ── THE SUBJECT ──────────────────────────────────────────────────────────────────────────
|
|
156
|
+
*
|
|
157
|
+
* `?subject=` IS WRITTEN FOR EVERY NON-WEAPON AND NEVER FOR A WEAPON. Not writing it for the weapon
|
|
158
|
+
* keeps this file's promise about defaults: `?subject=weapon` in a customer's `<iframe src>` would
|
|
159
|
+
* be OUR default frozen into THEIR embed. Writing it for the other four is not the same thing - it
|
|
160
|
+
* is the caller's own statement, and for the operator it is the only way to say it, because
|
|
161
|
+
* `?agent=` on its own has always meant "who holds the weapon".
|
|
162
|
+
*
|
|
163
|
+
* The id params are what the frame reads back; `?sticker=`/`?charm=`/`?collectible=` each imply the
|
|
164
|
+
* subject on their own, so the pair is redundant by design rather than by accident - a URL that says
|
|
165
|
+
* the same thing twice cannot be half-copied into meaning something else.
|
|
166
|
+
*/
|
|
167
|
+
if (desired.subject !== 'weapon')
|
|
168
|
+
params.set('subject', desired.subject);
|
|
169
|
+
if (desired.sticker) {
|
|
170
|
+
params.set('sticker', String(desired.sticker.id));
|
|
171
|
+
num(params, 'wear', desired.sticker.wear);
|
|
172
|
+
}
|
|
173
|
+
if (desired.charm) {
|
|
174
|
+
params.set('charm', String(desired.charm.id));
|
|
175
|
+
// `?pattern=` and not `?seed=` - on this URL `seed` is already the WEAPON's paint seed.
|
|
176
|
+
num(params, 'pattern', desired.charm.pattern);
|
|
177
|
+
}
|
|
178
|
+
if (desired.collectible)
|
|
179
|
+
params.set('collectible', String(desired.collectible.id));
|
|
126
180
|
if (item) {
|
|
127
181
|
params.set('weapon', item.weaponType);
|
|
128
182
|
params.set('paint', String(item.paintIndex));
|
|
@@ -259,6 +313,45 @@ export const diffState = (previous, next) => {
|
|
|
259
313
|
if (Object.keys(item).length > 0)
|
|
260
314
|
patch.item = item;
|
|
261
315
|
}
|
|
316
|
+
/*
|
|
317
|
+
* ── THE OTHER FOUR SUBJECTS ───────────────────────────────────────────────────────────────
|
|
318
|
+
*
|
|
319
|
+
* A GROUP IS DIFFED EVEN WHEN THE SUBJECT DID NOT MOVE, so a `wear` drag on a sticker is one small
|
|
320
|
+
* patch per tick and nothing else - the identical shape a `float` drag on a rifle has, and cheap for
|
|
321
|
+
* the identical reason: the id is not in the patch, so nothing keyed on the id can move.
|
|
322
|
+
*
|
|
323
|
+
* THE SUBJECT IS DIFFED SEPARATELY AND CARRIES NO GROUP WITH IT. Switching to a sticker whose id has
|
|
324
|
+
* not changed sends `{ subject: 'sticker' }` alone, because the frame still holds the id it was given
|
|
325
|
+
* before - which is what makes flipping between two subjects cost one field.
|
|
326
|
+
*/
|
|
327
|
+
if (next.subject !== previous.subject) {
|
|
328
|
+
patch.subject = next.subject;
|
|
329
|
+
changed = true;
|
|
330
|
+
}
|
|
331
|
+
/*
|
|
332
|
+
* *** FIELD BY FIELD, NOT WHOLE-GROUP, AND THE TEST BELOW IS WHY. *** Sending the whole group would
|
|
333
|
+
* be correct on the wire - the frame merges by field either way - and would still break the
|
|
334
|
+
* contract, because `coversCanvas` reads `sticker.id !== undefined` to decide whether to raise the
|
|
335
|
+
* caller's `loading` slot. A `wear` drag that restated the id would raise it sixty times a second
|
|
336
|
+
* over a picture the frame never covered, which from outside is indistinguishable from a reload.
|
|
337
|
+
* The item above is diffed per field for the same reason; gloves are the one group sent wholesale,
|
|
338
|
+
* and that is because a partial pair is a state the renderer cannot resolve.
|
|
339
|
+
*/
|
|
340
|
+
const sticker = diffGroup(previous.sticker, next.sticker);
|
|
341
|
+
if (sticker) {
|
|
342
|
+
patch.sticker = sticker;
|
|
343
|
+
changed = true;
|
|
344
|
+
}
|
|
345
|
+
const charm = diffGroup(previous.charm, next.charm);
|
|
346
|
+
if (charm) {
|
|
347
|
+
patch.charm = charm;
|
|
348
|
+
changed = true;
|
|
349
|
+
}
|
|
350
|
+
const collectible = diffGroup(previous.collectible, next.collectible);
|
|
351
|
+
if (collectible) {
|
|
352
|
+
patch.collectible = collectible;
|
|
353
|
+
changed = true;
|
|
354
|
+
}
|
|
262
355
|
if (next.view !== undefined && next.view !== previous.view) {
|
|
263
356
|
patch.view = next.view;
|
|
264
357
|
changed = true;
|
|
@@ -291,6 +384,27 @@ export const diffState = (previous, next) => {
|
|
|
291
384
|
}
|
|
292
385
|
return changed ? patch : undefined;
|
|
293
386
|
};
|
|
387
|
+
/**
|
|
388
|
+
* One flat group, per field. `undefined` when nothing moved, so the caller can skip the key entirely.
|
|
389
|
+
*
|
|
390
|
+
* A KEY THE NEXT RENDER DID NOT MENTION IS NOT DIFFED AWAY - there is no way to say "unset" over the
|
|
391
|
+
* wire, and the alternative reading would make a conditional prop destructive. Same rule as
|
|
392
|
+
* {@link diffSettings} one level in.
|
|
393
|
+
*/
|
|
394
|
+
const diffGroup = (previous, next) => {
|
|
395
|
+
if (!next)
|
|
396
|
+
return undefined;
|
|
397
|
+
if (!previous)
|
|
398
|
+
return { ...next };
|
|
399
|
+
const out = {};
|
|
400
|
+
let changed = false;
|
|
401
|
+
for (const key of Object.keys(next))
|
|
402
|
+
if (!Object.is(previous[key], next[key])) {
|
|
403
|
+
out[key] = next[key];
|
|
404
|
+
changed = true;
|
|
405
|
+
}
|
|
406
|
+
return changed ? out : undefined;
|
|
407
|
+
};
|
|
294
408
|
const glovesEqual = (a, b) => {
|
|
295
409
|
if (a === b)
|
|
296
410
|
return true;
|
|
@@ -336,15 +450,28 @@ const overlaysEqual = (a, b) => {
|
|
|
336
450
|
return false;
|
|
337
451
|
return a.stickerGizmo === b.stickerGizmo && a.charmGizmo === b.charmGizmo && shallowEqual(a.gizmoStyle, b.gizmoStyle);
|
|
338
452
|
};
|
|
339
|
-
/**
|
|
340
|
-
|
|
453
|
+
/**
|
|
454
|
+
* True when a patch would cover the canvas - see {@link IDENTITY_FIELDS} and `CHEAP_FIELDS`.
|
|
455
|
+
*
|
|
456
|
+
* IT TAKES THE WHOLE NEXT STATE rather than just the view, because one of the answers depends on which
|
|
457
|
+
* SUBJECT the patch lands on: an operator's id covers under `subject: 'agent'` for the same reason it
|
|
458
|
+
* covers under `view: 'agent'`, and does not under `hands`.
|
|
459
|
+
*/
|
|
460
|
+
export const coversCanvas = (patch, next) => {
|
|
461
|
+
// A different KIND of subject is a different renderer. Always a reload, in every direction.
|
|
462
|
+
if (patch.subject !== undefined)
|
|
463
|
+
return true;
|
|
341
464
|
if (patch.view !== undefined)
|
|
342
465
|
return true;
|
|
343
466
|
if (patch.item && IDENTITY_FIELDS.some(field => patch.item?.[field] !== undefined))
|
|
344
467
|
return true;
|
|
345
|
-
//
|
|
346
|
-
|
|
347
|
-
|
|
468
|
+
// An id is identity for all four standalone subjects; their second field (`wear`, `pattern`) is not.
|
|
469
|
+
if (patch.sticker?.id !== undefined || patch.charm?.id !== undefined || patch.collectible?.id !== undefined)
|
|
470
|
+
return true;
|
|
471
|
+
// The operator is identity when they ARE the subject, and in the `agent` view, where their
|
|
472
|
+
// `<Suspense>` tears the subtree down; cheap in `hands`, where the arms are already mounted. The
|
|
473
|
+
// asymmetry is the renderer's, not ours.
|
|
474
|
+
if (patch.agent?.id !== undefined && (next.subject === 'agent' || next.view === 'agent'))
|
|
348
475
|
return true;
|
|
349
476
|
return false;
|
|
350
477
|
};
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -135,6 +135,17 @@ type ItemConfiguration = {
|
|
|
135
135
|
* This list is the FIRST half. It is here, as a value, because {@link SkinViewerProps.loading} is
|
|
136
136
|
* raised off its complement - see `SkinViewer.tsx`'s `isIdentityChange` - and because a contract an
|
|
137
137
|
* integrator relies on should be readable without opening the renderer.
|
|
138
|
+
*
|
|
139
|
+
* *** AND THE SAME SPLIT FOR THE OTHER FOUR SUBJECTS, which is a shorter table because they are
|
|
140
|
+
* smaller items: ***
|
|
141
|
+
*
|
|
142
|
+
* `sticker` identity `id`, cheap `wear`
|
|
143
|
+
* `charm` identity `id`, cheap `pattern`
|
|
144
|
+
* `collectible` identity `id`, and NOTHING is cheap - there is no other field to change
|
|
145
|
+
* `operator` identity `id`, cheap `pose`
|
|
146
|
+
*
|
|
147
|
+
* *** CHANGING WHICH SUBJECT YOU PASS IS ALWAYS AN IDENTITY CHANGE, *** in every direction: a weapon
|
|
148
|
+
* and a pin are drawn by different renderers, so the picture is rebuilt from nothing.
|
|
138
149
|
*/
|
|
139
150
|
export declare const CHEAP_FIELDS: readonly ["float", "seed", "statTrak", "nameTag", "stickers", "charm"];
|
|
140
151
|
/**
|
|
@@ -164,10 +175,99 @@ export type SkinViewerItem = ItemConfiguration & ({
|
|
|
164
175
|
defindex: number;
|
|
165
176
|
weapon?: never;
|
|
166
177
|
});
|
|
178
|
+
/**
|
|
179
|
+
* ONE STICKER, ON NOTHING - what `/sticker/:id` shows on our own site.
|
|
180
|
+
*
|
|
181
|
+
* *** NOT {@link SkinViewerSticker}, AND THE MISSING FIELDS ARE THE DIFFERENCE. *** That type is a
|
|
182
|
+
* sticker APPLIED to a weapon and carries a slot, a rotation and an offset; all three are statements
|
|
183
|
+
* about the sticker being ON something. Here the quad is the whole surface, so what is left is the id
|
|
184
|
+
* and how scratched it is.
|
|
185
|
+
*
|
|
186
|
+
* IT IS THE REAL SHADER AND NOT AN IMAGE ON A PLANE: holo, foil and glitter are functions of the view
|
|
187
|
+
* direction and of screen-space derivatives, so they exist only in 3D and only under lighting. That is
|
|
188
|
+
* the entire reason to embed a sticker rather than show your catalogue's icon.
|
|
189
|
+
*/
|
|
190
|
+
export type ViewerStickerSubject = {
|
|
191
|
+
/** `sticker_id` - the id in `@skinhub/cdn`'s `stickers.json`. */
|
|
192
|
+
id: number;
|
|
193
|
+
/** Scratch, `0` (mint) to `1` (scraped off). Default `0`. Updates IN PLACE - see {@link CHEAP_FIELDS}. */
|
|
194
|
+
wear?: number;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* ONE CHARM, OFF THE GUN.
|
|
198
|
+
*
|
|
199
|
+
* It hangs in the pose its own model authors and does not swing: the physics exists to answer to how a
|
|
200
|
+
* rifle is being turned, and there is no rifle here. Everything that is the charm's own - its model,
|
|
201
|
+
* its per-id material, its template - is unchanged.
|
|
202
|
+
*/
|
|
203
|
+
export type ViewerCharmSubject = {
|
|
204
|
+
/** The id in `@skinhub/cdn`'s `keychains.json`. */
|
|
205
|
+
id: number;
|
|
206
|
+
/**
|
|
207
|
+
* The charm's template. NOT a variant: it drives a hue/saturation/brightness adjust on the charm's
|
|
208
|
+
* own albedo, so two charms with the same `id` and a different value are the same model in different
|
|
209
|
+
* colours. Default `0`. Updates IN PLACE.
|
|
210
|
+
*
|
|
211
|
+
* *** SPELLED `pattern` HERE AND `seed` ON {@link SkinViewerCharm}, WHICH IS DELIBERATE. *** On a
|
|
212
|
+
* weapon the charm sits beside a paint `seed` and calling it a seed reads naturally; as a SUBJECT it
|
|
213
|
+
* sits beside nothing, and `pattern` is what the wire, the game and the URL (`?pattern=`) all call
|
|
214
|
+
* it. The one word that could not be reused in both places is `seed`, because on the URL that is
|
|
215
|
+
* already the weapon's paint seed.
|
|
216
|
+
*/
|
|
217
|
+
pattern?: number;
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* ONE PIN, COIN, MEDAL OR TROPHY.
|
|
221
|
+
*
|
|
222
|
+
* *** IT HAS NOTHING ELSE, AND THAT IS THE WHOLE TYPE. *** No float, no seed, no wear, no template, no
|
|
223
|
+
* pose: two copies of the same medal ARE the same object. If you are drawing controls for an embedded
|
|
224
|
+
* collectible, there is nothing to draw except the camera.
|
|
225
|
+
*/
|
|
226
|
+
export type ViewerCollectibleSubject = {
|
|
227
|
+
/** The item definition index in `@skinhub/cdn`'s `collectibles.json`. */
|
|
228
|
+
id: number;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* ONE OPERATOR, ALONE - the agent as the SUBJECT rather than as the person holding a weapon.
|
|
232
|
+
*
|
|
233
|
+
* ═════════════════════════════════════════════════════════════════════════════════════════════
|
|
234
|
+
* *** WHY THIS IS NOT {@link ViewerAgent}, WHEN IT NAMES THE SAME CATALOGUE ROW. ***
|
|
235
|
+
*
|
|
236
|
+
* They are two pictures, and the prop you pass is which one you get:
|
|
237
|
+
*
|
|
238
|
+
* `agent={{ id }}` WHO IS HOLDING IT. A modifier on the weapon subject, visible in the `hands`
|
|
239
|
+
* and `agent` views, ignored in `gun`. The weapon is what is being shown.
|
|
240
|
+
* `operator={{ id }}` THE PERSON IS WHAT IS BEING SHOWN. No weapon is drawn at all.
|
|
241
|
+
*
|
|
242
|
+
* A marketplace with an agent row in an inventory wants the second: they asked for Sir Bloody Darryl,
|
|
243
|
+
* and rendering him holding an AK-47 nobody named would be a picture of two items, one of them
|
|
244
|
+
* invented. (Our own site made the opposite call for its own routes, for a reason that does not carry:
|
|
245
|
+
* in the app there is always a weapon being configured, so `/agent/:id` folds into `?view=agent`
|
|
246
|
+
* rather than duplicating a surface. An embed has no such weapon.)
|
|
247
|
+
*
|
|
248
|
+
* PASSING BOTH IS NOT POSSIBLE for the subject - `?: never` - and passing `agent` ALONGSIDE `operator`
|
|
249
|
+
* simply does nothing, because there is no weapon for anyone to hold.
|
|
250
|
+
*/
|
|
251
|
+
export type ViewerOperatorSubject = {
|
|
252
|
+
/** An agent's item definition index; `5036` is the default Terrorist. */
|
|
253
|
+
id: number;
|
|
254
|
+
/**
|
|
255
|
+
* Which main-menu performance they play, by clip leaf name, or `null` (the default) for their
|
|
256
|
+
* team's own knife idle - what CS2's main menu opens on.
|
|
257
|
+
*
|
|
258
|
+
* 285 leaves across 44 weapon families are reachable. THE WEAPON EACH CLIP HOLDS IS NOT DRAWN, so
|
|
259
|
+
* `Look at gun` is an operator studying an empty hand; that is a property of the performance rather
|
|
260
|
+
* than a defect. Updates IN PLACE - the clip is swapped on a rig that keeps running.
|
|
261
|
+
*/
|
|
262
|
+
pose?: string | null;
|
|
263
|
+
};
|
|
167
264
|
/**
|
|
168
265
|
* What the item is being shown ON. All three are the same item under the same lighting, finish,
|
|
169
266
|
* stickers and charm - the difference is the camera and what is holding the weapon.
|
|
170
267
|
*
|
|
268
|
+
* *** IT IS A PROPERTY OF THE WEAPON SUBJECT AND IS IGNORED BY THE OTHER FOUR. *** A sticker is not a
|
|
269
|
+
* way of showing a weapon, so there is nothing for it to choose between.
|
|
270
|
+
*
|
|
171
271
|
* `gun` the item alone, orbitable, framed to the viewport. The default.
|
|
172
272
|
* `hands` CS2's first-person viewmodel, driven by the game's own clips. Orbit is off here because
|
|
173
273
|
* there is nothing to orbit: the weapon is welded to the eye.
|
|
@@ -426,14 +526,28 @@ export type ViewerResize = {
|
|
|
426
526
|
* was still `undefined` when the component mounted: the frame renders a short instruction card rather
|
|
427
527
|
* than a blank box or - worse - our default AK-47, which would look like a successful render of the
|
|
428
528
|
* wrong item. `onError` fires with `no-item` at the same time. See `SkinViewer.tsx`.
|
|
529
|
+
*
|
|
530
|
+
* *** AND IT IS SIX ARMS NOW RATHER THAN TWO, on exactly the same rule. *** A weapon, an inspect link
|
|
531
|
+
* and the four subjects above are six ways of naming ONE thing to render, and the same `?: never`
|
|
532
|
+
* enforcement covers all of them: passing two is an excess-property error, passing none is a
|
|
533
|
+
* missing-property error, and there is no `kind` discriminator anywhere because the prop you passed is
|
|
534
|
+
* the discriminator.
|
|
429
535
|
*/
|
|
430
|
-
|
|
536
|
+
type SubjectArms = {
|
|
431
537
|
inspectLink: string;
|
|
432
|
-
item?: never;
|
|
433
|
-
} | {
|
|
434
538
|
item: SkinViewerItem;
|
|
435
|
-
|
|
539
|
+
sticker: ViewerStickerSubject;
|
|
540
|
+
charm: ViewerCharmSubject;
|
|
541
|
+
collectible: ViewerCollectibleSubject;
|
|
542
|
+
operator: ViewerOperatorSubject;
|
|
543
|
+
};
|
|
544
|
+
/** One arm present, the other five forbidden. Written once so six arms cannot disagree about five. */
|
|
545
|
+
type OnlySubject<K extends keyof SubjectArms> = {
|
|
546
|
+
[P in K]: SubjectArms[P];
|
|
547
|
+
} & {
|
|
548
|
+
[P in Exclude<keyof SubjectArms, K>]?: never;
|
|
436
549
|
};
|
|
550
|
+
export type ViewerSubject = OnlySubject<'inspectLink'> | OnlySubject<'item'> | OnlySubject<'sticker'> | OnlySubject<'charm'> | OnlySubject<'collectible'> | OnlySubject<'operator'>;
|
|
437
551
|
export type SkinViewerProps = ViewerSubject & {
|
|
438
552
|
/** Default `'gun'`. See {@link ViewerView}. */
|
|
439
553
|
view?: ViewerView;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAM5C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG;IAC7B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;CACnD,CAAA;AAED,iHAAiH;AACjH,KAAK,iBAAiB,GAAG;IACxB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,oGAAoG;IACpG,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAA;IAChD,6CAA6C;IAC7C,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -41,6 +41,17 @@ import { LINK } from './link.js';
|
|
|
41
41
|
* This list is the FIRST half. It is here, as a value, because {@link SkinViewerProps.loading} is
|
|
42
42
|
* raised off its complement - see `SkinViewer.tsx`'s `isIdentityChange` - and because a contract an
|
|
43
43
|
* integrator relies on should be readable without opening the renderer.
|
|
44
|
+
*
|
|
45
|
+
* *** AND THE SAME SPLIT FOR THE OTHER FOUR SUBJECTS, which is a shorter table because they are
|
|
46
|
+
* smaller items: ***
|
|
47
|
+
*
|
|
48
|
+
* `sticker` identity `id`, cheap `wear`
|
|
49
|
+
* `charm` identity `id`, cheap `pattern`
|
|
50
|
+
* `collectible` identity `id`, and NOTHING is cheap - there is no other field to change
|
|
51
|
+
* `operator` identity `id`, cheap `pose`
|
|
52
|
+
*
|
|
53
|
+
* *** CHANGING WHICH SUBJECT YOU PASS IS ALWAYS AN IDENTITY CHANGE, *** in every direction: a weapon
|
|
54
|
+
* and a pin are drawn by different renderers, so the picture is rebuilt from nothing.
|
|
44
55
|
*/
|
|
45
56
|
export const CHEAP_FIELDS = ['float', 'seed', 'statTrak', 'nameTag', 'stickers', 'charm'];
|
|
46
57
|
/* ═════════════════════════════════════════════════════════════════════════════════════════════
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAAE,IAAI,EAAmB,MAAM,WAAW,CAAA;AAsGjD
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAAE,IAAI,EAAmB,MAAM,WAAW,CAAA;AAsGjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAA;AAwLlG;;;;;;;;;;;;iGAYiG;AAEjG;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,SAAS;IACT,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,WAAW;CACF,CAAA;AA2ZV;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skinhub/viewer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "React wrapper for the SkinHub CS2 skin viewer embed — props in, postMessage out. No three.js, no renderer, no asset bundle; React is the only peer.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|