@zenbu-labs/pixel 0.0.19 → 0.0.21

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/index.d.ts CHANGED
@@ -6,6 +6,8 @@ export { findOwner, listInstances } from "./instances";
6
6
  export { WebView } from "./webview";
7
7
  export type { DownloadProgress, OpenWindowDecision, OpenWindowPolicy, BrowserWindowOptions, WebViewHandle, WebViewProps, WebViewRecording, WebViewState, } from "./webview";
8
8
  export { DevTools } from "./devtools";
9
+ export { useRect } from "./layout";
10
+ export type { Rect } from "./devtools-layout";
9
11
  export type { DevToolsProps } from "./devtools";
10
12
  export type { DevtoolsDock } from "./web/types";
11
13
  export type { ZoomDirection } from "./web/zoom";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeTheme = exports.useStore = exports.engineLogs = exports.encodeRecording = exports.captureFilmstrip = exports.SurfaceCapture = exports.Surface = exports.HIGHLIGHT_CAPTURES = exports.parseMarkdown = exports.diff = exports.highlight = exports.requestClipboardImage = exports.setPointerShape = exports.setClipboard = exports.useTerminalColors = exports.appLog = exports.Markdown = exports.Path = exports.MarkedText = exports.Image = exports.Input = exports.Text = exports.Box = exports.defaultOpenWindow = exports.QUIT_URL = exports.DevTools = exports.WebView = exports.listInstances = exports.findOwner = exports.createRoot = void 0;
3
+ exports.makeTheme = exports.useStore = exports.engineLogs = exports.encodeRecording = exports.captureFilmstrip = exports.SurfaceCapture = exports.Surface = exports.HIGHLIGHT_CAPTURES = exports.parseMarkdown = exports.diff = exports.highlight = exports.requestClipboardImage = exports.setPointerShape = exports.setClipboard = exports.useTerminalColors = exports.appLog = exports.Markdown = exports.Path = exports.MarkedText = exports.Image = exports.Input = exports.Text = exports.Box = exports.defaultOpenWindow = exports.QUIT_URL = exports.useRect = exports.DevTools = exports.WebView = exports.listInstances = exports.findOwner = exports.createRoot = void 0;
4
4
  /// <reference path="../electron/electron.d.ts" preserve="true" />
5
5
  var root_1 = require("./root");
6
6
  Object.defineProperty(exports, "createRoot", { enumerable: true, get: function () { return root_1.createRoot; } });
@@ -11,6 +11,8 @@ var webview_1 = require("./webview");
11
11
  Object.defineProperty(exports, "WebView", { enumerable: true, get: function () { return webview_1.WebView; } });
12
12
  var devtools_1 = require("./devtools");
13
13
  Object.defineProperty(exports, "DevTools", { enumerable: true, get: function () { return devtools_1.DevTools; } });
14
+ var layout_1 = require("./layout");
15
+ Object.defineProperty(exports, "useRect", { enumerable: true, get: function () { return layout_1.useRect; } });
14
16
  var host_1 = require("./web/host");
15
17
  Object.defineProperty(exports, "QUIT_URL", { enumerable: true, get: function () { return host_1.QUIT_URL; } });
16
18
  Object.defineProperty(exports, "defaultOpenWindow", { enumerable: true, get: function () { return host_1.defaultOpenWindow; } });
package/dist/layout.d.ts CHANGED
@@ -2,4 +2,5 @@ import type { RefObject } from "react";
2
2
  import type { NodeHandle } from "./react";
3
3
  import type { ViewRegistry } from "./registry";
4
4
  import type { Rect } from "./devtools-layout";
5
+ export declare function useRect(node: RefObject<NodeHandle | null>): Rect | null;
5
6
  export declare function useNodeRect(node: RefObject<NodeHandle | null>, registry: ViewRegistry): Rect | null;
package/dist/layout.js CHANGED
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRect = useRect;
3
4
  exports.useNodeRect = useNodeRect;
4
5
  const react_1 = require("react");
5
6
  const debug_1 = require("./debug");
