@weasel-js/hud 1.9.4 → 1.10.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/dist/tool.d.ts CHANGED
@@ -36,9 +36,6 @@ export declare const HUD_AFFORDANCE_KIND = "layer:weasel-hud";
36
36
  * The other four are one binding each. Every binding gates on both the
37
37
  * affordance kind and the hit widget's claim set, so it fires only for input
38
38
  * the HUD's own layer claimed *and* the widget under it consumes.
39
- *
40
- * This replaces a `DragChannel` the HUD's `hitTest` used to hand back for the
41
- * tool-routing dispatcher to drive. That dispatcher is gone.
42
39
  */
43
40
  export declare function createHudContribution(hud?: Hud, options?: AttachHudOptions): SurfaceContribution;
44
41
  //# sourceMappingURL=tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAC+D,mBAAmB,EAC7F,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAY,KAAK,MAAM,EAAwB,MAAM,UAAU,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;wEACwE;AACxE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAkKtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,CA4BhG"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAC+D,mBAAmB,EAC7F,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAY,KAAK,MAAM,EAAwB,MAAM,UAAU,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;wEACwE;AACxE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAkKtD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,CA4BhG"}
package/dist/widget.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { DrawCommand } from '@weasel-js/core/renderer';
2
2
  import type { ClaimableGesture, View } from '@weasel-js/core';
3
+ import type { ColorSource } from '@weasel-js/paint';
3
4
  import type { ResolvedTheme } from '@weasel-js/theme';
4
5
  /** A widget's rectangle, in screen-space CSS pixels relative to the canvas. */
