1 line
No EOL
30 KiB
HTML
1 line
No EOL
30 KiB
HTML
<!DOCTYPE html><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/1407cd2e386d2b90.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-044339bff810de6a.js"/><script src="/_next/static/chunks/4bd1b696-8c0e81a8f63e9d6d.js" async=""></script><script src="/_next/static/chunks/1684-4e8707a6b0eb6b46.js" async=""></script><script src="/_next/static/chunks/main-app-ccdb2cd92e15df7d.js" async=""></script><script src="/_next/static/chunks/6874-515e0feb093ad241.js" async=""></script><script src="/_next/static/chunks/app/laser-toolkit/page-b65b6a0267b99152.js" async=""></script><title>Laser Toolkit</title><meta name="description" content="Quick utilities for scaling settings and converting resolution units."/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div class="mx-auto w-full max-w-6xl px-4 py-8"><div class="mb-6 flex items-start justify-between gap-4"><div><h1 class="text-2xl font-semibold tracking-tight">Laser Toolkit</h1><p class="mt-1 text-sm text-muted-foreground">Handy calculators and converters for daily laser work —<!-- --> <span class="italic">hover for details</span>.</p></div><a class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2" href="/">Back to Main Menu</a></div><div class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3"><a class="group" href="/laser-toolkit/power-lens-scaler"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge h-5 w-5" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">Power & Lens Scaler</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Scale speed, power, and frequency when wattage or lens field size changes.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a><a class="group" href="/laser-toolkit/dpi-lpi-dpcm"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ruler h-5 w-5" aria-hidden="true"><path d="M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z"></path><path d="m14.5 12.5 2-2"></path><path d="m11.5 9.5 2-2"></path><path d="m8.5 6.5 2-2"></path><path d="m17.5 15.5 2-2"></path></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">DPI ▸ LPI ▸ DPCM</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Convert between DPI, LPI, and DPCM. Bidirectional. Assumes LPI≈DPI for raster rows (common workflow).</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a><a class="group" href="/laser-toolkit/pulse-overlap"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-move-right h-5 w-5" aria-hidden="true"><path d="M18 8L22 12L18 16"></path><path d="M2 12H22"></path></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">Pulse Overlap</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Given speed (mm/s), frequency (kHz) and spot size (µm), compute pulse spacing, overlap %, and pulses/mm.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a><a class="group" href="/laser-toolkit/hatch-overlap"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ruler h-5 w-5" aria-hidden="true"><path d="M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z"></path><path d="m14.5 12.5 2-2"></path><path d="m11.5 9.5 2-2"></path><path d="m8.5 6.5 2-2"></path><path d="m17.5 15.5 2-2"></path></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">Hatch Overlap</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Given spot size (µm) and hatch gap (µm) or LPI, compute hatch overlap %. Great for vector fills.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a><a class="group" href="/laser-toolkit/job-time-estimator"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-timer h-5 w-5" aria-hidden="true"><line x1="10" x2="14" y1="2" y2="2"></line><line x1="12" x2="15" y1="14" y2="11"></line><circle cx="12" cy="14" r="8"></circle></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">Job Time Estimator</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Quick estimate for raster or vector jobs. Uses dimensions, DPI/LPI or path length, speed, passes, and a small overhead factor.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a><a class="group" href="/laser-toolkit/beam-spot-size"><div class="rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md"><div class="flex flex-col space-y-1.5 p-4"><div class="flex items-start gap-3"><div class="rounded-xl border bg-card p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-focus h-5 w-5" aria-hidden="true"><circle cx="12" cy="12" r="3"></circle><path d="M3 7V5a2 2 0 0 1 2-2h2"></path><path d="M17 3h2a2 2 0 0 1 2 2v2"></path><path d="M21 17v2a2 2 0 0 1-2 2h-2"></path><path d="M7 21H5a2 2 0 0 1-2-2v-2"></path></svg></div><div class="flex-1 min-w-0"><div class="font-semibold tracking-tight text-base">Beam Spot Size</div><p class=" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap ">Approximate diffraction-limited spot size from wavelength, focal length, beam diameter, and M².</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></div></div></div></a></div></div><!--$--><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-044339bff810de6a.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7555,[],\"\"]\n3:I[1295,[],\"\"]\n4:I[6874,[\"6874\",\"static/chunks/6874-515e0feb093ad241.js\",\"2885\",\"static/chunks/app/laser-toolkit/page-b65b6a0267b99152.js\"],\"\"]\n5:I[9665,[],\"MetadataBoundary\"]\n7:I[9665,[],\"OutletBoundary\"]\na:I[4911,[],\"AsyncMetadataOutlet\"]\nc:I[9665,[],\"ViewportBoundary\"]\ne:I[6614,[],\"\"]\n:HL[\"/_next/static/css/1407cd2e386d2b90.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"smYFbxhqhlZ_qnYDwSLJf\",\"p\":\"\",\"c\":[\"\",\"laser-toolkit\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"laser-toolkit\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1407cd2e386d2b90.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[\"laser-toolkit\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"mx-auto w-full max-w-6xl px-4 py-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-6 flex items-start justify-between gap-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-2xl font-semibold tracking-tight\",\"children\":\"Laser Toolkit\"}],[\"$\",\"p\",null,{\"className\":\"mt-1 text-sm text-muted-foreground\",\"children\":[\"Handy calculators and converters for daily laser work —\",\" \",[\"$\",\"span\",null,{\"className\":\"italic\",\"children\":\"hover for details\"}],\".\"]}]]}],[\"$\",\"$L4\",null,{\"href\":\"/\",\"children\":\"Back to Main Menu\",\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2\",\"ref\":null}]]}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3\",\"children\":[[\"$\",\"$L4\",\"power-lens-scaler\",{\"href\":\"/laser-toolkit/power-lens-scaler\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-gauge h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"9kzdfg\",{\"d\":\"m12 14 4-4\"}],[\"$\",\"path\",\"19p75a\",{\"d\":\"M3.34 19a10 10 0 1 1 17.32 0\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"Power \u0026 Lens Scaler\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Scale speed, power, and frequency when wattage or lens field size changes.\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}],[\"$\",\"$L4\",\"dpi-lpi-dpcm\",{\"href\":\"/laser-toolkit/dpi-lpi-dpcm\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-ruler h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"icamh8\",{\"d\":\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\"}],[\"$\",\"path\",\"inckbg\",{\"d\":\"m14.5 12.5 2-2\"}],[\"$\",\"path\",\"fmmyf7\",{\"d\":\"m11.5 9.5 2-2\"}],[\"$\",\"path\",\"vc6u1g\",{\"d\":\"m8.5 6.5 2-2\"}],[\"$\",\"path\",\"wo5hmg\",{\"d\":\"m17.5 15.5 2-2\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"DPI ▸ LPI ▸ DPCM\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Convert between DPI, LPI, and DPCM. Bidirectional. Assumes LPI≈DPI for raster rows (common workflow).\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}],[\"$\",\"$L4\",\"pulse-overlap\",{\"href\":\"/laser-toolkit/pulse-overlap\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-move-right h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1r0oui\",{\"d\":\"M18 8L22 12L18 16\"}],[\"$\",\"path\",\"1m8cig\",{\"d\":\"M2 12H22\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"Pulse Overlap\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Given speed (mm/s), frequency (kHz) and spot size (µm), compute pulse spacing, overlap %, and pulses/mm.\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}],[\"$\",\"$L4\",\"hatch-overlap\",{\"href\":\"/laser-toolkit/hatch-overlap\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-ruler h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"icamh8\",{\"d\":\"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z\"}],[\"$\",\"path\",\"inckbg\",{\"d\":\"m14.5 12.5 2-2\"}],[\"$\",\"path\",\"fmmyf7\",{\"d\":\"m11.5 9.5 2-2\"}],[\"$\",\"path\",\"vc6u1g\",{\"d\":\"m8.5 6.5 2-2\"}],[\"$\",\"path\",\"wo5hmg\",{\"d\":\"m17.5 15.5 2-2\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"Hatch Overlap\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Given spot size (µm) and hatch gap (µm) or LPI, compute hatch overlap %. Great for vector fills.\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}],[\"$\",\"$L4\",\"job-time-estimator\",{\"href\":\"/laser-toolkit/job-time-estimator\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-timer h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"line\",\"14vaq8\",{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"2\"}],[\"$\",\"line\",\"17fdiu\",{\"x1\":\"12\",\"x2\":\"15\",\"y1\":\"14\",\"y2\":\"11\"}],[\"$\",\"circle\",\"1e1u0o\",{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"8\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"Job Time Estimator\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Quick estimate for raster or vector jobs. Uses dimensions, DPI/LPI or path length, speed, passes, and a small overhead factor.\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}],[\"$\",\"$L4\",\"beam-spot-size\",{\"href\":\"/laser-toolkit/beam-spot-size\",\"className\":\"group\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"rounded-lg border bg-card text-card-foreground shadow-sm relative overflow-hidden transition-shadow hover:shadow-md\",\"children\":[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"flex flex-col space-y-1.5 p-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-start gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border bg-card p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-focus h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"circle\",\"1v7zrd\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\"}],[\"$\",\"path\",\"aa7l1z\",{\"d\":\"M3 7V5a2 2 0 0 1 2-2h2\"}],[\"$\",\"path\",\"4qcy5o\",{\"d\":\"M17 3h2a2 2 0 0 1 2 2v2\"}],[\"$\",\"path\",\"6vwrx8\",{\"d\":\"M21 17v2a2 2 0 0 1-2 2h-2\"}],[\"$\",\"path\",\"ioqczr\",{\"d\":\"M7 21H5a2 2 0 0 1-2-2v-2\"}],\"$undefined\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0\",\"children\":[[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"font-semibold tracking-tight text-base\",\"children\":\"Beam Spot Size\"}],[\"$\",\"p\",null,{\"className\":\" max-h-0 overflow-hidden text-xs text-muted-foreground opacity-0 transition-all duration-200 group-hover:max-h-96 group-hover:opacity-100 mt-1 whitespace-pre-wrap \",\"children\":\"Approximate diffraction-limited spot size from wavelength, focal length, beam diameter, and M².\"}]]}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right mt-1 h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}]}]}]]}]]}],[\"$\",\"$L5\",null,{\"children\":\"$L6\"}],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$1\",\"SRQyUD-LaxxSfH_SNGz4F\",{\"children\":[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:\"$Sreact.suspense\"\n10:I[4911,[],\"AsyncMetadata\"]\n6:[\"$\",\"$f\",null,{\"fallback\":null,\"children\":[\"$\",\"$L10\",null,{\"promise\":\"$@11\"}]}]\n"])</script><script>self.__next_f.push([1,"9:null\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Laser Toolkit\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Quick utilities for scaling settings and converting resolution units.\"}]],\"error\":null,\"digest\":\"$undefined\"}\nb:{\"metadata\":\"$11:metadata\",\"error\":null,\"digest\":\"$undefined\"}\n"])</script></body></html> |