@rezi-ui/node 0.1.0-alpha.13 → 0.1.0-alpha.15

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=emoji_width_policy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji_width_policy.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/emoji_width_policy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,100 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { ZrUiError, getTextMeasureEmojiPolicy } from "@rezi-ui/core";
4
+ import { applyEmojiWidthPolicy, resolveBackendEmojiWidthPolicy, } from "../backend/emojiWidthPolicy.js";
5
+ const ENV_EMOJI_WIDTH_POLICY = "ZRUI_EMOJI_WIDTH_POLICY";
6
+ const ENV_EMOJI_WIDTH_PROBE = "ZRUI_EMOJI_WIDTH_PROBE";
7
+ function snapshotEnv() {
8
+ return {
9
+ emojiWidthPolicy: process.env[ENV_EMOJI_WIDTH_POLICY],
10
+ emojiWidthProbe: process.env[ENV_EMOJI_WIDTH_PROBE],
11
+ };
12
+ }
13
+ function restoreEnv(snapshot) {
14
+ if (snapshot.emojiWidthPolicy === undefined)
15
+ delete process.env[ENV_EMOJI_WIDTH_POLICY];
16
+ else
17
+ process.env[ENV_EMOJI_WIDTH_POLICY] = snapshot.emojiWidthPolicy;
18
+ if (snapshot.emojiWidthProbe === undefined)
19
+ delete process.env[ENV_EMOJI_WIDTH_PROBE];
20
+ else
21
+ process.env[ENV_EMOJI_WIDTH_PROBE] = snapshot.emojiWidthProbe;
22
+ }
23
+ test("emoji width policy: requested explicit policy wins", async () => {
24
+ const prev = snapshotEnv();
25
+ try {
26
+ process.env[ENV_EMOJI_WIDTH_POLICY] = "wide";
27
+ process.env[ENV_EMOJI_WIDTH_PROBE] = "0";
28
+ const resolved = await resolveBackendEmojiWidthPolicy("narrow", Object.freeze({}));
29
+ assert.equal(resolved, "narrow");
30
+ }
31
+ finally {
32
+ restoreEnv(prev);
33
+ }
34
+ });
35
+ test("emoji width policy: native widthPolicy override applies for auto", async () => {
36
+ const prev = snapshotEnv();
37
+ try {
38
+ process.env[ENV_EMOJI_WIDTH_POLICY] = "wide";
39
+ process.env[ENV_EMOJI_WIDTH_PROBE] = "0";
40
+ const resolved = await resolveBackendEmojiWidthPolicy("auto", Object.freeze({ widthPolicy: 0 }));
41
+ assert.equal(resolved, "narrow");
42
+ }
43
+ finally {
44
+ restoreEnv(prev);
45
+ }
46
+ });
47
+ test("emoji width policy: env override applies when auto and no native override", async () => {
48
+ const prev = snapshotEnv();
49
+ try {
50
+ process.env[ENV_EMOJI_WIDTH_POLICY] = "narrow";
51
+ process.env[ENV_EMOJI_WIDTH_PROBE] = "0";
52
+ const resolved = await resolveBackendEmojiWidthPolicy("auto", Object.freeze({}));
53
+ assert.equal(resolved, "narrow");
54
+ }
55
+ finally {
56
+ restoreEnv(prev);
57
+ }
58
+ });
59
+ test("emoji width policy: falls back to wide when probe is not explicitly enabled", async () => {
60
+ const prev = snapshotEnv();
61
+ try {
62
+ delete process.env[ENV_EMOJI_WIDTH_POLICY];
63
+ delete process.env[ENV_EMOJI_WIDTH_PROBE];
64
+ const resolved = await resolveBackendEmojiWidthPolicy("auto", Object.freeze({}));
65
+ assert.equal(resolved, "wide");
66
+ }
67
+ finally {
68
+ restoreEnv(prev);
69
+ }
70
+ });
71
+ test("emoji width policy: rejects explicit/native mismatch", async () => {
72
+ await assert.rejects(() => resolveBackendEmojiWidthPolicy("wide", Object.freeze({ width_policy: 0 })), (err) => err instanceof ZrUiError &&
73
+ err.code === "ZRUI_INVALID_PROPS" &&
74
+ err.message.includes("emojiWidthPolicy=wide"));
75
+ });
76
+ test("emoji width policy: rejects mixed native width keys with different values", async () => {
77
+ await assert.rejects(() => resolveBackendEmojiWidthPolicy("auto", Object.freeze({ widthPolicy: 1, width_policy: 0 })), (err) => err instanceof ZrUiError &&
78
+ err.code === "ZRUI_INVALID_PROPS" &&
79
+ err.message.includes("nativeConfig.widthPolicy=1"));
80
+ });
81
+ test("emoji width policy: rejects invalid native widthPolicy values", async () => {
82
+ await assert.rejects(() => resolveBackendEmojiWidthPolicy("auto", Object.freeze({ widthPolicy: 2 })), (err) => err instanceof ZrUiError &&
83
+ err.code === "ZRUI_INVALID_PROPS" &&
84
+ err.message.includes("must be 0 (narrow) or 1 (wide)"));
85
+ });
86
+ test("emoji width policy: apply updates core measure policy", () => {
87
+ const before = getTextMeasureEmojiPolicy();
88
+ try {
89
+ const nativeNarrow = applyEmojiWidthPolicy("narrow");
90
+ assert.equal(nativeNarrow, 0);
91
+ assert.equal(getTextMeasureEmojiPolicy(), "narrow");
92
+ const nativeWide = applyEmojiWidthPolicy("wide");
93
+ assert.equal(nativeWide, 1);
94
+ assert.equal(getTextMeasureEmojiPolicy(), "wide");
95
+ }
96
+ finally {
97
+ applyEmojiWidthPolicy(before);
98
+ }
99
+ });
100
+ //# sourceMappingURL=emoji_width_policy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji_width_policy.test.js","sourceRoot":"","sources":["../../src/__tests__/emoji_width_policy.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type BackendEmojiWidthPolicy = "auto" | "wide" | "narrow";
2
+ export type ResolvedEmojiWidthPolicy = "wide" | "narrow";
3
+ /**
4
+ * Resolve backend emoji width policy and align core/native width models.
5
+ *
6
+ * Resolution order:
7
+ * 1) explicit `requested` ("wide"/"narrow")
8
+ * 2) explicit native override (`nativeConfig.widthPolicy|width_policy`)
9
+ * 3) env override (`ZRUI_EMOJI_WIDTH_POLICY`)
10
+ * 4) optional probe (CPR-based) when `ZRUI_EMOJI_WIDTH_PROBE=1`
11
+ * 5) deterministic default ("wide")
12
+ */
13
+ export declare function resolveBackendEmojiWidthPolicy(requested: BackendEmojiWidthPolicy | undefined, nativeConfig: Readonly<Record<string, unknown>>): Promise<ResolvedEmojiWidthPolicy>;
14
+ export declare function applyEmojiWidthPolicy(policy: ResolvedEmojiWidthPolicy): 0 | 1;
15
+ //# sourceMappingURL=emojiWidthPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiWidthPolicy.d.ts","sourceRoot":"","sources":["../../src/backend/emojiWidthPolicy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACjE,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAkLzD;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,SAAS,EAAE,uBAAuB,GAAG,SAAS,EAC9C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,OAAO,CAAC,wBAAwB,CAAC,CA8BnC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,CAAC,GAAG,CAAC,CAG7E"}
@@ -0,0 +1,211 @@
1
+ import { ZrUiError, setTextMeasureEmojiPolicy } from "@rezi-ui/core";
2
+ const NATIVE_WIDTH_POLICY_NARROW = 0;
3
+ const NATIVE_WIDTH_POLICY_WIDE = 1;
4
+ const PROBE_TIMEOUT_MS_DEFAULT = 80;
5
+ const PROBE_GLYPHS = Object.freeze(["👁", "😀", "🧪"]);
6
+ const ENV_EMOJI_WIDTH_POLICY = "ZRUI_EMOJI_WIDTH_POLICY";
7
+ const ENV_EMOJI_WIDTH_PROBE = "ZRUI_EMOJI_WIDTH_PROBE";
8
+ function normalizePolicy(raw) {
9
+ if (typeof raw !== "string")
10
+ return null;
11
+ const value = raw.trim().toLowerCase();
12
+ if (value === "auto")
13
+ return "auto";
14
+ if (value === "wide")
15
+ return "wide";
16
+ if (value === "narrow")
17
+ return "narrow";
18
+ return null;
19
+ }
20
+ function nativeWidthPolicyToResolved(value) {
21
+ return value === NATIVE_WIDTH_POLICY_NARROW ? "narrow" : "wide";
22
+ }
23
+ function resolvedToNativeWidthPolicy(value) {
24
+ return value === "narrow" ? NATIVE_WIDTH_POLICY_NARROW : NATIVE_WIDTH_POLICY_WIDE;
25
+ }
26
+ function readNativeWidthPolicyValues(cfg) {
27
+ const parse = (value, key) => {
28
+ if (value === undefined)
29
+ return null;
30
+ if (typeof value !== "number" || !Number.isInteger(value) || (value !== 0 && value !== 1)) {
31
+ throw new ZrUiError("ZRUI_INVALID_PROPS", `createNodeBackend config mismatch: nativeConfig.${key} must be 0 (narrow) or 1 (wide).`);
32
+ }
33
+ return value;
34
+ };
35
+ const record = cfg;
36
+ return {
37
+ camel: parse(record.widthPolicy, "widthPolicy"),
38
+ snake: parse(record.width_policy, "width_policy"),
39
+ };
40
+ }
41
+ function readNativeWidthPolicyOverride(cfg) {
42
+ const values = readNativeWidthPolicyValues(cfg);
43
+ if (values.camel !== null && values.snake !== null && values.camel !== values.snake) {
44
+ throw new ZrUiError("ZRUI_INVALID_PROPS", `createNodeBackend config mismatch: nativeConfig.widthPolicy=${String(values.camel)} must match nativeConfig.width_policy=${String(values.snake)}.`);
45
+ }
46
+ const nativeValue = values.camel ?? values.snake;
47
+ if (nativeValue === null)
48
+ return null;
49
+ return nativeWidthPolicyToResolved(nativeValue);
50
+ }
51
+ function pushParsedCpr(buffer, out) {
52
+ let pending = buffer;
53
+ while (pending.length > 0) {
54
+ const esc = pending.indexOf("\x1b[");
55
+ if (esc < 0) {
56
+ if (pending.length > 128)
57
+ pending = pending.slice(-128);
58
+ break;
59
+ }
60
+ if (esc > 0) {
61
+ pending = pending.slice(esc);
62
+ }
63
+ const end = pending.indexOf("R", 2);
64
+ if (end < 0)
65
+ break;
66
+ const seq = pending.slice(0, end + 1);
67
+ pending = pending.slice(end + 1);
68
+ const body = seq.slice(2, seq.length - 1);
69
+ const sep = body.indexOf(";");
70
+ if (sep <= 0 || sep >= body.length - 1)
71
+ continue;
72
+ const rowText = body.slice(0, sep);
73
+ const colText = body.slice(sep + 1);
74
+ if (!/^\d+$/.test(rowText) || !/^\d+$/.test(colText))
75
+ continue;
76
+ const row = Number.parseInt(rowText, 10);
77
+ const col = Number.parseInt(colText, 10);
78
+ if (Number.isFinite(row) && Number.isFinite(col)) {
79
+ out.push({ row, col });
80
+ }
81
+ }
82
+ return pending;
83
+ }
84
+ async function probeGlyphWidthViaCpr(glyph, timeoutMs) {
85
+ const stdin = process.stdin;
86
+ const stdout = process.stdout;
87
+ if (!stdin.isTTY || !stdout.isTTY)
88
+ return null;
89
+ if (typeof stdin.setRawMode !== "function")
90
+ return null;
91
+ const wasRaw = stdin.isRaw === true;
92
+ let pending = "";
93
+ const cprs = [];
94
+ const onData = (chunk) => {
95
+ const text = typeof chunk === "string" ? chunk : chunk.toString("utf8");
96
+ pending = pushParsedCpr(pending + text, cprs);
97
+ };
98
+ let timeout = null;
99
+ try {
100
+ stdin.on("data", onData);
101
+ stdin.resume();
102
+ if (!wasRaw)
103
+ stdin.setRawMode(true);
104
+ // Save cursor, move to a stable column, query CPR, print glyph, query CPR again, restore cursor.
105
+ await new Promise((resolve, reject) => {
106
+ stdout.write(`\x1b[s\x1b[999;1H\x1b[6n${glyph}\x1b[6n\x1b[u`, (err) => {
107
+ if (err)
108
+ reject(err);
109
+ else
110
+ resolve();
111
+ });
112
+ });
113
+ await new Promise((resolve) => {
114
+ const done = () => {
115
+ if (timeout)
116
+ clearTimeout(timeout);
117
+ timeout = null;
118
+ resolve();
119
+ };
120
+ timeout = setTimeout(done, timeoutMs);
121
+ const poll = () => {
122
+ if (cprs.length >= 2) {
123
+ done();
124
+ return;
125
+ }
126
+ setTimeout(poll, 2);
127
+ };
128
+ poll();
129
+ });
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ finally {
135
+ if (timeout)
136
+ clearTimeout(timeout);
137
+ stdin.off("data", onData);
138
+ if (!wasRaw) {
139
+ try {
140
+ stdin.setRawMode(false);
141
+ }
142
+ catch {
143
+ // no-op
144
+ }
145
+ }
146
+ }
147
+ const a = cprs[0];
148
+ const b = cprs[1];
149
+ if (!a || !b)
150
+ return null;
151
+ if (b.row !== a.row)
152
+ return null;
153
+ const delta = b.col - a.col;
154
+ if (delta === 1 || delta === 2)
155
+ return delta;
156
+ return null;
157
+ }
158
+ async function probeTerminalEmojiWidthPolicy(timeoutMs) {
159
+ const widths = [];
160
+ for (const glyph of PROBE_GLYPHS) {
161
+ const width = await probeGlyphWidthViaCpr(glyph, timeoutMs);
162
+ if (width !== null)
163
+ widths.push(width);
164
+ }
165
+ if (widths.length === 0)
166
+ return null;
167
+ if (widths.includes(1))
168
+ return "narrow";
169
+ return "wide";
170
+ }
171
+ /**
172
+ * Resolve backend emoji width policy and align core/native width models.
173
+ *
174
+ * Resolution order:
175
+ * 1) explicit `requested` ("wide"/"narrow")
176
+ * 2) explicit native override (`nativeConfig.widthPolicy|width_policy`)
177
+ * 3) env override (`ZRUI_EMOJI_WIDTH_POLICY`)
178
+ * 4) optional probe (CPR-based) when `ZRUI_EMOJI_WIDTH_PROBE=1`
179
+ * 5) deterministic default ("wide")
180
+ */
181
+ export async function resolveBackendEmojiWidthPolicy(requested, nativeConfig) {
182
+ const requestedPolicy = requested ?? "auto";
183
+ const nativeOverride = readNativeWidthPolicyOverride(nativeConfig);
184
+ if (requestedPolicy === "narrow" || requestedPolicy === "wide") {
185
+ if (nativeOverride !== null && nativeOverride !== requestedPolicy) {
186
+ throw new ZrUiError("ZRUI_INVALID_PROPS", `createNodeBackend config mismatch: emojiWidthPolicy=${requestedPolicy} must match nativeConfig.widthPolicy/width_policy=${nativeOverride === "narrow" ? 0 : 1}.`);
187
+ }
188
+ return requestedPolicy;
189
+ }
190
+ if (nativeOverride !== null)
191
+ return nativeOverride;
192
+ const envOverride = normalizePolicy(process.env[ENV_EMOJI_WIDTH_POLICY]);
193
+ if (envOverride === "wide" || envOverride === "narrow")
194
+ return envOverride;
195
+ /*
196
+ CPR probing is opt-in because it temporarily consumes stdin bytes while
197
+ collecting CPR responses, which can race startup-time key streams.
198
+ */
199
+ const probeEnabled = process.env[ENV_EMOJI_WIDTH_PROBE] === "1";
200
+ if (probeEnabled) {
201
+ const probed = await probeTerminalEmojiWidthPolicy(PROBE_TIMEOUT_MS_DEFAULT);
202
+ if (probed !== null)
203
+ return probed;
204
+ }
205
+ return "wide";
206
+ }
207
+ export function applyEmojiWidthPolicy(policy) {
208
+ setTextMeasureEmojiPolicy(policy);
209
+ return resolvedToNativeWidthPolicy(policy);
210
+ }
211
+ //# sourceMappingURL=emojiWidthPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiWidthPolicy.js","sourceRoot":"","sources":["../../src/backend/emojiWidthPolicy.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,16 @@ export type NodeBackendConfig = Readonly<{
46
46
  * Keys are forwarded as-is (camelCase or snake_case accepted by the native parser).
47
47
  */
48
48
  nativeConfig?: Readonly<Record<string, unknown>>;
49
+ /**
50
+ * Emoji width policy used to keep core layout measurement and native rendering aligned.
51
+ * - "auto": use native/env overrides; optional probe when `ZRUI_EMOJI_WIDTH_PROBE=1`
52
+ * then fallback to deterministic "wide"
53
+ * - "wide": emoji clusters consume 2 cells
54
+ * - "narrow": emoji clusters consume 1 cell
55
+ *
56
+ * This sets core text measurement policy and native `widthPolicy` together.
57
+ */
58
+ emojiWidthPolicy?: "auto" | "wide" | "narrow";
49
59
  }>;
