4runr-os 2.0.61 → 2.0.63
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/ui/v5/index.d.ts.map +1 -1
- package/dist/ui/v5/index.js +22 -27
- package/dist/ui/v5/index.js.map +1 -1
- package/dist/ui/v5/layout/clampRect.d.ts +6 -5
- package/dist/ui/v5/layout/clampRect.d.ts.map +1 -1
- package/dist/ui/v5/layout/clampRect.js +18 -9
- package/dist/ui/v5/layout/clampRect.js.map +1 -1
- package/dist/ui/v5/layout/layoutEngine.js +4 -4
- package/dist/ui/v5/layout/layoutEngine.js.map +1 -1
- package/dist/ui/v5/viewport/getViewport.js +1 -1
- package/dist/ui/v5/viewport/getViewport.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/v5/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/v5/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,2BAA2B,EAAE,OAAO,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAoQlD"}
|
package/dist/ui/v5/index.js
CHANGED
|
@@ -26,7 +26,6 @@ import { restoreTerminal } from './guardrails/terminalRestore.js';
|
|
|
26
26
|
import { attachRuntime, detachRuntime } from './runtime/keepAlive.js';
|
|
27
27
|
import { UIKernel } from './kernel/kernel.js';
|
|
28
28
|
import { ResizeController } from './resize/resizeController.js';
|
|
29
|
-
import { safeRender, getLayoutVersion } from './renderGate.js';
|
|
30
29
|
import { handleDebugCommand } from './debug/debugCommands.js';
|
|
31
30
|
import { getViewport } from './viewport/getViewport.js';
|
|
32
31
|
/**
|
|
@@ -51,12 +50,8 @@ export async function startV5Shell() {
|
|
|
51
50
|
let kernel = null;
|
|
52
51
|
let resizeController = null;
|
|
53
52
|
try {
|
|
54
|
-
// CRITICAL: Prepare stdin BEFORE creating screen
|
|
55
|
-
process.stdin.resume();
|
|
56
|
-
if (process.stdin.isTTY && !process.stdin.isRaw) {
|
|
57
|
-
process.stdin.setRawMode(true);
|
|
58
|
-
}
|
|
59
53
|
// Create screen - blessed will detect terminal size automatically
|
|
54
|
+
// NOTE: Blessed takes control of stdin, so we handle input via blessed's key system
|
|
60
55
|
screen = blessed.screen({
|
|
61
56
|
smartCSR: true,
|
|
62
57
|
fastCSR: false,
|
|
@@ -64,6 +59,8 @@ export async function startV5Shell() {
|
|
|
64
59
|
fullUnicode: false,
|
|
65
60
|
autoPadding: false,
|
|
66
61
|
dockBorders: false,
|
|
62
|
+
input: process.stdin,
|
|
63
|
+
output: process.stdout,
|
|
67
64
|
});
|
|
68
65
|
// CRITICAL: Override blessed's program.cols/rows to force safe dimensions
|
|
69
66
|
// This prevents blessed from rendering beyond safe bounds
|
|
@@ -108,21 +105,22 @@ export async function startV5Shell() {
|
|
|
108
105
|
cleanup();
|
|
109
106
|
process.exit(0);
|
|
110
107
|
});
|
|
111
|
-
// Handle command input via raw stdin (like V3) - more reliable
|
|
108
|
+
// Handle command input via raw stdin (like V3) - more reliable
|
|
109
|
+
// Blessed's keypress handler doesn't work well in browser terminals
|
|
112
110
|
let commandBuffer = '';
|
|
113
111
|
const PROMPT = '4runr> ';
|
|
114
|
-
// Ensure stdin is ready
|
|
112
|
+
// Ensure stdin is ready (blessed might have set it to raw mode)
|
|
115
113
|
if (process.stdin.isTTY) {
|
|
116
|
-
|
|
117
|
-
process.stdin.setRawMode(true);
|
|
118
|
-
}
|
|
114
|
+
process.stdin.setRawMode(true);
|
|
119
115
|
process.stdin.setEncoding('utf8');
|
|
120
116
|
if (process.stdin.isPaused()) {
|
|
121
117
|
process.stdin.resume();
|
|
122
118
|
}
|
|
123
119
|
}
|
|
124
|
-
// Handle stdin data directly (
|
|
120
|
+
// Handle stdin data directly (like V3)
|
|
125
121
|
const stdinHandler = (data) => {
|
|
122
|
+
if (!screen)
|
|
123
|
+
return; // Safety check
|
|
126
124
|
const input = data.toString();
|
|
127
125
|
// Ctrl+C
|
|
128
126
|
if (input === '\x03') {
|
|
@@ -138,44 +136,41 @@ export async function startV5Shell() {
|
|
|
138
136
|
// Update command widget display
|
|
139
137
|
if (widgets?.command) {
|
|
140
138
|
widgets.command.setContent(PROMPT);
|
|
139
|
+
screen.render(); // Force immediate render
|
|
141
140
|
}
|
|
142
141
|
// Handle debug commands
|
|
143
142
|
if (command && handleDebugCommand(command, debugContext)) {
|
|
144
|
-
|
|
145
|
-
const currentVersion = getLayoutVersion();
|
|
146
|
-
safeRender(screen, currentVersion);
|
|
143
|
+
screen.render();
|
|
147
144
|
return;
|
|
148
145
|
}
|
|
149
146
|
// Future: handle other commands here
|
|
150
|
-
|
|
151
|
-
safeRender(screen, currentVersion);
|
|
147
|
+
screen.render();
|
|
152
148
|
return;
|
|
153
149
|
}
|
|
154
150
|
// Backspace
|
|
155
151
|
if (input === '\x7f' || input === '\x08') {
|
|
156
152
|
if (commandBuffer.length > 0) {
|
|
157
153
|
commandBuffer = commandBuffer.slice(0, -1);
|
|
158
|
-
if (widgets?.command) {
|
|
154
|
+
if (widgets?.command && screen) {
|
|
159
155
|
widgets.command.setContent(PROMPT + commandBuffer);
|
|
156
|
+
screen.render(); // Force immediate render
|
|
160
157
|
}
|
|
161
158
|
}
|
|
162
159
|
else {
|
|
163
|
-
if (widgets?.command) {
|
|
160
|
+
if (widgets?.command && screen) {
|
|
164
161
|
widgets.command.setContent(PROMPT);
|
|
162
|
+
screen.render(); // Force immediate render
|
|
165
163
|
}
|
|
166
164
|
}
|
|
167
|
-
const currentVersion = getLayoutVersion();
|
|
168
|
-
safeRender(screen, currentVersion);
|
|
169
165
|
return;
|
|
170
166
|
}
|
|
171
167
|
// Printable characters (ASCII 32-126)
|
|
172
168
|
if (input.length === 1 && input >= ' ' && input <= '~') {
|
|
173
169
|
commandBuffer += input;
|
|
174
|
-
if (widgets?.command) {
|
|
170
|
+
if (widgets?.command && screen) {
|
|
175
171
|
widgets.command.setContent(PROMPT + commandBuffer);
|
|
172
|
+
screen.render(); // Force immediate render - CRITICAL for visibility
|
|
176
173
|
}
|
|
177
|
-
const currentVersion = getLayoutVersion();
|
|
178
|
-
safeRender(screen, currentVersion);
|
|
179
174
|
}
|
|
180
175
|
};
|
|
181
176
|
// Remove any existing listeners first
|
|
@@ -191,15 +186,15 @@ export async function startV5Shell() {
|
|
|
191
186
|
if (widgets?.command && screen) {
|
|
192
187
|
try {
|
|
193
188
|
const cmdWidget = widgets.command;
|
|
194
|
-
cmdWidget.setContent(
|
|
195
|
-
// Force focus
|
|
189
|
+
cmdWidget.setContent(PROMPT);
|
|
190
|
+
// Force focus - blessed needs this to receive keypress events
|
|
196
191
|
if (typeof cmdWidget.focus === 'function') {
|
|
197
192
|
cmdWidget.focus();
|
|
198
193
|
}
|
|
199
194
|
screen.focused = cmdWidget;
|
|
200
195
|
// Ensure screen renders
|
|
201
196
|
screen.render();
|
|
202
|
-
process.stderr.write(
|
|
197
|
+
process.stderr.write(`[V5] Command widget focused (width: ${cmdWidget.width}, height: ${cmdWidget.height})\n`);
|
|
203
198
|
}
|
|
204
199
|
catch (e) {
|
|
205
200
|
process.stderr.write(`[V5] Focus error: ${e}\n`);
|
package/dist/ui/v5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/v5/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/v5/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,16 @@ export type Rect = {
|
|
|
13
13
|
/**
|
|
14
14
|
* Clamp rectangle to fit within safe bounds
|
|
15
15
|
*
|
|
16
|
-
* CRITICAL RULE: x + w <= safeCols -
|
|
16
|
+
* CRITICAL RULE: x + w <= safeCols - buffer
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* For right-edge panels: buffer = 3 (aggressive)
|
|
19
|
+
* For command panel: buffer = 1 (less aggressive, needs full width)
|
|
20
|
+
* For other panels: buffer = 2 (moderate)
|
|
20
21
|
*
|
|
21
22
|
* Rules:
|
|
22
23
|
* 1) Clamp x/y within bounds
|
|
23
|
-
* 2) Clamp w/h so x+w <= safeCols-
|
|
24
|
+
* 2) Clamp w/h so x+w <= safeCols-buffer and y+h <= safeRows-buffer
|
|
24
25
|
* 3) Enforce w>=1, h>=1
|
|
25
26
|
*/
|
|
26
|
-
export declare function clampRect(r: Rect, safeCols: number, safeRows: number): Rect;
|
|
27
|
+
export declare function clampRect(r: Rect, safeCols: number, safeRows: number, panelId?: string): Rect;
|
|
27
28
|
//# sourceMappingURL=clampRect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clampRect.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"clampRect.d.ts","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA4B7F"}
|
|
@@ -7,26 +7,35 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Clamp rectangle to fit within safe bounds
|
|
9
9
|
*
|
|
10
|
-
* CRITICAL RULE: x + w <= safeCols -
|
|
10
|
+
* CRITICAL RULE: x + w <= safeCols - buffer
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* For right-edge panels: buffer = 3 (aggressive)
|
|
13
|
+
* For command panel: buffer = 1 (less aggressive, needs full width)
|
|
14
|
+
* For other panels: buffer = 2 (moderate)
|
|
14
15
|
*
|
|
15
16
|
* Rules:
|
|
16
17
|
* 1) Clamp x/y within bounds
|
|
17
|
-
* 2) Clamp w/h so x+w <= safeCols-
|
|
18
|
+
* 2) Clamp w/h so x+w <= safeCols-buffer and y+h <= safeRows-buffer
|
|
18
19
|
* 3) Enforce w>=1, h>=1
|
|
19
20
|
*/
|
|
20
|
-
export function clampRect(r, safeCols, safeRows) {
|
|
21
|
+
export function clampRect(r, safeCols, safeRows, panelId) {
|
|
21
22
|
let { x, y, w, h } = r;
|
|
22
23
|
// Clamp x/y to non-negative
|
|
23
24
|
x = Math.max(0, x);
|
|
24
25
|
y = Math.max(0, y);
|
|
25
|
-
//
|
|
26
|
-
|
|
26
|
+
// Determine buffer based on panel type
|
|
27
|
+
let buffer = 2; // Default moderate buffer
|
|
28
|
+
if (panelId === 'command') {
|
|
29
|
+
buffer = 1; // Command panel needs more width
|
|
30
|
+
}
|
|
31
|
+
else if (panelId === 'network' || panelId === 'capabilities') {
|
|
32
|
+
buffer = 3; // Right-edge panels need aggressive buffer
|
|
33
|
+
}
|
|
34
|
+
// CRITICAL: Clamp width so x+w <= safeCols-buffer
|
|
35
|
+
const maxW = Math.max(1, safeCols - buffer - x);
|
|
27
36
|
w = Math.min(w, maxW);
|
|
28
|
-
// CRITICAL: Clamp height so y+h <= safeRows-
|
|
29
|
-
const maxH = Math.max(1, safeRows -
|
|
37
|
+
// CRITICAL: Clamp height so y+h <= safeRows-buffer
|
|
38
|
+
const maxH = Math.max(1, safeRows - buffer - y);
|
|
30
39
|
h = Math.min(h, maxH);
|
|
31
40
|
// Enforce minimums
|
|
32
41
|
w = Math.max(1, w);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clampRect.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH
|
|
1
|
+
{"version":3,"file":"clampRect.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/clampRect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,CAAO,EAAE,QAAgB,EAAE,QAAgB,EAAE,OAAgB;IACrF,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvB,4BAA4B;IAC5B,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,uCAAuC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,CAAC,CAAC,iCAAiC;IAC/C,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/D,MAAM,GAAG,CAAC,CAAC,CAAC,2CAA2C;IACzD,CAAC;IAED,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtB,mDAAmD;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEtB,mBAAmB;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -59,10 +59,10 @@ function computeNormalLayout(safeCols, safeRows, leftW, rightW) {
|
|
|
59
59
|
// Command line
|
|
60
60
|
command: { x: 0, y: mainH, w: safeCols, h: CMD_HEIGHT },
|
|
61
61
|
};
|
|
62
|
-
// Clamp all rects
|
|
62
|
+
// Clamp all rects (pass panelId for context-aware clamping)
|
|
63
63
|
const clampedRects = {};
|
|
64
64
|
for (const [id, rect] of Object.entries(rects)) {
|
|
65
|
-
clampedRects[id] = clampRect(rect, safeCols, safeRows);
|
|
65
|
+
clampedRects[id] = clampRect(rect, safeCols, safeRows, id);
|
|
66
66
|
}
|
|
67
67
|
return {
|
|
68
68
|
mode: 'normal',
|
|
@@ -86,10 +86,10 @@ function computeNarrowLayout(safeCols, safeRows) {
|
|
|
86
86
|
capabilities: { x: 0, y: (panelH * 5) + Math.min(remainder, 5), w: safeCols, h: panelH + (remainder > 5 ? 1 : 0) },
|
|
87
87
|
command: { x: 0, y: mainH, w: safeCols, h: CMD_HEIGHT },
|
|
88
88
|
};
|
|
89
|
-
// Clamp all rects
|
|
89
|
+
// Clamp all rects (pass panelId for context-aware clamping)
|
|
90
90
|
const clampedRects = {};
|
|
91
91
|
for (const [id, rect] of Object.entries(rects)) {
|
|
92
|
-
clampedRects[id] = clampRect(rect, safeCols, safeRows);
|
|
92
|
+
clampedRects[id] = clampRect(rect, safeCols, safeRows, id);
|
|
93
93
|
}
|
|
94
94
|
return {
|
|
95
95
|
mode: 'narrow',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layoutEngine.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/layoutEngine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"layoutEngine.js","sourceRoot":"","sources":["../../../../src/ui/v5/layout/layoutEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ export function getViewport(screen) {
|
|
|
64
64
|
if (isBrowserTerminal) {
|
|
65
65
|
// Browser terminals (AWS EC2 Instance Connect) have hidden gutters
|
|
66
66
|
// Increased margin to account for border rendering + hidden gutter
|
|
67
|
-
marginRight = 8
|
|
67
|
+
marginRight = 10; // Increased from 8 to 10 - aggressive overflow prevention
|
|
68
68
|
marginBottom = 3;
|
|
69
69
|
}
|
|
70
70
|
// Allow override
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewport.js","sourceRoot":"","sources":["../../../../src/ui/v5/viewport/getViewport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH;;GAEG;AACH,SAAS,qBAAqB,CAAC,MAAW;IACxC,cAAc;IACd,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iFAAiF;IACjF,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpF,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;YACf,uDAAuD;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IACE,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,EAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAW;IACrC,qBAAqB;IACrB,MAAM,OAAO,GAAI,MAAc,EAAE,OAAO,CAAC;IACzC,IAAI,IAAY,CAAC;IACjB,IAAI,IAAY,CAAC;IAEjB,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1H,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACpB,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;SAAM,IAAI,OAAQ,MAAc,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAQ,MAAc,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChG,IAAI,GAAI,MAAc,CAAC,IAAI,CAAC;QAC5B,IAAI,GAAI,MAAc,CAAC,IAAI,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,0BAA0B;IAC1B,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAExD,oBAAoB;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,IAAI,iBAAiB,EAAE,CAAC;QACtB,mEAAmE;QACnE,mEAAmE;QACnE,WAAW,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getViewport.js","sourceRoot":"","sources":["../../../../src/ui/v5/viewport/getViewport.ts"],"names":[],"mappings":"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"}
|