@tscircuit/runframe 0.0.1786 → 0.0.1788
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/{chunk-NJU6UH77.js → chunk-7H2BMCLL.js} +88 -12
- package/dist/preview.js +1 -1
- package/dist/runner.js +6 -3
- package/dist/standalone-preview.min.js +288 -288
- package/dist/standalone.min.js +255 -255
- package/package.json +2 -2
|
@@ -1730,7 +1730,7 @@ var useErrorTelemetry = ({
|
|
|
1730
1730
|
};
|
|
1731
1731
|
|
|
1732
1732
|
// package.json
|
|
1733
|
-
var version = "0.0.
|
|
1733
|
+
var version = "0.0.1787";
|
|
1734
1734
|
var package_default = {
|
|
1735
1735
|
name: "@tscircuit/runframe",
|
|
1736
1736
|
main: "dist/preview.js",
|
|
@@ -1846,7 +1846,7 @@ var package_default = {
|
|
|
1846
1846
|
yargs: "^17.7.2"
|
|
1847
1847
|
},
|
|
1848
1848
|
dependencies: {
|
|
1849
|
-
"@tscircuit/eval": "^0.0.
|
|
1849
|
+
"@tscircuit/eval": "^0.0.733",
|
|
1850
1850
|
"@tscircuit/solver-utils": "^0.0.7"
|
|
1851
1851
|
}
|
|
1852
1852
|
};
|
|
@@ -5008,6 +5008,54 @@ function LbrnExportOptionsDialog({
|
|
|
5008
5008
|
] }) });
|
|
5009
5009
|
}
|
|
5010
5010
|
|
|
5011
|
+
// lib/utils/get-latest-autorouting-log-entry.ts
|
|
5012
|
+
var BOARD_NUMBER_REGEX = /#(\d+)/;
|
|
5013
|
+
var getBoardNumberFromKey = (key) => {
|
|
5014
|
+
const match = key.match(BOARD_NUMBER_REGEX);
|
|
5015
|
+
if (!match) return null;
|
|
5016
|
+
const boardNumber = Number.parseInt(match[1], 10);
|
|
5017
|
+
return Number.isFinite(boardNumber) ? boardNumber : null;
|
|
5018
|
+
};
|
|
5019
|
+
var getCreatedAtTimestamp = (createdAt) => {
|
|
5020
|
+
if (typeof createdAt === "number") {
|
|
5021
|
+
return Number.isFinite(createdAt) ? createdAt : null;
|
|
5022
|
+
}
|
|
5023
|
+
if (typeof createdAt === "string") {
|
|
5024
|
+
const timestamp = new Date(createdAt).getTime();
|
|
5025
|
+
return Number.isFinite(timestamp) ? timestamp : null;
|
|
5026
|
+
}
|
|
5027
|
+
return null;
|
|
5028
|
+
};
|
|
5029
|
+
var getLatestAutoroutingLogEntry = (autoroutingLog) => {
|
|
5030
|
+
if (!autoroutingLog) return null;
|
|
5031
|
+
let latestEntry = null;
|
|
5032
|
+
let latestBoardNumber = -1;
|
|
5033
|
+
let latestCreatedAt = -1;
|
|
5034
|
+
for (const [key, value] of Object.entries(autoroutingLog)) {
|
|
5035
|
+
const boardNumber = getBoardNumberFromKey(key);
|
|
5036
|
+
const createdAt = getCreatedAtTimestamp(value.createdAt);
|
|
5037
|
+
if (boardNumber !== null) {
|
|
5038
|
+
if (boardNumber > latestBoardNumber) {
|
|
5039
|
+
latestBoardNumber = boardNumber;
|
|
5040
|
+
latestEntry = { key, value };
|
|
5041
|
+
}
|
|
5042
|
+
continue;
|
|
5043
|
+
}
|
|
5044
|
+
if (latestBoardNumber !== -1) {
|
|
5045
|
+
continue;
|
|
5046
|
+
}
|
|
5047
|
+
if (createdAt !== null && createdAt > latestCreatedAt) {
|
|
5048
|
+
latestCreatedAt = createdAt;
|
|
5049
|
+
latestEntry = { key, value };
|
|
5050
|
+
continue;
|
|
5051
|
+
}
|
|
5052
|
+
if (!latestEntry) {
|
|
5053
|
+
latestEntry = { key, value };
|
|
5054
|
+
}
|
|
5055
|
+
}
|
|
5056
|
+
return latestEntry;
|
|
5057
|
+
};
|
|
5058
|
+
|
|
5011
5059
|
// lib/components/FileMenuLeftHeader.tsx
|
|
5012
5060
|
import { Fragment as Fragment9, jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5013
5061
|
var FileMenuLeftHeader = (props) => {
|
|
@@ -5119,6 +5167,10 @@ var FileMenuLeftHeader = (props) => {
|
|
|
5119
5167
|
});
|
|
5120
5168
|
setPendingLbrnExport(null);
|
|
5121
5169
|
};
|
|
5170
|
+
const latestAutoroutingLogEntry = useMemo9(
|
|
5171
|
+
() => getLatestAutoroutingLogEntry(props.autoroutingLog),
|
|
5172
|
+
[props.autoroutingLog]
|
|
5173
|
+
);
|
|
5122
5174
|
return /* @__PURE__ */ jsxs27(Fragment9, { children: [
|
|
5123
5175
|
/* @__PURE__ */ jsxs27("div", { className: "rf-flex rf-items-center rf-gap-1 rf-flex-shrink-0", children: [
|
|
5124
5176
|
/* @__PURE__ */ jsxs27(DropdownMenu, { children: [
|
|
@@ -5178,16 +5230,40 @@ var FileMenuLeftHeader = (props) => {
|
|
|
5178
5230
|
children: "Sign In"
|
|
5179
5231
|
}
|
|
5180
5232
|
),
|
|
5181
|
-
!props.isWebEmbedded && /* @__PURE__ */
|
|
5182
|
-
|
|
5183
|
-
{
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5233
|
+
!props.isWebEmbedded && /* @__PURE__ */ jsxs27(DropdownMenuSub, { children: [
|
|
5234
|
+
/* @__PURE__ */ jsx37(DropdownMenuSubTrigger, { className: "rf-text-xs", children: "Report Bug" }),
|
|
5235
|
+
/* @__PURE__ */ jsx37(DropdownMenuPortal, { children: /* @__PURE__ */ jsxs27(DropdownMenuSubContent, { children: [
|
|
5236
|
+
/* @__PURE__ */ jsx37(
|
|
5237
|
+
DropdownMenuItem,
|
|
5238
|
+
{
|
|
5239
|
+
className: "rf-text-xs",
|
|
5240
|
+
onSelect: () => {
|
|
5241
|
+
openBugReportDialog();
|
|
5242
|
+
},
|
|
5243
|
+
children: "Report Entire Circuit"
|
|
5244
|
+
}
|
|
5245
|
+
),
|
|
5246
|
+
/* @__PURE__ */ jsx37(
|
|
5247
|
+
DropdownMenuItem,
|
|
5248
|
+
{
|
|
5249
|
+
className: "rf-text-xs",
|
|
5250
|
+
disabled: !latestAutoroutingLogEntry || !props.onReportAutoroutingLog,
|
|
5251
|
+
onSelect: () => {
|
|
5252
|
+
if (!latestAutoroutingLogEntry || !props.onReportAutoroutingLog) {
|
|
5253
|
+
return;
|
|
5254
|
+
}
|
|
5255
|
+
props.onReportAutoroutingLog(
|
|
5256
|
+
latestAutoroutingLogEntry.key,
|
|
5257
|
+
{
|
|
5258
|
+
simpleRouteJson: latestAutoroutingLogEntry.value.simpleRouteJson
|
|
5259
|
+
}
|
|
5260
|
+
);
|
|
5261
|
+
},
|
|
5262
|
+
children: "Report Autorouter Bug"
|
|
5263
|
+
}
|
|
5264
|
+
)
|
|
5265
|
+
] }) })
|
|
5266
|
+
] }),
|
|
5191
5267
|
/* @__PURE__ */ jsxs27(DropdownMenuSub, { children: [
|
|
5192
5268
|
/* @__PURE__ */ jsx37(
|
|
5193
5269
|
DropdownMenuSubTrigger,
|
package/dist/preview.js
CHANGED
package/dist/runner.js
CHANGED
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
useRunFrameStore,
|
|
35
35
|
useRunnerStore,
|
|
36
36
|
useStyles
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-7H2BMCLL.js";
|
|
38
38
|
|
|
39
39
|
// lib/components/RunFrame/RunFrame.tsx
|
|
40
40
|
import { createCircuitWebWorker } from "@tscircuit/eval/worker";
|
|
@@ -542,7 +542,8 @@ var RunFrame = (props) => {
|
|
|
542
542
|
setAutoroutingLog({
|
|
543
543
|
...autoroutingLog,
|
|
544
544
|
[event.componentDisplayName]: {
|
|
545
|
-
simpleRouteJson: event.simpleRouteJson
|
|
545
|
+
simpleRouteJson: event.simpleRouteJson,
|
|
546
|
+
createdAt: Date.now()
|
|
546
547
|
}
|
|
547
548
|
});
|
|
548
549
|
});
|
|
@@ -825,7 +826,9 @@ var RunFrame = (props) => {
|
|
|
825
826
|
showSchematicDebugGrid,
|
|
826
827
|
onChangeShowSchematicDebugGrid: setShowSchematicDebugGrid,
|
|
827
828
|
showSchematicPorts,
|
|
828
|
-
onChangeShowSchematicPorts: setShowSchematicPorts
|
|
829
|
+
onChangeShowSchematicPorts: setShowSchematicPorts,
|
|
830
|
+
autoroutingLog,
|
|
831
|
+
onReportAutoroutingLog: props.onReportAutoroutingLog || handleReportAutoroutingLog
|
|
829
832
|
}
|
|
830
833
|
),
|
|
831
834
|
props.leftHeaderContent
|