@tscircuit/pcb-viewer 1.11.421 → 1.11.422
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 +2 -1
- package/dist/index.js +20 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -104,7 +104,8 @@ declare const usePcbViewerController: () => {
|
|
|
104
104
|
type Props = {
|
|
105
105
|
circuitJson?: AnyCircuitElement[];
|
|
106
106
|
height?: number;
|
|
107
|
-
/** Initial engine;
|
|
107
|
+
/** Initial engine override; otherwise restores the saved user preference.
|
|
108
|
+
* Users can switch via the context menu. Prop changes reset it.
|
|
108
109
|
* WebGPU runs in a worker and reports failures without changing engines. */
|
|
109
110
|
renderer?: "webgpu" | "canvas";
|
|
110
111
|
allowEditing?: boolean;
|
package/dist/index.js
CHANGED
|
@@ -9596,6 +9596,7 @@ import { useContext as useContext2 } from "react";
|
|
|
9596
9596
|
// src/hooks/useLocalStorage.ts
|
|
9597
9597
|
import { useCallback } from "react";
|
|
9598
9598
|
var STORAGE_KEYS = {
|
|
9599
|
+
RENDERING_ENGINE: "pcb_viewer_rendering_engine",
|
|
9599
9600
|
COPPER_POUR_OPACITY: "pcb_viewer_copper_pour_opacity",
|
|
9600
9601
|
HIDDEN_LAYER_OPACITY: "pcb_viewer_hidden_layer_opacity",
|
|
9601
9602
|
IS_SHOWING_PCB_GROUPS: "pcb_viewer_is_showing_pcb_groups",
|
|
@@ -18585,7 +18586,7 @@ import { css as css3 } from "@emotion/css";
|
|
|
18585
18586
|
// package.json
|
|
18586
18587
|
var package_default = {
|
|
18587
18588
|
name: "@tscircuit/pcb-viewer",
|
|
18588
|
-
version: "1.11.
|
|
18589
|
+
version: "1.11.421",
|
|
18589
18590
|
main: "dist/index.js",
|
|
18590
18591
|
type: "module",
|
|
18591
18592
|
repository: {
|
|
@@ -21079,11 +21080,15 @@ function applyEditEvents({
|
|
|
21079
21080
|
// src/PCBViewer.tsx
|
|
21080
21081
|
import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
21081
21082
|
var defaultTransform = compose9(translate14(400, 300), scale6(40, -40));
|
|
21083
|
+
var getPreferredRenderer = () => {
|
|
21084
|
+
const stored = getStoredString(STORAGE_KEYS.RENDERING_ENGINE, "webgpu");
|
|
21085
|
+
return stored === "canvas" || stored === "webgpu" ? stored : "webgpu";
|
|
21086
|
+
};
|
|
21082
21087
|
var PCBViewer = ({
|
|
21083
21088
|
circuitJson,
|
|
21084
21089
|
debugGraphics,
|
|
21085
21090
|
height = 600,
|
|
21086
|
-
renderer
|
|
21091
|
+
renderer,
|
|
21087
21092
|
initialState,
|
|
21088
21093
|
allowEditing = true,
|
|
21089
21094
|
editEvents: editEventsProp,
|
|
@@ -21096,12 +21101,21 @@ var PCBViewer = ({
|
|
|
21096
21101
|
disablePcbGroups = false,
|
|
21097
21102
|
controller
|
|
21098
21103
|
}) => {
|
|
21099
|
-
const [activeRenderer, setActiveRenderer] = useState14(
|
|
21104
|
+
const [activeRenderer, setActiveRenderer] = useState14(
|
|
21105
|
+
() => renderer ?? getPreferredRenderer()
|
|
21106
|
+
);
|
|
21100
21107
|
const [focusedPcbComponent, setFocusedPcbComponent] = useState14(null);
|
|
21101
|
-
useEffect21(
|
|
21108
|
+
useEffect21(
|
|
21109
|
+
() => setActiveRenderer(renderer ?? getPreferredRenderer()),
|
|
21110
|
+
[renderer]
|
|
21111
|
+
);
|
|
21112
|
+
const setPreferredRenderer = useCallback12((engine) => {
|
|
21113
|
+
setActiveRenderer(engine);
|
|
21114
|
+
setStoredString(STORAGE_KEYS.RENDERING_ENGINE, engine);
|
|
21115
|
+
}, []);
|
|
21102
21116
|
const renderingEngine = useMemo11(
|
|
21103
|
-
() => ({ renderer: activeRenderer, setRenderer:
|
|
21104
|
-
[activeRenderer]
|
|
21117
|
+
() => ({ renderer: activeRenderer, setRenderer: setPreferredRenderer }),
|
|
21118
|
+
[activeRenderer, setPreferredRenderer]
|
|
21105
21119
|
);
|
|
21106
21120
|
const [isInteractionEnabled, setIsInteractionEnabled] = useState14(
|
|
21107
21121
|
!clickToInteractEnabled
|