even-toolkit 0.4.0 → 0.5.2

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/bridge.d.ts CHANGED
@@ -30,8 +30,22 @@ export declare class EvenHubBridge {
30
30
  updateWatchlist(colSym: string, colPrice: string, colPct: string): Promise<void>;
31
31
  switchToSettings(text: string): Promise<boolean>;
32
32
  updateSettings(text: string): Promise<void>;
33
- switchToHomeLayout(menuText: string): Promise<boolean>;
34
- showHomePage(menuText: string): Promise<void>;
33
+ switchToHomeLayout(menuText: string, imageTiles?: {
34
+ id: number;
35
+ name: string;
36
+ x: number;
37
+ y: number;
38
+ w: number;
39
+ h: number;
40
+ }[]): Promise<boolean>;
41
+ showHomePage(menuText: string, imageTiles?: {
42
+ id: number;
43
+ name: string;
44
+ x: number;
45
+ y: number;
46
+ w: number;
47
+ h: number;
48
+ }[]): Promise<void>;
35
49
  updateHomeText(content: string): Promise<void>;
36
50
  switchToChartLayout(topText: string): Promise<boolean>;
37
51
  showChartPage(topText: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../bridge.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOxC,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,UAAU,CAAS;IAK3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAyB;IAG5C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,cAAc,CAAkB;gBAE5B,OAAO,CAAC,EAAE,YAAY,EAAE;IAUpC,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,IAAI,WAAW,IAAI,QAAQ,GAAG,IAAI,CAA8B;IAChE,mDAAmD;IACnD,IAAI,aAAa,IAAI,QAAQ,GAAG,IAAI,CAA8B;IAElE,OAAO,CAAC,WAAW;IAsCb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAYjC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrF,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9C,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAStD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAShG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAIrD,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../bridge.ts"],"names":[],"mappings":"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"}
package/dist/bridge.js CHANGED
@@ -140,25 +140,28 @@ export class EvenHubBridge {
140
140
  async updateSettings(text) {
141
141
  await this.updateText(text);
142
142
  }
143
- // ── Home page (1 image + empty overlay + menu text = 3 containers, no bounce) ──
144
- async switchToHomeLayout(menuText) {
143
+ // ── Home page (N images + empty overlay + menu text containers, no bounce) ──
144
+ async switchToHomeLayout(menuText, imageTiles) {
145
145
  if (!this.rawBridge || !this._pageReady)
146
146
  return false;
147
147
  try {
148
- await this.showHomePage(menuText);
148
+ await this.showHomePage(menuText, imageTiles);
149
149
  return true;
150
150
  }
151
151
  catch {
152
152
  return false;
153
153
  }
154
154
  }
155
- async showHomePage(menuText) {
155
+ async showHomePage(menuText, imageTiles) {
156
156
  if (!this.rawBridge || !this._pageReady)
157
157
  return;
158
158
  await this.sdk.renderPage(this.chartDummyPage);
159
- const tile = IMAGE_TILES[0];
159
+ const tiles = imageTiles && imageTiles.length > 0 ? imageTiles : [];
160
+ // Text starts below the first image tile (persistent logo tile).
161
+ // Extra tiles (e.g. splash "Loading...") overlap with text area — cleared with black on transition.
162
+ const textY = tiles.length > 0 ? tiles[0].y + tiles[0].h : 0;
160
163
  await this.rawBridge.rebuildPageContainer(new RebuildPageContainer({
161
- containerTotalNum: 3,
164
+ containerTotalNum: 2 + tiles.length,
162
165
  textObject: [
163
166
  new TextContainerProperty({
164
167
  containerID: 1, containerName: 'overlay',
@@ -168,17 +171,15 @@ export class EvenHubBridge {
168
171
  }),
169
172
  new TextContainerProperty({
170
173
  containerID: 5, containerName: 'menu',
171
- xPosition: 0, yPosition: 100, width: DISPLAY_W, height: DISPLAY_H - 100,
174
+ xPosition: 0, yPosition: textY, width: DISPLAY_W, height: DISPLAY_H - textY,
172
175
  borderWidth: 0, borderColor: 0, paddingLength: 6,
173
176
  content: menuText, isEventCapture: 0,
174
177
  }),
175
178
  ],
176
- imageObject: [
177
- new ImageContainerProperty({
178
- containerID: tile.id, containerName: tile.name,
179
- xPosition: tile.x, yPosition: tile.y, width: tile.w, height: tile.h,
180
- }),
181
- ],
179
+ imageObject: tiles.map(t => new ImageContainerProperty({
180
+ containerID: t.id, containerName: t.name,
181
+ xPosition: t.x, yPosition: t.y, width: t.w, height: t.h,
182
+ })),
182
183
  }));
183
184
  this._currentMode = 'home';
184
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../bridge.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,4 +3,6 @@ export * from './action-bar';
3
3
  export * from './text-utils';
4
4
  export * from './timer-display';
5
5
  export * from './gestures';
6
+ export * from './text-clean';
7
+ export * from './paginate-text';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -5,4 +5,6 @@ export * from './action-bar';
5
5
  export * from './text-utils';
6
6
  export * from './timer-display';
7
7
  export * from './gestures';
8
+ export * from './text-clean';
9
+ export * from './paginate-text';
8
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,4FAA4F;AAE5F,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,4FAA4F;AAE5F,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Text pagination utilities for G2 glasses display.
3
+ *
4
+ * Word-wraps text into lines, groups lines into pages, and generates
5
+ * page indicators — useful for any app that shows multi-page text content.
6
+ *
7
+ * Usage:
8
+ * import { wordWrap, paginateText, pageIndicator } from 'even-toolkit/paginate-text';
9
+ *
10
+ * const lines = wordWrap(longText, 46);
11
+ * const pages = paginateText(longText, 46, 9);
12
+ * const label = pageIndicator(2, pages.length); // "Page 3/15"
13
+ */
14
+ /**
15
+ * Word-wrap text to a maximum line length, breaking at word boundaries.
16
+ * Long words that exceed maxLen are force-split.
17
+ *
18
+ * @param text The text to wrap
19
+ * @param maxLen Maximum characters per line (default 46 — fits G2 display)
20
+ * @returns Array of wrapped lines
21
+ */
22
+ export declare function wordWrap(text: string, maxLen?: number): string[];
23
+ /**
24
+ * Paginate text into pages of fixed line count.
25
+ * First word-wraps, then groups into pages.
26
+ *
27
+ * @param text The text to paginate
28
+ * @param charsPerLine Max characters per line (default 46)
29
+ * @param linesPerPage Lines per page (default 9)
30
+ * @returns Array of pages, each page is an array of line strings
31
+ */
32
+ export declare function paginateText(text: string, charsPerLine?: number, linesPerPage?: number): string[][];
33
+ /**
34
+ * Generate a page indicator string, e.g. "Page 3/15".
35
+ *
36
+ * @param currentIndex Zero-based current page index
37
+ * @param totalPages Total number of pages
38
+ * @returns Human-readable page indicator
39
+ */
40
+ export declare function pageIndicator(currentIndex: number, totalPages: number): string;
41
+ //# sourceMappingURL=paginate-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate-text.d.ts","sourceRoot":"","sources":["../paginate-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE,CA+B5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,SAAK,EAAE,YAAY,SAAI,GAAG,MAAM,EAAE,EAAE,CAS1F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Text pagination utilities for G2 glasses display.
3
+ *
4
+ * Word-wraps text into lines, groups lines into pages, and generates
5
+ * page indicators — useful for any app that shows multi-page text content.
6
+ *
7
+ * Usage:
8
+ * import { wordWrap, paginateText, pageIndicator } from 'even-toolkit/paginate-text';
9
+ *
10
+ * const lines = wordWrap(longText, 46);
11
+ * const pages = paginateText(longText, 46, 9);
12
+ * const label = pageIndicator(2, pages.length); // "Page 3/15"
13
+ */
14
+ /**
15
+ * Word-wrap text to a maximum line length, breaking at word boundaries.
16
+ * Long words that exceed maxLen are force-split.
17
+ *
18
+ * @param text The text to wrap
19
+ * @param maxLen Maximum characters per line (default 46 — fits G2 display)
20
+ * @returns Array of wrapped lines
21
+ */
22
+ export function wordWrap(text, maxLen = 46) {
23
+ if (!text)
24
+ return [''];
25
+ const words = text.split(/\s+/);
26
+ const result = [];
27
+ let current = '';
28
+ for (const word of words) {
29
+ if (!current) {
30
+ current = word;
31
+ }
32
+ else if (current.length + 1 + word.length <= maxLen) {
33
+ current += ' ' + word;
34
+ }
35
+ else {
36
+ result.push(current);
37
+ current = word;
38
+ }
39
+ }
40
+ if (current)
41
+ result.push(current);
42
+ // Force-split lines that are still too long
43
+ const final = [];
44
+ for (const ln of result) {
45
+ if (ln.length <= maxLen) {
46
+ final.push(ln);
47
+ }
48
+ else {
49
+ for (let i = 0; i < ln.length; i += maxLen) {
50
+ final.push(ln.slice(i, i + maxLen));
51
+ }
52
+ }
53
+ }
54
+ return final.length > 0 ? final : [''];
55
+ }
56
+ /**
57
+ * Paginate text into pages of fixed line count.
58
+ * First word-wraps, then groups into pages.
59
+ *
60
+ * @param text The text to paginate
61
+ * @param charsPerLine Max characters per line (default 46)
62
+ * @param linesPerPage Lines per page (default 9)
63
+ * @returns Array of pages, each page is an array of line strings
64
+ */
65
+ export function paginateText(text, charsPerLine = 46, linesPerPage = 9) {
66
+ const lines = wordWrap(text, charsPerLine);
67
+ const pages = [];
68
+ for (let i = 0; i < lines.length; i += linesPerPage) {
69
+ pages.push(lines.slice(i, i + linesPerPage));
70
+ }
71
+ return pages.length > 0 ? pages : [['']];
72
+ }
73
+ /**
74
+ * Generate a page indicator string, e.g. "Page 3/15".
75
+ *
76
+ * @param currentIndex Zero-based current page index
77
+ * @param totalPages Total number of pages
78
+ * @returns Human-readable page indicator
79
+ */
80
+ export function pageIndicator(currentIndex, totalPages) {
81
+ return `Page ${currentIndex + 1}/${totalPages}`;
82
+ }
83
+ //# sourceMappingURL=paginate-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate-text.js","sourceRoot":"","sources":["../paginate-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAM,GAAG,EAAE;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACtD,OAAO,IAAI,GAAG,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElC,4CAA4C;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,YAAY,GAAG,EAAE,EAAE,YAAY,GAAG,CAAC;IAC5E,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,YAAoB,EAAE,UAAkB;IACpE,OAAO,QAAQ,YAAY,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;AAClD,CAAC"}
package/dist/splash.d.ts CHANGED
@@ -42,11 +42,17 @@ export interface SplashConfig {
42
42
  /**
43
43
  * Number of image tiles to use (1-3).
44
44
  * - 1: single 200x100 tile
45
- * - 2: 400x100 across 2 tiles
45
+ * - 2: 400x100 across 2 tiles (horizontal) or 200x200 (vertical)
46
46
  * - 3: 576x100 across 3 tiles (full width)
47
47
  * Default: 1
48
48
  */
49
49
  tiles?: 1 | 2 | 3;
50
+ /**
51
+ * Tile layout direction.
52
+ * - 'horizontal': tiles placed side-by-side (default)
53
+ * - 'vertical': tiles stacked top-to-bottom
54
+ */
55
+ tileLayout?: 'horizontal' | 'vertical';
50
56
  /**
51
57
  * Custom tile positions on the G2 display.
52
58
  * Override where each tile is placed. Array length must match `tiles` count.
@@ -61,7 +67,8 @@ export interface SplashConfig {
61
67
  */
62
68
  tilePositions?: TilePosition[];
63
69
  /**
64
- * Canvas size override. By default: (tiles * 200) x 100.
70
+ * Canvas size override. By default: (tiles * 200) x 100 for horizontal,
71
+ * 200 x (tiles * 100) for vertical.
65
72
  * Use this when you need a different aspect ratio or resolution.
66
73
  */
67
74
  canvasSize?: {
@@ -90,6 +97,8 @@ export interface SplashHandle {
90
97
  show: (bridge: SplashBridge) => Promise<void>;
91
98
  /** Wait until minTimeMs has elapsed since show(). Resolves immediately if already elapsed. */
92
99
  waitMinTime: () => Promise<void>;
100
+ /** Clear extra splash tiles (send black). Call after waitMinTime for seamless transition. */
101
+ clearExtras: (bridge: SplashBridge) => Promise<void>;
93
102
  /** Check if the splash is currently showing. */
94
103
  isShowing: () => boolean;
95
104
  /** Get encoded tile data (for apps that manage their own bridge). */
@@ -97,11 +106,22 @@ export interface SplashHandle {
97
106
  id: number;
98
107
  name: string;
99
108
  bytes: Uint8Array;
109
+ x: number;
110
+ y: number;
111
+ w: number;
112
+ h: number;
100
113
  }[];
101
114
  }
102
115
  /** Minimal bridge interface needed for splash (subset of EvenHubBridge). */
103
116
  export interface SplashBridge {
104
- showHomePage: (menuText: string) => Promise<void>;
117
+ showHomePage: (menuText: string, imageTiles?: {
118
+ id: number;
119
+ name: string;
120
+ x: number;
121
+ y: number;
122
+ w: number;
123
+ h: number;
124
+ }[]) => Promise<void>;
105
125
  sendImage: (containerId: number, containerName: string, pngBytes: Uint8Array) => Promise<void>;
106
126
  }
107
127
  /**
@@ -114,6 +134,8 @@ export declare const TILE_PRESETS: {
114
134
  topCenter1: TilePosition[];
115
135
  /** 2 tiles side-by-side, centered vertically */
116
136
  centered2: TilePosition[];
137
+ /** 2 tiles stacked vertically, centered horizontally, near top */
138
+ topCenterVertical2: TilePosition[];
117
139
  /** 3 tiles full width at top */
118
140
  fullWidthTop: TilePosition[];
119
141
  /** Default: standard side-by-side at y=0 */
@@ -1 +1 @@
1
- {"version":3,"file":"splash.d.ts","sourceRoot":"","sources":["../splash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,CAAC,EAAE,MAAM,CAAC;IACV,uDAAuD;IACvD,CAAC,EAAE,MAAM,CAAC;IACV,gDAAgD;IAChD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtE;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,8FAA8F;IAC9F,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,gDAAgD;IAChD,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,qEAAqE;IACrE,QAAQ,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;CACnE;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,6CAA6C;;IAK7C,6BAA6B;;IAK7B,gDAAgD;;IAMhD,gCAAgC;;IAOhC,4CAA4C;;CAE7C,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAgH/D"}
1
+ {"version":3,"file":"splash.d.ts","sourceRoot":"","sources":["../splash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,CAAC,EAAE,MAAM,CAAC;IACV,uDAAuD;IACvD,CAAC,EAAE,MAAM,CAAC;IACV,gDAAgD;IAChD,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtE;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElB;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAEvC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,IAAI,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,8FAA8F;IAC9F,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,6FAA6F;IAC7F,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,gDAAgD;IAChD,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,qEAAqE;IACrE,QAAQ,EAAE,MAAM;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/G;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3I,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,6CAA6C;;IAK7C,6BAA6B;;IAK7B,gDAAgD;;IAMhD,kEAAkE;;IAMlE,gCAAgC;;IAOhC,4CAA4C;;CAE7C,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAyI/D"}
package/dist/splash.js CHANGED
@@ -38,6 +38,11 @@ export const TILE_PRESETS = {
38
38
  { x: Math.floor((DISPLAY_W - 400) / 2), y: Math.floor((DISPLAY_H - G2_IMAGE_MAX_H) / 2) },
39
39
  { x: Math.floor((DISPLAY_W - 400) / 2) + G2_IMAGE_MAX_W, y: Math.floor((DISPLAY_H - G2_IMAGE_MAX_H) / 2) },
40
40
  ],
41
+ /** 2 tiles stacked vertically, centered horizontally, near top */
42
+ topCenterVertical2: [
43
+ { x: Math.floor((DISPLAY_W - G2_IMAGE_MAX_W) / 2), y: 20 },
44
+ { x: Math.floor((DISPLAY_W - G2_IMAGE_MAX_W) / 2), y: 20 + G2_IMAGE_MAX_H },
45
+ ],
41
46
  /** 3 tiles full width at top */
42
47
  fullWidthTop: [
43
48
  { x: 0, y: 0 },
@@ -53,10 +58,11 @@ export function createSplash(config) {
53
58
  const maxTime = config.maxTimeMs ?? 5000;
54
59
  const menuText = config.menuText ?? '';
55
60
  const positions = config.tilePositions;
61
+ const vertical = config.tileLayout === 'vertical';
56
62
  const tileW = G2_IMAGE_MAX_W; // 200
57
63
  const tileH = G2_IMAGE_MAX_H; // 100
58
- const canvasW = config.canvasSize?.w ?? (tileCount * tileW);
59
- const canvasH = config.canvasSize?.h ?? tileH;
64
+ const canvasW = config.canvasSize?.w ?? (vertical ? tileW : tileCount * tileW);
65
+ const canvasH = config.canvasSize?.h ?? (vertical ? tileCount * tileH : tileH);
60
66
  let showTime = 0;
61
67
  let showing = false;
62
68
  let encodedTiles = [];
@@ -75,9 +81,11 @@ export function createSplash(config) {
75
81
  for (let i = 0; i < tileCount; i++) {
76
82
  const slot = IMAGE_TILES[i];
77
83
  const pos = positions?.[i];
78
- const cropX = i * tileW;
84
+ const cropX = vertical ? 0 : i * tileW;
85
+ const cropY = vertical ? i * tileH : 0;
79
86
  const cropW = Math.min(tileW, canvasW - cropX);
80
- const crop = { sx: cropX, sy: 0, sw: cropW, sh: Math.min(tileH, canvasH) };
87
+ const cropH = Math.min(tileH, canvasH - cropY);
88
+ const crop = { sx: cropX, sy: cropY, sw: cropW, sh: cropH };
81
89
  const enc = encodeTilesBatch(canvas, [{ crop, name: slot.name }], tileW, tileH)[0];
82
90
  encodedTiles.push({
83
91
  id: slot.id,
@@ -117,10 +125,14 @@ export function createSplash(config) {
117
125
  renderAndEncode();
118
126
  showTime = Date.now();
119
127
  showing = true;
120
- // Show the home layout (image + optional text below)
121
- await bridge.showHomePage(menuText);
122
- // Send all tiles
123
- for (const tile of encodedTiles) {
128
+ // Show the home layout with all image tiles
129
+ const imageTiles = encodedTiles
130
+ .filter((_, i) => i < tileCount)
131
+ .map(t => ({ id: t.id, name: t.name, x: t.x, y: t.y, w: t.w, h: t.h }));
132
+ await bridge.showHomePage(menuText, imageTiles);
133
+ // Send only the app tiles (not black padding tiles)
134
+ for (let i = 0; i < tileCount; i++) {
135
+ const tile = encodedTiles[i];
124
136
  await bridge.sendImage(tile.id, tile.name, tile.bytes);
125
137
  }
126
138
  // Auto-dismiss after maxTime
@@ -135,6 +147,24 @@ export function createSplash(config) {
135
147
  }
136
148
  showing = false;
137
149
  },
150
+ async clearExtras(bridge) {
151
+ // Send black tiles for any extra splash tiles (e.g. tile 2 "Loading...")
152
+ // so they don't linger when transitioning to the home screen with fewer tiles.
153
+ if (encodedTiles.length === 0)
154
+ return;
155
+ const black = document.createElement('canvas');
156
+ black.width = tileW;
157
+ black.height = tileH;
158
+ const bctx = black.getContext('2d');
159
+ bctx.fillStyle = '#000000';
160
+ bctx.fillRect(0, 0, tileW, tileH);
161
+ const blackEnc = encodeTilesBatch(black, [{ crop: { sx: 0, sy: 0, sw: tileW, sh: tileH }, name: 'black' }], tileW, tileH)[0];
162
+ // Clear tiles beyond what the home screen uses (tile index 1+ for vertical 2-tile splash)
163
+ for (let i = 1; i < encodedTiles.length; i++) {
164
+ const tile = encodedTiles[i];
165
+ await bridge.sendImage(tile.id, tile.name, blackEnc.bytes);
166
+ }
167
+ },
138
168
  isShowing() {
139
169
  return showing;
140
170
  },
@@ -1 +1 @@
1
- {"version":3,"file":"splash.js","sourceRoot":"","sources":["../splash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splash.js","sourceRoot":"","sources":["../splash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Text cleaning utilities for G2 glasses display.
3
+ *
4
+ * The G2 supports basic Latin, Latin-1 Supplement, and common symbols.
5
+ * These helpers strip emojis, unsupported Unicode, and normalize whitespace
6
+ * so text renders cleanly on the monospace G2 display.
7
+ *
8
+ * Usage:
9
+ * import { cleanForG2, normalizeWhitespace } from 'even-toolkit/text-clean';
10
+ * const safe = cleanForG2('Hello 🌍 World!'); // "Hello World!"
11
+ */
12
+ /**
13
+ * Clean text for safe rendering on the G2 glasses display.
14
+ * Strips emojis, unsupported Unicode characters, and normalizes whitespace.
15
+ */
16
+ export declare function cleanForG2(text: string): string;
17
+ /**
18
+ * Normalize whitespace only (collapse multiple spaces/newlines, trim).
19
+ * Does not strip Unicode — use when the text source is already safe.
20
+ */
21
+ export declare function normalizeWhitespace(text: string): string;
22
+ //# sourceMappingURL=text-clean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-clean.d.ts","sourceRoot":"","sources":["../text-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Text cleaning utilities for G2 glasses display.
3
+ *
4
+ * The G2 supports basic Latin, Latin-1 Supplement, and common symbols.
5
+ * These helpers strip emojis, unsupported Unicode, and normalize whitespace
6
+ * so text renders cleanly on the monospace G2 display.
7
+ *
8
+ * Usage:
9
+ * import { cleanForG2, normalizeWhitespace } from 'even-toolkit/text-clean';
10
+ * const safe = cleanForG2('Hello 🌍 World!'); // "Hello World!"
11
+ */
12
+ // Match emoji ranges + misc symbols + dingbats + variation selectors
13
+ const EMOJI_RE = /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{FE00}-\u{FE0F}\u{200D}\u{20E3}\u{E0020}-\u{E007F}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2702}-\u{27B0}\u{231A}-\u{231B}\u{23E9}-\u{23F3}\u{23F8}-\u{23FA}\u{25AA}-\u{25AB}\u{25B6}\u{25C0}\u{25FB}-\u{25FE}\u{2614}-\u{2615}\u{2648}-\u{2653}\u{267F}\u{2693}\u{26A1}\u{26AA}-\u{26AB}\u{26BD}-\u{26BE}\u{26C4}-\u{26C5}\u{26CE}\u{26D4}\u{26EA}\u{26F2}-\u{26F3}\u{26F5}\u{26FA}\u{26FD}\u{2934}-\u{2935}\u{2B05}-\u{2B07}\u{2B1B}-\u{2B1C}\u{2B50}\u{2B55}\u{3030}\u{303D}\u{3297}\u{3299}]/gu;
14
+ // G2 supports basic Latin, Latin-1 Supplement, and some common symbols.
15
+ // Strip anything outside printable ASCII + common Latin extended + box drawing.
16
+ const UNSUPPORTED_RE = /[^\x20-\x7E\u00A0-\u00FF\u2010-\u2027\u2030-\u205E\u2190-\u21FF\u2500-\u257F]/g;
17
+ /**
18
+ * Clean text for safe rendering on the G2 glasses display.
19
+ * Strips emojis, unsupported Unicode characters, and normalizes whitespace.
20
+ */
21
+ export function cleanForG2(text) {
22
+ return text
23
+ .replace(EMOJI_RE, '')
24
+ .replace(UNSUPPORTED_RE, '')
25
+ .replace(/\s+/g, ' ')
26
+ .trim();
27
+ }
28
+ /**
29
+ * Normalize whitespace only (collapse multiple spaces/newlines, trim).
30
+ * Does not strip Unicode — use when the text source is already safe.
31
+ */
32
+ export function normalizeWhitespace(text) {
33
+ return text.replace(/\s+/g, ' ').trim();
34
+ }
35
+ //# sourceMappingURL=text-clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-clean.js","sourceRoot":"","sources":["../text-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,qEAAqE;AACrE,MAAM,QAAQ,GAAG,wmBAAwmB,CAAC;AAE1nB,wEAAwE;AACxE,gFAAgF;AAChF,MAAM,cAAc,GAAG,gFAAgF,CAAC;AAExG;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -19,6 +19,10 @@ export interface UseGlassesConfig<S> {
19
19
  id: number;
20
20
  name: string;
21
21
  bytes: Uint8Array;
22
+ x: number;
23
+ y: number;
24
+ w: number;
25
+ h: number;
22
26
  }[];
23
27
  /**
24
28
  * Optional image-based splash screen.
@@ -1 +1 @@
1
- {"version":3,"file":"useGlasses.d.ts","sourceRoot":"","sources":["../useGlasses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,gEAAgE;IAChE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,KAAK,WAAW,CAAC;IAChE,sEAAsE;IACtE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,KAAK,UAAU,CAAC;IAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,aAAa,CAAC;IACvF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9D,mEAAmE;IACnE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,0GAA0G;IAC1G,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,EAAE,CAAC;IACnE;;;;;OAKG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAiL/D"}
1
+ {"version":3,"file":"useGlasses.d.ts","sourceRoot":"","sources":["../useGlasses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,gEAAgE;IAChE,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,KAAK,WAAW,CAAC;IAChE,sEAAsE;IACtE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,KAAK,UAAU,CAAC;IAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,aAAa,CAAC;IACvF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9D,mEAAmE;IACnE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,0GAA0G;IAC1G,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/G;;;;;OAKG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAoL/D"}
@@ -16,6 +16,7 @@ export function useGlasses(config) {
16
16
  navigateRef.current = navigate;
17
17
  const configRef = useRef(config);
18
18
  configRef.current = config;
19
+ const lastHadImagesRef = useRef(false);
19
20
  const sendDisplay = useCallback(async () => {
20
21
  if (sendingRef.current || !hubRef.current) {
21
22
  // Queue a retry — the current in-flight send has stale data
@@ -30,31 +31,16 @@ export function useGlasses(config) {
30
31
  const nav = navRef.current;
31
32
  const getMode = configRef.current.getPageMode ?? (() => 'text');
32
33
  const mode = getMode(nav.screen);
33
- if (mode === 'home') {
34
- // Home mode: image tiles + text menu below
35
- const data = configRef.current.toDisplayData(snapshot, nav);
36
- const text = data.lines.map(l => {
37
- if (l.style === 'separator')
38
- return '\u2500'.repeat(44);
39
- if (l.inverted)
40
- return `\u25B6 ${l.text}`;
41
- return ` ${l.text}`;
42
- }).join('\n');
43
- if (hub.currentMode === 'home') {
44
- await hub.updateHomeText(text);
45
- }
46
- else {
47
- await hub.showHomePage(text);
48
- // Send image tiles
49
- const tiles = configRef.current.homeImageTiles;
50
- if (tiles) {
51
- for (const tile of tiles) {
52
- await hub.sendImage(tile.id, tile.name, tile.bytes);
53
- }
54
- }
55
- }
56
- }
57
- else if (mode === 'columns' && configRef.current.toColumns) {
34
+ // Build display text from lines
35
+ const data = configRef.current.toDisplayData(snapshot, nav);
36
+ const text = data.lines.map(l => {
37
+ if (l.style === 'separator')
38
+ return '\u2500'.repeat(44);
39
+ if (l.inverted)
40
+ return `\u25B6 ${l.text}`;
41
+ return ` ${l.text}`;
42
+ }).join('\n');
43
+ if (mode === 'columns' && configRef.current.toColumns) {
58
44
  const cols = configRef.current.toColumns(snapshot, nav);
59
45
  if (hub.currentMode === 'columns') {
60
46
  await hub.updateColumns(cols.columns);
@@ -64,20 +50,25 @@ export function useGlasses(config) {
64
50
  }
65
51
  }
66
52
  else {
67
- const data = configRef.current.toDisplayData(snapshot, nav);
68
- const text = data.lines.map(l => {
69
- if (l.style === 'separator')
70
- return '\u2500'.repeat(44);
71
- if (l.inverted)
72
- return `\u25B6 ${l.text}`;
73
- return ` ${l.text}`;
74
- }).join('\n');
75
- if (hub.currentMode === 'text') {
76
- await hub.updateText(text);
53
+ // All modes use raw bridge (home layout) for consistent rendering.
54
+ // 'home' mode includes image tiles; 'text' mode passes no images.
55
+ const tiles = mode === 'home' ? configRef.current.homeImageTiles : undefined;
56
+ const imageTiles = tiles?.map(t => ({ id: t.id, name: t.name, x: t.x, y: t.y, w: t.w, h: t.h }));
57
+ const hasImages = !!imageTiles?.length;
58
+ // Rebuild container when switching modes or changing between image/no-image layouts
59
+ const needsRebuild = hub.currentMode !== 'home' || hasImages !== lastHadImagesRef.current;
60
+ if (!needsRebuild) {
61
+ await hub.updateHomeText(text);
77
62
  }
78
63
  else {
79
- await hub.showTextPage(text);
64
+ await hub.showHomePage(text, imageTiles);
65
+ if (tiles) {
66
+ for (const tile of tiles) {
67
+ await hub.sendImage(tile.id, tile.name, tile.bytes);
68
+ }
69
+ }
80
70
  }
71
+ lastHadImagesRef.current = hasImages;
81
72
  }
82
73
  }
83
74
  catch {
@@ -138,6 +129,11 @@ export function useGlasses(config) {
138
129
  await splash.waitMinTime();
139
130
  if (disposed)
140
131
  return;
132
+ // Clear extra splash tiles (e.g. "Loading..." tile) with black — no rebuild
133
+ await splash.clearExtras(hub);
134
+ // Splash already set up the home layout — mark it so first render
135
+ // uses updateHomeText instead of rebuilding (avoids blink)
136
+ lastHadImagesRef.current = !!configRef.current.homeImageTiles?.length;
141
137
  }
142
138
  else {
143
139
  // Default text splash
@@ -1 +1 @@
1
- {"version":3,"file":"useGlasses.js","sourceRoot":"","sources":["../useGlasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGlasses.js","sourceRoot":"","sources":["../useGlasses.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "even-toolkit",
3
- "version": "0.4.0",
3
+ "version": "0.5.2",
4
4
  "description": "Shared library for building Even Realities G2 glasses apps — bridge, display, gestures, action bars, timers, and more.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -73,6 +73,14 @@
73
73
  "./splash": {
74
74
  "types": "./dist/splash.d.ts",
75
75
  "import": "./dist/splash.js"
76
+ },
77
+ "./text-clean": {
78
+ "types": "./dist/text-clean.d.ts",
79
+ "import": "./dist/text-clean.js"
80
+ },
81
+ "./paginate-text": {
82
+ "types": "./dist/paginate-text.d.ts",
83
+ "import": "./dist/paginate-text.js"
76
84
  }
77
85
  },
78
86
  "files": [
@@ -91,8 +99,12 @@
91
99
  "@jappyjan/even-better-sdk": ">=0.0.10"
92
100
  },
93
101
  "peerDependenciesMeta": {
94
- "react": { "optional": true },
95
- "react-router": { "optional": true }
102
+ "react": {
103
+ "optional": true
104
+ },
105
+ "react-router": {
106
+ "optional": true
107
+ }
96
108
  },
97
109
  "devDependencies": {
98
110
  "@evenrealities/even_hub_sdk": "^0.0.7",