5
6
  export interface WidgetBounds {
@@ -23,18 +24,15 @@ export interface HudDrawCtx {
23
24
  * caller rather than read back off the DOM, so a HUD drawn headlessly is
24
25
  * themed the same way one drawn in a browser is. */
25
26
  tokens: ResolvedTheme;
26
- /** The `i`th color of the theme's tone list, wrapping — what a widget's
27
- * numeric `tone` names. */
28
- toneAt(i: number): string;
27
+ /** A color source as a hex, resolved against the theme, tone list, and
28
+ * palette the hud was attached with; `undefined` for one nothing answers. */
29
+ color(source: ColorSource): string | undefined;
29
30
  }
30
- /**
31
- * Input to a widget's optional `content` painter — the one place hud sees
32
- * the scene. `HudDrawCtx` stays data-free so widgets stay renderable
33
- * headlessly; this is an explicit opt-in on the composite instead.
34
- */
31
+ /** Input to a widget's optional `content` painter — the one place hud sees
32
+ * the scene. */
35
33
  export interface HudContentCtx {
36
34
  /** Scene data the hud layer was handed. Opaque here; painters that need
37
- * it cast to a known shape, as tools do with `ToolCtx.adapter`. */
35
+ * it cast to a known shape. */
38
36
  data: unknown;
39
37
  /** The outer view. A painter deriving an inner view starts from this. */
40
38
  view: View;
@@ -49,7 +47,7 @@ export interface HudContentCtx {
49
47
  rect: WidgetBounds;
50
48
  defaultFont: string;
51
49
  tokens: ResolvedTheme;
52
- toneAt(i: number): string;
50
+ color(source: ColorSource): string | undefined;
53
51
  }
54
52
  /**
55
53
  * Input handed to a widget, in screen space.
@@ -188,7 +186,8 @@ export interface Widget {
188
186
  /** Which gestures this widget consumes. Absent means
189
187
  * {@link DEFAULT_WIDGET_CLAIMS}; `[]` is decoration, and the hit-test walk
190
188
  * descends past it to whatever lies beneath. Anything not listed falls
191
- * through to the scene. */
189
+ * through to the scene. Read at every hit-test, so a getter may answer
190
+ * differently from one press to the next. */
192
191
  readonly claims?: readonly ClaimableGesture[];
193
192
  /** CSS cursor for a point inside this widget, in screen space. Resolved per
194
193
  * point rather than read off hover state, because the layer's `hitTest`
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ClaimableGesture } from '@weasel-js/core';
1
2
  import type { Widget, WidgetBounds } from '../widget';
2
3
  /** Sub-rectangle of a bitmap, in its own pixels. */
3
4
  export interface SourceRect {
@@ -25,6 +26,9 @@ export interface ImageOptions {
25
26
  flipY?: boolean;
26
27
  /** Injected by Hud factories to trigger redraw on mutation. */
27
28
  onChange?: () => void;
29
+ /** Gestures this widget consumes. Default `[]`: decoration, which a press
30
+ * falls through. Listing some makes it a scrim over what lies beneath. */
31
+ claims?: readonly ClaimableGesture[];
28
32
  /** Injected by Hud factories. Called from dispose() to remove this widget
29
33
  * from its HUD's list. No-op for bare-factory consumers. */
30
34
  removeFromHud?: () => void;
@@ -34,6 +38,8 @@ export interface ImageWidget extends Widget {
34
38
  setImage(image: ImageBitmap): void;
35
39
  setBounds(b: WidgetBounds): void;
36
40
  setHidden(hidden: boolean): void;
41
+ /** Replace the gestures this widget consumes; `[]` returns it to decoration. */
42
+ setClaims(claims: readonly ClaimableGesture[]): void;
37
43
  /** Sample a sub-rectangle of the bitmap; `undefined` restores the whole
38
44
  * bitmap. Together with `setFlip`, this is how a sprite animation advances
39
45
  * without rebuilding the widget. */
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/widgets/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA+B,MAAM,WAAW,CAAC;AAGnF,oDAAoD;AACpD,MAAM,WAAW,UAAU;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAE1E,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAC3C,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;qCACiC;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;iEAC6D;IAC7D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC;;yCAEqC;IACrC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,sEAAsE;IACtE,OAAO,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CAyD3D"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/widgets/image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA+B,MAAM,WAAW,CAAC;AAGnF,oDAAoD;AACpD,MAAM,WAAW,UAAU;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAE1E,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAC3C,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;qCACiC;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;+EAC2E;IAC3E,MAAM,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC;iEAC6D;IAC7D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gFAAgF;IAChF,SAAS,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACrD;;yCAEqC;IACrC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,sEAAsE;IACtE,OAAO,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CA2D3D"}
@@ -1,3 +1,4 @@
1
+ import type { ClaimableGesture } from '@weasel-js/core';
1
2
  import type { Widget, WidgetBounds } from '../widget';
2
3
  /** Options for a filled rectangle widget. */
3
4
  export interface RectOptions {
@@ -11,6 +12,9 @@ export interface RectOptions {
11
12
  * injects this so mutations trigger `requestRedraw`. Direct callers of
12
13
  * `createRect` may set it themselves or omit it (no auto-redraw). */
13
14
  onChange?: () => void;
15
+ /** Gestures this widget consumes. Default `[]`: decoration, which a press
16
+ * falls through. Listing some makes it a scrim over what lies beneath. */
17
+ claims?: readonly ClaimableGesture[];
14
18
  /** Injected by Hud factories. Called from dispose() to remove this widget
15
19
  * from its HUD's list. No-op for bare-factory consumers. */
16
20
  removeFromHud?: () => void;
@@ -20,6 +24,8 @@ export interface RectOptions {
20
24
  export interface RectWidget extends Widget {
21
25
  setBounds(b: WidgetBounds): void;
22
26
  setHidden(hidden: boolean): void;
27
+ /** Replace the gestures this widget consumes; `[]` returns it to decoration. */
28
+ setClaims(claims: readonly ClaimableGesture[]): void;
23
29
  setFill(color: string): void;
24
30
  dispose(): void;
25
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../src/widgets/rect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAInF,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb;;0EAEsE;IACtE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;iEAC6D;IAC7D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;+BAC+B;AAC/B,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CA6CxD"}
1
+ {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../src/widgets/rect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAA+B,YAAY,EAAE,MAAM,WAAW,CAAC;AAInF,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb;;0EAEsE;IACtE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;+EAC2E;IAC3E,MAAM,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC;iEAC6D;IAC7D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;+BAC+B;AAC/B,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,gFAAgF;IAChF,SAAS,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACrD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CA+CxD"}
@@ -1,5 +1,6 @@
1
1
  import type { Widget, WidgetBounds, HudContentCtx } from '../../widget';
2
2
  import type { DrawCommand } from '@weasel-js/core/renderer';
3
+ import { type ColorSource } from '@weasel-js/paint';
3
4
  import { type Stance } from '@weasel-js/theme';
4
5
  import { type WindowMetrics } from './zones';
5
6
  /** Options for a window widget. */
@@ -23,8 +24,8 @@ export interface WindowOptions {
23
24
  * as they do a DOM panel's. */
24
25
  stance?: Stance;
25
26
  /** Which of its peers the window is: an index into the theme's tone list,
26
- * or a color. Mixed into the fill at the stance's `tone-mix`. */
27
- tone?: number | string;
27
+ * or a color source. Mixed into the fill at the stance's `tone-mix`. */
28
+ tone?: number | ColorSource;
28
29
  /** Paints the interior. Drawn beneath every widget frame, clipped to
29
30
  * `contentRect`. Receives the scene data and view the hud layer was
30
31
  * handed — the one place hud sees either. */
@@ -65,7 +66,7 @@ export interface WindowWidget extends Widget {
65
66
  setHidden(hidden: boolean): void;
66
67
  setTitle(title: string): void;
67
68
  setStance(stance: Stance | undefined): void;
68
- setTone(tone: number | string | undefined): void;
69
+ setTone(tone: number | ColorSource | undefined): void;
69
70
  dispose(): void;
70
71
  }
71
72
  export declare function createWindow(opts: WindowOptions): WindowWidget;
@@ -1 +1 @@
1
- {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/widgets/window/window.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAAE,YAAY,EAAc,aAAa,EAChD,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,0BAA0B,CAAC;AAI7E,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAEmB,KAAK,aAAa,EAC3C,MAAM,SAAS,CAAC;AAEjB,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;4DAGwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC;;oCAEgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;sEACkE;IAClE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB;;kDAE8C;IAC9C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,WAAW,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B;;uDAEmD;IACnD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CACjB;AA6BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CA0O9D"}
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/widgets/window/window.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAAE,YAAY,EAAc,aAAa,EAChD,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAgC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAqD,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAEmB,KAAK,aAAa,EAC3C,MAAM,SAAS,CAAC;AAEjB,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;4DAGwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC;;oCAEgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;6EACyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAC5B;;kDAE8C;IAC9C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,WAAW,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B;;uDAEmD;IACnD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACtD,OAAO,IAAI,IAAI,CAAC;CACjB;AA6BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CA0O9D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weasel-js/hud",
3
- "version": "1.9.4",
3
+ "version": "1.10.1",
4
4
  "description": "WebGL-rendered UI widgets that composite into a weasel canvas",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,14 +21,15 @@
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": ">=18",
24
- "@weasel-js/core": "1.9.4",
25
- "@weasel-js/font": "1.9.4"
24
+ "@weasel-js/core": "1.10.1",
25
+ "@weasel-js/font": "1.10.1"
26
26
  },
27
27
  "dependencies": {
28
- "@weasel-js/geom": "1.9.4",
29
- "@weasel-js/loupe": "1.9.4",
30
- "@weasel-js/paint": "1.9.4",
31
- "@weasel-js/theme": "1.9.4"
28
+ "@weasel-js/geom": "1.10.1",
29
+ "@weasel-js/loupe": "1.10.1",
30
+ "@weasel-js/paint": "1.10.1",
31
+ "@weasel-js/registry": "1.10.1",
32
+ "@weasel-js/theme": "1.10.1"
32
33
  },
33
34
  "author": "orochi235",
34
35
  "homepage": "https://orochi235.github.io/weasel/",