@tscircuit/cli 0.1.1022 → 0.1.1023
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/cli/main.js +55 -4
- package/dist/lib/index.js +1 -1
- package/package.json +1 -1
package/dist/cli/main.js
CHANGED
|
@@ -71664,7 +71664,7 @@ var registerStaticAssetLoaders = () => {
|
|
|
71664
71664
|
// cli/main.ts
|
|
71665
71665
|
var import_perfect_cli = __toESM2(require_dist2(), 1);
|
|
71666
71666
|
// package.json
|
|
71667
|
-
var version = "0.1.
|
|
71667
|
+
var version = "0.1.1022";
|
|
71668
71668
|
var package_default = {
|
|
71669
71669
|
name: "@tscircuit/cli",
|
|
71670
71670
|
version,
|
|
@@ -177327,6 +177327,45 @@ var registerSimulate = (program3) => {
|
|
|
177327
177327
|
});
|
|
177328
177328
|
};
|
|
177329
177329
|
|
|
177330
|
+
// lib/shared/camera-presets.ts
|
|
177331
|
+
function distance5(a3, b3) {
|
|
177332
|
+
return Math.sqrt((a3[0] - b3[0]) ** 2 + (a3[1] - b3[1]) ** 2 + (a3[2] - b3[2]) ** 2);
|
|
177333
|
+
}
|
|
177334
|
+
function repositionCamera(cam, dir) {
|
|
177335
|
+
const dist = distance5(cam.camPos, cam.lookAt);
|
|
177336
|
+
const len = Math.sqrt(dir[0] ** 2 + dir[1] ** 2 + dir[2] ** 2);
|
|
177337
|
+
const nx2 = dir[0] / len;
|
|
177338
|
+
const ny2 = dir[1] / len;
|
|
177339
|
+
const nz = dir[2] / len;
|
|
177340
|
+
return {
|
|
177341
|
+
camPos: [
|
|
177342
|
+
cam.lookAt[0] + nx2 * dist,
|
|
177343
|
+
cam.lookAt[1] + ny2 * dist,
|
|
177344
|
+
cam.lookAt[2] + nz * dist
|
|
177345
|
+
],
|
|
177346
|
+
lookAt: cam.lookAt,
|
|
177347
|
+
fov: cam.fov
|
|
177348
|
+
};
|
|
177349
|
+
}
|
|
177350
|
+
var CAMERA_PRESETS = {
|
|
177351
|
+
"top-down": (cam) => repositionCamera(cam, [0.0001, 1, -0.01]),
|
|
177352
|
+
"top-left-corner": (cam) => repositionCamera(cam, [0.7, 1.2, -0.8]),
|
|
177353
|
+
"top-left": (cam) => repositionCamera(cam, [1, 1.2, 0]),
|
|
177354
|
+
"top-right-corner": (cam) => repositionCamera(cam, [-0.7, 1.2, -0.8]),
|
|
177355
|
+
"top-right": (cam) => repositionCamera(cam, [-1, 1.2, 0]),
|
|
177356
|
+
"left-sideview": (cam) => repositionCamera(cam, [1, 0.05, 0]),
|
|
177357
|
+
"right-sideview": (cam) => repositionCamera(cam, [-1, 0.05, 0]),
|
|
177358
|
+
front: (cam) => repositionCamera(cam, [0, 0.05, -1]),
|
|
177359
|
+
"top-center-angled": (cam) => repositionCamera(cam, [0, 1, -1])
|
|
177360
|
+
};
|
|
177361
|
+
var CAMERA_PRESET_NAMES = Object.keys(CAMERA_PRESETS);
|
|
177362
|
+
function applyCameraPreset(preset, cam) {
|
|
177363
|
+
if (!(preset in CAMERA_PRESETS)) {
|
|
177364
|
+
throw new Error(`Unknown camera preset "${preset}". Valid presets: ${CAMERA_PRESET_NAMES.join(", ")}`);
|
|
177365
|
+
}
|
|
177366
|
+
return CAMERA_PRESETS[preset](cam);
|
|
177367
|
+
}
|
|
177368
|
+
|
|
177330
177369
|
// lib/shared/snapshot-project.ts
|
|
177331
177370
|
import fs61 from "node:fs";
|
|
177332
177371
|
import path61 from "node:path";
|
|
@@ -177378,8 +177417,12 @@ var snapshotProject = async ({
|
|
|
177378
177417
|
onError = (msg) => console.error(msg),
|
|
177379
177418
|
onSuccess = (msg) => console.log(msg),
|
|
177380
177419
|
platformConfig: platformConfig2,
|
|
177381
|
-
createDiff = false
|
|
177420
|
+
createDiff = false,
|
|
177421
|
+
cameraPreset
|
|
177382
177422
|
} = {}) => {
|
|
177423
|
+
if (cameraPreset) {
|
|
177424
|
+
threeD = true;
|
|
177425
|
+
}
|
|
177383
177426
|
const projectDir = process.cwd();
|
|
177384
177427
|
const ignore = [
|
|
177385
177428
|
...DEFAULT_IGNORED_PATTERNS,
|
|
@@ -177454,7 +177497,10 @@ var snapshotProject = async ({
|
|
|
177454
177497
|
if (!(glbBuffer instanceof ArrayBuffer)) {
|
|
177455
177498
|
throw new Error("Expected ArrayBuffer from convertCircuitJsonToGltf with glb format");
|
|
177456
177499
|
}
|
|
177457
|
-
|
|
177500
|
+
let cameraOptions = getBestCameraPosition(circuitJson);
|
|
177501
|
+
if (cameraPreset) {
|
|
177502
|
+
cameraOptions = applyCameraPreset(cameraPreset, cameraOptions);
|
|
177503
|
+
}
|
|
177458
177504
|
png3d = await renderGLTFToPNGBufferFromGLBBuffer2(glbBuffer, cameraOptions);
|
|
177459
177505
|
} catch (error) {
|
|
177460
177506
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -177551,7 +177597,11 @@ Run with --update to fix.`);
|
|
|
177551
177597
|
|
|
177552
177598
|
// cli/snapshot/register.ts
|
|
177553
177599
|
var registerSnapshot = (program3) => {
|
|
177554
|
-
program3.command("snapshot").argument("[path]", "Path to file, directory, or glob pattern (e.g., 'examples/**/*.tsx')").description("Generate schematic and PCB snapshots (add --3d for 3d preview)").option("-u, --update", "Update snapshots on disk").option("--force-update", "Force update snapshots even if they match").option("--3d", "Generate 3d preview snapshots").option("--pcb-only", "Generate only PCB snapshots").option("--schematic-only", "Generate only schematic snapshots").option("--disable-parts-engine", "Disable the parts engine").option("--ci", "Enable CI mode with snapshot diff artifacts").option("--test", "Enable test mode with snapshot diff artifacts").action(async (target, options) => {
|
|
177600
|
+
program3.command("snapshot").argument("[path]", "Path to file, directory, or glob pattern (e.g., 'examples/**/*.tsx')").description("Generate schematic and PCB snapshots (add --3d for 3d preview)").option("-u, --update", "Update snapshots on disk").option("--force-update", "Force update snapshots even if they match").option("--3d", "Generate 3d preview snapshots").option("--pcb-only", "Generate only PCB snapshots").option("--schematic-only", "Generate only schematic snapshots").option("--disable-parts-engine", "Disable the parts engine").option("--camera-preset <preset>", `Camera angle preset for 3D snapshots (implies --3d). Valid presets: ${CAMERA_PRESET_NAMES.join(", ")}`).option("--ci", "Enable CI mode with snapshot diff artifacts").option("--test", "Enable test mode with snapshot diff artifacts").action(async (target, options) => {
|
|
177601
|
+
if (options.cameraPreset && !CAMERA_PRESET_NAMES.includes(options.cameraPreset)) {
|
|
177602
|
+
console.error(`Unknown camera preset "${options.cameraPreset}". Valid presets: ${CAMERA_PRESET_NAMES.join(", ")}`);
|
|
177603
|
+
process.exit(1);
|
|
177604
|
+
}
|
|
177555
177605
|
await snapshotProject({
|
|
177556
177606
|
update: options.update ?? false,
|
|
177557
177607
|
threeD: options["3d"] ?? false,
|
|
@@ -177560,6 +177610,7 @@ var registerSnapshot = (program3) => {
|
|
|
177560
177610
|
forceUpdate: options.forceUpdate ?? false,
|
|
177561
177611
|
filePaths: target ? [target] : [],
|
|
177562
177612
|
platformConfig: options.disablePartsEngine ? { partsEngineDisabled: true } : undefined,
|
|
177613
|
+
cameraPreset: options.cameraPreset,
|
|
177563
177614
|
createDiff: (options.ci ?? false) || (options.test ?? false),
|
|
177564
177615
|
onExit: (code) => process.exit(code),
|
|
177565
177616
|
onError: (msg) => console.error(msg),
|
package/dist/lib/index.js
CHANGED
|
@@ -60432,7 +60432,7 @@ var getNodeHandler = (winterSpec, { port, middleware = [] }) => {
|
|
|
60432
60432
|
}));
|
|
60433
60433
|
};
|
|
60434
60434
|
// package.json
|
|
60435
|
-
var version = "0.1.
|
|
60435
|
+
var version = "0.1.1022";
|
|
60436
60436
|
var package_default = {
|
|
60437
60437
|
name: "@tscircuit/cli",
|
|
60438
60438
|
version,
|