7
+ const registry_1 = require("./registry");
8
+ function useRect(node) {
9
+ const registry = (0, react_1.useContext)(registry_1.RootContext);
10
+ if (!registry) {
11
+ throw new Error("useRect has to be used under a root from createRoot()");
12
+ }
13
+ return useNodeRect(node, registry);
14
+ }
6
15
  function useNodeRect(node, registry) {
7
16
  const [rect, setRect] = (0, react_1.useState)(null);
8
17
  // subscribed before the query below goes out, or the reply can land first and be missed
@@ -78,9 +78,7 @@ export interface RootOptions {
78
78
  }
79
79
  export interface RenderSettings {
80
80
  maxFps?: number;
81
- frameBudgetMbps?: number;
82
81
  highlightTransmits?: boolean;
83
- compareFrames?: boolean;
84
82
  frameEvents?: boolean;
85
83
  }
86
84
  export interface PixelRoot {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@zenbu-labs/pixel",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "description": "[placeholder copy: Electron apps that render into your terminal pane]",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/zenbu-labs/pixel.git",
9
- "directory": "packages/pixel"
8
+ "url": "git+https://github.com/zenbu-labs/terminal-browser.git",
9
+ "directory": "pixel/packages/pixel"
10
10
  },
11
11
  "main": "dist/index.js",
12
12
  "types": "dist/index.d.ts",
@@ -58,10 +58,10 @@
58
58
  "react": "^18.3.1"
59
59
  },
60
60
  "optionalDependencies": {
61
- "@zenbu-labs/pixel-native-darwin-arm64": "0.0.19",
62
- "@zenbu-labs/pixel-native-darwin-x64": "0.0.19",
63
- "@zenbu-labs/pixel-native-linux-arm64": "0.0.19",
64
- "@zenbu-labs/pixel-native-linux-x64": "0.0.19"
61
+ "@zenbu-labs/pixel-native-darwin-arm64": "0.0.21",
62
+ "@zenbu-labs/pixel-native-darwin-x64": "0.0.21",
63
+ "@zenbu-labs/pixel-native-linux-arm64": "0.0.21",
64
+ "@zenbu-labs/pixel-native-linux-x64": "0.0.21"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/node": "^22.0.0",
@@ -25,9 +25,15 @@ if (!platform) {
25
25
  process.exit(1);
26
26
  }
27
27
 
28
- const mirror =
29
- process.env.PIXEL_ELECTRON_MIRROR ??
30
- `https://github.com/zenbu-labs/pixel/releases/download/electron-v${version}`;
28
+ // Patched electron builds are published as electron-v<version> releases. Newer ones live on
29
+ // the terminal-browser repo, where pixel now lives; older ones stayed on the archived pixel repo.
30
+ const mirrors = process.env.PIXEL_ELECTRON_MIRROR
31
+ ? [process.env.PIXEL_ELECTRON_MIRROR]
32
+ : [
33
+ `https://github.com/zenbu-labs/terminal-browser/releases/download/electron-v${version}`,
34
+ `https://github.com/zenbu-labs/pixel/releases/download/electron-v${version}`,
35
+ ];
36
+ let mirror = mirrors[0];
31
37
  const zipName = `electron-v${version}-${platform}.zip`;
32
38
 
33
39
  async function fetchBytes(url) {
@@ -59,9 +65,18 @@ function readMarker(file) {
59
65
  fs.mkdirSync(electronDir, { recursive: true });
60
66
 
61
67
  let shasums;
62
- try {
63
- shasums = (await fetchBytes(`${mirror}/SHASUMS256.txt`)).toString("utf8");
64
- } catch (error) {
68
+ let lastError;
69
+ for (const candidate of mirrors) {
70
+ try {
71
+ shasums = (await fetchBytes(`${candidate}/SHASUMS256.txt`)).toString("utf8");
72
+ mirror = candidate;
73
+ break;
74
+ } catch (error) {
75
+ lastError = error;
76
+ }
77
+ }
78
+ if (!shasums) {
79
+ const error = lastError;
65
80
  if (skipBinary && fs.existsSync(typesFile)) process.exit(0);
66
81
  process.stderr.write(
67
82
  `pixel: [placeholder copy: no patched electron v${version} is published (${error.message}). ` +