@diffenderfer-games/hub 2.0.0-next.5 → 2.0.0-next.6

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.
Files changed (170) hide show
  1. package/CHANGELOG.md +54 -19
  2. package/README.md +3 -6
  3. package/dist/auto.d.ts +5 -5
  4. package/dist/auto.js +2 -2
  5. package/dist/avatar-pixi.d.ts +147 -0
  6. package/dist/avatar-pixi.d.ts.map +1 -0
  7. package/dist/avatar-pixi.js +280 -0
  8. package/dist/avatar-pixi.js.map +1 -0
  9. package/dist/avatar-svg.d.ts +4 -0
  10. package/dist/avatar-svg.js +5 -0
  11. package/dist/avatar-three.d.ts +69 -0
  12. package/dist/avatar-three.d.ts.map +1 -0
  13. package/dist/avatar-three.js +49 -0
  14. package/dist/avatar-three.js.map +1 -0
  15. package/dist/avatar.d.ts +7 -0
  16. package/dist/avatar.js +487 -0
  17. package/dist/avatar.js.map +1 -0
  18. package/dist/daily.d.ts +2 -2
  19. package/dist/doctor/cli.mjs +1 -1
  20. package/dist/index.d.ts +5 -5
  21. package/dist/index.js +2 -2
  22. package/dist/input.d.ts +2 -2
  23. package/dist/shared/animator.d.ts +104 -0
  24. package/dist/shared/animator.d.ts.map +1 -0
  25. package/dist/shared/art.js +1804 -0
  26. package/dist/shared/art.js.map +1 -0
  27. package/dist/shared/atlas.d.ts +134 -0
  28. package/dist/shared/atlas.d.ts.map +1 -0
  29. package/dist/shared/avatar.d.ts +117 -0
  30. package/dist/shared/avatar.d.ts.map +1 -0
  31. package/dist/shared/bridge.js +13 -5
  32. package/dist/shared/bridge.js.map +1 -1
  33. package/dist/shared/client-version.gen.js +1 -1
  34. package/dist/shared/daily.d.ts +129 -18
  35. package/dist/shared/daily.d.ts.map +1 -1
  36. package/dist/shared/daily.js +120 -26
  37. package/dist/shared/daily.js.map +1 -1
  38. package/dist/shared/defineProperty.js +39 -0
  39. package/dist/shared/describe.d.ts +32 -0
  40. package/dist/shared/describe.d.ts.map +1 -0
  41. package/dist/shared/describe.js +101 -0
  42. package/dist/shared/describe.js.map +1 -0
  43. package/dist/shared/globals.js +1 -39
  44. package/dist/shared/globals.js.map +1 -1
  45. package/dist/shared/index.d.ts +503 -14
  46. package/dist/shared/index.d.ts.map +1 -1
  47. package/dist/shared/input.d.ts +31 -13
  48. package/dist/shared/input.d.ts.map +1 -1
  49. package/dist/shared/input.js +40 -2
  50. package/dist/shared/input.js.map +1 -1
  51. package/dist/shared/json-guards.js +48 -0
  52. package/dist/shared/json-guards.js.map +1 -0
  53. package/dist/shared/live-canvas.js +62 -0
  54. package/dist/shared/live-canvas.js.map +1 -0
  55. package/dist/shared/mp.js +1 -1
  56. package/dist/shared/overlays.js +800 -0
  57. package/dist/shared/overlays.js.map +1 -0
  58. package/dist/shared/page-stack.js +2 -1
  59. package/dist/shared/page-stack.js.map +1 -1
  60. package/dist/shared/pose-key.js +249 -0
  61. package/dist/shared/pose-key.js.map +1 -0
  62. package/dist/shared/race.js +1 -1
  63. package/dist/shared/rooms.js +1 -1
  64. package/dist/shared/scene.d.ts +90 -0
  65. package/dist/shared/scene.d.ts.map +1 -0
  66. package/dist/shared/social.d.ts +55 -4
  67. package/dist/shared/social.d.ts.map +1 -1
  68. package/dist/shared/src.js +2020 -144
  69. package/dist/shared/src.js.map +1 -1
  70. package/dist/shared/svg-markup.js +1860 -0
  71. package/dist/shared/svg-markup.js.map +1 -0
  72. package/dist/shared/svg.js +27 -0
  73. package/dist/shared/svg.js.map +1 -0
  74. package/dist/shared/types.d.ts +166 -0
  75. package/dist/shared/types.d.ts.map +1 -0
  76. package/dist/social.d.ts +2 -2
  77. package/dist/social.js +2 -2
  78. package/dist/turns.d.ts +39 -0
  79. package/dist/turns.d.ts.map +1 -0
  80. package/dist/turns.js +117 -0
  81. package/dist/turns.js.map +1 -0
  82. package/package.json +33 -3
  83. package/src/avatar/adapters/pixi-avatar.ts +73 -0
  84. package/src/avatar/adapters/pixi-crowd.ts +302 -0
  85. package/src/avatar/adapters/pixi-types.ts +84 -0
  86. package/src/avatar/adapters/three.ts +126 -0
  87. package/src/avatar/animator/animator.ts +285 -0
  88. package/src/avatar/animator/reactions.ts +44 -0
  89. package/src/avatar/animator/schedule.ts +73 -0
  90. package/src/avatar/art/beard.ts +49 -0
  91. package/src/avatar/art/glasses.ts +9 -0
  92. package/src/avatar/art/hair.ts +254 -0
  93. package/src/avatar/art/headwear.ts +75 -0
  94. package/src/avatar/art/index.ts +21 -0
  95. package/src/avatar/art/shape.ts +68 -0
  96. package/src/avatar/art-store.ts +36 -0
  97. package/src/avatar/atlas.ts +236 -0
  98. package/src/avatar/catalog-view.ts +14 -0
  99. package/src/avatar/colour.ts +109 -0
  100. package/src/avatar/describe.ts +76 -0
  101. package/src/avatar/face.ts +187 -0
  102. package/src/avatar/geom.ts +168 -0
  103. package/src/avatar/layout.ts +47 -0
  104. package/src/avatar/look-like.ts +52 -0
  105. package/src/avatar/outputs/bitmap.ts +75 -0
  106. package/src/avatar/outputs/canvas-paint.ts +177 -0
  107. package/src/avatar/outputs/canvas.ts +62 -0
  108. package/src/avatar/outputs/custom-element.ts +140 -0
  109. package/src/avatar/outputs/element.ts +58 -0
  110. package/src/avatar/outputs/live-canvas.ts +57 -0
  111. package/src/avatar/outputs/overlay-svg.ts +22 -0
  112. package/src/avatar/outputs/pose-key.ts +30 -0
  113. package/src/avatar/outputs/svg-markup.ts +113 -0
  114. package/src/avatar/outputs/svg.ts +41 -0
  115. package/src/avatar/overlays.ts +128 -0
  116. package/src/avatar/render/body.ts +116 -0
  117. package/src/avatar/render/colours.ts +81 -0
  118. package/src/avatar/render/compose.ts +258 -0
  119. package/src/avatar/render/context.ts +117 -0
  120. package/src/avatar/render/eyes.ts +78 -0
  121. package/src/avatar/render/eyewear.ts +56 -0
  122. package/src/avatar/render/frame.ts +60 -0
  123. package/src/avatar/render/head.ts +81 -0
  124. package/src/avatar/render/mouth.ts +86 -0
  125. package/src/avatar/render/props.ts +91 -0
  126. package/src/avatar/render/types.ts +84 -0
  127. package/src/avatar/scene.ts +119 -0
  128. package/src/avatar-pixi.ts +20 -0
  129. package/src/avatar-svg.ts +21 -0
  130. package/src/avatar-three.ts +18 -0
  131. package/src/avatar.ts +62 -0
  132. package/src/core/avatar/avatar-cache.ts +95 -0
  133. package/src/core/avatar/avatar-ref.ts +34 -0
  134. package/src/core/avatar/avatar-types.ts +43 -0
  135. package/src/core/avatar/hub-avatar.ts +308 -0
  136. package/src/core/connection.ts +8 -0
  137. package/src/core/errors.ts +7 -1
  138. package/src/core/hub-progress.ts +269 -238
  139. package/src/core/hub.ts +174 -6
  140. package/src/core/offline/hub-kinds/avatar-kind.ts +42 -0
  141. package/src/core/offline/hub-kinds/index.ts +9 -0
  142. package/src/core/offline/hub-kinds/saved-kind.ts +93 -0
  143. package/src/core/page-account.ts +121 -0
  144. package/src/core/rest/routes.gen.ts +31 -1
  145. package/src/core/resume/hub-resume.ts +39 -5
  146. package/src/core/resume/resume-types.ts +2 -2
  147. package/src/core/saved/daily-saves.ts +196 -0
  148. package/src/core/saved/daily-seed.ts +16 -0
  149. package/src/core/saved/hub-saved.ts +221 -0
  150. package/src/core/saved/local-saved.ts +122 -0
  151. package/src/core/saved/saved-list.ts +129 -0
  152. package/src/core/saved/saved-open.ts +104 -0
  153. package/src/core/saved/saved-order.ts +49 -0
  154. package/src/core/saved/saved-types.ts +24 -0
  155. package/src/core/turns/hub-turns.ts +140 -0
  156. package/src/core/turns/turn-game.ts +388 -0
  157. package/src/core/version/client-version.gen.ts +2 -2
  158. package/src/daily/daily-system.ts +112 -13
  159. package/src/daily/page-daily.ts +2 -2
  160. package/src/daily/types.ts +46 -9
  161. package/src/doctor/hub-version-fetch.ts +43 -43
  162. package/src/index.ts +10 -1
  163. package/src/input/input-system.ts +10 -1
  164. package/src/input/navigator.ts +11 -0
  165. package/src/input.ts +1 -0
  166. package/src/overlay/overlay.ts +25 -1
  167. package/src/realtime/runtime-api.ts +14 -3
  168. package/src/social.ts +1 -0
  169. package/src/turns-kit/check-rules.ts +182 -0
  170. package/src/turns.ts +13 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"art.js","names":[],"sources":["../../src/avatar/art/beard.ts","../../src/avatar/art/glasses.ts","../../src/avatar/art/hair.ts","../../src/avatar/art/headwear.ts","../../src/avatar/art/index.ts"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { n as BodyPose, o as LookLike, r as Facing, u as StatusProp } from "./types.js";
2
+ import { t as SceneNode } from "./scene.js";
3
+ //#region src/avatar/outputs/canvas-paint.d.ts
4
+ /** A 2D context from a canvas or an `OffscreenCanvas`. */
5
+ type Ctx2D = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
6
+ /** Makes a scratch canvas of a size (for the rim layer); `null` where none can be made. */
7
+ type LayerFactory = (width: number, height: number) => {
8
+ readonly canvas: CanvasImageSource;
9
+ readonly ctx: Ctx2D;
10
+ } | null;
11
+ /** Paints scene nodes in the context's current transform (rig units → pixels is the caller's job). */
12
+ declare function paintNodes(ctx: Ctx2D, nodes: readonly SceneNode[], layer?: LayerFactory): void;
13
+ //#endregion
14
+ //#region src/avatar/overlays.d.ts
15
+ /** An overlay: nodes around its anchor, plus its size for culling and layout. */
16
+ interface Overlay {
17
+ readonly nodes: readonly SceneNode[];
18
+ readonly width: number;
19
+ readonly height: number;
20
+ /** Its bounds around the anchor: x, y, width, height. */
21
+ readonly box: readonly [number, number, number, number];
22
+ }
23
+ /** A name tag: the username in a pill; friends get a green dot and a ★ (never colour alone), you get an accent outline. */
24
+ declare function nameTag(o: {
25
+ readonly name: string;
26
+ readonly friend?: boolean;
27
+ readonly you?: boolean;
28
+ readonly muted?: boolean;
29
+ }): Overlay;
30
+ /** A small game glyph for the activity bubble. */
31
+ type ActivityIcon = 'cards' | 'controller' | 'puzzle' | 'race';
32
+ /** "Playing Uno": the game's catalog title in a light bubble with a tail. */
33
+ declare function activityBubble(o: {
34
+ readonly game: string;
35
+ readonly icon?: ActivityIcon;
36
+ readonly verb?: string;
37
+ }): Overlay;
38
+ /** An emote popping above the head (the hub's quick-chat emotes). */
39
+ declare function emoteBubble(emote: string): Overlay;
40
+ /** Small state glyphs: `!`, `?`, `…` (typing), `zzz`, `♥`. */
41
+ type ReactionGlyph = '!' | '?' | '…' | 'zzz' | '♥';
42
+ /** A reaction glyph in a small bubble. */
43
+ declare function reactionBubble(glyph: ReactionGlyph): Overlay;
44
+ /** The hover or selection ring at the feet (`radius` in px). */
45
+ declare function selectionRing(o?: {
46
+ readonly radius?: number;
47
+ readonly selected?: boolean;
48
+ }): Overlay;
49
+ /** Every overlay builder, as the `overlays` namespace. */
50
+ declare const overlays: {
51
+ nameTag: typeof nameTag;
52
+ activityBubble: typeof activityBubble;
53
+ emoteBubble: typeof emoteBubble;
54
+ reactionBubble: typeof reactionBubble;
55
+ selectionRing: typeof selectionRing;
56
+ };
57
+ //#endregion
58
+ //#region src/avatar/atlas.d.ts
59
+ /** What to bake. */
60
+ interface AtlasKey {
61
+ readonly look: LookLike;
62
+ readonly facing?: Facing;
63
+ readonly body?: BodyPose;
64
+ /** 0 … 1 through the pose's cycle (walk: 8 steps, idle: 4). */
65
+ readonly phase?: number;
66
+ /** One of the baked faces (default `neutral`). */
67
+ readonly face?: 'neutral' | 'happy' | 'surprised';
68
+ readonly status?: StatusProp | null;
69
+ /** Bake at this many px per rig unit (default the atlas scale; far avatars use half). */
70
+ readonly scale?: number;
71
+ }
72
+ /** A baked frame: where it is on which page, and where the feet are inside it. */
73
+ interface AtlasFrame {
74
+ readonly page: number;
75
+ readonly source: CanvasImageSource;
76
+ readonly x: number;
77
+ readonly y: number;
78
+ readonly w: number;
79
+ readonly h: number;
80
+ /** The feet inside the frame, px from its top-left. */
81
+ readonly footX: number;
82
+ readonly footY: number;
83
+ /** Draw flipped horizontally (W, SW, NW). */
84
+ readonly mirror: boolean;
85
+ }
86
+ /** Atlas options. */
87
+ interface AtlasOptions {
88
+ /** Page edge in px (default 2048, 1024 on low-end devices). */
89
+ readonly pageSize?: number;
90
+ /** At most this many pages (default 4); the least recently used is recycled. */
91
+ readonly maxPages?: number;
92
+ /** Px per rig unit (default 0.32: a full character ≈ 64 px tall). */
93
+ readonly scale?: number;
94
+ /** The light rim for dark floors (default on). */
95
+ readonly rim?: boolean;
96
+ /** Makes page canvases (tests, workers); default an `OffscreenCanvas` or DOM canvas. */
97
+ readonly makeCanvas?: (size: number) => {
98
+ readonly canvas: CanvasImageSource;
99
+ readonly ctx: Ctx2D;
100
+ } | null;
101
+ }
102
+ /** The atlas. */
103
+ declare class AvatarAtlas {
104
+ readonly pageSize: number;
105
+ readonly scale: number;
106
+ private readonly maxPages;
107
+ private readonly rim;
108
+ private readonly makeCanvas;
109
+ private readonly pages;
110
+ private readonly frames;
111
+ private readonly queue;
112
+ /** The last frame baked per look code (a stand-in while new frames bake). */
113
+ private readonly latestByLook;
114
+ private clock;
115
+ constructor(opts?: AtlasOptions);
116
+ /** The frame for a key: the baked frame, or `null` (queued for {@link bake}). */
117
+ frame(key: AtlasKey): AtlasFrame | null;
118
+ /** A baked frame whose page still holds it (touching the page for the LRU). */
119
+ private live;
120
+ /** Bakes queued frames for up to `budgetMs` (default 4 ms), oldest first. Returns how many were baked. */
121
+ bake(budgetMs?: number, now?: () => number): number;
122
+ /** Frames still waiting to bake. */
123
+ get pending(): number;
124
+ /** Every page's image (for texture uploads). */
125
+ get sources(): readonly CanvasImageSource[];
126
+ private keyOf;
127
+ private place;
128
+ private bakeOne;
129
+ }
130
+ /** A new atlas (one per scene; pages are shared by every avatar in it). */
131
+ declare function createAtlas(opts?: AtlasOptions): AvatarAtlas;
132
+ //#endregion
133
+ export { ActivityIcon as a, overlays as c, createAtlas as i, Ctx2D as l, AtlasOptions as n, Overlay as o, AvatarAtlas as r, ReactionGlyph as s, AtlasFrame as t, paintNodes as u };
134
+ //# sourceMappingURL=atlas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlas.d.ts","names":[],"sources":["../../src/avatar/outputs/canvas-paint.ts","../../src/avatar/overlays.ts","../../src/avatar/atlas.ts"],"mappings":";;;;KAUY,QAAQ,2BAA2B;;KAGnC,gBAAgB,eAAe;WAA8B,QAAQ;WAA4B,KAAK;;;iBAgGlG,WAAW,KAAK,OAAO,gBAAgB,aAAa,QAAQ;;;;UCpG3D;WACN,gBAAgB;WAChB;WACA;;WAEA;;;iBAUK,QAAQ;WAAc;WAAuB;WAA2B;WAAwB;IAAoB;;KAmBxH;;iBAmBI,eAAe;WAAc;WAAuB,OAAO;WAAuB;IAAkB;;iBAmBpG,YAAY,gBAAgB;;KAgBhC;;iBAGI,eAAe,OAAO,gBAAgB;;iBAgBtC,cAAc;WAAc;WAA0B;IAA4B;;cAWrF;;;;;;;;;;UC/GI;WACN,MAAM;WACN,SAAS;WACT,OAAO;;WAEP;;WAEA;WACA,SAAS;;WAET;;;UAIM;WACN;WACA,QAAQ;WACR;WACA;WACA;WACA;;WAEA;WACA;;WAEA;;;UAIM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA,cAAc;aAA4B,QAAQ;aAA4B,KAAK;;;;cAmBjF;WACF;WACA;mBACQ;mBACA;mBACA;mBACA;mBACA;mBACA;;mBAEA;UACT;EAEI,YAAA,OAAM;;EASlB,MAAM,KAAK,WAAW;;UAcd;;EAWR,KAAK,mBAAc;;MAgBf;;MAKA,oBAAoB;UAIhB;UAQA;UAyCA;;;iBAsCM,YAAY,OAAM,eAAoB"}
@@ -0,0 +1,117 @@
1
+ import { _ as FaceParams, a as LookDir, b as isExpression, c as Pose, d as View, f as BrowParams, g as FaceExtra, h as Expression, i as Frame, l as RenderOptions, m as EXPRESSION_NAMES, n as BodyPose, o as LookLike, p as EXPRESSIONS, r as Facing, s as Point, t as Anchor, u as StatusProp, v as MouthParams, x as mix, y as expressionFromEmote } from "./types.js";
2
+ import { t as SceneNode } from "./scene.js";
3
+ import { a as ActivityIcon, c as overlays, i as createAtlas, l as Ctx2D, n as AtlasOptions, o as Overlay, r as AvatarAtlas, s as ReactionGlyph, t as AtlasFrame, u as paintNodes } from "./atlas.js";
4
+ import { a as renderSvg, c as composeAvatar, i as ready, n as describe, o as Composed, r as onArtReady, s as HEAD_Y, t as avatarEmoji } from "./describe.js";
5
+ import { a as animator, i as Feeling, n as AnimatorOptions, o as REACTIONS, r as At, s as Reaction, t as Animator } from "./animator.js";
6
+ import { ACCESSORY_SLOTS, AccessorySlot, AvatarLook, AvatarLook as AvatarLook$1, CATALOG, CATALOG_REVISION as CATALOG_REVISION$1, CatalogEntry, CatalogEntry as CatalogEntry$1, DEFAULT_GEN, DecodedLook, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookPart, LookProblem, PALETTES as PALETTES$1, PaletteName, PartCategory, PartCategory as PartCategory$1, Preset, RandomLookOptions, Rng, canonicalLook, decodeLook as decodeLook$1, defaultLook as defaultLook$1, distinctLooks, encodeLook as encodeLook$1, isLookCode as isLookCode$1, isValidLook, lookProblem, normaliseHex as normaliseHex$1, partById, partName as partName$1, partsOf as partsOf$1, randomLook, resolveColour as resolveColour$1, sameLook, seededRng } from "@diffenderfer-games/hub-contract/avatar";
7
+ //#endregion
8
+ //#region src/avatar/outputs/bitmap.d.ts
9
+ /** An `ImageBitmap` of the avatar (cached). */
10
+ declare function renderBitmap(like: LookLike, opts?: RenderOptions): Promise<ImageBitmap>;
11
+ /** A data URL: `svg` (synchronous inside, the default) or `png`. */
12
+ declare function renderDataUrl(like: LookLike, opts?: RenderOptions, type?: 'svg' | 'png'): Promise<string>;
13
+ //#endregion
14
+ //#region src/avatar/outputs/canvas.d.ts
15
+ /** Where and how big: the frame box's top-left corner in canvas pixels. */
16
+ interface CanvasPlacement extends RenderOptions {
17
+ readonly x: number;
18
+ readonly y: number;
19
+ }
20
+ /** Draws an avatar in a frame box whose top-left is (x, y), `size` px on its longer edge. */
21
+ declare function renderCanvas(ctx: Ctx2D, like: LookLike, opts: CanvasPlacement): void;
22
+ /** Draws the full character with its feet at (x, y), `scale` px per rig unit (a 100-unit head). */
23
+ declare function renderCanvasAt(ctx: Ctx2D, like: LookLike, opts: RenderOptions & {
24
+ readonly x: number;
25
+ readonly y: number;
26
+ readonly scale: number;
27
+ }): void;
28
+ //#endregion
29
+ //#region src/avatar/outputs/element.d.ts
30
+ /** A live avatar element. */
31
+ interface AvatarElement {
32
+ /** The element to insert (an inline-block `<span>` holding the `<svg>`). */
33
+ readonly el: HTMLElement;
34
+ /** Shows a new pose (an animator's `pose(t)`). */
35
+ update(pose: Pose): void;
36
+ /** Swaps the look (a player changed their avatar). */
37
+ setLook(like: LookLike): void;
38
+ /** Changes size, frame, facing or other options. */
39
+ setOptions(opts: RenderOptions): void;
40
+ }
41
+ /** A live avatar element; it upgrades itself from the silhouette when the art loads. */
42
+ declare function renderElement(like: LookLike, opts?: RenderOptions, doc?: Document): AvatarElement;
43
+ //#endregion
44
+ //#region src/avatar/layout.d.ts
45
+ /**
46
+ * The rig anchors for a look in a facing and pose: place name plates,
47
+ * bubbles, props and world objects with these, never with magic numbers.
48
+ * Rig units (a 100-unit head), feet at (0, 0), y down.
49
+ */
50
+ declare function layout(like: LookLike, opts?: Pick<RenderOptions, 'facing' | 'view' | 'pose'>): Readonly<Record<Anchor, Point>>;
51
+ /** The facing for a movement vector (screen space, y down), in 8 or 4 directions. */
52
+ declare function facingFrom(dx: number, dy: number, dirs?: 4 | 8): Facing;
53
+ /**
54
+ * A look direction from one screen point toward another, for card tables
55
+ * where each seat looks at the active player. `strength` scales it.
56
+ */
57
+ declare function lookToward(from: Point, to: Point, strength?: number): LookDir;
58
+ //#endregion
59
+ //#region src/avatar/outputs/custom-element.d.ts
60
+ /**
61
+ * Registers `<dg-avatar>` (or another tag). Safe to call more than once;
62
+ * a no-op outside a browser.
63
+ */
64
+ declare function defineAvatarElement(tag?: string): void;
65
+ //#endregion
66
+ //#region src/avatar/outputs/overlay-svg.d.ts
67
+ /** The overlay as an `<svg>` of its own size (decorative). */
68
+ declare function overlaySvg(overlay: Overlay, scale?: number): string;
69
+ /** Paints an overlay with its anchor at (x, y). */
70
+ declare function paintOverlay(ctx: Ctx2D, overlay: Overlay, atX: number, atY: number, scale?: number): void;
71
+ //#endregion
72
+ //#region src/avatar/catalog-view.d.ts
73
+ /** The catalog view. */
74
+ declare const catalog: {
75
+ /** The parts of a category in designer order (retired parts hidden). */
76
+ parts(category: PartCategory): readonly CatalogEntry[];
77
+ /** Every colour palette. */
78
+ palettes: Readonly<Record<import("@diffenderfer-games/hub-contract/avatar").PaletteName, readonly import("@diffenderfer-games/hub-contract/avatar").Preset[]>>;
79
+ /** The catalog revision this build knows. */
80
+ revision: number;
81
+ };
82
+ //#endregion
83
+ //#region src/avatar/outputs/svg-markup.d.ts
84
+ /** A scene as SVG markup plus the `<defs>` it needs. */
85
+ declare function sceneToSvg(nodes: readonly SceneNode[], prefix: string): {
86
+ readonly body: string;
87
+ readonly defs: string;
88
+ };
89
+ //#endregion
90
+ //#region src/avatar/look-like.d.ts
91
+ /** The look a {@link LookLike} names, or `null` (hidden, malformed, missing). */
92
+ declare function toLook(like: LookLike): AvatarLook | null;
93
+ /** The code a {@link LookLike} names (`''` for none). */
94
+ declare function toCode(like: LookLike): string;
95
+ //#endregion
96
+ //#region src/avatar/colour.d.ts
97
+ /** OKLab lightness, 0 … 1. */
98
+ declare const lightness: (hex: string) => number;
99
+ /** Perceptual distance (OKLab ΔE × 100). */
100
+ declare function deltaE(a: string, b: string): number;
101
+ /** WCAG contrast ratio between two colours. */
102
+ declare function contrast(a: string, b: string): number;
103
+ declare namespace avatar_d_exports {
104
+ export { ACCESSORY_SLOTS, AccessorySlot, ActivityIcon, Anchor, Animator, AnimatorOptions, At, AtlasFrame, AtlasOptions, AvatarAtlas, AvatarElement, AvatarLook$1 as AvatarLook, BodyPose, BrowParams, CATALOG, CATALOG_REVISION$1 as CATALOG_REVISION, CanvasPlacement, CatalogEntry$1 as CatalogEntry, Composed, Ctx2D, DEFAULT_GEN, DecodedLook, EXPRESSIONS, EXPRESSION_NAMES, Expression, FaceExtra, FaceParams, Facing, Feeling, Frame, HEAD_Y, LOOK_CODE_PREFIX, LookAccessory, LookColour, LookDir, LookLike, LookPart, LookProblem, MouthParams, Overlay, PALETTES$1 as PALETTES, PaletteName, PartCategory$1 as PartCategory, Point, Pose, Preset, REACTIONS, RandomLookOptions, Reaction, ReactionGlyph, RenderOptions, Rng, SceneNode, StatusProp, View, animator, avatarEmoji, canonicalLook, catalog, composeAvatar, contrast, createAtlas, decodeLook$1 as decodeLook, defaultLook$1 as defaultLook, defineAvatarElement, deltaE, describe, distinctLooks, encodeLook$1 as encodeLook, expressionFromEmote, facingFrom, isExpression, isLookCode$1 as isLookCode, isValidLook, layout, lightness, lookProblem, lookToward, mix, normaliseHex$1 as normaliseHex, onArtReady, overlaySvg, overlays, paintNodes, paintOverlay, partById, partName$1 as partName, partsOf$1 as partsOf, randomLook, ready, render, resolveColour$1 as resolveColour, sameLook, sceneToSvg, seededRng, toCode, toLook };
105
+ }
106
+ /** Every output: SVG markup, a live element, Canvas 2D, a bitmap or a data URL. */
107
+ declare const render: {
108
+ svg: typeof renderSvg;
109
+ element: typeof renderElement;
110
+ canvas: typeof renderCanvas;
111
+ canvasAt: typeof renderCanvasAt;
112
+ bitmap: typeof renderBitmap;
113
+ dataUrl: typeof renderDataUrl;
114
+ };
115
+ //#endregion
116
+ export { partById as A, lightness as B, defaultLook$1 as C, isValidLook as D, isLookCode$1 as E, resolveColour$1 as F, overlaySvg as G, toLook as H, sameLook as I, facingFrom as J, paintOverlay as K, seededRng as L, partsOf$1 as M, randomLook as N, lookProblem as O, render as P, CanvasPlacement as Q, contrast as R, decodeLook$1 as S, encodeLook$1 as T, sceneToSvg as U, toCode as V, catalog as W, lookToward as X, layout as Y, AvatarElement as Z, Preset as _, CATALOG_REVISION$1 as a, avatar_d_exports as b, DecodedLook as c, LookColour as d, LookPart as f, PartCategory$1 as g, PaletteName as h, CATALOG as i, partName$1 as j, normaliseHex$1 as k, LOOK_CODE_PREFIX as l, PALETTES$1 as m, AccessorySlot as n, CatalogEntry$1 as o, LookProblem as p, defineAvatarElement as q, AvatarLook$1 as r, DEFAULT_GEN as s, ACCESSORY_SLOTS as t, LookAccessory as u, RandomLookOptions as v, distinctLooks as w, canonicalLook as x, Rng as y, deltaE as z };
117
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","names":[],"sources":["../../src/avatar/outputs/bitmap.ts","../../src/avatar/outputs/canvas.ts","../../src/avatar/outputs/element.ts","../../src/avatar/layout.ts","../../src/avatar/outputs/custom-element.ts","../../src/avatar/outputs/overlay-svg.ts","../../src/avatar/catalog-view.ts","../../src/avatar/outputs/svg-markup.ts","../../src/avatar/look-like.ts","../../src/avatar/colour.ts","../../src/avatar.ts"],"mappings":";;;;;;;;;iBAsDgB,aAAa,MAAM,UAAU,OAAM,gBAAqB,QAAQ;;iBAK1D,cAAc,MAAM,UAAU,OAAM,eAAoB,uBAA8B;;;;UC5B3F,wBAAwB;WAC9B;WACA;;;iBAgBK,aAAa,KAAK,OAAO,MAAM,UAAU,MAAM;;iBAM/C,eAAe,KAAK,OAAO,MAAM,UAAU,MAAM;WAA2B;WAAoB;WAAoB;;;;;UC3CnH;;WAEN,IAAI;;EAEb,OAAO,MAAM;;EAEb,QAAQ,MAAM;;EAEd,WAAW,MAAM;;;iBAIH,cAAc,MAAM,UAAU,OAAM,eAAoB,MAAK,WAAsB;;;;;;;;iBCdnF,OAAO,MAAM,UAAU,OAAM,KAAK,6CAAkD,SAAS,OAAO,QAAQ;;iBAQ5G,WAAW,YAAY,YAAY,eAAkB;;;;;iBAerD,WAAW,MAAM,OAAO,IAAI,OAAO,oBAAe;;;;;;;iBCKlD,oBAAoB;;;;iBC9BpB,WAAW,SAAS,SAAS;;iBAO7B,aAAa,KAAK,OAAO,SAAS,SAAS,aAAa,aAAa;;;;cCXxE;;EAEK,MAAA,UAAA,wBAAwB;;;;;;;;;iBCmG1B,WAAW,gBAAgB,aAAa;WAA4B;WAAuB;;;;;iBChF3F,OAAO,MAAM,WAAW;;iBAiBxB,OAAO,MAAM;;;;cCmChB,YAAa;;iBAGV,OAAO,WAAW;;iBAwBlB,SAAS,WAAW;;;;;cClDvB"}
@@ -1,4 +1,5 @@
1
- import { a as isObject, i as hasMethods, o as readField, r as _defineProperty, t as LEGACY_GLOBAL_NAMES } from "./globals.js";
1
+ import { a as readField, i as isObject, r as hasMethods, t as LEGACY_GLOBAL_NAMES } from "./globals.js";
2
+ import { t as _defineProperty } from "./defineProperty.js";
2
3
  //#region src/realtime/hub-link.ts
3
4
  /**
4
5
  * What the forwarders need from the core client: its error classes (so a
@@ -48,10 +49,10 @@ function hubLink() {
48
49
  /**
49
50
  * The realtime feature version the runtime reports in {@link RealtimeApi.version}.
50
51
  * 2 added races; 3 added invite links and taking back a held seat; 4 added
51
- * "Play online" (tournaments). A client feature-detects newer additions with
52
- * it (or by the optional method).
52
+ * "Play online" (tournaments); 5 added avatars (the designer and `ev:avatar`).
53
+ * A client feature-detects newer additions with it (or by the optional method).
53
54
  */
54
- const REALTIME_FEATURE_VERSION = 4;
55
+ const REALTIME_FEATURE_VERSION = 5;
55
56
  /**
56
57
  * The cross-bundle shape number of the `rt` page singleton (plan §4.4). The
57
58
  * runtime registers with it through `claimSingleton`; bump it only when the
@@ -60,6 +61,13 @@ const REALTIME_FEATURE_VERSION = 4;
60
61
  const REALTIME_SINGLETON_API = 1;
61
62
  /** The window event the runtime fires once it has installed itself. */
62
63
  const REALTIME_READY_EVENT = "hub:rt-ready";
64
+ /**
65
+ * The window event the runtime fires each time its socket says hello (it
66
+ * connected, or connected again after a drop), with `{ user: { id, look } }`
67
+ * from the hello snapshot. `hub.avatar` and `hub.userId()` follow it; changes
68
+ * sent while the socket was down are fetched again.
69
+ */
70
+ const SESSION_EVENT = "hub:session";
63
71
  /** The window event the menu fires when the runtime failed to load (its reason is on `window.__HUB_RT_ERROR__`). */
64
72
  const REALTIME_FAILED_EVENT = "hub:rt-failed";
65
73
  //#endregion
@@ -210,6 +218,6 @@ function outdatedRuntime(feature) {
210
218
  /** The page's one bridge (per client bundle). */
211
219
  const pageBridge = new RealtimeBridge();
212
220
  //#endregion
213
- export { isRealtimeApi as a, REALTIME_FEATURE_VERSION as c, hubLink as d, linkRealtimeToHub as f, findRealtimeApi as i, REALTIME_READY_EVENT as l, pageBridge as n, readRuntimeFailure as o, rethrowAsHubError as r, REALTIME_FAILED_EVENT as s, outdatedRuntime as t, REALTIME_SINGLETON_API as u };
221
+ export { isRealtimeApi as a, REALTIME_FEATURE_VERSION as c, SESSION_EVENT as d, hubLink as f, findRealtimeApi as i, REALTIME_READY_EVENT as l, pageBridge as n, readRuntimeFailure as o, linkRealtimeToHub as p, rethrowAsHubError as r, REALTIME_FAILED_EVENT as s, outdatedRuntime as t, REALTIME_SINGLETON_API as u };
214
222
 
215
223
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","names":[],"sources":["../../src/realtime/hub-link.ts","../../src/realtime/runtime-api.ts","../../src/realtime/page-runtime.ts","../../src/realtime/bridge.ts"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  //#region src/core/version/client-version.gen.ts
2
2
  /** This client's package version, sent as `x-hub-client` on REST calls and `client` in `hello`. */
3
- const HUB_CLIENT_VERSION = "2.0.0-next.5";
3
+ const HUB_CLIENT_VERSION = "2.0.0-next.6";
4
4
  //#endregion
5
5
  export { HUB_CLIENT_VERSION as t };
6
6
 
@@ -1,37 +1,99 @@
1
1
  import { m as SchemaOutput } from "./wire-types.js";
2
- import { DailyCompletion, DailyCompletions, Json, dailyEndpoints } from "@diffenderfer-games/hub-contract";
2
+ import { DailyCompletion, DailyCompletions, Json, SavedCounts as SavedCounts$1, SavedDaily, SavedGame, SavedKind, SavedKind as SavedKind$1, SavedProgress, SavedStatus, TurnSummary as TurnSummary$1, dailyEndpoints } from "@diffenderfer-games/hub-contract";
3
+ //#region src/core/saved/saved-open.d.ts
4
+ /** The instance id parameter (the contract's `SAVED_OPEN_PARAM`). */
5
+ declare const SAVED_OPEN_PARAM = "hub_open";
6
+ /** The instance kind parameter (the contract's `SAVED_KIND_PARAM`). */
7
+ declare const SAVED_KIND_PARAM = "hub_kind";
8
+ /** The window event the hub menu fires to open an instance of this page's game (cancelable). */
9
+ declare const SAVED_OPEN_EVENT = "hub:saved-open";
10
+ /** The window event the social runtime fires for each `ev:saved` (detail: the `SavedGame`). */
11
+ declare const SAVED_CHANGE_EVENT = "hub:saved";
12
+ /** The instance a page was opened for. */
13
+ interface SavedOpened {
14
+ readonly id: string;
15
+ readonly kind: SavedKind;
16
+ }
17
+ /** The address that opens `game` in its page. */
18
+ declare function savedGameUrl(game: Pick<SavedGame, 'id' | 'kind' | 'path' | 'daily'>): string;
19
+ //#endregion
20
+ //#region src/core/saved/saved-types.d.ts
21
+ /**
22
+ * One game in progress: a daily challenge, a single-player run or an online
23
+ * game. Its `id` is the hub's, or `local:…` for one saved only on this
24
+ * device so far.
25
+ */
26
+ interface SavedEntry extends Omit<SavedGame, 'id'> {
27
+ readonly id: string;
28
+ /** Saved on this device and not yet sent to the hub (offline, or the tab closed first). */
29
+ readonly isLocalOnly?: boolean;
30
+ }
31
+ /** Which kinds to list. */
32
+ interface SavedListOptions {
33
+ readonly kinds?: readonly SavedKind$1[];
34
+ }
35
+ //#endregion
36
+ //#region src/core/game-data.d.ts
37
+ /** Anything a game may store as JSON: an object (interfaces included), an array, text, a number, a boolean or `null`. */
38
+ type GamePayload = object | string | number | boolean | null;
39
+ //#endregion
3
40
  //#region src/daily/types.d.ts
4
41
  /** The response type of a daily endpoint. */
5
42
  type DailyResponse<Name extends keyof typeof dailyEndpoints> = SchemaOutput<(typeof dailyEndpoints)[Name]['cfg']['response']>;
6
- /** This game's daily window and the player's completions (`GET /games/:slug/daily`). */
43
+ /** This game's daily window, the player's completions and days in progress (`GET /games/:slug/daily`). */
7
44
  type DailyStatus = DailyResponse<'getGameDailyChallenges'>;
8
45
  /** Every daily game and the global standings (`GET /daily`). */
9
46
  type DailyAll = DailyResponse<'listDailyChallengesForAllGames'>;
10
47
  /** One game's row in {@link DailyAll}. */
11
48
  type DailyGameStatus = DailyAll['games'][number];
12
- /** The answer to starting a day: its seed and the signed token to present on completion. */
49
+ /** The answer to starting (or resuming) a day: its seed, the signed token to present on completion, and its saved game. */
13
50
  type DailyStartResponse = DailyResponse<'startDailyChallenge'>;
14
51
  /** The answer to completing a day: the player's new completion count and rank. */
15
52
  type DailyCompleteResponse = DailyResponse<'completeDailyChallenge'>;
16
53
  /** The challenge a game's `play` receives: set up and start exactly this day (derive the level from `seed`). */
17
54
  interface DailyChallenge {
18
- /** The day, `YYYY-MM-DD`. */
55
+ /** The day, `YYYY-MM-DD` (a UTC day key). */
19
56
  day: string;
20
57
  /** Deterministic per game and day. */
21
58
  seed: number;
22
- /** The signed token `complete` presents. */
59
+ /** The signed token `complete` presents (empty for a day started offline: it is fetched when the hub is back). */
23
60
  token: string;
24
- /** The player already completed this day (a replay). */
61
+ /** The player already completed this day (a replay for fun: nothing is saved or recorded). */
25
62
  alreadyCompleted?: boolean;
63
+ /** The day's saved game; `null` for a replay of a completed day. */
64
+ instanceId: string | null;
65
+ /**
66
+ * The state last saved for this day (`hub.daily.save`, or `hub.resume.save`
67
+ * during the daily), or `null` when the day starts fresh. A game that
68
+ * saves restores from it: `if (challenge.saved) startFrom(challenge.saved)`.
69
+ */
70
+ saved: GamePayload | null;
71
+ /** The game's state version of `saved` (0 when none). */
72
+ savedVersion: number;
73
+ /** The day was already in progress and was picked up again. */
74
+ resumed?: boolean;
26
75
  }
27
76
  /** What `hub.daily.define` takes. */
28
77
  interface DailyDefinition {
29
- /** Start this challenge now. */
78
+ /** Start this challenge now (restore `challenge.saved` when it has one). */
30
79
  play: (challenge: DailyChallenge) => void;
31
80
  }
32
81
  /** Metadata a game records with a completion (`{ score, difficulty, timeMs, … }`). */
33
82
  type DailyCompletionMeta = Record<string, Json>;
34
- /** What the daily system needs from the hub client: the REST calls and its window events. */
83
+ /** A daily state save (the same shape as `hub.resume.save`). */
84
+ interface DailySaveInput {
85
+ /** Everything needed to rebuild the day's run (up to 512 KB as JSON). */
86
+ readonly state: GamePayload;
87
+ /** A short line ("34 cards left") and an optional 0 to 1 fraction. */
88
+ readonly progress: {
89
+ readonly label: string;
90
+ readonly fraction?: number | null;
91
+ };
92
+ readonly title?: string | null;
93
+ /** The game's state version (default 0). */
94
+ readonly version?: number;
95
+ }
96
+ /** What the daily system needs from the hub client: the REST calls, the device copy and its window events. */
35
97
  interface DailyHost {
36
98
  /** This page's game slug. */
37
99
  readonly slug: string | null;
@@ -39,10 +101,20 @@ interface DailyHost {
39
101
  status(): Promise<DailyStatus>;
40
102
  /** `GET /daily`. */
41
103
  all(): Promise<DailyAll>;
42
- /** `POST /games/:slug/daily/:day/start`. */
104
+ /** Start (or pick up) a day: `POST /games/:slug/daily/:day/start`, or a device-only start while offline. */
43
105
  start(day: string): Promise<DailyStartResponse>;
106
+ /** Pick a day in progress up again by its saved game's id. */
107
+ resume(instanceId: string): Promise<DailyStartResponse>;
44
108
  /** `POST /games/:slug/daily/:day/complete`; `null` when it was queued offline, to replay when the hub is back. */
45
109
  complete(day: string, token: string, meta: DailyCompletionMeta): Promise<DailyCompleteResponse | null>;
110
+ /** Keep the day's state on the device at once and send it soon (works offline); `false` when it can't be stored. */
111
+ save(challenge: DailyChallenge, input: DailySaveInput): boolean;
112
+ /** Send a waiting save now. */
113
+ flush(): Promise<void>;
114
+ /** Give the day up: discard its saved game (works offline). */
115
+ discard(challenge: DailyChallenge): Promise<void>;
116
+ /** This game's days in progress (the saved games of kind daily). */
117
+ inProgress(): Promise<SavedEntry[]>;
46
118
  /** Fire a `hub:*` window event (the menu listens). */
47
119
  emit(name: string, detail: DailyEventDetail): void;
48
120
  }
@@ -51,6 +123,7 @@ type DailyEventDetail = {
51
123
  day: string;
52
124
  seed: number;
53
125
  alreadyCompleted: boolean;
126
+ resumed?: boolean;
54
127
  } | {
55
128
  day: string;
56
129
  count: number;
@@ -60,6 +133,12 @@ type DailyEventDetail = {
60
133
  day: string;
61
134
  queued: true;
62
135
  meta: DailyCompletionMeta;
136
+ } | {
137
+ day: string;
138
+ paused: true;
139
+ } | {
140
+ day: string;
141
+ discarded: true;
63
142
  } | {
64
143
  day: string;
65
144
  error: string;
@@ -73,15 +152,19 @@ declare class DailySystem {
73
152
  /**
74
153
  * The challenge in progress: set when a day starts; cleared the moment the
75
154
  * game calls `complete` (whatever the hub answers, and before it answers)
76
- * or `cancel`. A game's win handler checks it:
155
+ * or `cancel` (or `discard`). A game's win handler checks it:
77
156
  * `if (hub.daily.active) hub.daily.complete(…)`. While it is set the page
78
- * is in a daily run, so `hub.resume.save` saves nothing: a game whose
79
- * player leaves a daily unfinished must call `cancel()`.
157
+ * is in a daily run, so `hub.resume.save` saves to the day instead of the
158
+ * game's run: a game whose player leaves a daily unfinished must call
159
+ * `cancel()`.
80
160
  */
81
161
  active: DailyChallenge | null;
82
162
  private readonly host;
83
163
  private play;
84
164
  private pendingDay;
165
+ private pendingInstance;
166
+ /** A start on its way to the hub, so a resume of the same day waits for it instead of starting it twice. */
167
+ private inFlight;
85
168
  private isRelaying;
86
169
  constructor(host: DailyHost);
87
170
  /** Whether a game registered a daily-challenge handler on this page. */
@@ -99,6 +182,31 @@ declare class DailySystem {
99
182
  * daily system on the page (a client copy that couldn't share this one).
100
183
  */
101
184
  startAndPlay(day: string): Promise<void>;
185
+ /**
186
+ * Pick up a day in progress by its saved game's id (from `hub.saved`):
187
+ * a fresh token, then the game's `play` with `challenge.saved`. Finishing
188
+ * it any time later gives that day's credit. A no-op while that day is
189
+ * already being played.
190
+ */
191
+ resume(instanceId: string): Promise<void>;
192
+ /** Make `challenge` the active day and hand it to the game. */
193
+ private begin;
194
+ /**
195
+ * Save the active day's state, so it can be picked up later (a reload,
196
+ * another device, next week) and still give that day's credit. Kept on
197
+ * the device at once and sent after a short quiet spell (works offline).
198
+ * `hub.resume.save` during a daily lands here too. Returns `false` with
199
+ * no daily active, or for a replay of a completed day (nothing to save).
200
+ */
201
+ save(input: DailySaveInput): boolean;
202
+ /** This game's days in progress (the calendar marks them, the game can list them). */
203
+ inProgress(): Promise<SavedEntry[]>;
204
+ /**
205
+ * Give up the active day: its progress is discarded and nothing is
206
+ * recorded. The day can be started again fresh while it is in the 30-day
207
+ * window. (The hub's lists ask the player first; a game asks for itself.)
208
+ */
209
+ discard(): Promise<void>;
102
210
  /**
103
211
  * Record completion of the active challenge with optional metadata.
104
212
  * Resolves with the new completion count and rank, or `null` when no
@@ -111,9 +219,12 @@ declare class DailySystem {
111
219
  /** Ask the page's other daily systems to start `day` (this one ignores its own event). */
112
220
  private relayStart;
113
221
  /**
114
- * Abandon the active challenge without recording it: the player quit, or
115
- * left the daily for normal play (another level, a new game). Until then
116
- * the page counts as in a daily run and `hub.resume.save` saves nothing.
222
+ * Pause the active day: the player left it unfinished (quit, picked
223
+ * another level, started a normal game). Nothing is recorded, and the day
224
+ * stays in progress in "Your games" and the calendar, to finish later
225
+ * (its last save is sent now). Until then the page counts as in a daily,
226
+ * so `hub.resume.save` saves to the day: call `cancel()` on every path
227
+ * that leaves a daily without `complete`. To give a day up, `discard()`.
117
228
  */
118
229
  cancel(): void;
119
230
  /** This game's window and the player's completions. */
@@ -123,8 +234,8 @@ declare class DailySystem {
123
234
  }
124
235
  //#endregion
125
236
  //#region src/daily/page-daily.d.ts
126
- /** The cross-bundle shape number of the `daily` singleton. Bump only on an incompatible change. */
127
- declare const DAILY_SINGLETON_API = 1;
237
+ /** The cross-bundle shape number of the `daily` singleton (2 added save, resume, discard and inProgress). Bump only on an incompatible change. */
238
+ declare const DAILY_SINGLETON_API = 2;
128
239
  /** Whether `candidate` is some bundle's daily system (v1 copies included). */
129
240
  declare function isDailySystem(candidate: unknown): candidate is DailySystem;
130
241
  /**
@@ -134,5 +245,5 @@ declare function isDailySystem(candidate: unknown): candidate is DailySystem;
134
245
  */
135
246
  declare function getDaily(host: DailyHost): DailySystem;
136
247
  //#endregion
137
- export { DailyStatus as _, isDailySystem as a, DailyAll as c, DailyCompletionMeta as d, DailyDefinition as f, DailyStartResponse as g, DailyHost as h, getDaily as i, DailyChallenge as l, DailyGameStatus as m, DailyCompletions as n, DAILY_START_EVENT as o, DailyEventDetail as p, DAILY_SINGLETON_API as r, DailySystem as s, DailyCompletion as t, DailyCompleteResponse as u };
248
+ export { SAVED_OPEN_EVENT as A, SavedKind$1 as C, TurnSummary$1 as D, SavedStatus as E, SavedOpened as M, savedGameUrl as N, SAVED_CHANGE_EVENT as O, SavedEntry as S, SavedProgress as T, DailyStartResponse as _, isDailySystem as a, SavedCounts$1 as b, DailyAll as c, DailyCompletionMeta as d, DailyDefinition as f, DailySaveInput as g, DailyHost as h, getDaily as i, SAVED_OPEN_PARAM as j, SAVED_KIND_PARAM as k, DailyChallenge as l, DailyGameStatus as m, DailyCompletions as n, DAILY_START_EVENT as o, DailyEventDetail as p, DAILY_SINGLETON_API as r, DailySystem as s, DailyCompletion as t, DailyCompleteResponse as u, DailyStatus as v, SavedListOptions as w, SavedDaily as x, GamePayload as y };
138
249
  //# sourceMappingURL=daily.d.ts.map