50
60
  export type NodeBackendInternalOpts = Readonly<{
51
61
  config?: NodeBackendConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeBackend.d.ts","sourceRoot":"","sources":["../../src/backend/nodeBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,YAAY,EAKZ,cAAc,EAEf,MAAM,eAAe,CAAC;AAwCvB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IAC7C,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,QAAQ,CACd,MAAM,CACJ,MAAM,EACN;QACE,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B,CACF,CACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,YAAY,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AA+LpG,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,uBAA4B,GAAG,WAAW,CA+6BzF"}
1
+ {"version":3,"file":"nodeBackend.d.ts","sourceRoot":"","sources":["../../src/backend/nodeBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,YAAY,EAKZ,cAAc,EAEf,MAAM,eAAe,CAAC;AA0CvB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IAC7C,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,QAAQ,CACd,MAAM,CACJ,MAAM,EACN;QACE,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B,CACF,CACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,YAAY,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAiMpG,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,uBAA4B,GAAG,WAAW,CAk8BzF"}
@@ -8,9 +8,11 @@
8
8
  */
9
9
  import { Worker } from "node:worker_threads";
10
10
  import { BACKEND_DRAWLIST_V2_MARKER, BACKEND_FPS_CAP_MARKER, BACKEND_MAX_EVENT_BYTES_MARKER, DEFAULT_TERMINAL_CAPS, FRAME_ACCEPTED_ACK_MARKER, } from "@rezi-ui/core";
11
- import { ZR_DRAWLIST_VERSION_V1, ZR_DRAWLIST_VERSION_V2, ZR_ENGINE_ABI_MAJOR, ZR_ENGINE_ABI_MINOR, ZR_ENGINE_ABI_PATCH, ZR_EVENT_BATCH_VERSION_V1, ZrUiError, severityToNum, } from "@rezi-ui/core";
11
+ import { ZR_DRAWLIST_VERSION_V1, ZR_DRAWLIST_VERSION_V2, ZR_ENGINE_ABI_MAJOR, ZR_ENGINE_ABI_MINOR, ZR_ENGINE_ABI_PATCH, ZR_EVENT_BATCH_VERSION_V1, ZrUiError, setTextMeasureEmojiPolicy, severityToNum, } from "@rezi-ui/core";
12
12
  import { FRAME_SAB_CONTROL_CONSUMED_SEQ_WORD, FRAME_SAB_CONTROL_HEADER_WORDS, FRAME_SAB_CONTROL_PUBLISHED_BYTES_WORD, FRAME_SAB_CONTROL_PUBLISHED_SEQ_WORD, FRAME_SAB_CONTROL_PUBLISHED_SLOT_WORD, FRAME_SAB_CONTROL_PUBLISHED_TOKEN_WORD, FRAME_SAB_CONTROL_WORDS_PER_SLOT, FRAME_SAB_SLOT_STATE_FREE, FRAME_SAB_SLOT_STATE_READY, FRAME_SAB_SLOT_STATE_WRITING, FRAME_TRANSPORT_SAB_V1, FRAME_TRANSPORT_TRANSFER_V1, FRAME_TRANSPORT_VERSION, } from "../worker/protocol.js";
13
+ import { applyEmojiWidthPolicy, resolveBackendEmojiWidthPolicy } from "./emojiWidthPolicy.js";
13
14
  import { createNodeBackendInlineInternal } from "./nodeBackendInline.js";
15
+ const WIDTH_POLICY_KEY = "widthPolicy";
14
16
  function deferred() {
15
17
  let resolve;
16
18
  let reject;
@@ -185,7 +187,7 @@ export function createNodeBackendInternal(opts = {}) {
185
187
  ? cfg.nativeConfig
186
188
  : Object.freeze({});
187
189
  const nativeTargetFps = resolveTargetFps(fpsCap, nativeConfig);
188
- const initConfig = {
190
+ const initConfigBase = {
189
191
  ...nativeConfig,
190
192
  // fpsCap is the single frame-scheduling knob; native target fps must align.
191
193
  targetFps: nativeTargetFps,
@@ -200,6 +202,7 @@ export function createNodeBackendInternal(opts = {}) {
200
202
  maxEventBytes,
201
203
  frameTransport: frameTransportWire,
202
204
  };
205
+ let initConfigResolved = null;
203
206
  let worker = null;
204
207
  let disposed = false;
205
208
  let started = false;
@@ -602,6 +605,21 @@ export function createNodeBackendInternal(opts = {}) {
602
605
  if (started)
603
606
  return;
604
607
  if (worker === null) {
608
+ if (initConfigResolved === null) {
609
+ const resolvedEmojiWidthPolicy = await resolveBackendEmojiWidthPolicy(cfg.emojiWidthPolicy, nativeConfig);
610
+ const nativeWidthPolicy = applyEmojiWidthPolicy(resolvedEmojiWidthPolicy);
611
+ initConfigResolved = {
612
+ ...initConfigBase,
613
+ widthPolicy: nativeWidthPolicy,
614
+ };
615
+ }
616
+ else {
617
+ // Keep core measurement policy deterministic across stop/start cycles.
618
+ const widthPolicy = initConfigResolved[WIDTH_POLICY_KEY];
619
+ if (typeof widthPolicy === "number") {
620
+ setTextMeasureEmojiPolicy(widthPolicy === 0 ? "narrow" : "wide");
621
+ }
622
+ }
605
623
  startDef = deferred();
606
624
  startSettled = false;
607
625
  stopDef = null;
@@ -625,7 +643,7 @@ export function createNodeBackendInternal(opts = {}) {
625
643
  worker.on("exit", (code) => {
626
644
  handleWorkerExit(code);
627
645
  });
628
- send({ type: "init", config: initConfig });
646
+ send({ type: "init", config: initConfigResolved });
629
647
  }
630
648
  if (startDef === null)
631
649
  throw new Error("NodeBackend: invariant violated (startDef is null)");
@@ -1 +1 @@
1
- {"version":3,"file":"nodeBackend.js","sourceRoot":"","sources":["../../src/backend/nodeBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeBackend.js","sourceRoot":"","sources":["../../src/backend/nodeBackend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeBackendInline.d.ts","sourceRoot":"","sources":["../../src/backend/nodeBackendInline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAwN1B,wBAAgB,+BAA+B,CAAC,IAAI,GAAE,uBAA4B,GAAG,WAAW,CAuoB/F"}
1
+ {"version":3,"file":"nodeBackendInline.d.ts","sourceRoot":"","sources":["../../src/backend/nodeBackendInline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAyN1B,wBAAgB,+BAA+B,CAAC,IAAI,GAAE,uBAA4B,GAAG,WAAW,CAypB/F"}
@@ -7,13 +7,15 @@
7
7
  */
8
8
  import { performance } from "node:perf_hooks";
9
9
  import { BACKEND_DRAWLIST_V2_MARKER, BACKEND_FPS_CAP_MARKER, BACKEND_MAX_EVENT_BYTES_MARKER, DEFAULT_TERMINAL_CAPS, } from "@rezi-ui/core";
10
- import { ZR_DRAWLIST_VERSION_V1, ZR_DRAWLIST_VERSION_V2, ZR_ENGINE_ABI_MAJOR, ZR_ENGINE_ABI_MINOR, ZR_ENGINE_ABI_PATCH, ZR_EVENT_BATCH_VERSION_V1, ZrUiError, severityToNum, } from "@rezi-ui/core";
10
+ import { ZR_DRAWLIST_VERSION_V1, ZR_DRAWLIST_VERSION_V2, ZR_ENGINE_ABI_MAJOR, ZR_ENGINE_ABI_MINOR, ZR_ENGINE_ABI_PATCH, ZR_EVENT_BATCH_VERSION_V1, ZrUiError, setTextMeasureEmojiPolicy, severityToNum, } from "@rezi-ui/core";
11
+ import { applyEmojiWidthPolicy, resolveBackendEmojiWidthPolicy } from "./emojiWidthPolicy.js";
11
12
  const DEBUG_QUERY_DEFAULT_RECORDS = 4096;
12
13
  const DEBUG_QUERY_MAX_RECORDS = 16384;
13
14
  const EVENT_POOL_SIZE = 16;
14
15
  const POLL_IDLE_MS = 2;
15
16
  const POLL_BUSY_MS = 0;
16
17
  const ZR_ERR_LIMIT = -3;
18
+ const WIDTH_POLICY_KEY = "widthPolicy";
17
19
  const RESOLVED_VOID = Promise.resolve();
18
20
  const SYNC_FRAME_ACK_MARKER = "__reziSyncFrameAck";
19
21
  const RESOLVED_SYNC_FRAME_ACK = Promise.resolve();
@@ -139,7 +141,7 @@ export function createNodeBackendInlineInternal(opts = {}) {
139
141
  ? cfg.nativeConfig
140
142
  : Object.freeze({});
141
143
  const nativeTargetFps = resolveTargetFps(fpsCap, nativeConfig);
142
- const initConfig = {
144
+ const initConfigBase = {
143
145
  ...nativeConfig,
144
146
  // fpsCap is the single frame-scheduling knob; native target fps must align.
145
147
  targetFps: nativeTargetFps,
@@ -149,6 +151,7 @@ export function createNodeBackendInlineInternal(opts = {}) {
149
151
  requestedDrawlistVersion: useDrawlistV2 ? ZR_DRAWLIST_VERSION_V2 : ZR_DRAWLIST_VERSION_V1,
150
152
  requestedEventBatchVersion: ZR_EVENT_BATCH_VERSION_V1,
151
153
  };
154
+ let initConfigResolved = null;
152
155
  let native = null;
153
156
  let nativePromise = null;
154
157
  let engineId = null;
@@ -417,10 +420,24 @@ export function createNodeBackendInlineInternal(opts = {}) {
417
420
  startSettled = false;
418
421
  stopRequested = false;
419
422
  try {
423
+ if (initConfigResolved === null) {
424
+ const resolvedEmojiWidthPolicy = await resolveBackendEmojiWidthPolicy(cfg.emojiWidthPolicy, nativeConfig);
425
+ const nativeWidthPolicy = applyEmojiWidthPolicy(resolvedEmojiWidthPolicy);
426
+ initConfigResolved = {
427
+ ...initConfigBase,
428
+ widthPolicy: nativeWidthPolicy,
429
+ };
430
+ }
431
+ else {
432
+ const widthPolicy = initConfigResolved[WIDTH_POLICY_KEY];
433
+ if (typeof widthPolicy === "number") {
434
+ setTextMeasureEmojiPolicy(widthPolicy === 0 ? "narrow" : "wide");
435
+ }
436
+ }
420
437
  const api = await ensureNativeLoaded();
421
438
  let id = 0;
422
439
  try {
423
- id = api.engineCreate(initConfig);
440
+ id = api.engineCreate(initConfigResolved);
424
441
  }
425
442
  catch (err) {
426
443
  throw new Error(`engine_create threw: ${safeDetail(err)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"nodeBackendInline.js","sourceRoot":"","sources":["../../src/backend/nodeBackendInline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeBackendInline.js","sourceRoot":"","sources":["../../src/backend/nodeBackendInline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rezi-ui/node",
3
- "version": "0.1.0-alpha.13",
3
+ "version": "0.1.0-alpha.15",
4
4
  "description": "Node.js/Bun backend for Rezi (worker-thread engine ownership, scheduling, IO).",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://rtlzeromemory.github.io/Rezi/",
@@ -29,8 +29,8 @@
29
29
  "bun": ">=1.3.0"
30
30
  },
31
31
  "dependencies": {
32
- "@rezi-ui/core": "0.1.0-alpha.13",
33
- "@rezi-ui/native": "0.1.0-alpha.13"
32
+ "@rezi-ui/core": "0.1.0-alpha.15",
33
+ "@rezi-ui/native": "0.1.0-alpha.15"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@xterm/headless": "^6.0.0",