1<!DOCTYPE html><!-- Last Published: Thu Oct 01 2026 16:03:04 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="quilter-staging.webflow.io" data-wf-page="68b7918b99fa38e5185dc4e3" data-wf-site="68b7918b99fa38e5185dc4e6" data-wf-intellimize-customer-id="117304956" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Quilter - Physics-Driven AI for Electronics Design</title><link rel="alternate" hrefLang="x-default" href="https://www.quilter.ai/"/><link rel="alternate" hrefLang="en" href="https://www.quilter.ai/"/><link rel="alternate" hrefLang="ja" href="https://www.quilter.ai/ja"/><link rel="alternate" hrefLang="de" href="https://www.quilter.ai/de"/><meta content="Quilter uses physics-driven AI to automate PCB placement and routing. Get review-ready layout candidates in hours. Works with Altium, Cadence, Xpedition." name="description"/><meta content="Physics-Driven AI for Electronics Design" property="og:title"/><meta content="Quilter uses physics-driven AI to automate PCB placement and routing. Get review-ready layout candidates in hours. Works with Altium, Cadence, Xpedition." property="og:description"/><meta content="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a54f8583ff2d9a4d05db328_MetaImage%20Home.png" property="og:image"/><meta content="Physics-Driven AI for Electronics Design" name="twitter:title"/><meta content="Quilter uses physics-driven AI to automate PCB placement and routing. Get review-ready layout candidates in hours. Works with Altium, Cadence, Xpedition." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/css/quilter-staging.shared.d9234a586.min.css" rel="stylesheet" type="text/css" integrity="sha384-2SNKWGhCcsGEiaY03w/ahSUzJ1XczUaKUl1QlFW9kOd/kL8nrmqB8uHQceYG1dgy" crossorigin="anonymous"/>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69fb4d33cbfff575cefe3d47_Favicon-transparent.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69fb4d33cbfff575cefe3d47_Favicon-transparent.png" rel="icon" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69fb4d3334e299c63081f039_Favicon-transparent.png" rel="icon" type="image/png" sizes="48x48"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f8bcea833bddcdc45e8beb_Webclip.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f8bcea2ffb14575b8aebb2_Webclip.png" rel="icon" type="image/png" sizes="192x192"/><link href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f8bcea2427a76c3a0c58a7_Webclip.png" rel="icon" type="image/png" sizes="512x512"/><link href="https://www.quilter.ai/" rel="canonical"/>
1<script type="application/ld+json"> 2{ 3 "@context": "https://schema.org", 4 "@graph": [ 5 { 6 "@type": "WebSite", 7 "@id": "https://www.quilter.ai/#website", 8 "name": "Quilter", 9 "alternateName": "Quilter AI", 10 "url": "https://www.quilter.ai", 11 "description": "Physics-driven AI that fully automates PCB layout. Schematic to fabrication-ready in hours, not weeks.", 12 "publisher": {"@id": "https://www.quilter.ai/#organization"}, 13 "inLanguage": ["en", "ja", "de"] 14 }, 15 { 16 "@type": "SoftwareApplication", 17 "@id": "https://www.quilter.ai/product/#softwareapplication", 18 "name": "Quilter", 19 "url": "https://www.quilter.ai/product", 20 "applicationCategory": "DesignApplication", 21 "applicationSubCategory": "PCB Layout Automation", 22 "operatingSystem": "Web-based", 23 "description": "Physics-driven AI platform for automated PCB layout design using reinforcement learning.", 24 "image": "https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/68fd0849658129ba21f9ee18_home-page-updated.webp", 25 "provider": {"@id": "https://www.quilter.ai/#organization"}, 26 "brand": {"@type": "Brand", "name": "Quilter"}, 27 "featureList": [ 28 "Automated PCB layout generation", 29 "Physics-aware design validation", 30 "Reinforcement-learning optimization", 31 "Multiple candidate board generation", 32 "Fabrication-ready output in hours", 33 "Integration with Altium, Cadence, and Siemens" 34 ] 35 } 36 ] 37} 38</script>
38<!-- Consent Pro v2: synchronous config before runtime -->
39<script src="https://api.consentpro.com/v2/cdn/runtime/config/68b7918b99fa38e5185dc4e6.js" finsweet="consentpro"></script>
vendor: 1 bytes, line 39
39
40<script src="https://api.consentpro.com/v2/cdn/runtime.js" finsweet="consentpro" siteid="68b7918b99fa38e5185dc4e6"></script>
vendor: 1 bytes, line 40
40
41<script type="application/ld+json"> 42{ 43 "@context": "https:\/\/schema.org", 44 "@type": "Organization", 45 "@id": "https:\/\/www.quilter.ai\/#organization", 46 "name": "Quilter", 47 "alternateName": "Quilter AI", 48 "url": "https:\/\/www.quilter.ai", 49 "logo": { 50 "@type": "ImageObject", 51 "@id": "https:\/\/www.quilter.ai\/#logo", 52 "url": "https:\/\/cdn.prod.website-files.com\/68b7918b99fa38e5185dc4e6\/69f8a9fe0ea52b0c72dcb05d_Quilter%20Logo.png", 53 "contentUrl": "https:\/\/cdn.prod.website-files.com\/68b7918b99fa38e5185dc4e6\/69f8a9fe0ea52b0c72dcb05d_Quilter%20Logo.png", 54 "caption": "Quilter" 55 }, 56 "description": "Quilter uses physics-driven AI to fully automate PCB layout, taking designs from schematic to fabrication-ready board in hours, not weeks. Integrates with Altium, Cadence, and Siemens.", 57 "sameAs": [ 58 "https:\/\/www.linkedin.com\/company\/quilterai", 59 "https:\/\/x.com\/quilterai", 60 "https:\/\/www.youtube.com\/@QuilterAI" 61 ] 62} 63</script>
63 64 65<!-- Lenis smooth scroll CSS --> 66<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/lenis.css"> 67 68<style> 69 html { height: auto; } 70 71 @media (max-width: 991px) { 72 .mega-menu-wrapper { 73 position: fixed; inset: 0; z-index: 999; 74 height: 100vh; max-height: 100vh; overflow-y: auto; 75 -webkit-overflow-scrolling: touch; overscroll-behavior: contain; 76 background: #000; display: none; 77 } 78 .mega-menu-wrapper.is-open { display: block; } 79 } 80 81 html.nav-open, body.nav-open { overflow: hidden; overscroll-behavior: contain; } 82 83 @media (min-width: 992px) { 84 .main_navbar-component { overflow: visible; z-index: 20; } 85 .main_navbar-component .mega-menu-wrapper .dropdown-list { 86 position: absolute; transform: translateX(-50%); 87 width: 100vw; max-width: none; background-color: #000; 88 } 89 .main_navbar-component .mega-menu-wrapper .dropdown-list .container-large { 90 max-width: 1360px; margin-left: auto; margin-right: auto; 91 } 92 } 93 94 @media (min-width: 992px) { 95 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-list { 96 display: block !important; opacity: 0; visibility: hidden; pointer-events: none; 97 transform: translateY(10px); 98 transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 220ms; 99 will-change: opacity, transform; 100 } 101 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-list.w--open { 102 opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); 103 transition: opacity 220ms ease, transform 220ms ease, visibility 0s linear 0s; 104 } 105 } 106</style> 107 108<!-- ===== Quilter HubSpot forms â shared dark theme ===== 109 Every form embed renders into a div whose id starts "qtr-hs-", and every one 110 passes css:"" to hbspt.forms.create. That css:"" matters: without it HubSpot 111 renders the form inside an iframe that page CSS cannot reach. 112 Per-form tweaks live in that form's own embed; everything shared is here. --> 113<style> 114 /* HubSpot wraps every field in <div class="input">, which collides with the 115 site's own global .input class (border-bottom + min-height 3.75rem). Left 116 alone that draws a second underline under every field and doubles the field 117 height, so the wrapper is reset first. */ 118 [id^="qtr-hs-"] .input { 119 border:0!important; border-radius:0!important; height:auto!important; 120 min-height:0!important; margin:0!important; padding:0!important; 121 background:none!important; font-size:inherit!important; font-weight:inherit!important; 122 } 123 124 [id^="qtr-hs-"] { font-family:var(--inter); color:var(--tertiary); } 125 [id^="qtr-hs-"] form { display:flex; flex-direction:column; gap:1.5rem; margin:0; padding:0; } 126 [id^="qtr-hs-"] fieldset { max-width:none!important; width:100%!important; margin:0!important; padding:0; border:0; } 127 [id^="qtr-hs-"] fieldset.form-columns-2, [id^="qtr-hs-"] fieldset.form-columns-3 { display:flex; gap:1.5rem; flex-wrap:wrap; } 128 [id^="qtr-hs-"] .hs-form-field { width:100%!important; float:none!important; margin:0!important; padding:0!important; } 129 [id^="qtr-hs-"] fieldset.form-columns-2 .hs-form-field, 130 [id^="qtr-hs-"] fieldset.form-columns-3 .hs-form-field { flex:1 1 12rem; width:auto!important; } 131 [id^="qtr-hs-"] legend, [id^="qtr-hs-"] .hs-field-desc { display:none; } 132 133 [id^="qtr-hs-"] .hs-form-field > label { 134 display:block; margin:0 0 .5rem!important; 135 color:var(--body-text); font-size:.875rem; font-weight:400; line-height:140%; 136 } 137 [id^="qtr-hs-"] .hs-form-required { color:#ff6b6b; margin-left:.15em; } 138 139 /* Fields. No top padding â the label above already provides the offset, and 140 padding here just made every field taller. A <select> has a bigger 141 intrinsic height than a text input, so both are pinned to the same line box 142 or they sit at different heights side by side in a 2-column row. */ 143 [id^="qtr-hs-"] .hs-input { 144 box-sizing:border-box; width:100%!important; min-height:0; 145 border:0; border-bottom:1px solid rgba(255,255,255,.28); border-radius:0; 146 margin:0; padding:0 0 .5rem; background-color:transparent; color:var(--tertiary); 147 font-family:inherit; font-size:1rem; font-weight:400; line-height:1.5; 148 -webkit-appearance:none; appearance:none; transition:border-color .2s ease; 149 } 150 [id^="qtr-hs-"] input.hs-input, [id^="qtr-hs-"] select.hs-input { height:calc(1.5em + .5rem); } 151 [id^="qtr-hs-"] .hs-input:hover { border-bottom-color:rgba(255,255,255,.5); } 152 [id^="qtr-hs-"] .hs-input:focus { outline:none; border-bottom-color:var(--primary-color); } 153 [id^="qtr-hs-"] .hs-input::placeholder { color:rgba(255,255,255,.35); } 154 [id^="qtr-hs-"] textarea.hs-input { height:auto; min-height:6.5rem; padding-top:.25rem; resize:vertical; display:block; } 155 [id^="qtr-hs-"] select.hs-input { 156 padding-right:1.75rem; cursor:pointer; 157 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewB
157ox='0 0 24 24' fill='none' stroke='%23dddddd' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>"); 158 background-repeat:no-repeat; background-position:right .25rem center; 159 } 160 [id^="qtr-hs-"] select.hs-input option { background:#191919; color:#fff; } 161 [id^="qtr-hs-"] input:-webkit-autofill { 162 -webkit-text-fill-color:#fff; -webkit-box-shadow:0 0 0 1000px #0a0a0a inset; caret-color:#fff; 163 } 164 165 /* Checkbox / radio. The .hs-input rule above sets appearance:none, which kills 166 the native tick AND makes accent-color a no-op â checking the box showed 167 nothing at all. The control is redrawn here instead. */ 168 [id^="qtr-hs-"] ul.inputs-list, [id^="qtr-hs-"] ul.inputs-list li { list-style:none; margin:0; padding:0; } 169 [id^="qtr-hs-"] .hs-form-booleancheckbox-display { display:flex; align-items:flex-start; gap:.625rem; cursor:pointer; } 170 [id^="qtr-hs-"] .hs-form-booleancheckbox-display > span { margin-left:0!important; } 171 [id^="qtr-hs-"] .hs-fieldtype-booleancheckbox > label { margin:0!important; } 172 [id^="qtr-hs-"] input[type="checkbox"].hs-input, 173 [id^="qtr-hs-"] input[type="radio"].hs-input { 174 width:1.0625rem!important; height:1.0625rem; min-height:0; 175 margin:.125rem 0 0; padding:0!important; flex:0 0 auto; 176 border:1px solid rgba(255,255,255,.45); border-radius:.1875rem; 177 background:transparent; cursor:pointer; position:relative; 178 transition:background-color .15s ease, border-color .15s ease; 179 } 180 [id^="qtr-hs-"] input[type="radio"].hs-input { border-radius:50%; } 181 [id^="qtr-hs-"] input[type="checkbox"].hs-input:hover, 182 [id^="qtr-hs-"] input[type="radio"].hs-input:hover { border-color:var(--primary-color); } 183 [id^="qtr-hs-"] input[type="checkbox"].hs-input:checked { 184 background-color:var(--primary-color); border-color:var(--primary-color); 185 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 8.5l3 3 6-6'/></svg>"); 186 background-size:.75rem .75rem; background-position:center; background-repeat:no-repeat; 187 } 188 [id^="qtr-hs-"] input[type="radio"].hs-input:checked { 189 border-color:var(--primary-color); 190 background-image:radial-gradient(circle, var(--primary-color) 0 45%, transparent 46%); 191 } 192 [id^="qtr-hs-"] input[type="checkbox"].hs-input:focus-visible, 193 [id^="qtr-hs-"] input[type="radio"].hs-input:focus-visible { 194 outline:2px solid var(--primary-color); outline-offset:2px; 195 } 196 197 [id^="qtr-hs-"] .hs-richtext, [id^="qtr-hs-"] .hs-richtext p { 198 margin:0; font-size:.9375rem; line-height:160%; color:var(--body-text); 199 } 200 [id^="qtr-hs-"] .hs-richtext h1, [id^="qtr-hs-"] .hs-richtext h2, 201 [id^="qtr-hs-"] .hs-richtext h3, [id^="qtr-hs-"] .hs-richtext h4 { 202 margin:0 0 .5rem; font-size:1.125rem; font-weight:500; line-height:140%; color:var(--tertiary); 203 } 204 [id^="qtr-hs-"] a { color:var(--body-text); text-decoration:underline; text-underline-offset:.15em; } 205 [id^="qtr-hs-"] a:hover { color:var(--primary-color); } 206 207 /* Legal / consent block. 208 Client asked to drop the GDPR boilerplate paragraphs ("By checking the boxes 209 belowâ¦", "We care about your privacyâ¦", "To deliver your serviceâ¦") â they 210 duplicate what the consent checkbox itself already says. The checkbox and 211 its Privacy Policy link stay: that is what actually records consent. 212 Hidden rather than deleted, so the copy can be restored from HubSpot's GDPR 213 settings without touching code. */ 214 [id^="qtr-hs-"] .legal-consent-container { display:flex; flex-direction:column; gap:.875rem; } 215 [id^="qtr-hs-"] .legal-consent-container > div { margin:0; } 216 [id^="qtr-hs-"] .legal-consent-container > .hs-richtext { display:none; } 217 [id^="qtr-hs-"] .legal-consent-container .hs-fieldtype-booleancheckbox label, 218 [id^="qtr-hs-"] .legal-consent-container .hs-form-booleancheckbox-display span { 219 font-size:.875rem!important; font-weight:400!important; line-height:150%; color:var(--body-text); 220 } 221 222 /* submit â mirrors the site's .form-btn */ 223 [id^="qtr-hs-"] .hs-submit, [id^="qtr-hs-"] .hs-submit .actions { margin:0; padding:0; } 224 [id^="qtr-hs-"] .hs-button { 225 box-sizing:border-box; width:100%; min-height:3.5rem; padding:0 1.5rem; 226 border:.0625rem solid var(--primary-color); border-radius:.625rem; 227 background-color:transparent; color:var(--primary-color); 228 text-align:left; font-family:inherit; font-size:1rem; font-weight:500; line-height:1; 229 cursor:pointer; -webkit-appearance:none; appearance:none; 230 transition:background-color .25s ease, color .25s ease; 231 } 232 [id^="qtr-hs-"] .hs-button:hover { background-color:var(--primary-color); color:#fff; } 233 [id^="qtr-hs-"] .hs-button:disabled { opacity:.5; cursor:default; } 234 235 [id^="qtr-hs-"] .hs-error-msgs { list-style:none; margin:.375rem 0 0; padding:0; } 236 [id^="qtr-hs-"] .hs-error-msgs label { margin:0!important; color:#ff6b6b; font-size:.8125rem; font-weight:400; line-height:140%; } 237
238 /* Post-submit message. HubSpot returns whatever rich HTML was authored in the 239 form's inline message â the download form sends a heading, download links 240 and a centred disclaimer â so headings/links/emphasis all need styling or 241 they fall back to browser defaults. */ 242 [id^="qtr-hs-"] .submitted-message { 243 display:flex; flex-direction:column; gap:1rem; 244 font-size:1rem; line-height:160%; color:var(--body-text); 245 } 246 [id^="qtr-hs-"] .submitted-message > * { margin:0; } 247 [id^="qtr-hs-"] .submitted-message h1, [id^="qtr-hs-"] .submitted-message h2, 248 [id^="qtr-hs-"] .submitted-message h3, [id^="qtr-hs-"] .submitted-message h4, 249 [id^="qtr-hs-"] .submitted-message h5, [id^="qtr-hs-"] .submitted-message h6 { 250 margin:0; color:var(--tertiary); font-size:1.375rem; font-weight:600; line-height:140%; 251 } 252 [id^="qtr-hs-"] .submitted-message a { color:var(--primary-color); text-decoration:underline; } 253 [id^="qtr-hs-"] .submitted-message a:hover { color:var(--tertiary); } 254 [id^="qtr-hs-"] .submitted-message strong { color:var(--tertiary); font-weight:600; } 255 [id^="qtr-hs-"] .submitted-message em { 256 font-size:.8125rem; line-height:155%; color:rgba(255,255,255,.5); font-style:italic; 257 } 258 259 /* Newsletter forms are a single field with a placeholder, so the visible label 260 is redundant â hidden visually, kept for screen readers. */ 261 [id^="qtr-hs-newsletter"] .hs-form-field:not(.hs-fieldtype-booleancheckbox) > label { 262 position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; 263 overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; 264 } 265</style> 266 267<!-- Google Tag Manager -->
268<script>
vendor: 379 bytes, lines 268-278
268 269 (function(w,d,s,l,i){ 270 w[l]=w[l]||[]; 271 w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'}); 272 var f=d.getElementsByTagName(s)[0], 273 j=d.createElement(s), 274 dl=l!='dataLayer'?'&l='+l:''; 275 j.async=true; 276 j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; 277 f.parentNode.insertBefore(j,f); 278 })(window,document,'script','dataLayer','
278GTM-ND66GR2M
vendor: 4 bytes, line 278
278');
279</script>
279 280 281<link rel="preconnect" href="https://widget.intercom.io" crossorigin> 282<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
283<script> 284 (function () { 285 function add(src){ 286 var s = document.createElement('script'); 287 s.src = src; s.async = true; s.crossOrigin = 'anonymous'; 288 document.head.appendChild(s); 289 return s; 290 } 291 var primary = add('https://cdn.jsdelivr.net/npm/[email protected]/dist/web-vitals.attribution.iife.min.js'); 292 primary.onerror = function(){ 293 add('https://unpkg.com/[email protected]/dist/web-vitals.attribution.iife.min.js'); 294 }; 295 })(); 296</script>
296 297<!-- Link Swiper's CSS --> 298<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> 299 300<style> 301.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets { 302 right: 50% !important; 303 top: 50% !important; 304 transform: none !important; 305} 306 307.swiper-pagination-bullet { 308 width: 12px; 309 height: 12px; 310 margin: 6px 0; 311 opacity: 0.4; 312 background: #155DD2; 313} 314 315.swiper-pagination-bullet-active { 316 opacity: 1; 317} 318 319.swiper-button-prev { 320 margin-top: 0 !important; 321} 322 323.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after { 324 content: ''; 325} 326 327.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after { 328 content: ''; 329} 330 331.accordion-header_wrapper .accordion_heading, 332.accordion-header_wrapper .accordion_icon, 333.accordion-header_wrapper .accordion_icon-line { 334 transition: color 0.3s cubic-bezier(.65, .01, .05, .99); 335} 336 337.accordion-header_wrapper:hover .accordion_heading 338{ 339 color: #42E2B8; 340} 341 342.accordion-header_wrapper:hover .accordion_icon { 343 border-color: #42E2B8; 344} 345 346.accordion-header_wrapper:hover .accordion_icon-line { 347 background-color: #42E2B8; 348} 349</style> 350 351 352 353<!-- Quilter flow (7-step animated section) â fonts + stylesheet. 354 The stylesheet (46KB) and its script (70KB) are hosted as Webflow assets 355 rather than pasted into embeds: an HTML Embed caps at 10,000 characters, 356 and the script is a single IIFE that cannot be split across
356<script> tags. 357 Markup + script tag live in the embed on the page. --> 358<!-- Inter is already self-hosted in the shared Webflow stylesheet. --> 359<style data-quilter-selfhosted-font="Saira"> 360@font-face { 361 font-family: 'Saira'; 362 font-style: normal; 363 font-weight: 600; 364 font-stretch: 100%; 365 font-display: swap; 366 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610ff33ee768cae8f93d_saira-vietnamese-v23.woff2) format('woff2'); 367 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 368} 369@font-face { 370 font-family: 'Saira'; 371 font-style: normal; 372 font-weight: 600; 373 font-stretch: 100%; 374 font-display: swap; 375 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5cff1f3e2d8be04a_saira-latin-ext-v23.woff2) format('woff2'); 376 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 377} 378@font-face { 379 font-family: 'Saira'; 380 font-style: normal; 381 font-weight: 600; 382 font-stretch: 100%; 383 font-display: swap; 384 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5952d84052d225e1_saira-latin-v23.woff2) format('woff2'); 385 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 386} 387@font-face { 388 font-family: 'Saira'; 389 font-style: normal; 390 font-weight: 700; 391 font-stretch: 100%; 392 font-display: swap; 393 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610ff33ee768cae8f93d_saira-vietnamese-v23.woff2) format('woff2'); 394 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 395} 396@font-face { 397 font-family: 'Saira'; 398 font-style: normal; 399 font-weight: 700; 400 font-stretch: 100%; 401 font-display: swap; 402 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5cff1f3e2d8be04a_saira-latin-ext-v23.woff2) format('woff2'); 403 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 404} 405@font-face { 406 font-family: 'Saira'; 407 font-style: normal; 408 font-weight: 700; 409 font-stretch: 100%; 410 font-display: swap; 411 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5952d84052d225e1_saira-latin-v23.woff2) format('woff2'); 412 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 413} 414@font-face { 415 font-family: 'Saira'; 416 font-style: normal; 417 font-weight: 800; 418 font-stretch: 100%; 419 font-display: swap; 420 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610ff33ee768cae8f93d_saira-vietnamese-v23.woff2) format('woff2'); 421 unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; 422} 423@font-face { 424 font-family: 'Saira'; 425 font-style: normal; 426 font-weight: 800; 427 font-stretch: 100%; 428 font-display: swap; 429 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5cff1f3e2d8be04a_saira-latin-ext-v23.woff2) format('woff2'); 430 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 431} 432@font-face { 433 font-family: 'Saira'; 434 font-style: normal; 435 font-weight: 800; 436 font-stretch: 100%; 437 font-display: swap; 438 src: url(https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6ab5610f5952d84052d225e1_saira-latin-v23.woff2) format('woff2'); 439 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 440} 441</style> 442<link rel="stylesheet" href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6769854fa03f919cf96c91_quilter-flow.
442css"> 443 444 445 446 447
448<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6a81dfa7f597eb30cbea95b3%2Fblogpagelayout-1.1.0.js" type="text/javascript"></script>
448<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6a8200692a789741fccb2bf1%2Fblogptestpage-1.4.0.js" type="text/javascript"></script>
448<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6a905f241d12c579faf07dbd%2Fblogrichtextstyles-1.4.0.js" type="text/javascript"></script>
448</head><body><div class="page-wrapper background-black"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div><div class="top_navbar type-2"><div class="padding-global"><div class="container-large"><div class="top_navbar-component align-center"><div class="top_navbar-links type-2"><div class="top-bar-text">Project Speedrun: The First Computer Designed by AI</div><a data-placement="top-nav" data-banner="1" href="/project-speedrun" class="top_navlink text-black type-2 w-inline-block"><div class="text-block-3">Discover More</div><div class="topbar_icon w-embed"><svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 449<circle cx="10.5" cy="10" r="9.4" stroke="#ddd" stroke-width="1.2"/> 450<path d="M12.9244 12.4245L12.9244 7.57573L8.07563 7.57573" stroke="#ddd" stroke-width="1.2"/> 451<path d="M8.07617 12.4248L12.9249 7.57607" stroke="#ddd" stroke-width="1.2"/> 452</svg></div></a></div></div></div></div></div></div><div class="main_navbar-component"><div class="padding-global"><div class="container-large max-w-85"><div class="navbar_component"><div class="navbar_header"><a href="/?r=0" aria-current="page" class="quilter-logo-wrapper w-nav-brand w--current"><img loading="lazy" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f372a572b6e69c93adfcf4_Quilter%20Logo%20Blue.svg" alt="" class="logo-quilter"/></a><div class="navbar_links"><div class="navbar-top-wrapper"><div class="mega-menu-wrapper is-desktop"><div class="container-large is-navbar"><div class="mega-menu-content"><div id="w-node-_3ba60632-add3-19a2-0b9d-c7bf4f42f662-eadcc936"><div data-delay="0" data-hover="false" class="nav-point-wrapper dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="nav-link">Product & Technology</div><div class="arrow-image w-embed"><svg width="19" height="19" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 453<path d="M4.5 9L9.5 14L14.5 9" stroke="white" stroke-width="2"/> 454</svg></div></div><div id="dropdown-content-product" class="dropdown-list w-dropdown-list"><div class="container-large max-w-85 test"><div class="dropdown-item-wrapper"><div class="mobile-dropdown-navigation"><a id="all-link-product" href="#" class="all-link w-inline-block"><img loading="eager" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/691f48fb313ba85055e480cb_all-arrow.svg" alt=""/><p class="text-15">All</p></a></div><div class="dropdown-left"><div class="dropdown-links-left"><a href="/product" class="dropdown-overview-link w-inline-block"><div class="dropdown-overview-image"></div><div class="dropdown-overview-text-wrapper"><p class="text-22 weight-semibold currentcolor">Overview</p><p class="text-12">Generate multiple candidates in hours. Physics validates every trace.</p></div></a><div class="dropdown-secondary-wrapper"><a href="/product/technology" class="dropdown-secondary-link w-inline-block"><p class="text-16-copy text-weight-medium text-white currentcolor">Technology</p><p class="text-12">Quilter uses reinforcement learning to actively explore thousands of generated candidate boards.</p></a><a href="/product/workflow" class="dropdown-secondary-link w-inline-block"><p class="text-16-copy text-weight-medium text-white currentcolor">Workflow</p><p class="text-12">PCB design remains a critical discipline, but engineers donât need to spendtime on nonâcore layout tasks.</p></a></div></div></div><div class="dropdown-right"><a href="/solutions" class="dropdown-title w-inline-block"><p class="text-22 weight-semibold">Solutions</p></a><div class="dropdown-solutions"><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="dropdown-solutions-tag-2">By Design Type</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solutions-column-links w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/test-fixtures-harnesses" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Test Fixtures & Harnesses</p><p class="text-12">Shave 4â6 weeks off board bring-up</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/ic-evaluation-boards" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">IC Evaluation Boards</p><p class="text-12">Cuts layout cycles from weeks to hours; enables rapid, fabrication-ready design iteration</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/design-validation-boards" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Design Validation Boards</p><p class="text-12">Shrinks validation cycles from months to days</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/backplane-interconnect-boards" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Backplane & Interconnect Boards</p><p class="text-12">From 30+ days to under 24 hours</p></a></div></div></div></div><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="dropdown-solutions-tag-2">By Industry</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solutions-column-links w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/semiconductors" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Semiconductors</p><p class="text-12">Bring-up ready in a single workday (first candidates often appear within the first hour).</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/robotics" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Robotics</p><p class="text-12">Compress board bring-up from 4 weeks to under 1 day</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/consumer-electronics" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Consumer Electronics</p><p class="text-12">Boards ready in a single workday (first candidates often appear within the first hour)</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/aerospace-defense" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Aerospace & defense</p><p class="text-12">Faster board bring-up for validation and TRR</p></a></div></div></div></div><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="dropdown-solutions-tag-2">By Role</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solutions-column-links w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/r-d-managers" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">R&D managers</p><p class="text-12">Accelerate board bring-up</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/pcb-designers" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">PCB Designers</p><p class="text-12">Full fab-ready designs in under 4 hours</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/electrical-engineers" class="dropdown-solutions-link w-inline-block"><p class="text-16-copy text-weight-medium text-white">Electrical engineers</p><p class="text-12">Schematic to fab-ready in under 4 hours</p></a></div></div></div></div></div></div></div></div></div></div></div><div id="w-node-_3ba60632-add3-19a2-0b9d-c7bf4f42f719-eadcc936"><div data-delay="0" data-hover="false" class="nav-point-wrapper dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="nav-link">Resources</div><div class="arrow-image w-embed"><svg width="19" height="19" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 455<path d="M4.5 9L9.5 14L14.5 9" stroke="white" stroke-width="2"/> 456</svg></div></div><div id="dropdown-content-resources" class="dropdown-list w-dropdown-list"><div class="container-large max-w-85"><div class="dropdown-item-wrapper"><div class="mobile-dropdown-navigation"><a id="all-link-resources" href="#" class="all-link w-inline-block"><img loading="eager" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/691f48fb313ba85055e480cb_all-arrow.svg" alt=""/><p class="text-15">All</p></a></div><div class="navbar-resources-wrapper"><a href="/blog" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Blog</p><p class="text-12">Product updates, engineering insights, and company news from the Quilter team.</p></a><a href="/workbench" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Workbench</p><p class="text-12">A behind-the-scenes microblog about our hardware projects and the AI that designs them.</p></a><a href="/hardware-rich-development" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Hardware-Rich Development</p><p class="text-12">How physicsâfirst AI enables faster, more iterative hardware programs.</p></a><a href="https://docs.quilter.ai/" target="_blank" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Documentation</p><p class="text-12">An overview of the features and functionality that Quilter offers to help you generate, explore, and optimize fabrication-ready circuit boards in hours instead of weeks.</p></a><a href="/changelog" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Changelog</p><p class="text-12">Quilter is improving with every release. This page tracks what's new, what changed, and what we're working on next.</p></a><a href="https://community.quilter.ai/" class="dropdown-title links-item w-inline-block"><p class="text-22 weight-semibold">Community</p><p class="text-12">Ask questions, share projects, and get help with real boards â from other users and our team.</p></a></div><div class="dropdown-item-wrapper is-banner"><div class="banner-cms full-width w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="banner-cms-item w-dyn-item"><a data-placement="navbar-resources" data-banner="1" href="/project-speedrun" class="banner-link w-inline-block"><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f4c_6a54f33cd4acfbc6c6fcc06b_mega-menu.webp" loading="lazy" width="Auto" alt="Project Speedrun: the first computer designed by AI" class="banner-nav"/><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f3d_6a54f2e911e2a460748d8585_full-page-tablet.webp" loading="lazy" alt="Project Speedrun: the first computer designed by AI" class="banner-full-image-tablet"/><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f43_6a54f2f6d4acfbc6c6fc8898_blog-mobile.webp" loading="lazy" alt="Project Speedrun: the first computer designed by AI" class="banner-full-image-mobile"/></a></div></div></div></div></div></div></div></div></div><a href="/pricing" class="pricing-btn">Pricing</a><div id="w-node-_3ba60632-add3-19a2-0b9d-c7bf4f42f762-eadcc936"><div data-delay="0" data-hover="false" class="nav-point-wrapper dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="nav-link">Company</div><div class="arrow-image w-embed"><svg width="19" height="19" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 457<path d="M4.5 9L9.5 14L14.5 9" stroke="white" stroke-width="2"/> 458</svg></div></div><div id="dropdown-content-company" class="dropdown-list w-dropdown-list"><div class="container-large max-w-85"><div class="dropdown-item-wrapper is-company"><div class="mobile-dropdown-navigation"><a id="all-link-company" href="#" class="all-link w-inline-block"><img loading="eager" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/691f48fb313ba85055e480cb_all-arrow.svg" alt=""/><p class="text-15">All</p></a></div><div class="navbar-column is-company-1"><a href="/about" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">About</p></a><a href="/careers" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Careers</p></a><a href="/contact" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Contact</p></a><a href="/support" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Support</p></a><a href="/newsroom" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Newsroom</p></a><a href="/ai-pcb-design-for-startups" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Quilter for Startups</p></a><a href="/free-ai-pcb-design" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Quilter for Free</p></a></div><div class="navbar-column is-company-2"><a href="/blog" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Team Insights</p></a><div class="team-insight-cms w-dyn-list"><div role="list" class="team-insight-list w-dyn-items"><div role="listitem" class="team-insight-cms-item w-dyn-item"><a href="/blog/bet-big-break-rules-a-fireside-with-sergiy-nesterenko" class="team-insight-item w-inline-block"><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6a8dd55973f83a9e8c7fedf1_6a8dd2deca8b2d1827fdbf4f_insights-sergiy-blue.webp" loading="lazy" width="Auto" alt="Cover image for: Bet Big, Break Rules â A Fireside with Sergiy Nesterenko" class="insights-image"/><p class="text-16 currentcolor">Betâ¯Big,â¯Breakâ¯Rules â A Fireside with Sergiyâ¯Nesterenko</p></a></div></div></div></div><div class="dropdown-right"><a href="/careers" class="dropdown-title links-item w-inline-block"><p class="text-22-copy weight-semibold">Open Roles</p></a><div><div class="tag-wrapper padding-20"><p class="tag-filled">Featured</p></div><div class="career-list-main-wrap w-dyn-list"><div role="list" class="career-list w-dyn-items"><div role="listitem" class="careers-list-item w-dyn-item"><a href="https://jobs.ashbyhq.com/quilter/2b86fe2e-f018-419f-b8a6-320cbc53ecfb" class="open-roles-link w-inline-block"><div class="career-inner-wrap"><div class="careers-list-item-content"><div><h5 class="text-16-copy">Senior/Staff Software Engineer (C++)</h5></div><div class="careers-tag-list"><div class="text-12-copy">US Time zone</div><div class="text-12-copy">Full time</div><div class="text-12-copy">Remote</div><div class="text-12-copy">Engineering</div></div></div><div class="open-roles-btn"><div class="text-block-4">Apply</div></div></div></a></div><div role="listitem" class="careers-list-item w-dyn-item"><a href="https://jobs.ashbyhq.com/quilter/fc8e718c-c1c5-4736-8147-532304949f6e" class="open-roles-link w-inline-block"><div class="career-inner-wrap"><div class="careers-list-item-content"><div><h5 class="text-16-copy">Senior/Staff Backend Engineer - PCB CAD Integration</h5></div><div class="careers-tag-list"><div class="text-12-copy">US Time zone</div><div class="text-12-copy">Full time</div><div class="text-12-copy">Remote</div><div class="text-12-copy">Engineering</div></div></div><div class="open-roles-btn"><div class="text-block-4">Apply</div></div></div></a></div><div role="listitem" class="careers-list-item w-dyn-item"><a href="https://jobs.ashbyhq.com/quilter/66f75202-c2f2-4f7f-acae-f3f01e8bfdbe" class="open-roles-link w-inline-block"><div class="career-inner-wrap"><div class="careers-list-item-content"><div><h5 class="text-16-copy">Senior/Staff ML Systems Engineer</h5></div><div class="careers-tag-list"><div class="text-12-copy">US Time zone</div><div class="text-12-copy">Full time</div><div class="text-12-copy">Remote</div><div class="text-12-copy">Engineering</div></div></div><div class="open-roles-btn"><div class="text-block-4">Apply</div></div></div></a></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="navbar-right-wrapper"><div class="language-switcher-wrapper"><div data-hover="false" data-delay="0" data-w-id="4f6086e3-21dc-66a3-ca2c-9fb216292af1" class="langua
458ge-dropdown w-dropdown"><div class="language-dropdown-toggle w-dropdown-toggle"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69427d1d0e7c5f335ff89146_language-icon.svg" loading="lazy" alt="" class="language-icon"/><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69427d1da6ae802539807674_language-switcher-arrow.svg" loading="lazy" alt=""/></div><nav class="language-dropdown-content w-dropdown-list"><div class="locales-wrapper w-locales-list"><div role="list" class="locales-list w-locales-items"><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/694392c835e66a988999b020_flag-usa.svg" loading="lazy" alt="" class="locale-image"/><a href="/?r=0" aria-current="page" class="language-link w--current">English</a></div><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/694392cf0ccc25d60cb80a76_flag-japan.svg" loading="lazy" alt="" class="locale-image"/><a href="/ja" class="language-link">æ¥æ¬èª</a></div><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f2425d3d3d02e0506c5210_Flag_of_Germany-20.svg" loading="lazy" alt="" class="locale-image"/><a href="/de" class="language-link">German</a></div></div></div></nav></div></div><a href="https://app.quilter.ai/sign-in" target="_blank" class="log-in-btn">Log in</a><div class="ab-default"><a href="/demo" data-wf-event-ids="157088869" class="btn-outline is-small is-active w-inline-block"><div>Talk to an Engineer</div><div class="secondary_btn-arrow is-small w-embed"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 459<circle cx="14" cy="14" r="13.4" stroke="currentColor" stroke-width="1.2"/> 460<path d="M17.3941 17.3943L17.3941 10.606L10.6059 10.606" stroke="currentColor" stroke-width="1.2"/> 461<path d="M10.6055 17.3955L17.3937 10.6073" stroke="currentColor" stroke-width="1.2"/> 462</svg></div></a><a href="/demo" data-wf-event-ids="157088869" class="secondary_btn is-active no-margin w-inline-block"><div class="text-block">Talk to an Engineer</div><div class="secondary_btn-arrow w-embed"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 463<circle cx="14" cy="14" r="13.4" stroke="currentColor" stroke-width="1.2"/> 464<path d="M17.3941 17.3943L17.3941 10.606L10.6059 10.606" stroke="currentColor" stroke-width="1.2"/> 465<path d="M10.6055 17.3955L17.3937 10.6073" stroke="currentColor" stroke-width="1.2"/> 466</svg></div></a></div></div></div><div class="mobile-menu-wrapper"><div class="language-switcher-wrapper is-mobile"><div data-hover="false" data-delay="0" data-w-id="5d098b87-f393-d629-c3ae-d566743dfeaa" class="language-dropdown w-dropdown"><div class="language-dropdown-toggle w-dropdown-toggle"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69427d1d0e7c5f335ff89146_language-icon.svg" loading="lazy" alt="" class="language-icon"/><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69427d1da6ae802539807674_language-switcher-arrow.svg" loading="lazy" data-w-id="5d098b87-f393-d629-c3ae-d566743dfead" alt=""/></div><nav class="language-dropdown-content w-dropdown-list"><div class="locales-wrapper w-locales-list"><div role="list" class="locales-list w-locales-items"><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/694392c835e66a988999b020_flag-usa.svg" loading="lazy" alt="" class="locale-image"/><a href="/?r=0" aria-current="page" class="language-link w--current">English</a></div><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/694392cf0ccc25d60cb80a76_flag-japan.svg" loading="lazy" alt="" class="locale-image"/><a href="/ja" class="language-link">æ¥æ¬èª</a></div><div role="listitem" class="locales-item w-locales-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f2425d3d3d02e0506c5210_Flag_of_Germany-20.svg" loading="lazy" alt="" class="locale-image"/><a href="/de" class="language-link">German</a></div></div></div></nav></div></div><a href="#" class="navbar-btn w-inline-block"><img width="20" loading="lazy" alt="" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6925ed59064e9edbe1d3e931_mega-menu.svg" class="navbar-btn-open"/><img loading="lazy" src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6925ee1d0c5926b6273997cc_Close.svg" alt="" class="navbar-btn-close"/></a></div></div></div></div></div></div></div></div><main class="main-wrapper"><section id="top" class="section_hero"><div class="padding-global padding-section-large"><div class="container-large"><div class="home_hero-content-wrap is-centered gap-0"><div class="learn-more-title-wrapper"><h1 class="hero_title-text">Physics-Driven AI That <span class="green-text">Automates </span>
466PCB Layout</h1><p class="text-20 hero_description">Quilter is physics-driven AI that automates PCB placement and routing. </p></div><div class="non-commercial_header-btn-wrap is-centered"><a href="/demo" class="secondary_btn is-active w-inline-block"><div class="text-block">Talk to an Engineer</div><div class="secondary_btn-arrow w-embed"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 467<circle cx="14" cy="14" r="13.4" stroke="currentColor" stroke-width="1.2"/> 468<path d="M17.3941 17.3943L17.3941 10.606L10.6059 10.606" stroke="currentColor" stroke-width="1.2"/> 469<path d="M10.6055 17.3955L17.3937 10.6073" stroke="currentColor" stroke-width="1.2"/> 470</svg></div></a></div><div class="partners-wrapper"><p class="text-22">Trusted Industry Partners:</p><div class="partners-grid"><div class="partners-grid-item is-1"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a3d30dfab5a9947dcbba94e_aws.svg" loading="lazy" alt="AWS, a Quilter industry partner"/></div><div class="partners-grid-item is-2"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a3d30dfa1e8c27a79841219_nvidia.svg" loading="lazy" alt="NVIDIA, a Quilter industry partner"/></div><div class="partners-grid-item is-3"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a3d30df60381d6765fadec9_siemens.svg" loading="lazy" alt="Siemens, a Quilter industry partner"/></div></div></div></div><div class="sw-ship"><div class="w-embed w-script"><!-- Home hero: the SAME pinned scroll-scrub as /project-speedrun. 471 472 The board sticks to the middle of the viewport and the clip advances with 473 scroll while it is held there, then releases and scrolls away. 474 475 Uses the scrub encode (-g 5, keyframe every 1/6s), NOT the ping-pong. A 476 ping-pong has no direction, so scroll position has nothing to map to. 477 478 THREE DELIBERATE DIFFERENCES FROM THE SPEEDRUN COPY: 479 480 1. NO GLOW. /project-speedrun has .quilter-computer-bg behind the board. 481 This page has no such element (checked: 0 occurrences) - the hero is 482 flat black - so the .spd-glow div and the whole hand-over are dropped. 483 484 2. THE LIFT MEASURES A DIFFERENT ELEMENT. On speedrun the board follows the 485 h1 directly, so the floor is the h1 bottom. Here the embed sits in 486 .sw-ship BELOW the h1, description, CTA and the partners logo row, so the 487 floor is the bottom of .home_hero-content-wrap. 488 489 3. pointer-events:none ON .spd-scroll, because the block overlaps the CTA 490 and the logos. The video re-enables pointer events on itself in 491 reduced-motion mode, which works because a descendant can turn them back 492 on under a 'none' ancestor. 493 494 BOARD_TOP IS FRAME 0, THE RESTING FRAME. Measured per frame: 495 frame 0, board in perspective -> board top at 40.8% of frame = 35.65% of 496 the visible box after the 8% crop; 497 final flat top-down board -> board top at 17.2% of frame = 10.00% of 498 the visible box. 499 Frame 0 is what a visitor sees before scrolling, so it is what the gap has 500 to be measured against. Reserving clearance against the flat board instead 501 (BOARD_TOP 0.10) pushes the block down by 0.2565 * wrapH - 186px at a 724px 502 wrap - which put the board entirely below the fold on a laptop. 503 504 THE GAP IS ADAPTIVE, BECAUSE TWO THINGS HAVE TO BE TRUE AT ONCE: the board 505 must clear the partners row, and it must be visible above the fold. A fixed 506 gap cannot do both - at 1512x748, where the hero copy ends at 560, a 96px 507 gap leaves only 74px of board on screen. So the gap is squeezed down to 508 whatever still shows REVEAL px of board, and floored at GAP_MIN so it can 509 never collapse into the logos: 510 gap = clamp(innerHeight - REVEAL - feBottom, GAP_MIN, GAP_MAX) 511 1512x748 -> gap 40, 148px of board above the fold. 512 1440x900 -> gap 96, 226px of board above the fold. 513 Clearance is never below GAP_MIN, so the collision the old value guarded 514 against cannot happen at rest. 515 516 The flat board does ride higher than frame 0, but it only appears near the 517 END of the scrub, by which point the partners row has scrolled off. Swept
518 in 30px steps at 748px, 900px and 1400px viewport heights: while the row is 519 still on screen the clearance never goes below the resting gap, because the 520 row scrolls up faster than the board rises. 521 522 Components also drop in from 0% of frame height, but those are inside the 523 mask's fade (transparent to 8%, opaque by 16%) and are sparse falling parts, 524 not a solid edge - the fade is what handles them, not the gap. 525 526 Crop and fade, measured off the frames: hard crop 8% of height (= 6.33% of 527 width; percentage margins resolve against width), fade fully opaque by 16% 528 so it never eats the flat board's top silkscreen row. --> 529<svg width="0" height="0" style="position:absolute;width:0;height:0" aria-hidden="true" focusable="false"> 530 <filter id="qtr-knockout" color-interpolation-filters="sRGB"> 531 <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0.2126 0.7152 0.0722 0 0"/> 532 <feComponentTransfer><feFuncA type="linear" slope="18" intercept="0"/></feComponentTransfer> 533 </filter> 534</svg> 535<style> 536 .section_hero .padding-section-large { padding-top: 3rem; padding-bottom: 3rem; } 537 .sw-ship { padding-top: 0; margin-top: 0; } 538 /* pointer-events: see note 3 above - the block overlaps the CTA. */ 539 .spd-scroll { position: relative; pointer-events: none; } 540 .spd-stick { position: relative; display: flex; align-items: center; justify-content: center; } 541 .spd-scroll.is-scrub > .spd-stick { position: -webkit-sticky; position: sticky; } 542 .speedrun-loop-wrap { 543 position: relative; z-index: 1; 544 width: 100%; margin: 0 auto; overflow: hidden; 545 max-width: min(62.125rem, calc((100vh - 96px) * 1.373)); 546 } 547 .speedrun-loop { 548 display: block; width: 100%; height: auto; margin: -6.33% auto 0; pointer-events: none; 549 filter: url(#qtr-knockout); 550 -webkit-mask-image: linear-gradient(to bottom, transparent 0, transparent 8%, rgba(0,0,0,.35) 10.5%, rgba(0,0,0,.8) 13.5%, #000 16%, #000 97%, transparent 100%), linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%); 551 mask-image: linear-gradient(to bottom, transparent 0, transparent 8%, rgba(0,0,0,.35) 10.5%, rgba(0,0,0,.8) 13.5%, #000 16%, #000 97%, transparent 100%), linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%); 552 -webkit-mask-composite: source-in; mask-composite: intersect; 553 -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; 554 -webkit-mask-size: 100% 100%; mask-size: 100% 100%; 555 } 556</style> 557<div class="spd-scroll"> 558 <div class="spd-stick"> 559 <div class="speedrun-loop-wrap"> 560 <video class="speedrun-loop" muted playsinline preload="auto" 561 poster="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6aac68937d67b3ee04850810_speedrun-board-v2-poster.webp"> 562 <source src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6aad1e8886dc60583305a711_speedrun-board-scrub.mp4" type="video/mp4"> 563 </video> 564 </div> 565 </div> 566</div>
567<script> 568(function () { 569 var s = document.currentScript; 570 var root = s && s.parentElement; 571 if (!root) return; 572 var scroller = root.querySelector('.spd-scroll'); 573 var stick = root.querySelector('.spd-stick'); 574 var wrap = root.querySelector('.speedrun-loop-wrap'); 575 var v = root.querySelector('video.speedrun-loop'); 576 if (!scroller || !stick || !wrap || !v) return; 577 578 /* BOARD_TOP: fraction of the VISIBLE box at which frame 0's board top sits. 579 (40.8 - 8) / 92 = 0.3565. A measurement, not a preference. 580 GAP_MIN / GAP_MAX / REVEAL are the preferences - see the note above. */ 581 var BOARD_TOP = 0.3565, GAP_MIN = 40, GAP_MAX = 96, REVEAL = 150, 582 MAX_LIFT = 320, MAX_PUSH = 220; 583 584 function floorEl() { 585 return document.querySelector('.section_hero .home_hero-content-wrap') 586 || document.querySelector('.section_hero .hero_title-text'); 587 } 588 589 var mqReduce = window.matchMedia('(prefers-reduced-motion: reduce)'); 590 var mqLoop = window.matchMedia('(hover: none), (max-width: 991px)'); 591 592 var mode = null, dur = 0, startY = 0, range = 900, last = -1, raf = null; 593 594 function sy() { return window.pageYOffset || document.documentElement.scrollTop; } 595 596 function docTop(el) { var y = 0; while (el) { y += el.offsetTop; el = el.offsetParent; } return y; } 597 598 function measure() { 599 /* Measure with the pin OFF but the height KEPT. Resetting the height here (the 600 old way) shrank the page mid-measure when reloading deep in the pinned 601 range; the browser clamped the scroll and the lift came out wrong, parking 602 the board on the hero content once you scrolled back up. */ 603 scroller.classList.remove('is-scrub'); 604 stick.style.top = ''; /* an inline top on a non-sticky box would offset it */ 605 var wrapH = wrap.getBoundingClientRect().height; 606 if (!wrapH) { scroller.classList.add('is-scrub'); return; } 607 608 range = Math.min(Math.round(window.innerHeight * 1.05), 900); 609 var st = Math.max(8, Math.round((window.innerHeight - wrapH) / 2)); 610 611 /* Squeeze the gap until REVEAL px of board sits above the fold, but never 612 below GAP_MIN, so the board cannot collapse into the partners row. 613 Layout offsets, not rects, so the result is the same at any scroll 614 position; measured because DE/JA headlines wrap to different heights. 615 mt = margin currently applied (negative = lifted). */ 616 var mt = parseFloat(scroller.style.marginTop) || 0; 617 var fe = floorEl(); 618 var feBottom = fe ? (docTop(fe) + fe.offsetHeight) : 0; 619 var gap = window.innerHeight - REVEAL - feBottom; 620 gap = Math.max(GAP_MIN, Math.min(GAP_MAX, gap)); 621 622 var boardTop = docTop(wrap) + wrapH * BOARD_TOP - mt; 623 var lift = Math.round(boardTop - (feBottom + gap)); 624 lift = Math.max(-MAX_PUSH, Math.min(MAX_LIFT, lift)); 625 626 scroller.style.height = Math.round(wrapH + range) + 'px'; 627 scroller.style.marginTop = (-lift) + 'px'; 628 stick.style.top = st + 'px'; 629 scroller.classList.add('is-scrub'); 630 631 startY = Math.round(scroller.getBoundingClientRect().top + sy() - st); 632 } 633 634 function apply() { 635 raf = null; 636 if (!dur) return; 637 var pr = (sy() - startY) / range; 638 pr = pr < 0 ? 0 : (pr > 1 ? 1 : pr); 639 var t = pr * (dur - 0.06); 640 if (last >= 0 && Math.abs(t - last) < 0.03) return; 641 last = t; 642 try { v.currentTime = t; } catch (e) {} 643 } 644 645 function onScroll() { if (!raf) raf = window.requestAnimationFrame(apply); } 646 function onResize() { measure(); onScroll(); } 647 648 function teardown() { 649 window.removeEventListener('scroll', onScroll); 650 window.removeEventListener('resize', onResize); 651 if (raf) { window.cancelAnimationFrame(raf); raf = null; } 652 scroller.classList.remove('is-scrub'); 653 scroller.style.height = ''; 654 scroller.style.marginTop = ''; 655 stick.style.top = ''; 656 } 657 658 function setMode(next) { 659 if (next === mode) return; 660 teardown(); 661 mode = next; 662 663 if (next === 'static') { 664 v.pause(); v.removeAttribute('loop'); 665 v.setAttribute('controls', ''); v.style.pointerEvents = 'auto'; 666 return; 667 } 668 669 v.removeAttribute('controls'); v.style.pointerEvents = 'none'; 670 671 if (next === 'loop') { 672 v.setAttribute('loop', ''); v.muted = true; 673 var p = v.play(); if (p && p.catch) p.catch(function () {}); 674 return; 675 } 676 677 v.removeAttribute('loop'); v.pause(); 678 scroller.classList.add('is-scrub'); 679 last = -1; measure(); apply(); 680 window.addEventListener('scroll', onScroll, { passive: true }); 681 window.addEventListener('resize', onResize); 682 } 683 684 function pick() { 685 setMode(mqReduce.matches ? 'static' : (mqLoop.matches ? 'loop' : 'scrub')); 686 watchLate(); 687 } 688 689 /* The lift is measured against the hero content, so anything that resizes it 690 AFTER the first measure (late web font, A/B or consent scripts on a fresh 691 visit) would leave the board on top of it. Re-measure whenever that happens. */ 692 var watching = false;
693 function remeasure() { if (mode === 'scrub') { measure(); last = -1; apply(); } } 694 function watchLate() { 695 if (watching) return; watching = true; 696 var fe = floorEl(); 697 if (window.ResizeObserver && fe) { new ResizeObserver(function () { remeasure(); }).observe(fe); } 698 if (document.fonts && document.fonts.ready) document.fonts.ready.then(remeasure); 699 window.addEventListener('load', remeasure, { once: true }); 700 [400, 1200, 3000].forEach(function (t) { setTimeout(remeasure, t); }); 701 } 702 703 function listen(mq) { 704 if (mq.addEventListener) mq.addEventListener('change', pick); 705 else if (mq.addListener) mq.addListener(pick); 706 } 707 listen(mqReduce); listen(mqLoop); 708 709 function start() { 710 dur = v.duration || 0; 711 if (!dur) return; 712 if (document.readyState === 'loading') { 713 document.addEventListener('DOMContentLoaded', pick, { once: true }); 714 } else { pick(); } 715 } 716 if (v.readyState >= 1) start(); 717 else v.addEventListener('loadedmetadata', start, { once: true }); 718})(); 719</script>
719</div></div></div></div><div class="home_hero-bg-img hide"><div class="container-large"><div class="bg_wrap"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/68b7918b99fa38e5185dc4f7_hero-brand-bg-graphic.svg" loading="lazy" alt="" class="home_hero-img-v2 hide"/><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/68c5d75c77d8b9e652eb1bc2_solutions-bg.svg" loading="lazy" alt=""/></div></div></div></section><section id="upload-flow" class="section-default hide"><div class="padding-global padding-section-large"><div class="container-large"><div class="product-text-wrapper"><h2 class="text-50 text-center">What Happens When You Upload Your Project to <span class="green-text">Quilter</span></h2></div><div class="w-embed w-script"><!-- Quilter flow â 7-step animated section. 720 Markup only. The 46KB stylesheet is linked from the page's head custom 721 code; the 70KB script is a hosted Webflow asset, loaded below. 722 Do NOT paste the script back inline: it is a single IIFE, so splitting it 723 across multiple embeds (the old approach) produces a syntax error and 724 nothing runs. --> 725<div id="quilter-flow"><div class="wrap"> 726<div class="stepper" id="qf-stepper"></div> 727<div class="card" id="qf-card"> 728<div class="card-head"><span class="badge" id="qf-badge">1</span><div><h2 id="qf-title"></h2><p id="qf-blurb"></p></div></div> 729<div class="media" id="qf-media"> 730<button class="replay" id="qf-replay" aria-label="Replay animation"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/></svg></button> 731<div id="stage"></div></div> 732<div class="nav"> 733<button class="nav-btn" id="qf-prev"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"/></svg>Previous</button> 734<div class="nav-dots" id="qf-dots"></div> 735<button class="nav-btn" id="qf-next">Next<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg></button> 736</div></div></div></div> 737
738<script defer src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6769854fa03f919cf96c7c_quilter-flow.js"></script>
738</div></div></div></section><section id="layout-comparison" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div class="manual-layout-wrapper"><h2 class="text-50">Manual Layout vs <span class="green-text">Layout Automation </span>with Quilter</h2><div class="manual-layout-right"><p class="text-18">The layout work that professionals quoted at 428 hours took 38.5 hours of human cleanup with Quilter.</p></div></div><div><div class="w-embed w-script"><div class="qtr-wrap"> 739 <style> 740 .qtr-wrap{background:#000;color:#fff;font-family:inherit} 741 .qtr-wrap *{box-sizing:border-box} 742 .qtr-title{text-align:center;margin:0 0 0.625rem} 743 .qtr-title .qtr-accent{color:#696969} 744 .qtr-title .qtr-accent-b{color:#007BFF} 745 .qtr-rule{height:1px;background:#696969;opacity:.35;margin:0 0 2.5rem} 746 747 .qtr-scroll{overflow:visible} 748 749 /* grid: n-label col + 7 flexible day cols */ 750 .qtr-grid{display:grid;grid-template-columns:1.75rem repeat(7,1fr);gap:0.625rem;align-items:start} 751 .qtr-dayhead{color:#696969;text-align:center} 752 .qtr-nlabel{color:#696969;display:flex;align-items:center;height:2.625rem} 753 754 .qtr-box{height:2.625rem;padding:0 0.875rem;border-radius:0.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-size:0.75rem;display:flex;align-items:center;justify-content:flex-start} 755 .qtr-faded{background:#191919;color:#696969} 756 .qtr-active{background:#2E2E2E;color:#FFFFFF} 757 .qtr-light{background:#DDDDDD;color:#191919} 758 .qtr-blue{background:#007BFF;color:#FFFFFF} 759 760 .qtr-arrow{display:flex;justify-content:center;margin:2.5rem 0;position:static} 761 .qtr-arrow svg{display:block;width:24px;height:48px} 762 763 .qtr-footer{text-align:center;margin:5rem 0 0;line-height:1.4} 764 .qtr-footer a{color:#fff;text-decoration:none} 765 .qtr-footer .qtr-accent-b{color:#007BFF;margin-right:0.3em} 766 .qtr-footer img{display:inline-block;vertical-align:middle;height:1.125rem;margin-left:0.4rem} 767 768 /* ---- animation ---- */ 769 .qtr-box{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease} 770 .qtr-wrap.qtr-in .qtr-box{opacity:1;transform:translateY(0)} 771 .qtr-wrap.qtr-in .qtr-blue{animation:qtr-pulse 2s ease 1.2s 2} 772 @keyframes qtr-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,123,255,0)}50%{box-shadow:0 0 0 4px rgba(0,123,255,.35)}} 773 @media (prefers-reduced-motion:reduce){ 774 .qtr-box{opacity:1;transform:none;transition:none} 775 .qtr-wrap.qtr-in .qtr-blue{animation:none} 776 } 777 778 /* ---- mobile: horizontal scroll ---- */ 779 @media (max-width:768px){ 780 .qtr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:0.75rem} 781 .qtr-grid{grid-template-columns:1.75rem repeat(7,8rem);width:max-content} 782 .qtr-title,.qtr-footer{padding:0 1rem} 783 .qtr-footer{font-size:1.125rem;margin-top:3.5rem} 784 .qtr-footer img{height:1rem} 785 } 786 </style> 787 788 <!-- BEFORE --> 789 <div class="qtr-title text-22"><span class="qtr-accent">Before:</span> Manual Layout</div> 790 <div class="qtr-rule"></div> 791 <div class="qtr-scroll"> 792 <div class="qtr-grid"> 793 <!-- day headers --> 794 <div></div> 795 <div class="qtr-dayhead text-14">Mon</div> 796 <div class="qtr-dayhead text-14">Tue</div> 797 <div class="qtr-dayhead text-14">Wed</div> 798 <div class="qtr-dayhead text-14">Thu</div> 799 <div class="qtr-dayhead text-14">Fri</div> 800 <div class="qtr-dayhead text-14">Sat</div> 801 <div class="qtr-dayhead text-14">Sun</div> 802 803 <!-- n0 --> 804 <div class="qtr-nlabel text-14" style="grid-row:2">n0</div> 805 <div class="qtr-box qtr-active" style="grid-column:2;grid-row:2">Start Working on Layout</div> 806 <div class="qtr-box qtr-faded" style="grid-column:3 / span 6;grid-row:2">Layout in Progress</div> 807 808 <!-- n1 --> 809 <div class="qtr-nlabel text-14" style="grid-row:3">n1</div> 810 <div class="qtr-box qtr-faded" style="grid-column:2 / span 7;grid-row:3">Layout in Progress</div> 811 812 <!-- n2 --> 813 <div class="qtr-nlabel text-14" style="grid-row:4">n2</div> 814 <div class="qtr-box qtr-faded" style="grid-column:2 / span 7;grid-row:4">Layout in Progress</div> 815 816 <!-- n3 --> 817 <div class="qtr-nlabel text-14" style="grid-row:5">n3</div> 818 <div class="qtr-box qtr-faded" style="grid-column:2 / span 3;grid-row:5">Layout in Progress</div> 819 <div class="qtr-box qtr-active" style="grid-column:5 / span 2;grid-row:5">Engineer Reviews Draft and Requests Changes</div> 820 <div class="qtr-box qtr-faded" style="grid-column:7 / span 2;grid-row:5">Layout in Progress</div> 821 822 <!-- n4 --> 823 <div class="qtr-nlabel text-14" style="grid-row:6">n4</div> 824 <div class="qtr-box qtr-faded" style="grid-column:2;grid-row:6">Layout in Progress</div> 825 <div class="qtr-box qtr-active" style="grid-column:3 / span 2;grid-row:6">Engineer Reviews Final Layout</div> 826 <div class="qtr-box qtr-active" style="grid-column:5;grid-row:6">Submit to Fab</div> 827 <div class="qtr-box qtr-faded" style="grid-column:6 / span 3;grid-row:6">Fabrication and Assembly</div> 828 829 <!-- n5 --> 830 <div class="qtr-nlabel text-14" style="grid-row:7">n5</div> 831 <div class="qtr-box qtr-faded" style="grid-column:2 / span 2;grid-row:7">Fabrication and Assembly</div> 832 <div class="qtr-box qtr-light" style="grid-column:4;grid-row:7">Board Arrives</div> 833 </div> 834 </div> 835 836 <!-- ARROW --> 837 <div class="qtr-arrow"> 838 <svg viewBox="0 0 24 48" fill="none" xmlns="http://www.w3.org/2000/svg"> 839 <path d="M12 0V44" stroke="#007BFF" stroke-width="2"/> 840 <path d="M4 36L12 46L20 36" stroke="#007BFF" stroke-width="2" fill="none"/> 841 </svg> 842 </div> 843 844 <!-- AFTER --> 845 <div class="qtr-title text-22"><span class="qtr-accent-b">After:</span> Layout with Quilter</div> 846 <div class="qtr-rule"></div> 847 <div class="qtr-scroll"> 848 <div class="qtr-grid"> 849 <div></div> 850 <div class="qtr-dayhead text-14">Mon</div> 851 <div class="qtr-dayhead text-14">Tue</div> 852 <div class="qtr-dayhead text-14">Wed</div> 853 <div class="qtr-dayhead text-14">Thu</div> 854 <div class="qtr-dayhead text-14">Fri</div> 855 <div class="qtr-dayhead text-14">Sat</div> 856 <div class="qtr-dayhead text-14">Sun</div> 857 858 <!-- n0 --> 859 <div class="qtr-nlabel text-14" style="grid-row:2">n0</div> 860 <div class="qtr-box qtr-active" style="grid-column:6;grid-row:2">Submit to Quilter</div> 861 <div class="qtr-box qtr-blue" style="grid-column:7 / span 2;grid-row:2">Quilter Generates 100s of Candidates</div> 862 863 <!-- n1 --> 864 <div class="qtr-nlabel text-14" style="grid-row:3">n1</div> 865 <div class="qtr-box qtr-active" style="grid-column:2 / span 3;grid-row:3">Engineer Reviews Candidates and Makes Adjustments</div> 866 <div class="qtr-box qtr-active" style="grid-column:5;grid-row:3">Submit to Fab</div> 867 <div class="qtr-box qtr-faded" style="grid-column:6 / span 3;grid-row:3">
867Fabrication and Assembly</div> 868 869 <!-- n2 --> 870 <div class="qtr-nlabel text-14" style="grid-row:4">n2</div> 871 <div class="qtr-box qtr-faded" style="grid-column:2 / span 2;grid-row:4">Fabrication and Assembly</div> 872 <div class="qtr-box qtr-blue" style="grid-column:4;grid-row:4">Board Arrives</div> 873 </div> 874 </div> 875 876 <div class="qtr-footer text-22"> 877 <a href="/project-speedrun"><span class="qtr-accent-b">Learn more</span> about Project Speedrun<img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a45296a2117bd392d90d7d1_Arrow-Circle.svg" alt=""></a> 878 </div> 879</div> 880
881<script> 882(function(){ 883 var wrap=document.currentScript.previousElementSibling; 884 var boxes=wrap.querySelectorAll('.qtr-box'); 885 boxes.forEach(function(b,i){b.style.transitionDelay=(i*0.14)+'s';}); 886 var io=new IntersectionObserver(function(entries){ 887 entries.forEach(function(e){ 888 if(e.isIntersecting){wrap.classList.add('qtr-in');io.disconnect();} 889 }); 890 },{threshold:0,rootMargin:'0px 0px -35% 0px'}); 891 io.observe(wrap); 892})(); 893</script>
893</div></div></div></div></section><section id="why-quilter" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div><div class="solutions_header"><h2 class="solutions_heading section_heading is-centered"><span class="green-text">Why</span> Teams Choose Quilter</h2></div><div class="why-teams-wrapper"><div class="why-teams-wrapper-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a450f0be202d6073d761f86_scale_icon.svg" loading="lazy" alt="" class="icon-40"/><div class="why-teams-wrapper-item-content"><p class="text-22">Scale Without Hiring</p><p class="text-18">Add boards, not headcount. Layout talent is scarce, and designs sit on hold waiting for it. Quilter runs multiple boards in parallel overnight, so the backlog clears with the team you have.</p></div></div><div class="why-teams-wrapper-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a450f0da1f899dc1480f978_scale_icon-2.svg" loading="lazy" alt="" class="icon-40"/><div class="why-teams-wrapper-item-content"><p class="text-22">Compress Delivery Timelines</p><p class="text-18">Boards that took 4 to 8 weeks now come back in days. Your firmware team stops waiting. Your validation starts sooner. Run 2 or 3 iterations in the time one used to take.</p></div></div><div class="why-teams-wrapper-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a450f0ba234a9ec54a6e820_check_icon-quilter.svg" loading="lazy" alt="" class="icon-40"/><div class="why-teams-wrapper-item-content"><p class="text-22">Validated AI for Hardware</p><p class="text-18">Most enterprise AI pilots stall in proof of concept. Hardware teams in consumer electronics, aerospace, and defense are using Quilter to design boards reaching fabrication today.</p></div></div></div></div><div class="native-support-wrapper"><div class="solutions_header"><h2 class="text-40 font-kabyta text-weight-semibold text-centered">Native Support for All Popular ECAD Formats</h2></div><div class="ecad-formats-grid"><div class="ecad-formats-grid-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a451ffed5328db037da4bc7_cadence.svg" loading="lazy" alt="Cadence ECAD format supported by Quilter"/></div><div class="ecad-formats-grid-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a451ffed8e9184c17e3d038_altium.svg" loading="lazy" alt="Altium Designer supported by Quilter"/></div><div class="ecad-formats-grid-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a451ffe2068be16adfb210d_KiCad-Logo%202.svg" loading="lazy" alt="KiCad ECAD format supported by Quilter"/></div><div class="ecad-formats-grid-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a451ffe780bd971b749c80e_OrCAD_Logo%201.svg" loading="lazy" alt="OrCAD ECAD format supported by Quilter"/></div><div class="ecad-formats-grid-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a451ffe92ab1081b584a9c3_Xpedition.svg" loading="lazy" alt="Siemens Xpedition ECAD format supported by Quilter"/></div></div></div></div></div></section><section id="how-quilter-works" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div class="w-embed"><!-- "How Quilter Works" â heading, supporting copy, ECAD â Quilter flow diagram. 894 Typography follows Figma node 3295:271 (card titles Inter Medium 500/14, 895 icon + band labels Inter Regular 400/12 and 400/16, body Inter 400/18), 896 scaled up by the SVG's 2000/1170 viewBox factor. 897 Heading size is 50px desktop / 40px tablet-and-below per client, overriding 898 Figma's 60px. 899 Sits on the site's DARK section: heading is white, body copy uses 900 --body-text. The diagram carries its own light surface so its dark text 901 stays readable. --> 902<style> 903 .qf2{width:100%;display:flex;flex-direction:column;align-items:center;gap:48px; 904 font-family:var(--inter,Inter),Inter,system-ui,sans-serif;color:#000} 905 /* "How" is white; "Quilter Works" is brand blue via the span below. */ 906 .qf2-title{margin:0;text-align:center;color:#fff; 907 font-family:var(--apk-protocol,"Aeonik Pro"),"Aeonik Pro",Arial,sans-serif; 908 font-weight:300;font-size:50px;line-height:1;letter-spacing:-.03em} 909 /* 991px is Webflow's tablet breakpoint â 50px desktop, 40px tablet and below */ 910 @media (max-width:991px){.qf2-title{font-size:40px}} 911 /* inline, not block â heading reads on a single line */ 912 .qf2-title span{color:#007bff} 913 .qf2-figure{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0} 914 .qf2-figure svg{display:block;width:100%;height:auto}
915 @media (max-width:900px){.qf2-figure svg{min-width:860px}} 916 .qf2-copy{max-width:860px;display:flex;flex-direction:column;align-items:center; 917 gap:25px;text-align:center} 918 .qf2-copy p{margin:0;font-size:18px;font-weight:400;line-height:1.5;letter-spacing:-.02em; 919 color:var(--body-text,#ddd)} 920 /* needs p.qf2-cta, not .qf2-cta â ".qf2-copy p" above would otherwise win on 921 specificity and hold the link at the 18px body size */ 922 .qf2-copy p.qf2-cta{font-size:16px;letter-spacing:normal;line-height:1} 923 /* The CTA is a button, matching the site's outline button (.secondary_btn): 924 1px #007bff, 10px radius, Space Grotesk 16/400, filling blue on hover. 925 The arrow lives inside the <a> so the whole thing is one target. */ 926 .qf2-cta a{display:inline-flex;align-items:center;gap:10px; 927 padding:16px 24px;border:1px solid #007bff;border-radius:10px; 928 font-family:var(--space-grotesk,"Space Grotesk"),"Space Grotesk",Arial,sans-serif; 929 font-size:16px;font-weight:400;line-height:1;color:#007bff; 930 background:transparent;text-decoration:none; 931 transition:background-color .2s ease,color .2s ease} 932 .qf2-cta a:hover{background:#007bff;color:#000} 933 .qf2-cta a span{transition:transform .2s ease} 934 .qf2-cta a:hover span{transform:translateX(3px)} 935 936 /* Reading order: heading â explanation â diagram â link. .qf2-copy becomes 937 display:contents so its two paragraphs are direct flex children of .qf2 938 and can be ordered around the figure; the max-width, centring and gap that 939 .qf2-copy used to supply move onto the paragraphs themselves. */ 940 .qf2-copy{display:contents} 941 .qf2-copy>p{max-width:860px;text-align:center} 942 .qf2-title{order:1} 943 .qf2-copy>p{order:2} 944 .qf2-figure{order:3} 945 .qf2-copy>p.qf2-cta{order:4} 946 947 @media (max-width:700px){.qf2{gap:36px}} 948</style> 949 950<div class="qf2"> 951 952<h2 class="qf2-title">How <span>Quilter Works</span></h2> 953 954<div class="qf2-figure"> 955<svg viewBox="0 0 2000 1018" xmlns="http://www.w3.org/2000/svg" role="img" 956 aria-label="Design flow: ECAD design files feed into Quilter, which defines design context, generates candidates with the Quilter Engine, and returns them for review, edit and design review."> 957<defs>
958 <marker id="qf2a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"> 959 <path d="M0,0 L10,5 L0,10 z" fill="#000"/> 960 </marker> 961 <style> 962 .qf2-t{font-family:Inter,system-ui,sans-serif;fill:#000;letter-spacing:-.02em} 963 .qf2-h{font-size:24px;font-weight:500} 964 .qf2-l{font-size:20.5px;font-weight:400} 965 .qf2-band{font-size:27.4px;font-weight:400} 966 .qf2-w{stroke:#000;stroke-width:2;fill:none;marker-end:url(#qf2a)} 967 .qf2-d{stroke-dasharray:9 8} 968 </style> 969</defs> 970 971<!-- One continuous grey surface behind the whole diagram. Previously the two 972 bands were separate rects with a gap between them, so on the black page 973 that gap showed through: the ECAD and Quilter zones read as detached and 974 the arrows crossing the gap looked cut. The grey now runs edge to edge, 975 with the blue Quilter zone sitting flush on top of it. --> 976<rect fill="#f5f5f5" x="0" y="0" width="2000" height="1018" rx="21"/> 977<rect fill="#e6f2ff" x="0" y="428" width="2000" height="590" rx="21"/> 978<text class="qf2-t qf2-band" x="52" y="78">ECAD</text> 979<text class="qf2-t qf2-band" x="52" y="965" fill="#0021e7">Quilter</text> 980 981<path class="qf2-w" d="M426,348 V588 Q426,608 446,608 H512"/> 982<path class="qf2-w qf2-d" d="M1327,207 H775 Q755,207 755,227 V478"/> 983<path class="qf2-w qf2-d" d="M984,604 H1283"/> 984<path class="qf2-w" d="M752,718 V842 Q752,862 772,862 H918"/> 985<path class="qf2-w" d="M1252,862 H1442 Q1462,862 1462,842 V730"/> 986<path class="qf2-w" d="M1462,490 V317"/> 987<path class="qf2-w" d="M1590,207 H1643"/> 988 989<rect fill="#fff" x="197" y="98" width="458" height="250" rx="21"/> 990<text class="qf2-t qf2-h" x="426" y="158" text-anchor="middle">Prepare Your Design Files</text> 991<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc00d599640ee50079a_qf2-schematic.svg" x="266" y="200" width="46" height="46"/> 992<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbe556592892616661f_qf2-board-outline.svg" x="402" y="200" width="46" height="46"/> 993<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf55659289261666ee_qf2-fixed-components.svg" x="539" y="200" width="46" height="46"/> 994<text class="qf2-t qf2-l" x="289" y="283" text-anchor="middle">Schematic</text> 995<text class="qf2-t qf2-l" x="425" y="283" text-anchor="middle">Board Outline</text> 996<text class="qf2-t qf2-l" x="562" y="283" text-anchor="middle">Fixed</text> 997<text class="qf2-t qf2-l" x="562" y="306" text-anchor="middle">Components</text> 998 999<rect fill="#fff" x="1327" y="112" width="263" height="193" rx="21"/> 1000<text class="qf2-t qf2-h" x="1458" y="170" text-anchor="middle">Edit & Clean Up</text> 1001<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf070a816433c0ae48_qf2-edit-cleanup.svg" x="1435" y="208" width="46" height="46"/> 1002 1003<rect fill="#fff" x="1653" y="112" width="263" height="193" rx="21"/> 1004<text class="qf2-t qf2-h" x="1784" y="170" text-anchor="middle">Design Review</text> 1005<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf6685a7aeb267f100_qf2-design-review.svg" x="1761" y="208" width="46" height="46"/> 1006 1007<rect fill="#fff" x="997" y="182" width="188" height="50" rx="10"/> 1008<text class="qf2-t qf2-l" x="1091" y="213" text-anchor="middle">Iteration Loop</text> 1009 1010<rect fill="#fff" x="524" y="490" width="456" height="228" rx="21"/> 1011<text class="qf2-t qf2-h" x="752" y="548" text-anchor="middle">Define Design Context</text> 1012<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf03751affa3785a0e_qf2-stackup.svg" x="592" y="585" width="46" height="46"/> 1013<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf55659289261666a0_qf2-constraints.svg" x="728" y="585" width="46" height="46"/> 1014<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbe5565928926166669_qf2-circuit-intent.svg" x="866" y="585" width="46" height="46"/> 1015<text class="qf2-t qf2-l" x="615" y="670" text-anchor="middle">Stackup</text> 1016<text class="qf2-t qf2-l" x="751" y="670" text-anchor="middle">Constraints</text> 1017<text class="qf2-t qf2-l" x="889" y="670" text-anchor="middle">Circuit Intent</text> 1018 1019<rect fill="#fff" x="1293" y="490" width="340" height="228" rx="21"/> 1020<text class="qf2-t qf2-h" x="1463" y="548" text-anchor="middle">Review Candidates</text> 1021<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc0556592892616673e_qf2-placement.svg" x="1371" y="585" width="46" height="46"/> 1022<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc0556592892616675d_qf2-routing.svg" x="1507" y="585" width="46" height="46"/> 1023<text class="qf2-t qf2-l" x="1394" y="670" text-anchor="middle">Placement</text> 1024<text class="qf2-t qf2-l" x="1530" y="670" text-anchor="middle">Routing</text> 1025 1026<rect fill="#fff" x="930" y="763" width="322" height="199" rx="21"/> 1027<text class="qf2-t qf2-h" x="1091" y="821" text-anchor="middle">Quilter Engine</text> 1028<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf556592892616670d_qf2-quilter-engine.svg" x="1068" y="858" width="46" height="50"/> 1029</svg> 1030</div> 1031 1032<div class="qf2-copy"> 1033 <p>Quilter fits into your existing workflow. You prepare the design in your ECAD, upload it, and Quilter handles placement and routing. You review the output, make adjustments, and resubmit. Most boards go through 2 to 5 cycles before the engineer is satisfied with the result. There’s no magic: Quilter shows you every physics check it ran, and you stay in control at every step.</p> 1034 <p class="qf2-cta"><a href="/product">Explore How Quilter Works <span aria-hidden="true">→</span></a></p> 1035</div> 1036 1037</div></div></div></div></section><section id="how-quilter-works-new" class="section-default hide"><div class="padding-global padding-section-large"><div class="container-large"><div class="w-embed w-script"><!-- "How Quilter Works" â heading, supporting copy, ECAD â Quilter flow diagram. 1038 PASTE THIS WHOLE BLOCK INTO A WEBFLOW HTML EMBED. It is a fragment on 1039 purpose: no doctype, no html/head/body, no meta tags, no title, no font 1040 stylesheet reference. 1041 Those belong to the page, and adding them here nests a second document 1042 inside the page and breaks it. 1043 1044 Typography follows Figma node 3295:271 (card titles Inter Medium 500/14, 1045 icon + band labels Inter Regular 400/12 and 400/16, body Inter 400/18), 1046 scaled up by the SVG's 2000/1170 viewBox factor. 1047 Heading size is 50px desktop / 40px tablet-and-below per client, overriding 1048 Figma's 60px. 1049 Sits on the site's DARK section: heading is white, body copy uses 1050 --body-text. The diagram carries its own light surface so its dark text 1051 stays readable. 1052 1053 Eight stages, eight videos, one video per stage. This replaces a six-stage 1054 version in which Review Candidates and Edit & Clean Up each opened two 1055 videos behind tabs, because the iteration loop passes through them twice. 1056 That is now drawn rather than hidden: the placement pass (Review Placement 1057 â Tweak Placement) and the routing pass (Review Routing â Final Cleanup) 1058 are separate cards, so no card owns more than one video and the tab UI is 1059 gone. Composition is otherwise unchanged, and the viewBox is still 1060 0 0 2000 1018 â the six small cards were narrowed from 250 to 235 to make 1061 room rather than widening the canvas. 1062 1063 Two things that look like nits but are not: 1064 1. The iframe's allow list MUST contain `autoplay`, or the browser's 1065 permissions policy blocks it and the visitor has to press play a 1066 second time even though the URL carries autoplay=1. 1067 2. Closing sets the iframe to about:blank, NOT to '' â an empty src 1068 resolves against the base URL and makes the iframe reload this whole 1069 page inside itself (extra load + double-counted pageviews). --> 1070<style> 1071 .qf2{width:100%;display:flex;flex-direction:column;align-items:center;gap:48px; 1072 font-family:var(--inter,Inter),Inter,system-ui,sans-serif;color:#000} 1073 /* "How" is white; "Quilter Works" is brand blue via the span below. */ 1074 .qf2-title{margin:0;text-align:center;color:#fff; 1075 font-family:var(--apk-protocol,"Aeonik Pro"),"Aeonik Pro",Arial,sans-serif; 1076 font-weight:300;font-size:50px;line-height:1;letter-spacing:-.03em} 1077 /* 991px is Webflow's tablet breakpoint â 50px desktop, 40px tablet and below */ 1078 @media (max-width:991px){.qf2-title{font-size:40px}} 1079 /* inline, not block â heading reads on a single line */ 1080 .qf2-title span{color:#007bff} 1081 .qf2-figure{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0} 1082 .qf2-figure svg{display:block;width:100%;height:auto}
1083 @media (max-width:900px){.qf2-figure svg{min-width:860px}} 1084 .qf2-copy{max-width:860px;display:flex;flex-direction:column;align-items:center; 1085 gap:25px;text-align:center} 1086 .qf2-copy p{margin:0;font-size:18px;font-weight:400;line-height:1.5;letter-spacing:-.02em; 1087 color:var(--body-text,#ddd)} 1088 /* needs p.qf2-cta, not .qf2-cta â ".qf2-copy p" above would otherwise win on 1089 specificity and hold the link at the 18px body size */ 1090 .qf2-copy p.qf2-cta{font-size:16px;letter-spacing:normal;line-height:1} 1091 /* The CTA is a button, matching the site's outline button (.secondary_btn): 1092 1px #007bff, 10px radius, Space Grotesk 16/400, filling blue on hover. 1093 The arrow lives inside the <a> so the whole thing is one target. */ 1094 .qf2-cta a{display:inline-flex;align-items:center;gap:10px; 1095 padding:16px 24px;border:1px solid #007bff;border-radius:10px; 1096 font-family:var(--space-grotesk,"Space Grotesk"),"Space Grotesk",Arial,sans-serif; 1097 font-size:16px;font-weight:400;line-height:1;color:#007bff; 1098 background:transparent;text-decoration:none; 1099 transition:background-color .2s ease,color .2s ease} 1100 .qf2-cta a:hover{background:#007bff;color:#000} 1101 .qf2-cta a span{transition:transform .2s ease} 1102 .qf2-cta a:hover span{transform:translateX(3px)} 1103 1104 /* Reading order: heading â explanation â diagram â link. .qf2-copy becomes 1105 display:contents so its two paragraphs are direct flex children of .qf2 1106 and can be ordered around the figure; the max-width, centring and gap that 1107 .qf2-copy used to supply move onto the paragraphs themselves. */ 1108 .qf2-copy{display:contents} 1109 .qf2-copy>p{max-width:860px;text-align:center} 1110 .qf2-title{order:1} 1111 .qf2-copy>p{order:2} 1112 .qf2-figure{order:3} 1113 .qf2-copy>p.qf2-cta{order:4} 1114 1115 @media (max-width:700px){.qf2{gap:36px}} 1116 1117 /* Clickable stages. Resting affordance is a ghost play mark in each card's 1118 top-right corner; hover/focus rings the card in brand blue. */ 1119 .qf2-hot{cursor:pointer;outline:none} 1120 .qf2-hot .qf2-plate{fill:none;stroke:#007bff;stroke-width:4;opacity:0;transition:opacity .18s ease} 1121 .qf2-hot:hover .qf2-plate,.qf2-hot:focus-visible .qf2-plate{opacity:1} 1122 .qf2-hot .qf2-hit{fill:transparent} 1123 .qf2-play{opacity:.45;transition:opacity .18s ease} 1124 .qf2-play .ring{fill:#fff;stroke:#007bff;stroke-width:3} 1125 .qf2-play .tri{fill:#007bff} 1126 .qf2-hot:hover .qf2-play,.qf2-hot:focus-visible .qf2-play{opacity:1} 1127 @media (prefers-reduced-motion:reduce){.qf2-hot .qf2-plate,.qf2-play{transition:none}} 1128 1129 /* Player, on the site's own tokens: #191919 surface, #3b3b3b borders, 1130 Aeonik Pro title, Space Grotesk eyebrow. */ 1131 .qf2-modal{position:fixed;inset:0;z-index:9999;display:none;background:rgba(0,0,0,.92); 1132 padding:24px;align-items:center;justify-content:center; 1133 font-family:var(--inter,Inter),Inter,system-ui,sans-serif} 1134 .qf2-modal[open]{display:flex} 1135 .qf2-dialog{width:min(1000px,100%);max-height:100%;display:flex;flex-direction:column; 1136 background:#191919;border:1px solid #3b3b3b;border-radius:10px;overflow:auto} 1137 .qf2-dhead{display:flex;align-items:flex-start;gap:24px;padding:28px 28px 0} 1138 .qf2-eyebrow{margin:0 0 12px;font-size:12px;line-height:1;letter-spacing:.16em; 1139 text-transform:uppercase;color:#696969; 1140 font-family:var(--space-grotesk,"Space Grotesk"),"Space Grotesk",Arial,sans-serif} 1141 .qf2-dhead h3{margin:0;color:#fff;font-weight:300;font-size:26px;line-height:1.25; 1142 letter-spacing:-.02em; 1143 font-family:var(--apk-protocol,"Aeonik Pro"),"Aeonik Pro",Arial,sans-serif} 1144 .qf2-dhead .dur{margin:10px 0 0;font-size:16px;line-height:1.4;color:#696969} 1145 .qf2-x{margin-left:auto;flex:none;width:40px;height:40px;background:transparent; 1146 border:1px solid #3b3b3b;border-radius:5px;color:#fff;font-size:20px;line-height:1; 1147 cursor:pointer;transition:border-color .2s ease,color .2s ease} 1148 .qf2-x:hover,.qf2-x:focus-visible{border-color:#007bff;color:#007bff} 1149 .qf2-frame{position:relative;margin:24px 28px 28px;border-radius:10px;overflow:hidden; 1150 background:#000;aspect-ratio:16/9} 1151 .qf2-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0} 1152 @media (max-width:700px){ 1153 .qf2-dhead{padding:20px 20px 0} 1154 .qf2-frame{margin:18px 20px 20px}.qf2-dhead h3{font-size:22px} 1155 } 1156</style> 1157 1158<div class="qf2"> 1159 1160<h2 class="qf2-title">How <span>Quilter Works</span></h2> 1161 1162<div class="qf2-figure"> 1163<svg viewBox="0 0 2000 1018" xmlns="http://www.w3.org/2000/svg" 1164 aria-label="Design flow across eight stages. In your ECAD you prepare design files. In Quilter you define design context and the Quilter Engine generates candidates. You review placement, tweak it in your ECAD, then review routing, do a final cleanup and a design review. Each stage opens a short video."> 1165<defs>
1166 <marker id="qf2a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"> 1167 <path d="M0,0 L10,5 L0,10 z" fill="#000"/> 1168 </marker> 1169 <style> 1170 .qf2-t{font-family:Inter,system-ui,sans-serif;fill:#000;letter-spacing:-.02em} 1171 .qf2-h{font-size:24px;font-weight:500} 1172 .qf2-l{font-size:20.5px;font-weight:400} 1173 .qf2-band{font-size:27.4px;font-weight:400} 1174 .qf2-w{stroke:#000;stroke-width:2;fill:none;marker-end:url(#qf2a)} 1175 .qf2-d{stroke-dasharray:9 8} 1176 </style> 1177</defs> 1178 1179<!-- One continuous grey surface behind the whole diagram, with the blue Quilter 1180 zone flush on top of it, so no black page shows through between the bands. --> 1181<rect fill="#f5f5f5" x="0" y="0" width="2000" height="1018" rx="21"/> 1182<rect fill="#e6f2ff" x="0" y="428" width="2000" height="590" rx="21"/> 1183<text class="qf2-t qf2-band" x="52" y="78">ECAD</text> 1184<text class="qf2-t qf2-band" x="52" y="965" fill="#0021e7">Quilter</text> 1185 1186<path class="qf2-w" d="M426,348 V588 Q426,608 446,608 H512"/> 1187<path class="qf2-w qf2-d" d="M1060,208 H775 Q755,208 755,228 V478"/> 1188<path class="qf2-w" d="M752,718 V842 Q752,862 772,862 H918"/> 1189<path class="qf2-w" d="M1252,862 H1327 Q1347,862 1347,842 V700"/> 1190<path class="qf2-w" d="M1347,490 V420 Q1347,400 1327,400 H1197 Q1177,400 1177,380 V315"/> 1191<path class="qf2-w qf2-d" d="M1252,930 H1622 Q1642,930 1642,910 V700"/> 1192<path class="qf2-w" d="M1642,490 V420 Q1642,400 1622,400 H1492 Q1472,400 1472,380 V315"/> 1193<path class="qf2-w" d="M1590,208 H1650"/> 1194 1195<rect fill="#fff" x="197" y="98" width="458" height="250" rx="21"/> 1196<text class="qf2-t qf2-h" x="426" y="158" text-anchor="middle">Prepare Your Design Files</text> 1197<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc00d599640ee50079a_qf2-schematic.svg" x="266" y="200" width="46" height="46"/> 1198<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbe556592892616661f_qf2-board-outline.svg" x="402" y="200" width="46" height="46"/> 1199<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf55659289261666ee_qf2-fixed-components.svg" x="539" y="200" width="46" height="46"/> 1200<text class="qf2-t qf2-l" x="289" y="283" text-anchor="middle">Schematic</text> 1201<text class="qf2-t qf2-l" x="425" y="283" text-anchor="middle">Board Outline</text> 1202<text class="qf2-t qf2-l" x="562" y="283" text-anchor="middle">Fixed</text> 1203<text class="qf2-t qf2-l" x="562" y="306" text-anchor="middle">Components</text> 1204 1205<rect fill="#fff" x="1060" y="112" width="235" height="193" rx="21"/> 1206<text class="qf2-t qf2-h" x="1177" y="170" text-anchor="middle">Tweak Placement</text> 1207<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf070a816433c0ae48_qf2-edit-cleanup.svg" x="1154" y="208" width="46" height="46"/> 1208 1209<rect fill="#fff" x="1355" y="112" width="235" height="193" rx="21"/> 1210<text class="qf2-t qf2-h" x="1472" y="170" text-anchor="middle">Final Cleanup</text> 1211<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf070a816433c0ae48_qf2-edit-cleanup.svg" x="1449" y="208" width="46" height="46"/> 1212 1213<rect fill="#fff" x="1650" y="112" width="235" height="193" rx="21"/> 1214<text class="qf2-t qf2-h" x="1767" y="170" text-anchor="middle">Design Review</text> 1215<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf6685a7aeb267f100_qf2-design-review.svg" x="1744" y="208" width="46" height="46"/> 1216 1217<rect fill="#fff" x="820" y="183" width="188" height="50" rx="10"/> 1218<text class="qf2-t qf2-l" x="914" y="214" text-anchor="middle">Iteration Loop</text> 1219 1220<rect fill="#fff" x="524" y="490" width="456" height="228" rx="21"/> 1221<text class="qf2-t qf2-h" x="752" y="548" text-anchor="middle">Define Design Context</text> 1222<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf03751affa3785a0e_qf2-stackup.svg" x="592" y="585" width="46" height="46"/> 1223<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf55659289261666a0_qf2-constraints.svg" x="728" y="585" width="46" height="46"/> 1224<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbe5565928926166669_qf2-circuit-intent.svg" x="866" y="585" width="46" height="46"/> 1225<text class="qf2-t qf2-l" x="615" y="670" text-anchor="middle">Stackup</text> 1226<text class="qf2-t qf2-l" x="751" y="670" text-anchor="middle">Constraints</text> 1227<text class="qf2-t qf2-l" x="889" y="670" text-anchor="middle">Circuit Intent</text> 1228 1229<rect fill="#fff" x="1230" y="490" width="235" height="200" rx="21"/> 1230<text class="qf2-t qf2-h" x="1347" y="548" text-anchor="middle">Review Placement</text> 1231<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc0556592892616673e_qf2-placement.svg" x="1324" y="586" width="46" height="46"/> 1232 1233<rect fill="#fff" x="1525" y="490" width="235" height="200" rx="21"/> 1234<text class="qf2-t qf2-h" x="1642" y="548" text-anchor="middle">Review Routing</text> 1235<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccc0556592892616675d_qf2-routing.svg" x="1619" y="586" width="46" height="46"/> 1236 1237<rect fill="#fff" x="930" y="763" width="322" height="199" rx="21"/> 1238<text class="qf2-t qf2-h" x="1091" y="821" text-anchor="middle">Quilter Engine</text> 1239<image href="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a6dccbf556592892616670d_qf2-quilter-engine.svg" x="1068" y="858" width="46" height="50"/> 1240 1241<g id="qf2hots"></g> 1242</svg> 1243</div> 1244 1245<div class="qf2-copy"> 1246 <p>Quilter fits into your existing workflow. You prepare the design in your ECAD, upload it, and Quilter handles placement and routing. You review the output, make adjustments, and resubmit. Most boards go through 2 to 5 cycles before the engineer is satisfied with the result. There’s no magic: Quilter shows you every physics check it ran, and you stay in control at every step.</p> 1247 <p class="qf2-cta"><a href="/product">Explore How Quilter Works <span aria-hidden="true">→</span></a></p> 1248</div> 1249 1250</div> 1251 1252<div class="qf2-modal" id="qf2modal" role="dialog" aria-modal="true" aria-labelledby="qf2dt"> 1253 <div class="qf2-dialog"> 1254 <div class="qf2-dhead"> 1255 <div> 1256 <p class="qf2-eyebrow" id="qf2eb"></p> 1257 <h3 id="qf2dt"></h3> 1258 <p class="dur" id="qf2ds"></p> 1259 </div> 1260 <button class="qf2-x" id="qf2x" aria-label="Close video">×</button> 1261 </div> 1262 <div class="qf2-frame"><iframe id="qf2if" title="Quilter workflow video" src="about:blank" data-video-base="https://www.youtube.com/embed/" allowfullscreen 1263 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
1264 referrerpolicy="strict-origin-when-cross-origin"></iframe></div> 1265 </div> 1266</div> 1267
1268<script> 1269(function(){ 1270 var NS='http://www.w3.org/2000/svg'; 1271 1272 /* One stage, one video. Order is the order of the workflow, n is the number 1273 shown as "Workflow n of 8" in the player, and x/y/w/h must match the rects 1274 above â the hit areas and play marks are drawn from them. */ 1275 var STEPS=[ 1276 {n:1,x:197, y:98, w:458,h:250,name:'Prepare Your Design Files', 1277 t:'Prepare Your ECAD Files',d:'4:34',id:'Z3RnMB9JqmY'}, 1278 {n:2,x:524, y:490,w:456,h:228,name:'Define Design Context', 1279 t:'Files Upload, Stackup, Constraints, and Floorplan',d:'3:14',id:'vvPyMT4DIH4'}, 1280 {n:3,x:930, y:763,w:322,h:199,name:'Quilter Engine', 1281 t:'Circuit Comprehension',d:'8:47',id:'SsEhqmbRMME'}, 1282 {n:4,x:1230,y:490,w:235,h:200,name:'Review Placement', 1283 t:'Placement Candidates Selection',d:'1:10',id:'NwjWG0wHGc0'}, 1284 {n:5,x:1060,y:112,w:235,h:193,name:'Tweak Placement', 1285 t:'Review and Tweak Placement in Your ECAD',d:'3:06',id:'kG7e3vVSiv8'}, 1286 {n:6,x:1525,y:490,w:235,h:200,name:'Review Routing', 1287 t:'Routed Candidates Review and Selection',d:'2:43',id:'vvL24AqMpNg'}, 1288 {n:7,x:1355,y:112,w:235,h:193,name:'Final Cleanup', 1289 t:'Final Review and Cleanup in Your ECAD',d:'1:28',id:'Fy5xfjMwrSo'}, 1290 {n:8,x:1650,y:112,w:235,h:193,name:'Design Review', 1291 t:'Final Design Rules Check (DRC)',d:'',id:'Wbn2vH-IPEk'} 1292 ]; 1293 1294 function el(n,a){var e=document.createElementNS(NS,n);for(var k in a)e.setAttribute(k,a[k]);return e;} 1295 var host=document.getElementById('qf2hots'); 1296 if(!host)return; 1297
1298 STEPS.forEach(function(s){ 1299 var g=el('g',{'class':'qf2-hot',tabindex:'0',role:'button'}); 1300 g.setAttribute('aria-label','Watch '+s.name+(s.d?' - '+s.d:'')); 1301 g.appendChild(el('rect',{'class':'qf2-plate',x:s.x-6,y:s.y-6,width:s.w+12,height:s.h+12,rx:27})); 1302 var p=el('g',{'class':'qf2-play'}),cx=s.x+s.w-6,cy=s.y+6; 1303 p.appendChild(el('circle',{'class':'ring',cx:cx,cy:cy,r:26})); 1304 p.appendChild(el('path',{'class':'tri',d:'M'+(cx-8)+','+(cy-12)+' L'+(cx+14)+','+cy+' L'+(cx-8)+','+(cy+12)+' Z'})); 1305 g.appendChild(p); 1306 g.appendChild(el('rect',{'class':'qf2-hit',x:s.x,y:s.y,width:s.w,height:s.h,rx:21})); 1307 g.addEventListener('click',function(){show(s);}); 1308 g.addEventListener('keydown',function(e){ 1309 if(e.key==='Enter'||e.key===' '){e.preventDefault();show(s);}}); 1310 host.appendChild(g); 1311 }); 1312 1313 var modal=document.getElementById('qf2modal'),frame=document.getElementById('qf2if'), 1314 eb=document.getElementById('qf2eb'),dt=document.getElementById('qf2dt'), 1315 ds=document.getElementById('qf2ds'),xBtn=document.getElementById('qf2x'),last=null; 1316 // Keep player configuration in markup so URL-based consent matching does not block these controls. 1317 // Video navigation remains inert and explicitly marketing-gated in replaceFrame(). 1318 var videoBase=frame.getAttribute('data-video-base'),frameTemplate=frame.cloneNode(false); 1319 function replaceFrame(videoUrl){ 1320 // A fresh inert iframe lets Consent Pro gate insertion before any video request. 1321 // Read the live node because Consent Pro may replace it with its placeholder. 1322 var current=document.getElementById('qf2if'),next=frameTemplate.cloneNode(false); 1323 next.removeAttribute('src'); 1324 if(videoUrl){ 1325 next.setAttribute('fs-consent-src',videoUrl); 1326 next.setAttribute('fs-consent-categories','marketing'); 1327 }else{ 1328 next.setAttribute('src','about:blank'); 1329 } 1330 if(current&¤t.parentNode)current.parentNode.replaceChild(next,current); 1331 } 1332 1333 function show(s){ 1334 last=document.activeElement; 1335 replaceFrame(videoBase+s.id+'?rel=0&autoplay=1&playsinline=1'); 1336 eb.textContent='Workflow '+s.n+' of 8'; 1337 dt.textContent=s.t; 1338 ds.textContent=s.d||''; 1339 modal.setAttribute('open','');xBtn.focus(); 1340 document.documentElement.style.overflow='hidden'; 1341 if(window.lenis&&window.lenis.stop){try{window.lenis.stop();}catch(e){}} 1342 } 1343 function hide(){ 1344 modal.removeAttribute('open');replaceFrame(null); 1345 document.documentElement.style.overflow=''; 1346 if(window.lenis&&window.lenis.start){try{window.lenis.start();}catch(e){}} 1347 if(last&&last.focus)last.focus(); 1348 } 1349 xBtn.addEventListener('click',hide); 1350 modal.addEventListener('click',function(e){if(e.target===modal)hide();}); 1351 document.addEventListener('keydown',function(e){ 1352 if(e.key==='Escape'&&modal.hasAttribute('open'))hide();}); 1353})(); 1354</script>
1354 1355</div></div></div></section><section id="testimonials" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div class="tony-quote-wrapper"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a4506bb1343c40bd1836bd0_tony-fadell.webp" loading="eager" sizes="(max-width: 1200px) 100vw, 1200px" srcset="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a4506bb1343c40bd1836bd0_tony-fadell-p-500.webp 500w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a4506bb1343c40bd1836bd0_tony-fadell-p-800.webp 800w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a4506bb1343c40bd1836bd0_tony-fadell-p-1080.webp 1080w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a4506bb1343c40bd1836bd0_tony-fadell.webp 1200w" alt="Tony Fadell, Build Collective Principal and iPod creator" class="tony-fadell"/><div class="tony-quote-text-wrapper"><div><p class="text-36">Quilter gives top PCB designers the superpower to <span class="green-text">turn weeks into days.</span> Itâs a complete paradigm shift. When you iterate faster, you can out-innovate your competitors.</p></div><div class="tony-quote-description"><p class="text-22">Tony Fadell</p><p class="text-16">Build Collective Principal, âFather of the iPodâ, iPhone Co-Inventor, and Nest Founder</p></div></div><div class="tony-quote-left"><p class="text-20"><span class="text-green">â</span>Anyone who's done circuit design long enough will be skeptical at first and assume this is just a fancy auto-router, because nobody who tried auto-routing ever liked it. But the way you approach placement overcomes a lot of those barriers, and makes this a genuinely useful tool that saves time.<span class="text-green">â</span></p><div class="tony-fadell-subquote-title-wrapper"><p class="text-22">Principal Engineer, <span class="text-color-696969">Defense and Aerospace</span></p></div></div><div class="tony-quote-right"><p class="text-20"><span class="text-green">â</span>The biggest value is efficiency. Producing a quick derivative of a core design takes a lot of effort. Quilter can let us serve customers much faster and reach far more of them than we could before.<span class="text-green">â</span></p><p class="text-22">Division Manager, <span class="text-color-696969">Semiconductors Industry</span></p></div></div></div></div></section><section id="not-an-auto-router" class="section-default hide"><div class="padding-global padding-section-large"><div class="container-large"><h2 class="solutions_heading section_heading is-centered">We Didn't Build Another Auto-Router</h2><p class="aur-lede">The idea behind auto-routers was right. The technology wasn't ready. Reinforcement learning trained on fundamental physics changes the equation. Quilter doesn't just connect nets. It compiles boards that respect your circuit's electrical behavior.</p><div class="aur-strip"><div class="aur-cell"><p class="aur-era">1960s</p><div class="aur-art"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -20 220 180" role="img" aria-label="A hand cutting taped artwork on mylar film with a scalpel"><rect x="8" y="8" width="204" height="124" rx="2" fill="none" stroke="currentColor" stroke-width="0.56" opacity=".3" stroke-dasharray="4 5"></rect><g opacity=".5" fill="none" stroke="currentColor" stroke-width="0.68"><circle cx="24" cy="24" r="5"></circle><path d="M24 17v14M17 24h14"></path><circle cx="24" cy="116" r="5"></circle><path d="M24 109v14M17 116h14"></path><circle cx="196" cy="116" r="5"></circle><path d="M196 109v14M189 116h14"></path></g><g fill="none" stroke="currentColor" stroke-width="3.95" opacity=".9"><path d="M32 34h34l12-12h26"></path><path d="M32 64h70"></path><path d="M116 64h36l12 12h32"></path><path d="M32 96h40l12 12h60"></path></g><g fill="none" stroke="currentColor" stroke-width="1.13"><circle cx="32" cy="34" r="5.5"></circle><circle cx="32" cy="64" r="5.5"></circle><circle cx="32" cy="96" r="5.5"></circle><circle cx="104" cy="22" r="5.5"></circle><circle cx="196" cy="76" r="5.5"></circle><circle cx="144" cy="108" r="5.5"></circle></g><g fill="currentColor"><circle cx="32" cy="34" r="1.9"></circle><circle cx="32" cy="64" r="1.9"></circle>
1355<circle cx="32" cy="96" r="1.9"></circle><circle cx="104" cy="22" r="1.9"></circle><circle cx="196" cy="76" r="1.9"></circle><circle cx="144" cy="108" r="1.9"></circle></g><path d="M104 68l-16 16" fill="none" stroke="currentColor" stroke-width="0.68" stroke-dasharray="2 4" opacity=".5"></path><g fill="none" stroke="currentColor" stroke-width="0.9" opacity=".8"><path d="M112 80l14-4 3 8-14 4z"></path><path d="M94 88l10-3 2 6-10 3z"></path><path d="M130 94l9 2-3 7-8-3z"></path></g><g fill="none" stroke="currentColor" stroke-width="1.13"><path d="M108 64l24-24 8 8z"></path><path d="M140.2 48.2L196.8 -8.4 188.4 -16.8 131.8 39.8z"></path><path d="M131.8 39.8l8.4 8.4"></path></g><g fill="none" stroke="currentColor" stroke-width="0.62" opacity=".7"><path d="M151.5 36.9l-8.4-8.4"></path><path d="M155.8 32.6l-8.4-8.4"></path><path d="M160.0 28.4l-8.4-8.4"></path><path d="M164.2 24.2l-8.4-8.4"></path><path d="M168.5 19.9l-8.4-8.4"></path><path d="M172.7 15.7l-8.4-8.4"></path></g></svg></div><p class="aur-name">Mylar and tape</p><p class="aur-sub">Cut by hand</p></div><div class="aur-cell"><p class="aur-era">1980s</p><div class="aur-art"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -20 220 180" role="img" aria-label="A hand drawing a board layout on a CAD terminal with a light pen"><rect x="10" y="8" width="140" height="94" rx="4" fill="none" stroke="currentColor" stroke-width="1.35"></rect><rect x="17" y="15" width="126" height="78" fill="none" stroke="currentColor" stroke-width="0.56" opacity=".45"></rect><path d="M66 102v12h28v-12M54 114h52" fill="none" stroke="currentColor" stroke-width="1.35" stroke-linecap="round"></path><g opacity=".18" stroke="currentColor" stroke-width="0.45"><path d="M17 27h126M17 39h126M17 51h126M17 63h126M17 75h126"></path><path d="M29 15v78M41 15v78M53 15v78M65 15v78M77 15v78M89 15v78M101 15v78M113 15v78M125 15v78"></path></g><g fill="none" stroke="currentColor" stroke-width="1.02"><rect x="28" y="28" width="24" height="14"></rect><rect x="86" y="60" width="24" height="14"></rect></g><g fill="currentColor" opacity=".85"><rect x="24" y="31" width="4" height="3"></rect><rect x="24" y="37" width="4" height="3"></rect><rect x="52" y="31" width="4" height="3"></rect><rect x="52" y="37" width="4" height="3"></rect><rect x="82" y="63" width="4" height="3"></rect><rect x="82" y="69" width="4" height="3"></rect><rect x="110" y="63" width="4" height="3"></rect><rect x="110" y="69" width="4" height="3"></rect></g><g opacity=".55" stroke="currentColor" stroke-width="0.56" stroke-dasharray="3 4" fill="none"><path d="M56 32.5L82 64.5"></path><path d="M56 38.5L82 70.5"></path></g><g fill="none" stroke="currentColor" stroke-width="1.24"><path d="M28 35H21v36h26"></path></g><path d="M84 50l10.6 5.6-1.2 2.3z" fill="none" stroke="currentColor" stroke-width="1.13"></path><path d="M93.0 58.6L121.4 73.4M96.2 52.6L124.6 67.4" fill="none" stroke="currentColor" stroke-width="1.13"></path><path d="M168.3 97.9L179.9 103.9M171.5 91.9L183.1 97.9M179.9 103.9L183.1 97.9" fill="none" stroke="currentColor" stroke-width="1.13"></path><path d="M181.5 100.9c7 6 8 14 4 21" fill="none" stroke="currentColor" stroke-width="0.79" opacity=".7"></path><path d="M126.75 64.82L144.79 69.17C156.41 72.2 164.31 80.39 164.17 88.44C164.78 98.92 162.59 108.95 158.42 116.92L140.58 123.85C135.94 113.29 132.9 103.58 131.45 94.7C130.38 87.03 130.9 80.19 132.57 77L125.43 71.24Z" fill="none" stroke="currentColor" stroke-width="1.13" stroke-linejoin="round" stroke-linecap="round"></path><path d="M132.95 78.22C127.3 79.32 123.2 83.28 123.13 87.3C123.05 91.32 126.24 92.99 129.89 91.85" fill="none" stroke="currentColor" stroke-width="1.13" stroke-linejoin="round" stroke-linecap="round"></path><path d="M131.45 94.7C137.9 94.01 143.52 94.91 147.51 97" fill="none" stroke="currentColor" stroke-width="0.87" stroke-linejoin="round" stroke-linecap="round" opacity=".75"></path><path d="M133.28 104.79C139.73 104.1 145.35 105.01 150.13 107.51" fill="none" stroke="currentColor" stroke-width="0.87" stroke-linejoin="round" stroke-linecap="round" opacity=".75"></path><path d="M158.42 116.92L169.91 149.33" fill="none" stroke="currentColor" stroke-width="1.13" stroke-linejoin="round" stroke-linecap="round"></path><path d="M140.58 123.85L152.07 156.26" fill="none" stroke="currentColor" stroke-width="1.13" stroke-linejoin="round" stroke-linecap="round"></path><path d="M161.41 125.39L143.57 132.31" fill="none" stroke="currentColor" stroke-width="0.9" stroke-linejoin="round" stroke-linecap="round" opacity=".85"></path><path d="M163.21 130.49L145.37 137.42" fill="none" stroke="currentColor" stroke-width="0.9" stroke-linejoin="round" stroke-linecap="round" opacity=".85"></path></svg></div><p class="aur-name">CAD layout</p><p class="aur-sub">Drafting digitized</p></div><div class="aur-cell"><p class="aur-era">2000s</p><div class="aur-art"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -20 220 180" role="img" aria-label="An auto-routed board: the same four parts tangled with crossings and nine vias"><rect x="10" y="10" width="200" height="120" rx="3" fill="none" stroke="currentColor" stroke-width="0.68" opacity=".5"></rect><g fill="none" stroke="currentColor" stroke-width="1.02"><rect x="28" y="34" width="36" height="22"></rect><rect x="146" y="26" width="32" height="18"></rect><rect x="36" y="90" width="32" height="18"></rect><rect x="140" y="86" width="40" height="26"></rect></g><g fill="currentColor" opacity=".8"><rect x="24" y="39" width="4" height="3"></rect><rect x="24" y="49" width="4" height="3"></rect><rect x="64" y="39" width="4" height="3"></rect><rect x="64" y="49" width="4" height="3"></rect><rect x="142" y="31" width="4" height="3"></rect><rect x="142" y="39" width="4" height="3"></rect><rect x="32" y="95" width="4" height="3"></rect><rect x="68" y="95" width="4" height="3"></rect><rect x="136" y="91" width="4" height="3"></rect><rect x="136" y="103" width="4" height="3"></rect></g><g fill="none" stroke="currentColor" stroke-width="1.24" opacity=".95"><path d="M64 41h20v40h30V51h40v-20h-8"></path><path d="M64 50h8v58h40V72h26v20h2"></path><path d="M68 96h20V66h34v52h30v-14h-12"></path><path d="M68 103h30V61H58V24h108v15h-20"></path></g><g fill="none" stroke="currentColor" stroke-width="0.85"><circle cx="84" cy="81" r="3.4"></circle><circle cx="114" cy="51" r="3.4"></circle><circle cx="72" cy="108" r="3.4"></circle><circle cx="112" cy="72" r="3.4"></circle><circle cx="88" cy="66" r="3.4"></circle><circle cx="122" cy="118" r="3.4"></circle><circle cx="98" cy="61" r="3.4"></circle><circle cx="58" cy="24" r="3.4"></circle><circle cx="166" cy="24" r="3.4"></circle></g></svg></div><p class="aur-name">Auto-routers</p><p class="aur-sub">Geometry only</p></div><div class="aur-cell aur-cell-now"><p class="aur-era aur-era-now">NOW</p><div class="aur-art-now"><svg aria-label="A Quilter-compiled board: system on module, connectors, mounting holes and routed nets" role="img" viewBox="0 0 220 180" xmlns="http://www.w3.org/2000/svg"><path stroke-dasharray="none" stroke-width="1.16" stroke-opacity=".7" stroke="currentColor" fill="none" d="M129.75 2.51V18.98H195.75M18.42 2.76V26.84M121.37 10.13H18.42M121.37 16.03H18.42M121.37 20.94H18.42M50.93 2.76V26.84M87.87 2.76V26.84M121.37 2.76V26.84M201.17 70.59H191.01C190.37 70.59 189.84 71.11 189.84 71.75V73.35C189.84 74 190.37 74.52 191.01 74.52H201.17M198.21 104.5L193.53 104.93C193.11 104.96 192.79 105.31 192.79 105.73C192.79 106.15 193.11 106.5 193.53 106.53L198.21 106.96M198.21 111.38L193.53 111.81C193.11 111.85 192.79 112.19 192.79 112.61C192.79 113.03 193.11 113.38 193.53 113.42L198.21 113.84M198.21 133.01L193.53 133.43C193.11 133.47 192.79 133.82 192.79 134.24C192.79 134.66 193.11 135 193.53 135.04L198.21 135.47M198.21 139.89L193.53 140.32C193.11 140.35 192.79 140.7 192.79 141.12C192.79 141.54 193.11 141.89 193.53 141.92L198.21 142.35M201.17 85.82H191.01C190.37 85.82 189.84 86.35 189.84 86.99V88.59C189.84 89.23 190.37 89.76 191.01 89.76H201.17M189.35 56.58V60.27H193.29V56.58M193.5 46.75V43.06L189.56 43.06V46.75M180.97 46.75V43.06L177.03 43.06V46.75M174.32 50.93H170.63V54.86H174.32M195.75 151.42H187.62V166.16H195.75M114.48 163.48V173.53C114.48 174.5 113.69 175.28 112.72 175.28H108.84C107.87 175.28 107.09 174.5 107.09 173.53V163.48M195.93 46.79V2.49H15.69V173.43C15.69 175.69 17.52 177.52 19.78 177.52H191.84C194.1 177.52 195.93 175.69 195.93 173.43V165.02M195.93 56.66V66.53M195.93 93.95V101.85M195.93 116.54V130.36M195.93 145.06V152.51M195.93 33.85V33.11C195.93 30.85 194.1 29.03 191.84 29.03H19.64C17.46 29.03 15.69 30.79 15.69 32.97M45.51 46.99V163.48H140.42V46.99H45.51ZM79.01 111.87H103.15V135.96H79.01V111.87ZM78.52 142.37H102.38C103.34 142.37 104.13 143.15 104.13 144.12V159.48C104.13 159.8 103.87 160.06 103.55 160.06H78.52V142.37ZM73.1 76.98H95.76V97.13H73.1V76.98ZM72.6 49.94H96.25V73.54H72.6V49.94ZM105.39 78.94C104.43 78.94 103.64 78.16 103.64 77.19V52.68C103.64 51.71 104.43 50.93 105.39 50.93H128.98C129.95 50.93 130.73 51.71 130.73 52.68V77.19C130.73 78.16 129.95 78.94 128.98 78.94H105.39ZM165.21 66.16H202.16V94.18H165.21V90.25H165.7V82.38H165.21V77.96H165.7V70.1H165.21V66.16ZM189.35 152.4H197.72V165.18H189.35V164.2H188.86V162.23H189.35V155.35H188.86V153.38H189.35V152.4ZM195.45 34.38C195.45 37.09 193.25 39.3 190.53 39.3C187.81 39.3 185.6 37.09 185.6 34.38C185.6 31.67 187.81 29.46 190.53 29.46C193.25 29.46 195.45 31.67 195.45 34.38ZM140.09 83.37C140.09 86.08 137.88 88.28 135.16 88.28C132.44 88.28 130.24 86.08 130.24 83.37C130.24 80.65 132.44 78.45 135.16 78.45C137.88 78.45 140.09 80.65 140.09 83.37ZM64.72 83.37C64.72 86.08 62.52 88.28 59.8 88.28C57.08 88.28 54.87 86.08 54.87 83.37C54.87 80.65 57.08 78.45 59.8 78.45C62.52 78.45 64.72 80.65 64.72 83.37ZM64.72 157.65C64.72 160.36 62.52 162.56 59.8 162.56C
135557.08 162.56 54.87 160.36 54.87 157.65C54.87 154.93 57.08 152.73 59.8 152.73C62.52 152.73 64.72 154.93 64.72 157.65ZM42.07 34.38C42.07 37.09 39.86 39.3 37.14 39.3C34.42 39.3 32.21 37.09 32.21 34.38C32.21 31.67 34.42 29.47 37.14 29.47C39.86 29.47 42.07 31.67 42.07 34.38ZM42.07 172.13C42.07 174.84 39.86 177.04 37.14 177.04C34.42 177.04 32.21 174.84 32.21 172.13C32.21 169.41 34.42 167.21 37.14 167.21C39.86 167.21 42.07 169.41 42.07 172.13ZM195.46 172.13C195.46 174.84 193.25 177.04 190.53 177.04C187.81 177.04 185.6 174.84 185.6 172.13C185.6 169.41 187.81 167.21 190.53 167.21C193.25 167.21 195.46 169.41 195.46 172.13ZM185.59 101.55H199.69V116.79H185.59C184.95 116.79 184.42 116.27 184.42 115.62V114.82H183.19V111.87H184.42V106.47H183.19V103.52H184.42V102.72C184.42 102.08 184.95 101.55 185.59 101.55ZM185.59 130.06H199.69V145.3H185.59C184.95 145.3 184.42 144.78 184.42 144.13V143.33H183.19V140.38H184.42V134.98H183.19V132.03H184.42V131.23C184.42 130.58 184.95 130.06 185.59 130.06ZM174.08 46.5H199.2V56.82H174.08V46.5ZM199.2 47.49H203.63V55.84H199.2V47.49ZM56.1 55.6H63.74V58.91C63.74 60.2 62.69 61.25 61.4 61.25H58.44C57.15 61.25 56.1 60.2 56.1 58.91V55.6ZM115.95 140.87H127.77V152.67H117.43L115.95 151.2V140.87ZM156.84 147.26H168.66V157.58L167.18 159.06H156.84V147.26ZM29.26 70.59H37.14V85.82H29.26V70.59ZM17.44 131.04H41.57V166.43H17.44V131.04ZM17.44 94.18H41.57V129.57H17.44V94.18Z"></path></svg></div><p class="aur-name aur-name-now">Physics-driven AI</p><p class="aur-sub">Full board compilation</p></div></div><div class="aur-close"><p class="aur-lede">Routing has a clear objective: connect every net, follow every rule. Placement doesn't. The right placement is the one that can be routed, and you only know by trying.</p><p class="aur-lede aur-lede-gap">Quilter solves both as one problem, against the same physics.</p><a href="/product/technology" class="aur-link">Learn more on how Quilter is different from autorouters.</a></div></div></div></section><section id="security-and-ip" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div class="solutions_header"><h2 class="solutions_heading section_heading is-centered"><span class="green-text">Built for</span> Regulated Industries andâ¨Modern IP Protection Requirements</h2></div><div class="ip-protection-wrapper"><div class="ip-protection-list"><div class="ip-protection-list-item"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a7bdc300e19840461544_brain_icon.svg" loading="lazy" alt=""/><div class="ip-protection-list-item-content"><p class="text-22">No Training on Your Data</p><p class="text-16">Most AI tools are only as good as the data you feed them, which is why so many stall before they deliver value. Quilter learned layout by playing millions of synthetic boards against the laws of physics, the way AlphaGo learned Go. We donât train on your data, and you get value on the first board, not after a large data cleanup project.</p></div></div><div class="ip-protection-list-item is-middle"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a7bd20150389f50d316d_check_icon.svg" loading="lazy" alt=""/><div class="ip-protection-list-item-content"><p class="text-22">Compliant with Cybersecurity Best Practices</p><p class="text-16">Data is encrypted at rest and in transit using security best practices (TLS1.3, AES-256), independently audited and compliant with industry standards. <a href="https://www.quilter.ai/blog/what-soc-2-type-ii-means-for-your-design-data-on-quilter" class="text-link-inline no-underline">What SOC 2 Type II Means for Your Design Dataâ</a></p></div></div><div class="ip-protection-list-item is-bottom"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a7d4de58e0d4b5647df0_server2_icon2.svg" loading="lazy" alt=""/><div class="ip-protection-list-item-content"><p class="text-22">Self-Hosted Deployment Available</p><p class="text-16">We offer an option to deploy Quilter inside your own infrastructure. You control access, networking, and data residency while we manage the application.</p></div></div></div><div class="ip-protection-wrapper-right"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a74927693a34be661da5_ip-protection.webp" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a74927693a34be661da5_ip-protection-
1355p-500.webp 500w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a74927693a34be661da5_ip-protection-p-800.webp 800w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a74927693a34be661da5_ip-protection-p-1080.webp 1080w, https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/6a29a74927693a34be661da5_ip-protection.webp 1160w" alt="Diagram of Quilter IP protection and data isolation" class="ip-protection-image"/></div></div></div></div></section><section id="capabilities" class="section-default"><div class="padding-global padding-section-large"><div class="container-large"><div class="banner-cms w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a data-placement="home-section" data-banner="1" href="/project-speedrun" class="banner-link w-inline-block"><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f46_6a54f2e311e2a460748d7950_Full-page.webp" loading="lazy" alt="Project Speedrun: the first computer designed by AI" class="banner-full-image"/><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f3d_6a54f2e911e2a460748d8585_full-page-tablet.webp" loading="lazy" alt="Project Speedrun: the first computer designed by AI" class="banner-full-image-tablet"/><img src="https://cdn.prod.website-files.com/68bb346f5bba4f35114aabb4/6aa92b626cced44622207f43_6a54f2f6d4acfbc6c6fc8898_blog-mobile.webp" loading="lazy" alt="Project Speedrun: the first computer designed by AI" class="banner-full-image-mobile"/></a></div></div></div></div></div></section><section id="what-we-do-well" class="section-table"><div class="padding-global padding-section-medium"><div class="container-large"><div class="table-header"><h2 class="solutions_heading section_heading is-centered margin-16">What We Do <span class="green-text">Well</span></h2><p class="text-18 text-align-center">Quilter has a goldilocks zone today, and it's expanding with every product update. Many teams adopt Quilter by running it end to end on the boards it handles well, and on the routine sections of more complex ones while they pre-route the critical parts themselves. Start today to build fluency on a tool that is evolving fast.</p></div><div class="tablet-wrapper"><div class="w-embed"><style> 1356 .qtbl-wrap { 1357 --qtbl-bg: #000; 1358 --qtbl-border: #191919; 1359 --qtbl-header-bg: rgba(0, 123, 255, 0.05); 1360 --qtbl-header-text: #696969; 1361 --qtbl-label: #ffffff; 1362 --qtbl-value: #dddddd; 1363 --qtbl-muted: #3b3b3b; 1364 --qtbl-live: #34c78a; 1365 --qtbl-beta: #e8a43a; 1366 --qtbl-dev: #3b3b3b; 1367 background: var(--qtbl-bg); 1368 color: var(--qtbl-value); 1369 font-family: 'Inter', Arial, sans-serif; 1370 -webkit-font-smoothing: antialiased; 1371 width: 100%; 1372 max-width: 75rem; /* 1200px */ 1373 margin: 0 auto; 1374 } 1375 .qtbl-frame { 1376 border: 1px solid var(--qtbl-border); 1377 border-radius: 0.625rem; /* 10px */ 1378 overflow: hidden; 1379 } 1380 .qtbl-scroll { 1381 width: 100%; 1382 overflow-x: auto; 1383 overflow-y: hidden; 1384 -webkit-overflow-scrolling: touch; 1385 } 1386 .qtbl { 1387 width: 100%; 1388 min-width: 42rem; /* 672px â table scrolls horizontally below this */ 1389 border-collapse: collapse; 1390 table-layout: fixed; 1391 } 1392 .qtbl col.qtbl-c1 { width: 24%; } 1393 .qtbl col.qtbl-c2 { width: 58%; } 1394 .qtbl col.qtbl-c3 { width: 18%; } 1395 .qtbl thead th { 1396 background: var(--qtbl-header-bg); 1397 color: var(--qtbl-header-text); 1398 font-weight: 600; 1399 font-size: 1.125rem; /* 18px */ 1400 line-height: 1.6; 1401 text-align: left; 1402 padding: 1rem; /* 16px */ 1403 height: 3.8125rem; /* 61px */ 1404 box-sizing: border-box; 1405 border-bottom: 1px solid var(--qtbl-border); 1406 vertical-align: middle; 1407 } 1408 .qtbl thead th:not(:last-child), 1409 .qtbl tbody td:not(:last-child) { 1410 border-right: 1px solid var(--qtbl-border); 1411 } 1412 .qtbl tbody tr + tr td { 1413 border-top: 1px solid var(--qtbl-border); 1414 } 1415 .qtbl tbody td { 1416 padding: 1rem; /* 16px */ 1417 font-size: 1.125rem; /* 18px */ 1418 line-height: 1.6; 1419 height: 3.8125rem; /* 61px */ 1420 box-sizing: border-box; 1421 vertical-align: middle; 1422 } 1423 .qtbl tbody td.qtbl-label { 1424 color: var(--qtbl-label); 1425 font-weight: 600; 1426 } 1427 .qtbl tbody td.qtbl-value { color: var(--qtbl-value);
1427 overflow-wrap: anywhere; } 1428 .qtbl tbody td.qtbl-value--muted { color: var(--qtbl-muted); } 1429 .qtbl-subnote { 1430 display: block; 1431 margin-top: 0.25rem; /* 4px */ 1432 font-size: 0.9375rem; /* 15px */ 1433 color: var(--qtbl-muted); 1434 } 1435 /* Status column: text pills. */ 1436 .qtbl-pill { 1437 display: inline-flex; 1438 align-items: center; 1439 gap: 0.4375rem; /* 7px */ 1440 padding: 0.3125rem 0.6875rem; /* 5px 11px */ 1441 border-radius: 624.9375rem; /* fully rounded, matches brand rounding */ 1442 font-family: 'Space Grotesk', Arial, sans-serif; 1443 font-size: 0.8125rem; /* 13px */ 1444 font-weight: 600; 1445 line-height: 1.2; 1446 letter-spacing: 0.01em; 1447 white-space: nowrap; 1448 } 1449 .qtbl-pill--live { color: var(--qtbl-live); background: rgba(52, 199, 138, 0.1); } 1450 .qtbl-pill--beta { color: var(--qtbl-beta); background: rgba(232, 164, 58, 0.1); } 1451 .qtbl-pill--dev { color: #7a7a7a; background: rgba(255, 255, 255, 0.04); } 1452 .qtbl-dot { 1453 display: inline-block; 1454 width: 0.5625rem; /* 9px */ 1455 height: 0.5625rem; /* 9px */ 1456 border-radius: 50%; 1457 vertical-align: middle; 1458 flex: none; 1459 } 1460 .qtbl-dot--live { background: var(--qtbl-live); } 1461 .qtbl-dot--beta { background: var(--qtbl-beta); } 1462 .qtbl-dot--dev { background: var(--qtbl-dev); } 1463 /* Responsive: below 768px each row becomes a stacked card */ 1464 @media (max-width: 48rem) { 1465 .qtbl-scroll { overflow-x: hidden; } 1466 .qtbl { min-width: 0; } 1467 .qtbl colgroup, 1468 .qtbl thead { display: none; } 1469 .qtbl, 1470 .qtbl tbody, 1471 .qtbl tr, 1472 .qtbl td { display: block; width: auto; } 1473 .qtbl tbody tr { 1474 padding: 0.5rem 0 1rem; 1475 } 1476 .qtbl tbody tr + tr { 1477 border-top: 1px solid var(--qtbl-border); 1478 } 1479 .qtbl tbody td, 1480 .qtbl tbody tr + tr td { 1481 height: auto; 1482 border: 0 !important; 1483 padding: 0.375rem 1.25rem; 1484 } 1485 .qtbl tbody td.qtbl-label { 1486 font-size: 1.25rem; /* 20px */ 1487 padding-top: 1rem; 1488 } 1489 .qtbl tbody td.qtbl-value::before, 1490 .qtbl tbody td.qtbl-status::before { 1491 content: attr(data-label); 1492 display: block; 1493 color: var(--qtbl-header-text); 1494 font-size: 0.8125rem; /* 13px */ 1495 font-weight: 600; 1496 text-transform: uppercase; 1497 letter-spacing: 0.04em; 1498 margin-bottom: 0.375rem; 1499 } 1500 } 1501</style> 1502<div class="qtbl-wrap"> 1503 <div class="qtbl-frame"> 1504 <div class="qtbl-scroll"> 1505 <table class="qtbl"> 1506 <colgroup> 1507 <col class="qtbl-c1"> 1508 <col class="qtbl-c2"> 1509 <col class="qtbl-c3"> 1510 </colgroup> 1511 <thead> 1512 <tr> 1513 <th>Dimension</th> 1514 <th>Current Capabilities</th> 1515 <th>Status</th> 1516 </tr> 1517 </thead> 1518 <tbody> 1519 <tr> 1520 <td class="qtbl-label">Components</td> 1521 <td class="qtbl-value" data-label="Current Capabilities">100 to 1,000 per board</td> 1522 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--live"><span class="qtbl-dot qtbl-dot--live"></span>Live</span></td> 1523 </tr> 1524 <tr> 1525 <td class="qtbl-label">Pins to route</td> 1526 <td class="qtbl-value" data-label="Current Capabilities">No inherent limit, but the current best performance is around 2000-5000</td> 1527 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--live"><span class="qtbl-dot qtbl-dot--live"></span>Live</span></td> 1528 </tr> 1529 <tr> 1530 <td class="qtbl-label">Pin density</td> 1531 <td class="qtbl-value" data-label="Current Capabilities"> 1532 Under 20% 1533 <span class="qtbl-subnote">Pin density (%) = (Component Pin Area) / (Total Board Surface Area) × 100%</span> 1534 </td> 1535 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--live"><span class="qtbl-dot qtbl-dot--live"></span>Live</span></td> 1536 </tr> 1537 <tr> 1538 <td class="qtbl-label" rowspan="2">Via types</td> 1539 <td class="qtbl-value" data-label="Current Capabilities">Through-hole vias</td> 1540 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--live"><span class="qtbl-dot qtbl-dot--live"></span>Live</span></td> 1541 </tr> 1542 <tr> 1543 <td class="qtbl-value qtbl-value--muted" data-label="Current Capabilities">Blind & buried vias</td> 1544 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--dev"><span class="qtbl-dot qtbl-dot--dev"></span>In development</span></td> 1545 </tr> 1546 <tr> 1547 <td class="qtbl-label">BGA fanouts</td> 1548 <td class="qtbl-value" data-label="Current Capabilities">Automated fanout generation</td> 1549 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--beta"><span class="qtbl-dot qtbl-dot--beta"></span>Beta</span></td> 1550 </tr> 1551 <tr> 1552 <td class="qtbl-label">Length matching</td> 1553 <td class="qtbl-value qtbl-value--muted" data-label="Current Capabilities">Coming soon</td> 1554 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--dev"><span class="qtbl-dot qtbl-dot--dev"></span>In development</span></td> 1555 </tr> 1556 <tr> 1557 <td class="qtbl-label">RF</td> 1558 <td class="qtbl-value qtbl-value--muted" data-label="Current Capabilities">Pre-route RF nets, Quilter can handle the rest</td> 1559 <td class="qtbl-status" data-label="Status"><span class="qtbl-pill qtbl-pill--dev"><span class="qtbl-dot qtbl-dot--dev"></span>In development</span></td> 1560 </tr> 1561 </tbody> 1562 </table> 1563 </div> 1564 </div> 1565</div></div></div><div class="btn-wrapper no-margin"><a href="/changelog" class="secondary_btn w-inline-block"><div class="text-block">Check Product Updates</div><div class="secondary_btn-arrow w-embed"><svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg"> 1566<circle cx="14" cy="14" r="13.4" stroke="currentColor" stroke-width="1.2"/> 1567<path d="M17.3941 17.3943L17.3941 10.606L10.6059 10.606" stroke="currentColor" stroke-width="1.2"/> 1568<path d="M10.6055 17.3955L17.3937 10.6073" stroke="currentColor" stroke-width="1.2"/> 1569</svg></div></a></div><div class="w-embed"></div></div></div></section></main><section class="footer"><div class="padding-global padding-section-large padding_bottom-0"><div class="container-large max-w-85"><div class="footer_logo-container"><div class="footer-newsletter-wrapper"><div class="gap-10"><p class="text-40 font-kabyta text-weight-bold">Subscribe to our newsletter</p></div><div class="footer-newsletter w-embed w-script"><!-- Newsletter form (footer). Styling is shared and lives in the site-wide 1570 head custom code, scoped to [id^="qtr-hs-"]. css:"" is required below: 1571 without it HubSpot renders the form in an iframe that page CSS can't reach. --> 1572<div id="qtr-hs-newsletter-footer"></div> 1573
1574<script charset="utf-8" type="text/javascript" src="//js-na2.hsforms.net/forms/embed/v2.js"></script>
vendor: 1 bytes, line 1574
1574
1575<script> 1576(function () { 1577 var TARGET = 'qtr-hs-newsletter-footer'; 1578 1579 /* HubSpot's stock confirmation for this form is "Thanks for submitting the 1580 form." â generic, and odd wording for a newsletter signup. Swap in 1581 newsletter-specific copy once the message appears. 1582 Delete this block if/when the message is updated in HubSpot itself, so the 1583 copy has a single source of truth. */ 1584 function replaceSuccessCopy() { 1585 var t0 = Date.now(); 1586 var iv = setInterval(function () { 1587 var msg = document.querySelector('#' + TARGET + ' .submitted-message'); 1588 if (msg) { 1589 msg.innerHTML = 1590 '<h5>Youâre subscribed.</h5>' + 1591 '<p>Thanks â the next issue will land in your inbox.</p>'; 1592 clearInterval(iv); 1593 } else if (Date.now() - t0 > 15000) { 1594 clearInterval(iv); 1595 } 1596 }, 120); 1597 } 1598 1599 function init() { 1600 if (!window.hbspt || !window.hbspt.forms) return false; 1601 var el = document.getElementById(TARGET); 1602 if (!el || el.dataset.hsInit) return true; 1603 el.dataset.hsInit = '1'; 1604 hbspt.forms.create({ 1605 portalId: "45946372", 1606 formId: "df2f44c9-e1e7-4df9-b4ce-72530f6be9f4", 1607 region: "na2", 1608 target: "#" + TARGET, 1609 css: "", 1610 onFormReady: function ($form) { 1611 var f = $form instanceof HTMLElement ? $form : ($form && $form[0]); 1612 if (!f) return; 1613 var e = f.querySelector('input[name="email"]'); 1614 if (e && !e.placeholder) e.placeholder = 'Your email address'; 1615 var b = f.querySelector('input[type="submit"], .hs-button'); 1616 if (b) { if ('value' in b) b.value = 'Subscribe'; else b.textContent = 'Subscribe'; } 1617 }, 1618 onFormSubmitted: replaceSuccessCopy 1619 }); 1620 return true; 1621 } 1622 /* A consent-blocked HubSpot library may become available long after page load. 1623 Listen for actual script loads and Consent Pro v2 updates; do not load the 1624 library or grant any category here. init() retains its per-target guard. */ 1625 var initTimer = null, initDone = false; 1626 function stopInitTimer() { 1627 if (initTimer !== null) { clearInterval(initTimer); initTimer = null; } 1628 } 1629 function attemptInit() { 1630 if (initDone) return true; 1631 if (!init()) return false; 1632 initDone = true; 1633 stopInitTimer(); 1634 document.removeEventListener('load', onLibraryLoad, true); 1635 document.documentElement.removeEventListener('consentpro:consent-updated', retryInit); 1636 return true; 1637 } 1638 function retryInit() { 1639 if (attemptInit()) return; 1640 stopInitTimer(); 1641 var retryStarted = Date.now(); 1642 initTimer = setInterval(function () { 1643 if (attemptInit() || Date.now() - retryStarted > 10000) stopInitTimer(); 1644 }, 100); 1645 } 1646 function onLibraryLoad(event) { 1647 if (event.target && event.target.tagName === 'SCRIPT') retryInit(); 1648 } 1649 document.addEventListener('load', onLibraryLoad, true); 1650 document.documentElement.addEventListener('consentpro:consent-updated', retryInit); 1651 retryInit(); 1652})(); 1653</script>
1653</div></div></div><div class="footer_main-content"><a href="/?r=0" aria-current="page" class="footer_logo-link w-inline-block w--current"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/69f372a572b6e69c93adfcf4_Quilter%20Logo%20Blue.svg" loading="lazy" alt="" class="footer_logo-img"/></a><div class="w-layout-grid footer-grid"><div id="w-node-bad70ba2-28fc-db99-1a80-42f57ebc8b31-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Product</div><div class="footer_hr-lline-abel"></div></div><a href="/about" class="footer_text-link w-inline-block"><div class="footer_text">About</div></a><a href="/pricing" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Pricing</div></a><a href="/blog" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Blog</div></a><a href="/careers" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Careers</div></a><a href="/free-ai-pcb-design" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Free Version</div></a><a href="/ai-pcb-design-for-startups" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Startup Program</div></a></div><div id="w-node-_1168d037-db00-19bd-3e83-7a258e2a0e76-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Resources</div><div class="footer_hr-lline-abel"></div></div><a href="/support" class="footer_text-link w-inline-block"><div class="footer_text">Support Overview</div></a><a href="https://docs.quilter.ai/" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Documentation</div></a><a href="https://community.quilter.ai/" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Community</div></a><a href="https://help.quilter.ai/en/" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Help Center</div></a></div><div id="w-node-_4933466f-85b5-71f6-bcbf-15920346abce-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Company</div><div class="footer_hr-lline-abel"></div></div><a href="/terms" class="footer_text-link w-inline-block"><div class="footer_text">Terms of Service</div></a><a href="/privacy" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Privacy Policy</div></a><a fs-consent-element="open-preferences" href="#" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Cookie Preferences</div></a></div><div id="w-node-_4933466f-85b5-71f6-bcbf-15920346abe7-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Follow us</div><div class="footer_hr-lline-abel"></div></div><div><div class="footer_social-links"><a href="https://x.com/quilterai" target="_blank" class="soclal_link w-inline-block"><div class="social_link-icon w-embed"><div> 1654 <style> 1655 /* Scoped to this icon */ 1656 .wf-hover-icon { 1657 color: #ffffff; /* default color */ 1658 display: inline-block; 1659 cursor: pointer; 1660 transition: color .2s ease; 1661 } 1662 .wf-hover-icon rect, 1663 .wf-hover-icon path { 1664 transition: fill .2s ease, stroke .2s ease; 1665 } 1666 .wf-hover-icon:hover { 1667 color: #007BFF; /* hover color - brand blue */ 1668 } 1669 </style> 1670
1671 <svg class="wf-hover-icon" width="60" height="60" viewBox="0 0 60 60" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <rect x="0.6" y="0.6" width="58.8" height="58.8" rx="29.4" stroke="currentColor" stroke-width="1.2"/> <path d="M36.4256 20H39.8185L32.4062 28.4718L41.1262 40H34.2985L28.9508 33.0082L22.8318 40H19.4369L27.3651 30.9385L19 20H26.001L30.8349 26.3908L36.4256 20ZM35.2349 37.9692H37.1149L24.9795 21.9241H22.9621L35.2349 37.9692Z" fill="currentColor"/> </svg> 1672</div></div></a><a href="https://www.linkedin.com/company/quilterai" target="_blank" class="soclal_link w-inline-block"><div class="social_link-icon w-embed"><div> 1673 <style> 1674 /* Scoped to this icon */ 1675 .wf-hover-icon { 1676 color: #ffffff; /* default color */ 1677 display: inline-block; 1678 cursor: pointer; 1679 transition: color .2s ease; 1680 } 1681 .wf-hover-icon rect, 1682 .wf-hover-icon path { 1683 transition: fill .2s ease, stroke .2s ease; 1684 } 1685 .wf-hover-icon:hover { 1686 color: #007BFF; /* hover color - brand blue */ 1687 } 1688 </style> 1689
1690 <svg class="wf-hover-icon" width="60" height="60" viewBox="0 0 60 60" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <rect x="0.6" y="0.6" width="58.8" height="58.8" rx="29.4" stroke="currentColor" stroke-width="1.2"/> <path d="M39.8602 39.8602H35.7094V33.3633C35.7094 31.8156 35.682 29.8195 33.5492 29.8195C31.3891 29.8195 31.0609 31.5094 31.0609 33.2539V39.8602H26.9156V26.4945H30.8969V28.3211H30.9516C31.5039 27.2711 32.8602 26.1609 34.8781 26.1609C39.0836 26.1609 39.8602 28.9281 39.8602 32.5266V39.8602Z" fill="currentColor"/> <path d="M24.307 39.8602H20.1508V26.4945H24.307V39.8602Z" fill="currentColor"/> <path d="M22.2289 24.6734C20.8945 24.6734 19.8172 23.5961 19.8172 22.2672C19.8172 20.9383 20.8945 19.8609 22.2289 19.8609C23.5578 19.8609 24.6352 20.9383 24.6352 22.2672C24.6352 23.5906 23.5578 24.6734 22.2289 24.6734Z" fill="currentColor"/> </svg> 1691</div></div></a><a href="https://www.youtube.com/@QuilterAI" class="soclal_link w-inline-block"><div class="social_link-icon w-embed"><div> 1692 <style> 1693 /* Scoped to this icon */ 1694 .wf-hover-icon { 1695 color: #ffffff; /* default color */ 1696 display: inline-block; 1697 cursor: pointer; 1698 transition: color .2s ease; 1699 } 1700 .wf-hover-icon rect, 1701 .wf-hover-icon path { 1702 transition: fill .2s ease, stroke .2s ease; 1703 } 1704 .wf-hover-icon:hover { 1705 color: #007BFF; /* hover color - brand blue */ 1706 } 1707 </style> 1708
1709 <svg class="wf-hover-icon" width="60" height="60" viewBox="0 0 60 60" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <rect x="0.6" y="0.6" width="58.8" height="58.8" rx="29.4" stroke="currentColor" stroke-width="1.2"/> <path d="M43.7211 24.3155C43.7211 24.3155 43.4477 22.3549 42.6055 21.494C41.5391 20.361 40.3469 20.3555 39.8 20.2888C35.8844 20 30.0055 20 30.0055 20H29.9945C29.9945 20 24.1156 20 20.2 20.2888C19.6531 20.3555 18.4609 20.361 17.3945 21.494C16.5523 22.3549 16.2844 24.3155 16.2844 24.3155C16.2844 24.3155 16 26.6204 16 28.9197V31.0747C16 33.3741 16.2789 35.679 16.2789 35.679C16.2789 35.679 16.5523 37.6395 17.3891 38.5004C18.4555 39.6334 19.8555 39.5946 20.4789 39.7167C22.7211 39.9334 30 40 30 40C30 40 35.8844 39.9889 39.8 39.7056C40.3469 39.639 41.5391 39.6334 42.6055 38.5004C43.4477 37.6395 43.7211 35.679 43.7211 35.679C43.7211 35.679 44 33.3796 44 31.0747V28.9197C44 26.6204 43.7211 24.3155 43.7211 24.3155ZM27.107 33.6906V25.6984L34.6703 29.7084L27.107 33.6906Z" fill="currentColor"/> </svg> 1710</div></div></a></div></div></div><div id="w-node-c46f8f68-8ef8-4631-87fa-46dc02bbb7d8-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Legal</div><div class="footer_hr-lline-abel"></div></div><a href="/terms" class="footer_text-link w-inline-block"><div class="footer_text">Terms of Service</div></a><a href="/privacy" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Privacy Policy</div></a><a fs-consent-element="open-preferences" href="#" class="footer_text-link margin-top-12 w-inline-block"><div class="footer_text">Cookie Preferences</div></a></div><div id="w-node-_58d07bfa-1ab0-993f-c0a3-abc8352cdc4a-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Solutions</div><div class="footer_hr-lline-abel"></div></div><div class="dropdown-solutions grid-gap-40"><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="solution-footer-tag">By Design Type</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solution-list-footer w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/test-fixtures-harnesses" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Test Fixtures & Harnesses</p><p class="text-12">Shave 4â6 weeks off board bring-up</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/ic-evaluation-boards" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">IC Evaluation Boards</p><p class="text-12">Cuts layout cycles from weeks to hours; enables rapid, fabrication-ready design iteration</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/design-validation-boards" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Design Validation Boards</p><p class="text-12">Shrinks validation cycles from months to days</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/backplane-interconnect-boards" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Backplane & Interconnect Boards</p><p class="text-12">From 30+ days to under 24 hours</p></a></div></div></div></div><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="solution-footer-tag">By Industry</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solution-list-footer w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/semiconductors" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Semiconductors</p><p class="text-12">Bring-up ready in a single workday (first candidates often appear within the first hour).</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/robotics" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Robotics</p><p class="text-12">Compress board bring-up from 4 weeks to under 1 day</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/consumer-electronics" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Consumer Electronics</p><p class="text-12">Boards ready in a single workday (first candidates often appear within the first hour)</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/aerospace-defense" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Aerospace & defense</p><p class="text-12">Faster board bring-up for validation and TRR</p></a></div></div></div></div><div class="dropdown-solutions-column"><div class="tag-wrapper"><p class="solution-footer-tag">By Role</p></div><div class="w-dyn-list"><div role="list" class="dropdown-solution-list-footer w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/solutions/r-d-managers" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">R&DÂ managers</p><p class="text-12">Accelerate board bring-up</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/pcb-designers" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">PCB Designers</p><p class="text-12">Full fab-ready designs in under 4 hours</p></a></div><div role="listitem" class="w-dyn-item"><a href="/solutions/electrical-engineers" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Electrical engineers</p><p class="text-12">Schematic to fab-ready in under 4 hours</p></a></div></div></div></div></div></div><div id="w-node-a8b710b0-9e93-fcf9-91f9-37d309f59643-0346abaf" class="grid_crad-col-right"><div class="footer-column-title-wrapper"><div class="footer_col-label">Hardware-Rich Development</div><div class="footer_hr-lline-abel"></div></div><div><div class="w-dyn-list"><div role="list" class="hrd-list w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/blog/engineering-intuition" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">How Engineering Intuition Is Built Through Repair</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/collin-ruzvidzo-and-the-making-of-engineering-intuition" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Collin Ruzvidzo and the Making of Engineering Intuition</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/new-routing-breaking-old-tools" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Why New Routing Problems Keep Breaking Old Tools</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/signal-integrity-engineers" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Why the Best Signal Integrity Engineers Stop Thinking in Silos</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/kalyan-vaddagiri-on-mathematics-multi-physics" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Kalyan Vaddagiri on Mathematics, Multi-Physics, and the Future of Engineering Judgment</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/hardware-team-alignment-why-good-engineers-still-miss-each-other" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Hardware Team Alignment: Why Good Engineers Still Miss Each Other</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/engineering-optimization-in-real-hardware-jacob-freking" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Engineering Optimization in Real Hardware: Jacob Freking on Speed, Margin, and the Systems Mindset</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/simulation-is-not-validation" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">
1710Simulation Is Not Validation: How Overconfidence in Models Slows Hardware Teams Down</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/pcb-applications-automated" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">PCB Applications and Constraint Literacy: Why Automated PCB Layout Has to Learn Physics First</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/constrained-optimization-pcb-design-eda-automation" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Constrained Optimization in PCB Design: Geometry, Reinforcement Learning, and the Future of EDA Automation</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/multi-objective-optimization-ai-pcb-layout" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Multi Objective Optimization and AI PCB Layout: Why There Is No Optimal Board</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/reward-functions-in-ai-pcb-design" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Reward Functions in AI PCB Design</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/technology-is-easy-people-are-hard-pooya-tadayon" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Technology Is Easy. People Are Hard. Pooya Tadayon.</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/richard-whitney-and-how-quilters-acting-head-of-product-thinks-about-complexity" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Richard Whitney and How Quilterâs acting Head of Product thinks about complexity</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/no-magic-just-structure-katie-scholl-on-logic-responsibility" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">No Magic, Just Structure: Katie Scholl on Logic, Responsibility, and Building Things That Matter</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/stephanie-ngo-and-the-invisible-architecture-of-momentum" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Stephanie Ngo and the Invisible Architecture of Momentum</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/stelios-stavroulakis-learning-what-not-to-do-and-building-what-comes-next" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Stelios Stavroulakis: Learning What Not to Do, and Building What Comes Next</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/learning-engineering-as-a-craft-osman-romero" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Learning as a Discipline, Engineering as a Craft | Quilterâs Osman Romero</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/james-krejcarek-on-the-joy-of-discovery" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Finding the Possible in the Impossible: James Krejcarek on Toolmaking, Trust, and the Joy of Discovery</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/stephen-newberry-and-the-discipline-of-signal-integrity" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Stephen Newberry and the Discipline of Signal Integrity</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/fpga-to-ai-ben-on-curiosity-integrity-and-building-better-boards" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">FPGA to AI: Ben on Curiosity, Integrity, and Building Better Boards</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/signals-to-smarter-systems-harshat-on-ai" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Signals to Smarter Systems â Harshat on Math, AI Learning & Hardware Evolution</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/aerospace-to-ai-boris-on-curiosity-and-craft" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Aerospace to AI: Boris on Curiosity and Craft</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/from-silicon-valley-to-startups-dan-gudino-on-curiosity-and-circuitry" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">From Silicon Valley to Startups: Dan Gudino on Curiosity and Circuitry</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/from-geometry-to-circuits-chi-han-peng" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">From Geometry to Circuits: Chi-Han Peng on Seeing the Patterns Beneath It All</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/nanometers-to-new-dimensions-fei" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Nanometers to New Dimensions: Fei on Rediscovering the Thrill of Zero to One</p></a></div><div role="listitem" class="w-dyn-item">
1710<a href="/blog/cad-automation-circuit-comprehension-jarvis-autey" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">CAD Automation to Circuit Comprehension: Jarvis Autey on Learning What Machines Canât Yet Know</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/from-rockets-to-rapid-iteration-sam-on-purposeful-engineering" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">From Rockets to Rapid Iteration: Sam on Purposeful Engineering</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/staying-under-dunbars-number-nick-faughey" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Staying Under Dunbarâs Number: Nick Faughey on Infrastructure, Agility, and the Joy of Building</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/fayaz-rahman-on-building-smarter-systems" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">From Research to Routing: Fayaz Rahman on Learning Fast and Building Smarter Systems</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/ml-ops-engineers-fariz-rahman" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">MLOps Engineers | Open Source Roots, Hardware Frontiers, and Fariz Rahman</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/beyond-parity-geometry-in-ai-and-superhuman-engineering" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Beyond Parity: Geometry in AI and Superhuman Engineering</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/lessons-on-power-integrity-from-scott-witcher" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Lessons on Power Integrity from Scott Witcher</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/curiosity-in-power-electronics-reflections-with-jovana-plavsic" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Curiosity in Power Electronics: Reflections with Jovana PlavÅ¡iÄ</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/from-gan-to-magnetics-how-jovana-plavsic-builds-hardware-with-curiosity-and-precision" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">From GaN to Magnetics: How Jovana PlavÅ¡iÄ Builds Hardware with Curiosity and Precision</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/scott-witcher-on-power-integrity-systems-thinking-and-humble-leadership" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Scott Witcher on Power Integrity, Systems Thinking, and Humble Leadership</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/technical-leadership-skills-and-meditations-what-it-means-to-truly-build-with-derrek-cooper" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Technical Leadership Skills and Meditations: What It Means to Truly Build with Derrek Cooper</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/lasers-electrons-and-the-courage-to-build-the-impossible" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">
1710Lasers, Electrons, and the Courage to Build the Impossible</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/aircraft-systems-engineering-beyond-the-review-human-chemistry-and-the-quiet-craft-of-good-engineering" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Aircraft Systems Engineering Beyond the Review: Human Chemistry, and the Quiet Craft of Good Engineering</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/what-is-a-technical-leader-derrek-coopers-answer" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">What is a Technical Leader? Derrek Cooper's Answer</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/bjorn-manuel-hegelich-on-dangerous-lasers-the-art-of-letting-go-and-building-the-next-collider-by-hand" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Björn Manuel Hegelich on Dangerous Lasers, the Art of Letting Go, and Building the Next Collider by Hand</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/carol-erikson-on-systems-thinking-technical-leadership-and-building-teams-that-actually-work" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Carol Erikson on Systems Thinking, Technical Leadership, and Building Teams That Actually Work</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/the-hidden-hero-of-hardware-test-engineering-and-paul-mcdonald" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">The Hidden Hero of Hardware: Test Engineering and Paul McDonald</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/design-for-reliability-design-for-manufacturability-building-smarter-test-systems" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Design for Reliability, Design for Manufacturability: Building Smarter Test Systems</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/design-with-your-hands-lead-with-your-eyes-nancy-smith-and-the-grounded-future-of-pcb-design" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Design with Your Hands, Lead with Your Eyes â Nancy Smith and the Grounded Future of PCB Design</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/on-t-shaped-engineers-and-hardware-development-transparency-and-the-generalist-path" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">On T-Shaped Engineers and Hardware Development: Transparency and the Generalist Path</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/the-joy-is-the-job-nancy-smith-on-crafting-beautiful-hardware-one-pcb-at-a-time" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">The Joy is the Job: Nancy Smith on Crafting Beautiful Hardware, One PCB at a Time</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/transparency-t-shaped-engineers-and-fpgas-interview-with-jami-friedman" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Transparency, T-Shaped Engineers, and FPGAs: Interview with Jami Friedman</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/lessons-in-shipping-test-engineering-and-technical-leadership" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Just Ship It: Lessons in Grit, Test, and Team from Paul Robinson's Hardware Odyssey</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/spinning-fast-and-thinking-sharp-paul-robinsoon-hardware-urgency-and-building-like-you-mean-it" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">What Hardware Teaches You About Leadership and Letting Go with Paul Robinson</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/bet-big-break-rules-a-fireside-with-sergiy-nesterenko" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Betâ¯Big,â¯Breakâ¯Rules â A Fireside with Sergiyâ¯Nesterenko</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/rethinking-hardware-agile-lessons-from-dr-lucas-fraile"
1710class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Rethinking Hardware: Agile Lessons from Dr. Lucas Fraile</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/engineering-is-an-art-hardware-interview-with-carolina-hubbard" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Engineering Is an Art: Hardware Interview with Carolina Hubbard</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/the-truth-about-engineering-were-all-just-trying-not-to-redesign-the-whole-thing-again" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">The Truth About Engineering: We're All Just Trying Not to Redesign the Whole Thing Again</p></a></div><div role="listitem" class="w-dyn-item"><a href="/blog/design-for-quality-dr-lucas-frailes-insights" class="dropdown-solution-footer w-inline-block"><p class="text-16 text-weight-medium currentcolor">Design for Quality: Dr. Lucas Fraile's Insights</p></a></div></div></div></div></div></div></div><div class="footer_logo"><img src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/68cdea2b87ed8697654e9abb_footer-big-logo.svg" loading="eager" alt="" class="footer-logo-img"/><div class="copyright-text is-centered">© <span class="copyright-date">2026</span> Quilter AI. All rights reserved.</div></div></div></div></section></div><div fs-consent-styledCategories="false" fs-consent-element="internal-component" class="fs-consent_component-2"><div class="consent_placeholder"><div fs-consent-version="2" fs-consent-element="placeholder" class="consent_placeholder_iframe"><div class="consent_placeholder_wrapper"><div fs-consent-translationkey="placeholder.message" class="consent_placeholder_text">Iframe is blocked. Accept cookies to load it.</div><div fs-consent-element="internal-buttons-wrapper" class="consent_placeholder_buttons"><button type="button" fs-consent-element="open-preferences" class="consent_placeholder_prefs"><div fs-consent-translationkey="common.preferences">Preferences</div></button><button type="button" fs-consent-element="allow" class="consent_placeholder_accept"><div fs-consent-translationkey="common.acceptAll">Accept All</div></button></div></div></div></div><div class="w-embed"><div class="fs-consent_component-2" data-quilter-consent-v2-source="true"><div class="fs-consent_banner-2" fs-consent-element="banner" fs-consent-instance="opt-in" fs-consent-version="2" id="quilter-v2-opt-in-banner"><div class="fs-consent_banner_wrapper"><h2 class="fs-consent_banner_heading">Your Privacy</h2><p class="fs-consent_banner_paragraph">Welcome to Quilter! Weâre glad youâre here and want you to know that we respect your privacy and your right to control how we collect and use your personal data. Please read our <a class="inline-link" href="/privacy">Privacy Policy</a> to learn about our privacy practices, or click <strong fs-consent-element="internal-banner-text">âYour preferencesâ</strong> to exercise control over your data.</p><div class="fs-consent_banner_buttons" fs-consent-element="internal-buttons-wrapper"><a class="fs-consent_allow-3 w-button" fs-consent-element="allow" href="#">I understand</a><a class="fs-consent_prefs_link-2" fs-consent-element="open-preferences" href="#">Your preferences</a><a class="fs-consent_decline-2 w-button" fs-consent-element="deny" href="#">Reject All</a></div></div></div><div class="fs-consent_prefs-2" fs-consent-element="preferences" fs-consent-instance="opt-in" fs-consent-version="2" id="quilter-v2-opt-in-preferences"><div class="fs-consent_prefs_wrapper-2"><div class="fs-consent_prefs_form-block w-form"><form class="fs-consent_prefs_form-2" data-name="Consent opt-in" fs-consent-element="form" id="quilter-v2-opt-in-email-form" method="get" name="consent-opt-in"><div class="fs-consent_prefs_popup"><div class="fs-consent_prefs_header"><div class="fs-consent_prefs_heading"><strong>Manage Consent Preferences by Category</strong></div></div><div class="fs-consent_prefs_list" fs-consent-element="internal-categories-wrapper"><div class="fs-consent_prefs_option" fs-consent-category="essential" fs-consent-element="category"><div class="fs-consent_checkbox_field"><div class="fs-consent_checkbox_label">Essentials</div><div><strong>Always active</strong></div></div><p class="fs-consent_prefs_description">Necessary for the site to function. Always On.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="marketing" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="marketing" fs-consent-element="checkbox-marketing" id="quilter-v2-opt-in-marketing" name="marketing" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-in-marketing">Marketing</span></label><p class="fs-consent_prefs_description">Used for targeted advertising.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="personalization" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="personalization" fs-consent-element="checkbox-personalization" id="quilter-v2-opt-in-personalization" name="personalization" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-in-personalization">Personalization</span></label><p class="fs-consent_prefs_description">Remembers your preferences and provides enhanced features.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="analytics" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="analytics" fs-consent-element="checkbox-analytics" id="quilter-v2-opt-in-analytics" name="analytics" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-in-analytics">Analytics</span></label><p class="fs-consent_prefs_description">Measures usage and improves your experience.<br/></p></div></div><div class="fs-consent_prefs_buttons"><a class="fs-consent_decline-2 w-button" fs-consent-element="deny" href="#">Reject All</a><a class="fs-consent_allow-2 w-button" fs-consent-element="allow" href="#">Accept All</a><input class="fs-consent_prefs_submit w-button" data-wait="Please wait..." type="submit" value="Save Preferences"/></div><button aria-label="Close preferences" class="fs-consent_prefs_close" fs-consent-element="close" type="button"><div class="fs-consent_prefs_close-icon w-embed"><svg fill="none" height="100%" viewbox="0 0 16 17" width="100%" xmlns="http://www.w3.org/2000/svg"><g><path d="M3.41424 2.25L2.00003 3.66421L6.58582 8.25L1.99988 12.8359L3.41409 14.2502L8.00003 9.66421L12.5854 14.2496L13.9996 12.8354L9.41424 8.25L13.9995 3.66476L12.5853 2.25055L8.00003 6.83579L3.41424 2.25Z" fill="currentColor" id="quilter-v2-opt-in-icon"></path></g></svg></div></button></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="fs-consent_prefs_overlay" fs-consent-element="close"></div></div></div><div class="fs-consent_banner-2" fs-consent-element="banner" fs-consent-instance="opt-out" fs-consent-version="2" id="quilter-v2-opt-out-banner"><div class="fs-consent_banner_wrapper"><h2 class="fs-consent_banner_heading">Your Privacy</h2><p class="fs-consent_banner_paragraph">Welcome to Quilter! Weâre glad youâre here and want you to know that we respect your privacy and your right to control how we collect and use your personal data. Please read our <a class="inline-link" href="/privacy">Privacy Policy</a> to learn about our privacy practices, or click <strong fs-consent-element="internal-banner-text">âYour preferencesâ</strong> to exercise control over your data.</p>
1710<div class="consent_gpc-honored" fs-consent-element="gpc-honored"><div class="consent_gpc-honored-icon w-embed"><svg class="size-6" fill="currentColor" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 1711<path clip-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z" fill-rule="evenodd"></path> 1712</svg></div><div class="consent_gpc-honored_text">The GPCÂ signal has been honored.</div></div><div class="fs-consent_banner_buttons" fs-consent-element="internal-buttons-wrapper"><a class="fs-consent_allow-3 w-button" fs-consent-element="allow" href="#">I understand</a><a class="fs-consent_prefs_link-2" fs-consent-element="open-preferences" href="#">Your preferences</a><a class="fs-consent_decline-2 w-button" fs-consent-element="deny" href="#">Reject All</a></div></div></div><div class="fs-consent_prefs-2" fs-consent-element="preferences" fs-consent-instance="opt-out" fs-consent-version="2" id="quilter-v2-opt-out-preferences"><div class="fs-consent_prefs_wrapper-2"><div class="fs-consent_prefs_form-block w-form"><form class="fs-consent_prefs_form-2" data-name="Consent opt-out" fs-consent-element="form" id="quilter-v2-opt-out-email-form" method="get" name="consent-opt-out"><div class="fs-consent_prefs_popup"><div class="fs-consent_prefs_header"><div class="fs-consent_prefs_heading"><strong>Manage Consent Preferences by Category</strong></div></div><div class="consent_gpc-honored" fs-consent-element="gpc-honored"><div class="consent_gpc-honored-icon w-embed"><svg class="size-6" fill="currentColor" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> 1713<path clip-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z" fill-rule="evenodd"></path> 1714</svg></div><div class="consent_gpc-honored_text">The GPCÂ signal has been honored.</div></div><div class="fs-consent_prefs_list" fs-consent-element="internal-categories-wrapper"><div class="fs-consent_prefs_option" fs-consent-category="essential" fs-consent-element="category"><div class="fs-consent_checkbox_field"><div class="fs-consent_checkbox_label">Essentials</div><div><strong>Always active</strong></div></div><p class="fs-consent_prefs_description">Necessary for the site to function. Always On.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="marketing" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="marketing" fs-consent-element="checkbox-marketing" id="quilter-v2-opt-out-marketing" name="marketing" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-out-marketing">Marketing</span></label><p class="fs-consent_prefs_description">Used for targeted advertising.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="personalization" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="personalization" fs-consent-element="checkbox-personalization" id="quilter-v2-opt-out-personalization" name="personalization" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-out-personalization">Personalization</span></label><p class="fs-consent_prefs_description">Remembers your preferences and provides enhanced features.<br/></p></div><div class="fs-consent_prefs_option" fs-consent-category="analytics" fs-consent-element="category"><label class="w-checkbox fs-consent_checkbox_field"><input class="w-checkbox-input fs-consent_checkbox" data-name="analytics" fs-consent-element="checkbox-analytics" id="quilter-v2-opt-out-analytics" name="analytics" type="checkbox"/><span class="fs-consent_checkbox_label w-form-label" for="quilter-v2-opt-out-analytics">Analytics</span></label><p class="fs-consent_prefs_description">Measures usage and improves your experience.<br/></p></div></div><div class="fs-consent_prefs_buttons"><a class="fs-consent_decline-2 w-button" fs-consent-element="deny" href="#">Reject All</a><a class="fs-consent_allow-2 w-button" fs-consent-element="allow" href="#">Accept All</a><input class="fs-consent_prefs_submit w-button" data-wait="Please wait..." type="submit" value="Save Preferences"/></div><button aria-label="Close preferences" class="fs-consent_prefs_close" fs-consent-element="close" type="button"><div class="fs-consent_prefs_close-icon w-embed"><svg fill="none" height="100%" viewbox="0 0 16 17" width="100%" xmlns="http://www.w3.org/2000/svg"><g><path d="M3.41424 2.25L2.00003 3.66421L6.58582 8.25L1.99988 12.8359L3.41409 14.2502L8.00003 9.66421L12.5854 14.2496L13.9996 12.8354L9.41424 8.25L13.9995 3.66476L12.5853 2.25055L8.00003 6.83579L3.41424 2.25Z" fill="currentColor" id="quilter-v2-opt-out-icon"></path></g></svg></div></button></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="fs-consent_prefs_overlay" fs-consent-element="close"></div></div></div></div> 1715</div></div>
1715<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=68b7918b99fa38e5185dc4e6" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1715<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6/js/quilter-staging.c26fdf24.6a5e4574bdcf4f0d.js" type="text/javascript" integrity="sha384-qkdq7vUV7lhn7LY+QlhHLiJJ954MM6eHRe5K0njqPlWYmZPTa9BsyxcLQMBAOSC9" crossorigin="anonymous"></script>
1715 1716<!-- Copyright year -->
1717<script> 1718 document.addEventListener('DOMContentLoaded', function () { 1719 var copyrightElement = document.querySelector('.copyright-date'); 1720 if (copyrightElement) { 1721 copyrightElement.textContent = new Date().getFullYear(); 1722 } 1723 }); 1724</script>
1724 1725 1726<!-- ============ Accordion / FAQ ============ 1727 One implementation for every FAQ on the site. Markup contract: 1728 .accordion_item (or .faq-item) 1729 .accordion-header_wrapper (or .faq-header-wrapper) <- click target 1730 .accordion-content_wrapper (or .faq-content-wrapper) <- animated 1731 .accordion_icon-line.ver (or .faq-icon) <- rotates 1732 1733 This replaces an earlier GSAP version that called gsap.set() even though 1734 GSAP is never loaded on this site - it threw on every page and did 1735 nothing, which is why /pricing needed its own page-level copy. That copy 1736 has been removed; this is now the single source of truth. 1737 1738 Height is animated via max-height rather than height:auto so it needs no 1739 library. The open item is re-measured on resize because a reflowed answer 1740 changes its scrollHeight. --> 1741<style> 1742 .accordion-header_wrapper{cursor:pointer} 1743 .accordion-content_wrapper{overflow:hidden;max-height:0;transition:max-height .4s ease} 1744 .accordion_icon-line.ver{transition:transform .4s ease;transform-origin:center} 1745 /* closed -> vertical stroke rotated so the icon reads as a plus */ 1746 .accordion_item:not(.is-open) .accordion_icon-line.ver{transform:rotate(90deg)} 1747</style>
1748<script> 1749 document.addEventListener('DOMContentLoaded', function () { 1750 var items = Array.prototype.slice.call(document.querySelectorAll('.accordion_item, .faq-item')); 1751 if (!items.length) return; 1752 1753 function contentOf(item) { 1754 return item.querySelector('.accordion-content_wrapper, .faq-content-wrapper'); 1755 } 1756 function openItem(item) { 1757 var c = contentOf(item); 1758 item.classList.add('is-open'); 1759 if (c) c.style.maxHeight = c.scrollHeight + 'px'; 1760 } 1761 function closeItem(item) { 1762 var c = contentOf(item); 1763 item.classList.remove('is-open'); 1764 if (c) c.style.maxHeight = '0px'; 1765 } 1766 1767 items.forEach(function (item, index) { 1768 var header = item.querySelector('.accordion-header_wrapper, .faq-header-wrapper'); 1769 if (!header) return; 1770 1771 // First item open, the rest closed. 1772 if (index === 0) openItem(item); else closeItem(item); 1773 1774 header.addEventListener('click', function () { 1775 var wasOpen = item.classList.contains('is-open'); 1776 items.forEach(closeItem); 1777 if (!wasOpen) openItem(item); 1778 }); 1779 }); 1780 1781 window.addEventListener('resize', function () { 1782 var open = document.querySelector('.accordion_item.is-open .accordion-content_wrapper, .faq-item.is-open .faq-content-wrapper'); 1783 if (open) open.style.maxHeight = open.scrollHeight + 'px'; 1784 }); 1785 }); 1786</script>
1786 1787 1788<!-- Lenis -->
1789<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/lenis.min.js" defer></script>
vendor: 1 bytes, line 1789
1789
1790<script> 1791 window.addEventListener('load', function(){ 1792 if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return; 1793 if (typeof Lenis !== 'function') return; 1794 1795 var lenis = new Lenis({ smoothWheel: true, smoothTouch: false }); 1796 1797 /* Exposed so overlays (e.g. the startup application modal) can pause page 1798 scrolling while they're open. Lenis scrolls the page programmatically, so 1799 an overflow:hidden lock alone does not stop it â it has to be told to stop. */ 1800 window.lenis = lenis; 1801 1802 lenis.on('scroll', function () { 1803 if (window.ScrollTrigger) { ScrollTrigger.update(); } 1804 }); 1805 1806 if (window.gsap && gsap.ticker){ 1807 gsap.ticker.add(function (t) { lenis.raf(t * 1000); }); 1808 gsap.ticker.lagSmoothing(0); 1809 } else { 1810 function raf(time){ lenis.raf(time); requestAnimationFrame(raf); } 1811 requestAnimationFrame(raf); 1812 } 1813 }); 1814</script>
1814 1815 1816<!-- Mobile mega menu logic + "All" links behavior -->
1817<script> 1818 document.addEventListener('DOMContentLoaded', function () { 1819 /* -------------------------------- 1820 MOBILE MEGA MENU TOGGLE 1821 ---------------------------------- */ 1822 var navBtn = document.querySelector('.navbar-btn'); 1823 var megaMenu = document.querySelector('.mega-menu-wrapper'); 1824 1825 if (navBtn && megaMenu) { 1826 var iconOpen = navBtn.querySelector('.navbar-btn-open'); 1827 var iconClose = navBtn.querySelector('.navbar-btn-close'); 1828 1829 // Initial icon state 1830 if (iconOpen) iconOpen.style.display = 'block'; 1831 if (iconClose) iconClose.style.display = 'none'; 1832 1833 function openMenu() { 1834 megaMenu.classList.add('is-open'); 1835 if (iconOpen) iconOpen.style.display = 'none'; 1836 if (iconClose) iconClose.style.display = 'block'; 1837 1838 document.body.classList.add('nav-open'); 1839 document.documentElement.classList.add('nav-open'); 1840 } 1841 1842 function closeMenu() { 1843 megaMenu.classList.remove('is-open'); 1844 if (iconOpen) iconOpen.style.display = 'block'; 1845 if (iconClose) iconClose.style.display = 'none'; 1846 1847 document.body.classList.remove('nav-open'); 1848 document.documentElement.classList.remove('nav-open'); 1849 } 1850 1851 navBtn.addEventListener('click', function (e) { 1852 e.preventDefault(); 1853 var isOpen = megaMenu.classList.contains('is-open'); 1854 if (isOpen) closeMenu(); 1855 else openMenu(); 1856 }); 1857 1858 // Close mega menu on ESC 1859 document.addEventListener('keydown', function (e) { 1860 if (e.key === 'Escape' && megaMenu.classList.contains('is-open')) { 1861 closeMenu(); 1862 } 1863 }); 1864 1865 // Reset to closed state when resizing up to desktop 1866 window.addEventListener('resize', function () { 1867 if (window.innerWidth >= 992) { 1868 closeMenu(); 1869 } 1870 }); 1871 } 1872 1873 /* -------------------------------- 1874 "ALL" LINKS: CLOSE RESPECTIVE 1875 DROPDOWN USING WEBFLOW'S LOGIC 1876 ---------------------------------- */ 1877 var dropdownMap = { 1878 'all-link-product': 'dropdown-content-product', 1879 'all-link-resources': 'dropdown-content-resources', 1880 'all-link-pricing': 'dropdown-content-pricing', 1881 'all-link-company': 'dropdown-content-company' 1882 }; 1883 1884 Object.keys(dropdownMap).forEach(function (linkId) { 1885 var dropdownId = dropdownMap[linkId]; 1886 var linkEl = document.getElementById(linkId); 1887 var dropdownEl = document.getElementById(dropdownId); 1888 1889 if (!linkEl || !dropdownEl) return; 1890 1891 linkEl.addEventListener('click', function (e) { 1892 e.preventDefault(); 1893 e.stopPropagation(); 1894 1895 var wrapper = dropdownEl.closest('.w-dropdown'); 1896 if (!wrapper) return; 1897 1898 var toggleEl = wrapper.querySelector('.w-dropdown-toggle'); 1899 if (toggleEl) toggleEl.click(); // Webflow handles closing 1900 }); 1901 }); 1902 }); 1903</script>
1903 1904 1905<!-- Surface popup wiring removed: the startup application form is now a HubSpot 1906 modal on /ai-pcb-design-for-startups, and Get Started buttons link to /demo. --> 1907 1908<!-- Desktop dropdown toggle animation styling (DESKTOP ONLY) --> 1909<style> 1910 @media (min-width: 992px) { 1911 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-toggle { 1912 transition: opacity 200ms ease, background-color 200ms ease, color 200ms ease; 1913 background-color: transparent; 1914 color: #fff; 1915 } 1916 1917 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-toggle .arrow-image { 1918 transition: transform 200ms ease; 1919 transform: rotate(0deg); 1920 transform-origin: center; 1921 } 1922 1923 .main_navbar-component.has-open-nav-dropdown 1924 .mega-menu-wrapper.is-desktop 1925 .w-dropdown-toggle { 1926 opacity: 0.4; 1927 } 1928 1929 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-toggle:hover { 1930 opacity: 1; 1931 background-color: #191919; 1932 color: #fff; 1933 } 1934 1935 .main_navbar-component.has-open-nav-dropdown 1936 .mega-menu-wrapper.is-desktop 1937 .w-dropdown-toggle.is-open { 1938 opacity: 1; 1939 background-color: #191919; 1940 color: #fff; 1941 } 1942 1943 .main_navbar-component .mega-menu-wrapper.is-desktop .w-dropdown-toggle.is-open .arrow-image { 1944 transform: rotate(180deg); 1945 } 1946 } 1947</style> 1948 1949<!-- Desktop-only JS that adds has-open-nav-dropdown + is-open (DISABLED on tablet/mobile) -->
1950<script> 1951(() => { 1952 // Disable this behavior on tablet/mobile 1953 if (!window.matchMedia('(min-width: 992px)').matches) return; 1954 1955 const navbarRoot = document.querySelector('.main_navbar-component'); 1956 const desktopMenu = navbarRoot?.querySelector('.mega-menu-wrapper.is-desktop'); 1957 if (!navbarRoot || !desktopMenu) return; 1958 1959 // Only mega-menu dropdown toggles (ignore language dropdown etc.) 1960 const toggles = Array.from(desktopMenu.querySelectorAll('.w-dropdown-toggle')) 1961 .filter(t => t.querySelector('.nav-link')); 1962 1963 if (!toggles.length) return; 1964 1965 let raf = 0; 1966 const schedule = () => { 1967 if (raf) return; 1968 raf = requestAnimationFrame(() => { 1969 raf = 0; 1970 update(); 1971 }); 1972 }; 1973 1974 const isOpen = (toggle) => toggle.getAttribute('aria-expanded') === 'true'; 1975 1976 const update = () => { 1977 const anyOpen = toggles.some(isOpen); 1978 navbarRoot.classList.toggle('has-open-nav-dropdown', anyOpen); 1979 toggles.forEach(t => t.classList.toggle('is-open', isOpen(t))); 1980 }; 1981 1982 // Observe open/close changes 1983 const obs = new MutationObserver(schedule); 1984 toggles.forEach(t => obs.observe(t, { 1985 attributes: true, 1986 attributeFilter: ['aria-expanded'] 1987 })); 1988 1989 // Fallbacks for outside click / ESC close 1990 document.addEventListener('click', schedule, true); 1991 document.addEventListener('keydown', (e) => { if (e.key === 'Escape') schedule(); }, true); 1992 1993 update(); 1994})(); 1995</script>
1995 1996<style id="quilter-consent-v2-overrides"> 1997/* Preserve current production fs-consent_* design. Add only v2 stacking, 1998 safe-area/viewport sizing, accessible close-button reset and reachable scroll. */ 1999[fs-consent-element="root"],[fs-consent-element="internal-component"],:host{z-index:2147483100!important} 2000[fs-consent-version="2"]{font-family:Inter,Arial,sans-serif;color:#fff;font-size:16px;line-height:25.6px} 2001[fs-consent-version="2"].fs-consent_banner-2{z-index:2147483101!important;max-height:calc(100dvh - 2rem);overflow:auto} 2002[fs-consent-version="2"].fs-consent_prefs-2{z-index:2147483102!important} 2003[fs-consent-version="2"] .fs-consent_prefs_form-block{max-width:30rem;width:100%} 2004[fs-consent-version="2"] .fs-consent_prefs_form-2{max-height:80dvh;overflow:auto;overscroll-behavior:contain} 2005[fs-consent-version="2"] .fs-consent_prefs_close{border:0;align-items:center;justify-content:center;line-height:0} 2006[fs-consent-version="2"] .fs-consent_prefs_close-icon{height:1rem} 2007[fs-consent-version="2"] :is(a,button,input,[tabindex]):focus-visible{outline:2px solid #fff;outline-offset:3px} 2008[fs-consent-version="2"] .consent_gpc-honored{font-family:Inter,Arial,sans-serif;font-size:.75rem;line-height:1.45;color:#fff9;padding:0;border:0;background:transparent} 2009[fs-consent-version="2"] .consent_gpc-honored-icon{color:#fff} 2010[fs-consent-version="2"][hidden],[fs-consent-version="2"] [hidden]{display:none!important} 2011@media(max-width:479px){[fs-consent-version="2"] .fs-consent_prefs_wrapper-2{padding:1rem}[fs-consent-version="2"] .fs-consent_prefs_form-2{max-height:calc(100dvh - 2rem)}} 2012 2013</style>
2014<script id="quilter-consent-v2-ui"> 2015/* Consent UI localization only. Does not write choices, cookies, categories, or GTM defaults. */ 2016(function(){ 2017'use strict'; 2018if(window.__quilterConsentV2UI)return;window.__quilterConsentV2UI=true; 2019var maps={"de":{"Your Privacy":"Ihre Privatsphäre","Welcome to Quilter! Weâre glad youâre here and want you to know that we respect your privacy and your right to control how we collect and use your personal data. Please read our":"Willkommen bei Quilter! Wir freuen uns, dass Sie hier sind. Wir respektieren Ihre Privatsphäre und Ihr Recht, darüber zu bestimmen, wie wir Ihre personenbezogenen Daten erheben und verwenden. Lesen Sie unsere","Privacy Policy":"Datenschutzrichtlinie","to learn about our privacy practices, or click":", um mehr über unseren Umgang mit Daten zu erfahren, oder klicken Sie auf","âYour preferencesâ":"âIhre Einstellungenâ","to exercise control over your data.":", um die Kontrolle über Ihre Daten auszuüben.","I understand":"Verstanden","Your preferences":"Ihre Einstellungen","Reject All":"Alle ablehnen","Manage Consent Preferences by Category":"Einwilligungseinstellungen nach Kategorie verwalten","Essentials":"Erforderlich","Necessary for the site to function. Always On.":"Für die Funktion der Website erforderlich. Immer aktiviert.","Marketing":"Marketing","Used for targeted advertising.":"Für gezielte Werbung verwendet.","Personalization":"Personalisierung","Remembers your preferences and provides enhanced features.":"Speichert Ihre Einstellungen und bietet erweiterte Funktionen.","Analytics":"Analyse","Measures usage and improves your experience.":"Misst die Nutzung und verbessert Ihr Nutzungserlebnis.","Accept All":"Alle akzeptieren","Thank you! Your submission has been received!":"Vielen Dank! Ihre Angaben wurden übermittelt!","Oops! Something went wrong while submitting the form.":"Beim Absenden des Formulars ist ein Fehler aufgetreten.","Preferences":"Einstellungen","Iframe is blocked. Accept cookies to load it.":"Der eingebettete Inhalt ist blockiert. Akzeptieren Sie Cookies, um ihn zu laden.","Always active":"Immer aktiv","Save Preferences":"Einstellungen speichern","Please wait...":"Bitte wartenâ¦","Close":"SchlieÃen","Accept":"Akzeptieren","Reject":"Ablehnen","Manage Consent Preferences":"Einwilligungseinstellungen verwalten","By clicking":"Wenn Sie auf","\"Accept\"":"âAkzeptierenâ",", you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our":" klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Weitere Informationen finden Sie in unserer","for more information.":".","The GPC signal has been honored.":"Das GPC-Signal wurde berücksichtigt.","Name":"Name","Description":"Beschreibung","Type":"Typ","Retention:":"Speicherdauer:","Provider name":"Anbietername","Tracker Name":"Tracker-Name","Tracker description":"Tracker-Beschreibung","Tracker retention":"Tracker-Speicherdauer","Tracker type":"Tracker-Typ","No providers detected for this category.":"Für diese Kategorie wurden keine Anbieter erkannt.","No trackers detected for this category.":"Für diese Kategorie wurden keine Tracker erkannt.","Powered by":"Bereitgestellt von","Save preferences":"Einstellungen speichern","Close preferences":"Einstellungen schlieÃen"},"ja":{"Your Privacy":"ãã©ã¤ãã·ã¼ã«ã¤ãã¦","Welcome to Quilter! Weâre glad youâre here and want you to know that we respect your privacy and your right to control how we collect and use your personal data. Please read our":"Quilterã¸ããããããè¶ãããã ããããã¨ããããã¾ããã客æ§ã®ãã©ã¤ãã·ã¼ã¨ãå人ãã¼ã¿ã®åéã»å©ç¨æ¹æ³ããèªèº«ã§ç®¡çããæ¨©å©ãå°éãã¾ããå½ç¤¾ã®åãçµã¿ã«ã¤ãã¦ã¯ã","Privacy Policy":"ãã©ã¤ãã·ã¼ããªã·ã¼","to learn about our privacy practices, or click":"ãã覧ãã ããããã¼ã¿ã®åãæ±ãã管çããã«ã¯ã","âYour preferencesâ":"ãè¨å®ã","to exercise control over your data.":"ãã¯ãªãã¯ãã¦ãã ããã","I understand":"äºè§£ãã¾ãã","Your preferences":"è¨å®","Reject All":"ãã
2019¹ã¦æå¦","Manage Consent Preferences by Category":"ã«ãã´ãªå¥ã®åæè¨å®ã管ç","Essentials":"å¿ é ","Necessary for the site to function. Always On.":"ãµã¤ãã®åä½ã«å¿ è¦ã§ããå¸¸ã«æå¹ã§ãã","Marketing":"ãã¼ã±ãã£ã³ã°","Used for targeted advertising.":"ã¿ã¼ã²ãã£ã³ã°åºåã«ä½¿ç¨ãã¾ãã","Personalization":"ãã¼ã½ãã©ã¤ãº","Remembers your preferences and provides enhanced features.":"è¨å®ãè¨æ¶ããæ¡å¼µæ©è½ãæä¾ãã¾ãã","Analytics":"åæ","Measures usage and improves your experience.":"å©ç¨ç¶æ³ã測å®ãã使ãããããæ¹åãã¾ãã","Accept All":"ãã¹ã¦è¨±å¯","Thank you! Your submission has been received!":"ãããã¨ããããã¾ããéä¿¡ãåãä»ãã¾ããã","Oops! Something went wrong while submitting the form.":"ãã©ã¼ã ã®éä¿¡ä¸ã«ã¨ã©ã¼ãçºçãã¾ããã","Preferences":"è¨å®","Iframe is blocked. Accept cookies to load it.":"åãè¾¼ã¿ã³ã³ãã³ãã¯ãããã¯ããã¦ãã¾ããCookieã許å¯ããã¨èªã¿è¾¼ã¾ãã¾ãã","Always active":"å¸¸ã«æå¹","Save Preferences":"è¨å®ãä¿å","Please wait...":"ãå¾ ã¡ãã ããâ¦","Close":"éãã","Accept":"許å¯","Reject":"æå¦","Manage Consent Preferences":"åæè¨å®ã管ç","By clicking":"","\"Accept\"":"ã許å¯ã",", you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our":"ãã¯ãªãã¯ããã¨ããµã¤ãã®æä½æ§ã®åä¸ãå©ç¨ç¶æ³ã®åæããã¼ã±ãã£ã³ã°æ´»åã®æ¯æ´ãç®çã¨ãã¦ãã使ãã®ç«¯æ«ã«Cookieãä¿åãããã¨ã«åæãããã®ã¨ã¿ãªããã¾ãã詳ããã¯ã","for more information.":"ãã覧ãã ããã","The GPC signal has been honored.":"GPCã·ã°ãã«ã«åºã¥ããªããã¢ã¦ãè¨å®ãé©ç¨ãã¾ããã","Name":"åå","Description":"説æ","Type":"種é¡","Retention:":"ä¿åæéï¼","Provider name":"æä¾å å","Tracker Name":"ãã©ãã«ã¼å","Tracker description":"ãã©ãã«ã¼ã®èª¬æ","Tracker retention":"ãã©ãã«ã¼ã®ä¿åæé","Tracker type":"ãã©ãã«ã¼ã®ç¨®é¡","No providers detected for this category.":"ãã®ã«ãã´ãªã®æä¾å ã¯æ¤åºããã¾ããã§ããã","No trackers detected for this category.":"ãã®ã«ãã´ãªã®ãã©ãã«ã¼ã¯æ¤åºããã¾ããã§ããã","Powered by":"æä¾ï¼","Save preferences":"è¨å®ãä¿å","Close preferences":"è¨å®ãéãã"}},seen=new Map(),originals=new WeakMap(); 2020var scope='[fs-consent-version="2"][fs-consent-instance],.consent_placeholder'; 2021var hosts='[fs-consent-element="root"],[fs-consent-element="internal-component"]'; 2022function lang(){return(document.documentElement.lang||'en').split('-')[0];} 2023function key(s){return s.replace(/\s+/g,' ').trim();} 2024function value(s){var map=maps[lang()],k=key(s);if(!map||!Object.prototype.hasOwnProperty.call(map,k))return s;if(lang()==='de'&&k==='for more information.')return '.';return s.replace(/^\s*[^]*?\s*$/,function(){return(s.match(/^\s*/)||[''])[0]+map[k]+(s.match(/\s*$/)||[''])[0];});} 2025function translate(el){ 2026 // Preserve the existing Privacy destination within the current page locale. 2027 el.querySelectorAll('a.inline-link[href]').forEach(function(a){var href=a.getAttribute('href');if(/^\/(?:de\/|ja\/)?privacy$/.test(href)){var locale=lang(),next=(locale==='de'||locale==='ja'?'/'+locale:'')+'/privacy';if(href!==next)a.setAttribute('href',next);}}); 2028 var w=document.createTreeWalker(el,NodeFilter.SHOW_TEXT),n; 2029 while((n=w.nextNode())){if(n.parentElement&&n.parentElement.closest('script,style,textarea,svg'))continue; 2030 var saved=originals.get(n),raw=saved&&n.nodeValue===saved.last?saved.source:n.nodeValue,out=value(raw); 2031 if(out!==n.nodeValue)n.nodeValue=out;originals.set(n,{source:raw,last:out}); 2032 } 2033 el.querySelectorAll('input[type="submit"],[aria-label],[title],[data-wait]').forEach(function(e){ 2034 ['aria-label','title','data-wait'].concat(e.matches('input[type="submit"]')?['value']:[]).forEach(function(a){if
2034(!e.hasAttribute(a))return;var raw=e.getAttribute(a),out=value(raw);if(out!==raw)e.setAttribute(a,out);}); 2035 }); 2036} 2037function apply(root){ 2038 if(root.host){var src=document.getElementById('quilter-consent-v2-overrides');if(src&&!root.getElementById('quilter-consent-v2-overrides-shadow')){var style=document.createElement('style');style.id='quilter-consent-v2-overrides-shadow';style.textContent=src.textContent;root.appendChild(style);}} 2039 root.querySelectorAll(scope).forEach(translate); 2040} 2041function watch(root){if(seen.has(root))return;var pending=false,observer=new MutationObserver(function(){if(pending)return;pending=true;queueMicrotask(function(){observer.disconnect();apply(root);observe();pending=false;scan();});});function observe(){observer.observe(root,{subtree:true,childList:true,characterData:true,attributes:true,attributeFilter:['value','aria-label','title','data-wait']});}seen.set(root,observer);apply(root);observe();} 2042function scan(){watch(document);document.querySelectorAll(hosts).forEach(function(host){host.style.setProperty('z-index','2147483100','important');if(getComputedStyle(host).position==='static')host.style.setProperty('position','relative');if(host.shadowRoot)watch(host.shadowRoot);});} 2043scan();document.addEventListener('DOMContentLoaded',scan,{once:true});window.addEventListener('load',scan,{once:true}); 2044new MutationObserver(function(){seen.forEach(function(observer,root){observer.disconnect();apply(root);observer.observe(root,{subtree:true,childList:true,characterData:true,attributes:true,attributeFilter:['value','aria-label','title','data-wait']});});}).observe(document.documentElement,{attributes:true,attributeFilter:['lang']}); 2045var ticks=0,timer=setInterval(function(){scan();if(++ticks>=120)clearInterval(timer);},500); 2046})(); 2047 2048</script>
vendor: 1 bytes, line 2048
2048
2049<script id="newsletter-search-locale-20260925-agent-c"> 2050/* Localize popup newsletter labels and glossary search; preserve form handlers and URLs. */ 2051(function(){ 2052'use strict'; 2053var lang=(document.documentElement.lang||'').split('-')[0];if(lang!=='de'&&lang!=='ja')return; 2054var maps={de:{'By clicking "Subscribe" you agree to our':'Wenn Sie auf âAbonnierenâ klicken, stimmen Sie unseren','TOS':'Nutzungsbedingungen','and':'und unserer','Privacy Policy':'Datenschutzerklärung','.':' zu.','Your email address':'Ihre E-Mail-Adresse','Email':'E-Mail','Email*':'E-Mail*','Subscribe':'Abonnieren','Youâre subscribed.':'Sie sind angemeldet.','Thanks â the next issue will land in your inbox.':'Vielen Dank â die nächste Ausgabe erhalten Sie in Ihrem Posteingang.','Please complete this required field.':'Bitte füllen Sie dieses Pflichtfeld aus.','Please enter a valid email address.':'Bitte geben Sie eine gültige E-Mail-Adresse ein.',"Yes, I'd like to receive marketing communications from Quilter about products, services, and events by email. I can unsubscribe at any time. See our":'Ja, ich möchte per E-Mail Marketingmitteilungen von Quilter über Produkte, Dienstleistungen und Veranstaltungen erhalten. Ich kann mich jederzeit abmelden. Weitere Informationen finden Sie in unserer',"I agree to allow Quilter to store and process my personal data.":'Ich stimme zu, dass Quilter meine personenbezogenen Daten speichern und verarbeiten darf.','Please wait...':'Bitte wartenâ¦'},ja:{'By clicking "Subscribe" you agree to our':'ãç»é²ããã¯ãªãã¯ããã¨ã','TOS':'å©ç¨è¦ç´','and':'ããã³','Privacy Policy':'ãã©ã¤ãã·ã¼ããªã·ã¼','.':'ã«åæãããã®ã¨ã¿ãªããã¾ãã','Your email address':'ã¡ã¼ã«ã¢ãã¬ã¹','Email':'ã¡ã¼ã«ã¢ãã¬ã¹','Email*':'ã¡ã¼ã«ã¢ãã¬ã¹*','Subscribe':'ç»é²','Youâre subscribed.':'ç»é²ãå®äºãã¾ããã','Thanks â the next issue will land in your inbox.':'ãããã¨ããããã¾ããæ¬¡å·ãã¡ã¼ã«ã§ãå±ããã¾ãã','Please complete this required field.':'ãã®
2054å¿ é é ç®ãå ¥åãã¦ãã ããã','Please enter a valid email address.':'æå¹ãªã¡ã¼ã«ã¢ãã¬ã¹ãå ¥åãã¦ãã ããã',"Yes, I'd like to receive marketing communications from Quilter about products, services, and events by email. I can unsubscribe at any time. See our":'Quilterã®è£½åããµã¼ãã¹ãã¤ãã³ãã«é¢ãããã¼ã±ãã£ã³ã°æ å ±ãã¡ã¼ã«ã§åãåããã¨ã«åæãã¾ãããã¤ã§ãé ä¿¡ã忢ã§ãã¾ãã詳ããã¯',"I agree to allow Quilter to store and process my personal data.":'Quilterãç§ã®å人ãã¼ã¿ãä¿åããå¦çãããã¨ã«åæãã¾ãã','Please wait...':'ãå¾ ã¡ãã ããâ¦'}},map=maps[lang],pending=false,observer; 2055function translate(v){var k=v.trim();return Object.prototype.hasOwnProperty.call(map,k)?v.replace(k,map[k]):v;} 2056function run(){observer.disconnect();document.querySelectorAll('#qtr-hs-newsletter-popup,#qtr-hs-newsletter-popup-consent').forEach(function(root){var w=document.createTreeWalker(root,NodeFilter.SHOW_TEXT),n;while((n=w.nextNode())){if(n.parentElement&&n.parentElement.closest('script,style,textarea'))continue;var t=n.nodeValue.trim()==='.'&&root.id==='qtr-hs-newsletter-popup'?n.nodeValue.replace('.',lang==='de'?'.':'ãã覧ãã ããã'):translate(n.nodeValue);if(t!==n.nodeValue)n.nodeValue=t;}root.querySelectorAll('input,[aria-label],[title]').forEach(function(e){['placeholder','aria-label','title','data-wait'].concat(e.type==='submit'?['value']:[]).forEach(function(a){if(e.hasAttribute(a)){var old=e.getAttribute(a),v=translate(old);if(old!==v)e.setAttribute(a,v);}});});}); 2057if(/^\/(de|ja)\/glossary(?:\/|$)/.test(location.pathname)){document.querySelectorAll('input[placeholder="Search here..."]').forEach(function(e){e.placeholder=lang==='de'?'Hier suchenâ¦':'ç¨èªãæ¤ç´¢â¦';});} 2058observer.observe(document.documentElement,{subtree:true,childList:true,characterData:true,attributes:true,attributeFilter:['placeholder','value','aria-label','title','data-wait']});} 2059observer=new MutationObserver(function(){if(pending)return;pending=true;queueMicrotask(function(){pending=false;run();});});run();document.addEventListener('DOMContentLoaded',run,{once:true}); 2060})(); 2061 2062</script>
2062 2063
2064<script id="glossary-template-fallback-20260925-agent-c"> 2065/* Fallback for glossary detail template labels, scoped to DE/JA detail pages. */ 2066(function(){'use strict';var lang=(document.documentElement.lang||'').split('-')[0];if(!/^(de|ja)$/.test(lang)||!/^\/(de|ja)\/glossary\/[^/]+\/?$/.test(location.pathname))return;var labels={"de": [{"selector": "a.text-rg-16.text-696969.hover-underline", "en": "Glossary", "text": "Glossar"}, {"selector": "h2.text-50", "en": "Relevant resources", "text": "Relevante Ressourcen"}, {"selector": "h2.text-50", "en": "Other glossary terms", "text": "Weitere Glossarbegriffe"}, {"selector": "div", "en": "Thank you! Your submission has been received!", "text": "Vielen Dank! Ihre Nachricht wurde übermittelt."}, {"selector": "div", "en": "Oops! Something went wrong while submitting the form.", "text": "Beim Senden des Formulars ist ein Fehler aufgetreten."}, {"selector": "div", "en": "There are no available glossary items matching the current filters.", "text": "Keine Glossareinträge entsprechen den aktuellen Filtern."}, {"selector": "a.filter_clear-all.helper", "en": "Reset", "text": "Zurücksetzen"}, {"selector": "p.text-22", "en": "Other Resources", "text": "Weitere Ressourcen"}, {"selector": "a.text-16.text-link", "en": "Hardware-Rich Development", "text": "Hardware-Rich Development"}, {"selector": "a.text-16.text-link", "en": "Workbench", "text": "Workbench"}, {"selector": "a.text-16.text-link", "en": "Blog", "text": "Blog"}, {"selector": "a.text-16.text-link", "en": "Resources", "text": "Ressourcen"}, {"selector": "div", "en": "No items found.", "text": "Keine Einträge gefunden."}], "ja": [{"selector": "a.text-rg-16.text-696969.hover-underline", "en": "Glossary", "text": "ç¨èªé"}, {"selector": "h2.text-50", "en": "Relevant resources", "text": "é¢é£è³æ"}, {"selector": "h2.text-50", "en": "Other glossary terms", "text": "ãã®ä»ã®ç¨èª"}, {"selector": "div", "en": "Thank you! Your submission has been received!", "text": "ãããã¨ããããã¾ããéä¿¡ãåãä»ãã¾ããã"}, {"selector": "div", "en": "Oops! Something went wrong while submitting the form.", "text": "ãã©ã¼ã ã®éä¿¡ä¸ã«ã¨ã©ã¼ãçºçãã¾ããã"}, {"selector": "div", "en": "There are no available glossary items matching the current filters.", "text": "ç¾å¨ã®çµãè¾¼ã¿æ¡ä»¶ã«ä¸è´ããç¨èªã¯ããã¾ããã"}, {"selector": "a.filter_clear-all.helper", "en": "Reset", "text": "ãªã»ãã"}, {"selector": "p.text-22", "en": "Other Resources", "text": "ãã®ä»ã®è³æ"}, {"selector": "a.text-16.text-link", "en": "Hardware-Rich Development", "text": "Hardware-Rich Development"}, {"selector": "a.text-16.text-link", "en": "Workbench", "text": "Workbench"}, {"selector": "a.text-16.text-link", "en": "Blog", "text": "ããã°"}, {"selector": "a.text-16.text-link", "en": "Resources", "text": "è³æ"}, {"selector": "div", "en": "No items found.", "text": "é ç®ãè¦ã¤ããã¾ããã"}]}[lang],pending=false,observer; 2067function run(){observer.disconnect();labels.forEach(function(rule){document.querySelectorAll(rule.selector).forEach(function(el){if(el.closest('.w-richtext,script,style')||el.textContent.trim()!==rule.en)return;var walker=document.createTreeWalker(el,NodeFilter.SHOW_TEXT),nodes=[],n;while((n=walker.nextNode()))if(n.nodeValue.trim())nodes.push(n);if(nodes.length===1)nodes[0].nodeValue=nodes[0].nodeValue.replace(rule.en,rule.text);});});observer.observe(document.documentElement,{subtree:true,childList:true,characterData:true});} 2068observer=new MutationObserver(function(){if(pending)return;pending=true;queueMicrotask(function(){pending=false;run();});});run();document.addEventListener('DOMContentLoaded',run,{once:true});})(); 2069 2070</script>
2070 2071 2072<!-- Swiper JS --> 2073
2073<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
2073 2074 2075 <!-- Vertical Slider --> 2076 <!-- Initialize Swiper --> 2077
2077<script> 2078 var swiper = new Swiper(".solutions_slider", { 2079 direction: "vertical", 2080 loop: true, 2081 loopedSlides: 3, 2082 navigation: { 2083 nextEl: ".solutions_slider-next", 2084 prevEl: ".solutions_slider-prev", 2085 }, 2086 pagination: { 2087 el: ".swiper-pagination", 2088 clickable: true, 2089 }, 2090 autoplay: { 2091 delay: 4000, 2092 disableOnInteraction: false, 2093 }, 2094 }); 2095 </script>
2095 2096 2097 2098 2099 2100 <!-- Back to top --> 2101
2101<script> 2102 document.addEventListener('DOMContentLoaded', () => { 2103 const backToTopBtn = document.querySelector('.back-to-top-btn'); 2104 2105 if (backToTopBtn) { 2106 backToTopBtn.addEventListener('click', () => { 2107 window.scrollTo({ 2108 top: 0, 2109 behavior: 'smooth' 2110 }); 2111 }); 2112 } 2113 }); 2114 </script>
2114 2115 2116 2117<style> 2118/* 1. TOP / BOTTOM GRADIENTS â only visible while the section itself 2119 is at least 15 % inside the viewport */ 2120.tab-fade-top, 2121.tab-fade-bottom{ 2122 opacity:0; 2123 pointer-events:none; /* prevents accidental hovering when hidden */ 2124 transition:opacity .35s ease; 2125} 2126.section-default.in-view .tab-fade-top, 2127.section-default.in-view .tab-fade-bottom{ 2128 opacity:1; 2129 pointer-events:auto; 2130} 2131 2132/* 2. TAB DESCRIPTIONS â collapsed by default, expand smoothly 2133 when the parent link gets .is-active */ 2134.tab-description{ 2135 overflow:hidden; 2136 max-height:0; 2137 opacity:0; 2138 transition:max-height .45s ease, opacity .35s ease; 2139} 2140.tab-menu-item.is-active .tab-description{ 2141 max-height:400px; /* just needs to be higher than the real text height */ 2142 opacity:1; 2143} 2144</style> 2145
2146<script> 2147document.addEventListener('DOMContentLoaded', () => { 2148 2149 /* --------------------------- 1. SECTION FADES --------------------------- */ 2150 const featureSection = document.querySelector('.section-default'); 2151 if (featureSection){ 2152 const sectionObserver = new IntersectionObserver(entries=>{ 2153 entries.forEach(entry=>{ 2154 featureSection.classList.toggle('in-view', entry.isIntersecting); 2155 }); 2156 },{threshold:0.15}); 2157 sectionObserver.observe(featureSection); 2158 } 2159 2160 /* --------------------------- 2. TAB HANDLING ---------------------------- */ 2161 const tabLinks = Array.from(document.querySelectorAll('.tab-menu-item')); 2162 const tabContent = Array.from(document.querySelectorAll('.tab-content-item')); 2163 2164 /* helper that gives / removes the âis-activeâ class */ 2165 const activateTab = linkToActivate => { 2166 tabLinks.forEach(link=>{ 2167 link.classList.toggle('is-active', link === linkToActivate); 2168 }); 2169 }; 2170 2171 /* click = manual activation */ 2172 tabLinks.forEach(link=>{ 2173 link.addEventListener('click', () => activateTab(link)); 2174 }); 2175 2176 /* mark first tab active on load (fallback) */ 2177 if (tabLinks.length) activateTab(tabLinks[0]); 2178 2179 /* --------------------------- 3. SCROLL SYNC ---------------------------- */ 2180 /* Whenever 50 % of a .tab-content-item is in the viewport, 2181 its partner link becomes active. */ 2182 const contentObserver = new IntersectionObserver(entries=>{ 2183 entries.forEach(entry=>{ 2184 if (entry.isIntersecting && entry.intersectionRatio >= 0.5){ 2185 const id = entry.target.id; // 1 ⦠5 2186 const link = document.querySelector(`.tab-menu-item[href="#${id}"]`); 2187 if (link) activateTab(link); 2188 } 2189 }); 2190 },{threshold:0.5}); 2191 2192 tabContent.forEach(item => contentObserver.observe(item)); 2193}); 2194</script>
2194 2195 2196 2197<!-- Vimeo Player API -->
2198<script src="https://player.vimeo.com/api/player.js" defer="" type="fs-consent" fs-consent-categories="personalization"></script>
2198 2199 2200<!-- ============ Auto-router lineage strip: plot-in ============ 2201 The four plates draw themselves left to right when the strip reaches the 2202 viewport, like a plotter working across the timeline. 2203 2204 The starting state is hidden, applied here in script rather than in CSS, 2205 so a page where this file never loads simply shows the finished artwork. 2206 2207 Paths carrying their own stroke-dasharray are ratsnest lines and are meant 2208 to stay dashed. Those fade in instead of drawing, since setting a dasharray 2209 for the draw would turn them solid permanently. -->
2210<script> 2211(function () { 2212 var strip = document.querySelector('.aur-strip'); 2213 if (!strip) return; 2214 if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return; 2215 2216 var cells = Array.prototype.slice.call(strip.querySelectorAll('.aur-cell')); 2217 if (!cells.length) return; 2218 2219 function alreadyDashed(el) { 2220 var n = el; 2221 while (n && n.nodeName !== 'svg') { 2222 if (n.getAttribute && n.getAttribute('stroke-dasharray')) return true; 2223 n = n.parentNode; 2224 } 2225 return false; 2226 } 2227 2228 var sets = cells.map(function (cell) { 2229 var svg = cell.querySelector('svg'); 2230 if (!svg) return null; 2231 var draw = [], fade = []; 2232 Array.prototype.forEach.call(svg.querySelectorAll('path'), function (p) { 2233 if (alreadyDashed(p)) { fade.push(p); return; } 2234 var len; 2235 try { len = p.getTotalLength(); } catch (e) { len = 0; } 2236 if (!len || !isFinite(len)) { fade.push(p); return; } 2237 p.style.strokeDasharray = len + ' ' + len; 2238 p.style.strokeDashoffset = len; 2239 draw.push(p); 2240 }); 2241 Array.prototype.forEach.call(svg.querySelectorAll('circle, rect'), function (d) { fade.push(d); }); 2242 fade.forEach(function (el) { 2243 el.setAttribute('data-o', el.getAttribute('opacity') || '1'); 2244 el.style.opacity = '0'; 2245 }); 2246 return { draw: draw, fade: fade }; 2247 }); 2248 2249 var played = false; 2250 function play() { 2251 if (played) return; 2252 played = true; 2253 teardown(); 2254 sets.forEach(function (set, ci) { 2255 if (!set) return; 2256 var base = ci * 300; 2257 set.draw.forEach(function (p, i) { 2258 p.style.transition = 'stroke-dashoffset 460ms cubic-bezier(.45,0,.25,1) ' + (base + i * 18) + 'ms'; 2259 p.style.strokeDashoffset = '0'; 2260 }); 2261 set.fade.forEach(function (el, i) { 2262 el.style.transition = 'opacity 300ms ease ' + (base + 200 + i * 5) + 'ms'; 2263 el.style.opacity = el.getAttribute('data-o'); 2264 }); 2265 }); 2266 } 2267 2268 function inView() { 2269 var r = strip.getBoundingClientRect(); 2270 return r.top < (window.innerHeight || 0) * 0.9 && r.bottom > 0; 2271 } 2272 2273 var io = null, ticking = false; 2274 function onScroll() { 2275 if (ticking) return; 2276 ticking = true; 2277 requestAnimationFrame(function () { ticking = false; if (inView()) play(); }); 2278 } 2279 function teardown() { 2280 if (io) { io.disconnect(); io = null; } 2281 window.removeEventListener('scroll', onScroll); 2282 window.removeEventListener('resize', onScroll); 2283 } 2284 2285 /* Three independent triggers. The artwork starts hidden, so the one outcome 2286 that must never happen is all of them failing and leaving it invisible. 2287 1. IntersectionObserver, the normal path. 2288 2. A throttled scroll listener, because IO silently never fires in some 2289 embedded webviews and automation contexts. That is not theoretical: 2290 it is how this fallback came to be written. 2291 3. A hard backstop timer, so the section is visible within eight seconds 2292 no matter what. */ 2293 if ('IntersectionObserver' in window) { 2294 io = new IntersectionObserver(function (entries) { 2295 for (var i = 0; i < entries.length; i++) { 2296 if (entries[i].isIntersecting) { play(); return; } 2297 } 2298 }, { threshold: 0.25 }); 2299 io.observe(strip); 2300 } 2301 window.addEventListener('scroll', onScroll, { passive: true }); 2302 window.addEventListener('resize', onScroll, { passive: true }); 2303 if (inView()) requestAnimationFrame(play); 2304 setTimeout(play, 8000); 2305})(); 2306</script>
2306 2307 2308<!-- Quilter Home DE/JA embed localization -->
2309<script> 2310(function () { 2311 'use strict'; 2312 var lang = (document.documentElement.lang || '').slice(0, 2).toLowerCase(); 2313 if ((lang !== 'ja' && lang !== 'de') || !/^\/(?:ja|de)\/?$/.test(location.pathname)) return; 2314 var MAPS = {"de": {"Before:": "Vorher:", "Manual Layout": "Manuelles Layout", "Mon": "Mo", "Tue": "Di", "Wed": "Mi", "Thu": "Do", "Fri": "Fr", "Sat": "Sa", "Sun": "So", "Start Working on Layout": "Layoutarbeit beginnen", "Layout in Progress": "Layout in Bearbeitung", "Engineer Reviews Draft and Requests Changes": "Ingenieur prüft Entwurf und fordert Ãnderungen an", "Engineer Reviews Final Layout": "Ingenieur prüft finales Layout", "Submit to Fab": "Zur Fertigung einreichen", "Fabrication and Assembly": "Fertigung und Bestückung", "Board Arrives": "Leiterplatte trifft ein", "After:": "Nachher:", "Layout with Quilter": "Layout mit Quilter", "Submit to Quilter": "Bei Quilter einreichen", "Quilter Generates 100s of Candidates": "Quilter erzeugt Hunderte Kandidaten", "Engineer Reviews Candidates and Makes Adjustments": "Ingenieur prüft Kandidaten und passt sie an", "Learn more": "Mehr erfahren", "about Project Speedrun": "über Project Speedrun", "How": "So", "Quilter Works": "funktioniert Quilter", "Prepare Your Design Files": "Designdateien vorbereiten", "Schematic": "Schaltplan", "Board Outline": "Leiterplattenkontur", "Fixed": "Fixierte", "Components": "Bauteile", "Edit & Clean Up": "Bearbeiten und bereinigen", "Design Review": "Designprüfung", "Iteration Loop": "Iterationsschleife", "Define Design Context": "Designkontext festlegen", "Stackup": "Lagenaufbau", "Constraints": "Randbedingungen", "Circuit Intent": "Schaltungsabsicht", "Review Candidates": "Kandidaten prüfen", "Placement": "Platzierung", "Routing": "Routing", "Quilter Engine": "Quilter-Engine", "Explore How Quilter Works": "Erfahren Sie, wie Quilter funktioniert", "Tweak Placement": "Platzierung anpassen", "Final Cleanup": "AbschlieÃende Bereinigung", "Review Placement": "Platzierung prüfen", "Review Routing": "Routing prüfen", "Dimension": "Kriterium", "Current Capabilities": "Aktuelle Fähigkeiten", "Status": "Status", "100 to 1,000 per board": "100 bis 1,000 pro Leiterplatte", "Live": "Verfügbar", "Pins to route": "Zu routende Pins", "No inherent limit, but the current best performance is around 2000-5000": "Keine grundsätzliche Grenze; die derzeit beste Leistung liegt bei etwa 2000â5000", "Pin density": "Pindichte", "Under 20%": "Unter 20%", "Pin density (%) = (Component Pin Area) / (Total Board Surface Area) à 100%": "Pindichte (%) = (Fläche der Bauteilpins) / (Gesamte Leiterplattenoberfläche) à 100%", "Via types": "Via-Typen", "Through-hole vias": "Durchkontaktierungen", "Blind & buried vias": "Blind- und Buried-Vias", "In development": "In Entwicklung", "BGA fanouts": "BGA-Fanouts", "Automated fanout generation": "Automatische Fanout-Erzeugung", "Beta": "Beta", "Length matching": "Längenabgleich", "Coming soon": "Demnächst", "RF": "HF", "Pre-route RF nets, Quilter can handle the rest": "HF-Netze vorab routen; Quilter übernimmt den Rest", "Previous": "Zurück", "Next": "Weiter", "Replay animation": "Animation erneut abspielen", "Upload Files": "Dateien hochladen", "Upload files": "Dateien hochladen", "Choose your stackup": "Lagenaufbau wählen", "Fabricator Constraints": "Fertigungsvorgaben", "Choose your fabricator constraints": "Fertigungsvorgaben wählen", "Floorplan": "Grobplatzierung", "Circuit Comprehension": "Schaltungsverständnis", "Tell us about your design": "Beschreiben Sie Ihren Entwurf", "Manage your geometric constraints": "Geometrische Randbedingungen verwalten", "Review and Submit": "Prüfen und einreichen", "SCALE": "MASSSTAB", "Drag & drop files to upload": "Dateien zum Hochladen hierher ziehen", "Using EasyEDA?": "Nutzen Sie EasyEDA?", "Browse Files": "Dateien auswählen", "Issues found": "Gefundene Probleme", "Parsing": "Einlesen", "File name": "Dateiname", "Type": "Typ", "ECAD Tool": "ECAD-Werkzeug", "Parsed": "Eingelesen", "Project": "Projekt", "Board": "Leiterplatte", "Detail View": "Detailansicht", "Board Dimensions": "Leiterplattenabmessungen", "Components to Place": "Zu platzierende Bauteile", "Component Density": "Bauteildichte", "Pins": "Pins", "Pins to Route": "Zu routende Pins", "Pin Density": "Pindichte", "Select a stackup": "Lagenaufbau auswählen", "From your uploaded files": "Aus Ihren hochgeladenen Dateien", "Standard 2-layer": "Standard, 2 Lagen", "Standard 4-layer": "Standard, 4 Lagen", "Standard 6-layer": "Standard, 6 Lagen", "Preserve copper on internal layers": "Kupfer auf Inne
2314nlagen beibehalten", "more info here â": "Weitere Informationen â", "Name": "Name", "Material": "Material", "Cu Layer Class": "Kupferlagenklasse", "Cu Weight Oz": "Kupfergewicht (oz)", "Thickness Microns": "Dicke (µm)", "Dielectric Constant": "Dielektrizitätskonstante", "Color": "Farbe", "Cu Orientation": "Kupferorientierung", "Top Overlay": "Bestückungsdruck oben", "Top Solder": "Lötstoppmaske oben", "Top Layer": "Oberste Lage", "Bottom Layer": "Unterste Lage", "Bottom Solder": "Lötstoppmaske unten", "Bottom Overlay": "Bestückungsdruck unten", "silkscreen": "Bestückungsdruck", "solder_mask": "Lötstoppmaske", "copper": "Kupfer", "Signal": "Signal", "Ground": "Masse", "TOP": "OBEN", "BOTTOM": "UNTEN", "prepreg": "Prepreg", "Design rules": "Designregeln", "These values are from your uploaded files": "Diese Werte stammen aus Ihren hochgeladenen Dateien", "Trace width (min)": "Leiterbahnbreite (min.)", "Trace clearance (min)": "Leiterbahnabstand (min.)", "Via diameter (min)": "Via-Durchmesser (min.)", "Via hole diameter (min)": "Via-Bohrdurchmesser (min.)", "Board margin": "Leiterplattenrandabstand", "Value (": "Wert (", "Value (mm)": "Wert (mm)", "Placement Options": "Platzierungsoptionen", "Component Clearance (min)": "Bauteilabstand (min.)", "Sides": "Seiten", "Prefer single-sided layouts": "Einseitige Bestückung bevorzugen", "Placement Info": "Platzierungsinformationen", "Highlight the preplaced components that Quilter won't move": "Vorplatzierte Bauteile markieren, die Quilter nicht verschiebt", "Components within the board boundary will stay exactly where they are shown.": "Bauteile innerhalb der Leiterplattenkontur bleiben genau an den gezeigten Positionen.", "Components not on the board will be placed by Quilter.": "Bauteile auÃerhalb der Leiterplatte werden von Quilter platziert.", "Placement regions and rooms appear as dashed lines.": "Platzierungsbereiche und Räume werden als gestrichelte Linien dargestellt.", "Differential Pairs": "Differenzpaare", "Single-ended Impedance Signals": "Impedanzkontrollierte Single-Ended-Signale", "Power Nets": "Versorgungsnetze", "Ground Nets": "Massenetze", "Switching Converters": "Schaltwandler", "Bypass Capacitors": "Abblockkondensatoren", "Crystal Oscillators": "Quarzoszillatoren", "BGA Components": "BGA-Bauteile", "Net Name (+)": "Netzname (+)", "Net Name (-)": "Netzname (-)", "Net Name": "Netzname", "Differential Impedance (Ω)": "Differenzielle Impedanz (Ω)", "Single-ended Impedance (Ω)": "Single-Ended-Impedanz (Ω)", "Impedance (Ω)": "Impedanz (Ω)", "Frequency (GHz)": "Frequenz (GHz)", "Actions": "Aktionen", "Pairs will be:": "Paare werden:", "Routed with the same length": "Mit gleicher Länge geroutet", "Routed with the same spacing": "Mit gleichem Abstand geroutet", "Routed with the same impedance": "Mit gleicher Impedanz geroutet", "All impedance calculations are performed at 1GHz.": "Alle Impedanzberechnungen erfolgen bei 1GHz.", "Remove all entries": "Alle Einträge entfernen", "Download CSV": "CSV herunterladen", "Add Row": "Zeile hinzufügen", "Add Multiple": "Mehrere hinzufügen", "Add By Netclass": "Nach Netzklasse hinzufügen", "Import": "Importieren", "Docs": "Dokumentation", "Group": "Gruppe", "Pair": "Paar", "Layer Index": "Lagenindex", "Layer Name": "Lagenname", "Layer Type": "Lagentyp", "Trace Width (mil)": "Leiterbahnbreite (mil)", "Trace Gap (mil)": "Leiterbahnabstand (mil)", "Differential Im...": "Differenzielle Im...", "copper-signal": "Kupfer-Signallage", "copper-ground": "Kupfer-Masselage", "Preserved Pours": "Beibehaltene Kupferflächen", "Net Widths by Layer": "Netzbreiten je Lage", "Placement Regions": "Platzierungsbereiche", "Custom Component Proximity": "Benutzerdefinierte Bauteilnähe", "Pour": "Kupferfläche", "1. Review computed constraints": "1. Berechnete Vorgaben prüfen", "2. Define your own constraints": "2. Eigene Vorgaben festlegen", "3. ECAD parsed constraints": "3. Aus ECAD eingelesene Vorgaben", "Components (24 to place)": "Bauteile (24 zu platzieren)", "Pins (121 to route)": "Pins (121 zu routen)", "no results yet": "Noch keine Ergebnisse", "Job Details": "Auftragsdetails", "We're working on layout candidates for your design": "Wir erstellen Layoutkandidaten für Ihren Entwurf", "Kick back, relax, and we'll email you as soon as your designs are ready.": "Lehnen Sie sich zurück. Wir benachrichtigen Sie per E-Mail, sobald Ihre Entwürfe fertig sind.", "0/1 steps completed": "0/1 Schritte abgeschlossen", "1/1 steps completed": "1/1 Schritte abgeschlossen", "4 candidates": "4 Kandidaten", "Display": "Anzeige", "Reset": "Zurücksetzen", "Quick Find": "Schnellsuche", "Layers": "Lagen", "Candidates (6 / 6)": "Kandidaten (6 / 6)", "Key Signals": "Wichtige Signale", "Component Placement": "Bauteilplatzierung", "Design Rule Checks": "Designregelprüfung", "Incomplete Net Routing": "Unvollständiges Netzrouting", "Placement Only": "Nur Platzierung", "Complete Board": "Vollständige Leiterplatte", "Prepare Your ECAD Files": "ECAD-Dateien vorbereiten", "Files Upload, Stackup,
2314Constraints, and Floorplan": "Datei-Upload, Lagenaufbau, Vorgaben und Grobplatzierung", "Placement Candidates Selection": "Platzierungskandidaten auswählen", "Review and Tweak Placement in Your ECAD": "Platzierung im ECAD prüfen und anpassen", "Routed Candidates Review and Selection": "Geroutete Kandidaten prüfen und auswählen", "Final Review and Cleanup in Your ECAD": "AbschlieÃende Prüfung und Bereinigung im ECAD", "Final Design Rules Check (DRC)": "AbschlieÃende Designregelprüfung (DRC)", "Close video": "Video schlieÃen", "Save Preferences": "Einstellungen speichern", "Please wait...": "Bitte wartenâ¦", "Download Input Files": "Eingabedateien herunterladen", "Circuit Comprehension JSON": "Schaltungsverständnis als JSON", "Input Files": "Eingabedateien", "Design Rules": "Designregeln", "ECAD Parsed Constraints": "Aus ECAD eingelesene Vorgaben", "No records specified": "Keine Einträge angegeben", "Single-ended Imp...": "Single-Ended-Imp...", "Trace": "Leiterbahn", "Via": "Via", "Substrate": "Substrat", "Pin": "Pin", "Component": "Bauteil", "Keepout": "Sperrfläche", "Placement Region": "Platzierungsbereich", "Quilter designs natively within your existing board, and parses files for component relationships and design constraints.": "Quilter arbeitet nativ in Ihrer vorhandenen Leiterplatte und liest Bauteilbeziehungen und Designvorgaben aus den Dateien.", "Tell us which stackup you want to use to generate candidates for your board.": "Geben Sie an, mit welchem Lagenaufbau Kandidaten für Ihre Leiterplatte erzeugt werden sollen.", "Tell us some of your manufacturer and fabrication preferences to prioritize during board compilation.": "Geben Sie Ihre Hersteller- und Fertigungspräferenzen an, die bei der Leiterplattenkompilierung priorisiert werden sollen.", "See how Quilter intends to place your components.": "Sehen Sie, wie Quilter Ihre Bauteile platzieren möchte.", "Review and modify the information that Quilter should know about when generating your board.": "Prüfen und bearbeiten Sie die Informationen, die Quilter bei der Erstellung Ihrer Leiterplatte berücksichtigen soll.", "Review constraints computed from circuit comprehension and define additional constraints.": "Prüfen Sie die aus dem Schaltungsverständnis berechneten Vorgaben und definieren Sie zusätzliche Randbedingungen.", "Quilter generates layout candidates and routes your board.": "Quilter erzeugt Layoutkandidaten und routet Ihre Leiterplatte.", "Existing pours will be deleted: Quilter will generate new pours as a part of the layout job.": "Bestehende Kupferflächen werden gelöscht: Quilter erzeugt im Rahmen des Layoutauftrags neue Kupferflächen.", "Off-board traces and vias will be deleted: Quilter will not modify existing traces or vias within the board boundary.": "Leiterbahnen und Vias auÃerhalb der Leiterplatte werden gelöscht. Bestehende Leiterbahnen und Vias innerhalb der Leiterplattenkontur verändert Quilter nicht.", "Quilter attempts computing impedance profiles using Simbeor, but in case of failures will instead use your design rule minimums. Please verify results manually.": "Quilter versucht, Impedanzprofile mit Simbeor zu berechnen. Schlägt dies fehl, verwendet es stattdessen die Mindestwerte Ihrer Designregeln. Bitte prüfen Sie die Ergebnisse manuell.", "You can change copper layer class here. If any other values are incorrect, please change them in the layer manager of your ECAD tool. Find out": "Hier können Sie die Kupferlagenklasse ändern. Falls andere Werte falsch sind, ändern Sie diese bitte im Lagenmanager Ihres ECAD-Werkzeugs.", "Differential pairs listed here will be routed as a pair with matched lengths and spacing.": "Die hier aufgeführten Differenzpaare werden paarweise mit abgestimmten Längen und Abständen geroutet.", "Note: Impedance control requires Quilter to use 4+ layer stackups in order to guarantee a good return path on an uninterrupted ground plane.": "Hinweis: Für die Impedanzkontrolle benötigt Quilter Lagenaufbauten mit 4 oder mehr Lagen, um einen guten Rückstrompfad auf einer durchgehenden Massefläche zu gewährleisten.", "Signals listed here will be routed with the specified impedance. All impedance calculations are performed at 1GHz.": "Die hier aufgeführten Signale werden mit der angegebenen Impedanz geroutet. Alle Impedanzberechnungen erfolgen bei 1GHz.", "Altium (.prjpcb, .pcbdoc, or .schdoc), IPC-2581 (.xml, .dsn, .qlt, or .brd), KiCAD (.kicad_pro, .pro, .kicad_pcb, or .kicad_sch), or Xpedition (.zip) files.": "Dateien aus Altium (.prjpcb, .pcbdoc oder .schdoc), IPC-2581 (.xml, .dsn, .qlt oder .brd), KiCAD (.kicad_pro, .pro, .kicad_pcb oder .kicad_sch) oder Xpedition (.zip).", "Quilter fits into your existing workflow. You prepare the design in your ECAD, upload it, and Quilter handles placement and routing. You review the output, make adjustments, and resubmit. Most boards go through 2 to 5 cycles before the engineer is satisfied with the result. Thereâs no magic: Quilter shows you every physics check it ran, and you stay in control at every step.": "Quilter fügt sich in Ihren bestehenden Workflow ein. Sie bereiten den Entwurf in Ihrem ECAD vor und laden ihn hoch. Quilter übernimmt Platzierung und Routing. Sie prüfen das Ergebnis, passen es an und reichen es erneut ein. Die meisten Leiterplatten durchlaufen 2 bis 5 Zyklen, bevor der Ingenieur mit dem Ergebnis zufrieden ist. Dahinter steckt keine Magie: Quilter zeigt jede durchgeführte physikalische Prüfung, und Sie behalten in jedem Schritt die Kontrolle.", "Design flow: ECAD design files feed into Quilter, which defines design context, generates candidates with the Quilter Engine, and returns them for review, edit and design review.": "Designablauf: ECAD-Dateien werden an Quilter übergeben. Quilter definiert den Designkontext, erzeugt Kandidaten mit der Quilter-Engine und gibt sie zur Prüfung, Bearbeitung und Designprüfung zurück.", "Design flow across eight stages. In your ECAD you prepare design files. In Quilter you define design context and the Quilter Engine generates candidates. You review placement, tweak it in your ECAD, then review routing, do a final cleanup and a design review. Each stage opens a short video.": "Designablauf in acht Schritten. Sie bereiten Designdateien im ECAD vor, definieren den Designkontext in Quilter und lassen die Quilter-Engine Kandidaten erzeugen. Sie prüfen die Platzierung, passen sie im ECAD an, prüfen das Routing und führen die abschlieÃende Bereinigung und Designprüfung durch. Jeder Schritt öffnet ein kurzes Video."}, "ja": {"Before:": "å°å
¥åï¼", "Manual Layout": "æä½æ¥ã®ã¬ã¤ã¢ã¦ã", "Mon": "æ", "Tue": "ç«", "Wed": "æ°´", "Thu": "æ¨", "Fri": "é", "Sat": "å", "Sun": "æ¥", "Start Working on Layout": "ã¬ã¤ã¢ã¦ã使¥ãéå§", "Layout in Progress": "ã¬ã¤ã¢ã¦ã使¥ä¸", "Engineer Reviews Draft and Requests Changes": "ã¨ã³ã¸ãã¢ãèæ¡ã確èªãä¿®æ£ãä¾é ¼", "Engineer Reviews Final Layout": "ã¨ã³ã¸ãã¢ãæçµã¬ã¤ã¢ã¦ãã確èª", "Submit to Fab": "製é ã¸æåº", "Fabrication and Assembly": "製é ã»å®è£
", "Board Arrives": "åºæ¿ãå°ç", "After:": "å°å
¥å¾ï¼", "Layout with Quilter": "Quilterã«ããã¬ã¤ã¢ã¦ã", "Submit to Quilter": "Quilterã¸æåº", "Quilter Generates 100s of Candidates": "Quilterãæ°ç¾ã®åè£ãçæ", "Engineer Reviews Candidates and Makes Adjustments": "ã¨ã³ã¸ãã¢ãåè£ã確èªã»èª¿æ´", "Learn more": "詳ããè¦ã", "about Project Speedrun": "Project Speedrunã«ã¤ãã¦", "How": "ä»çµã¿ï¼", "Quilter Works": "Quilter", "Prepare Your Design Files": "è¨è¨ãã¡ã¤ã«ãæºå", "Schematic": "åè·¯å³", "Board Outline": "åºæ¿å¤å½¢", "Fixed": "åºå®", "Components": "é¨å", "Edit & Clean Up": "ç·¨éã»ä»ä¸ã", "Design Review": "è¨è¨ã¬ãã¥ã¼", "Iteration Loop": "å復ã«ã¼ã", "Define Design Context": "è¨è¨ã³ã³ããã¹ããå®ç¾©", "Stackup": "å±¤æ§æ", "Constraints": "å¶ç´", "Circuit Intent": "åè·¯ã®æå³", "Review Candidates": "åè£ã確èª", "Placement": "é
ç½®", "Routing": "é
ç·", "Quilter Engine": "Quilterã¨ã³ã¸ã³", "Explore How Quilter Works": "Quilterã®ä»çµã
2314¿ãè¦ã", "Tweak Placement": "é
ç½®ã調æ´", "Final Cleanup": "æçµä»ä¸ã", "Review Placement": "é
ç½®ã確èª", "Review Routing": "é
ç·ã確èª", "Dimension": "é
ç®", "Current Capabilities": "ç¾å¨ã®å¯¾å¿ç¯å²", "Status": "ç¶æ³", "100 to 1,000 per board": "åºæ¿ããã100ã1,000å", "Live": "æä¾ä¸", "Pins to route": "é
ç·ãããã³æ°", "No inherent limit, but the current best performance is around 2000-5000": "æ¬è³ªçãªä¸éã¯ããã¾ããããç¾æç¹ã§æãè¯å¥½ãªæ§è½ãå¾ãããã®ã¯ç´2000ã5000ãã³ã§ã", "Pin density": "ãã³å¯åº¦", "Under 20%": "20%æªæº", "Pin density (%) = (Component Pin Area) / (Total Board Surface Area) à 100%": "ãã³å¯åº¦ï¼%ï¼=ï¼é¨åãã³ã®é¢ç©ï¼/ï¼åºæ¿è¡¨é¢ã®ç·é¢ç©ï¼Ã 100%", "Via types": "ãã¢ã®ç¨®é¡", "Through-hole vias": "貫éãã¢", "Blind & buried vias": "ãã©ã¤ã³ããã¢ã»åãè¾¼ã¿ãã¢", "In development": "éçºä¸", "BGA fanouts": "BGAãã¡ã³ã¢ã¦ã", "Automated fanout generation": "ãã¡ã³ã¢ã¦ãã®èªåçæ", "Beta": "ãã¼ã¿ç", "Length matching": "çé·é
ç·", "Coming soon": "è¿æ¥å¯¾å¿äºå®", "RF": "RF", "Pre-route RF nets, Quilter can handle the rest": "RFããããäºåé
ç·ããã°ãæ®ãã¯Quilterãå¦çã§ãã¾ã", "Previous": "åã¸", "Next": "次ã¸", "Replay animation": "ã¢ãã¡ã¼ã·ã§ã³ãåç", "Upload Files": "ãã¡ã¤ã«ãã¢ãããã¼ã", "Upload files": "ãã¡ã¤ã«ãã¢ãããã¼ã", "Choose your stackup": "å±¤æ§æã鏿", "Fabricator Constraints": "製é å¶ç´", "Choose your fabricator constraints": "製é å¶ç´ã鏿", "Floorplan": "ããã¢ãã©ã³", "Circuit Comprehension": "åè·¯çè§£", "Tell us about your design": "è¨è¨ã«ã¤ãã¦æå®", "Manage your geometric constraints": "å¹¾ä½å¦çå¶ç´ã管ç", "Review and Submit": "確èªãã¦éä¿¡", "SCALE": "縮尺", "Drag & drop files to upload": "ãã¡ã¤ã«ããã©ãã°ï¼ãããããã¦ã¢ãããã¼ã", "Using EasyEDA?": "EasyEDAãã使ãã§ããï¼", "Browse Files": "ãã¡ã¤ã«ã鏿", "Issues found": "æ¤åºãããåé¡", "Parsing": "è§£æ", "File name": "ãã¡ã¤ã«å", "Type": "種é¡", "ECAD Tool": "ECADãã¼ã«", "Parsed": "è§£ææ¸ã¿", "Project": "ããã¸ã§ã¯ã", "Board": "åºæ¿", "Detail View": "詳細表示", "Board Dimensions": "åºæ¿å¯¸æ³", "Components to Place": "é
ç½®ããé¨åæ°", "Component Density": "é¨åå¯åº¦", "Pins": "ãã³", "Pins to Route": "é
ç·ãããã³æ°", "Pin Density": "ãã³å¯åº¦", "Select a stackup": "å±¤æ§æã鏿", "From your uploaded files": "ã¢ãããã¼ããããã¡ã¤ã«ãã", "Standard 2-layer": "æ¨æº2層", "Standard 4-layer": "æ¨æº4層", "Standard 6-layer": "æ¨æº6層", "Preserve copper on internal layers": "å
層ã®é
ç®ãä¿æ", "more info here â": "詳細ã¯ãã¡ã â", "Name": "åå", "Material": "ææ", "Cu Layer Class": "é
ç®å±¤ã®ç¨®é¡", "Cu Weight Oz": "é
ç®ééï¼ozï¼", "Thickness Microns": "åãï¼Âµmï¼", "Dielectric Constant": "æ¯èªé»ç", "Color": "è²", "Cu Orientation": "é
ç®ã®åã", "Top Overlay": "表é¢ã·ã«ã¯", "Top Solder": "表é¢ã½ã«ãã¼ã¬ã¸ã¹ã", "Top Layer": "表é¢å±¤", "Bottom Layer": "è£é¢å±¤", "Bottom Solder": "è£é¢ã½ã«ãã¼ã¬ã¸ã¹ã", "Bottom Overlay": "è£é¢ã·ã«ã¯", "silkscreen": "ã·ã«ã¯", "solder_mask": "ã½ã«ãã¼ã¬ã¸ã¹ã", "copper": "é
ç®", "Signal": "ä¿¡å·", "Ground": "ã°ã©ã¦ã³ã", "TOP": "表é¢", "BOTTOM": "è£é¢", "prepreg": "ããªãã¬ã°", "Design rules": "è¨è¨ã«ã¼ã«", "These values are from your uploaded files": "ãããã®å¤ã¯ã¢ãããã¼ããããã¡ã¤ã«ããåå¾ãã¦ãã¾ã", "Trace width (min)": "æå°é
ç·å¹
", "Trace clearance (min)": "æå°é
ç·éé", "Via diameter (min)": "æå°ãã¢å¾", "Via hole diameter (min)": "æå°ãã¢ç©´å¾", "Board margin": "åºæ¿ç«¯ããã®éé", "Value (": "å¤ (", "Value (mm)": "å¤ï¼mmï¼", "Placement Options": "é
ç½®ãªãã·ã§ã³", "Component Clearance (min)": "æå°é¨åéé", "Sides": "å®è£
é¢", "Prefer single-sided layouts": "çé¢å®è£
ãåªå
", "Placement Info": "é
ç½®æ
å ±", "Highlight the preplaced components that Quilter won't move": "Quilterãç§»åããªãäºåé
ç½®æ¸ã¿é¨å
2314ã強調表示", "Components within the board boundary will stay exactly where they are shown.": "åºæ¿å¤å½¢å
ã®é¨åã¯ã表示ããã¦ããä½ç½®ã«ãã®ã¾ã¾ä¿æããã¾ãã", "Components not on the board will be placed by Quilter.": "åºæ¿å¤ã«ããé¨åã¯Quilterãé
ç½®ãã¾ãã", "Placement regions and rooms appear as dashed lines.": "é
ç½®é åã¨ã«ã¼ã ã¯ç ´ç·ã§è¡¨ç¤ºããã¾ãã", "Differential Pairs": "å·®åãã¢", "Single-ended Impedance Signals": "ã·ã³ã°ã«ã¨ã³ãã®ã¤ã³ãã¼ãã³ã¹å¶å¾¡ä¿¡å·", "Power Nets": "黿ºããã", "Ground Nets": "ã°ã©ã¦ã³ãããã", "Switching Converters": "ã¹ã¤ããã³ã°ã³ã³ãã¼ã¿", "Bypass Capacitors": "ãã¤ãã¹ã³ã³ãã³ãµ", "Crystal Oscillators": "æ°´æ¶çºæ¯å¨", "BGA Components": "BGAé¨å", "Net Name (+)": "ãããåï¼+ï¼", "Net Name (-)": "ãããåï¼-ï¼", "Net Name": "ãããå", "Differential Impedance (Ω)": "å·®åã¤ã³ãã¼ãã³ã¹ï¼Î©ï¼", "Single-ended Impedance (Ω)": "ã·ã³ã°ã«ã¨ã³ãã¤ã³ãã¼ãã³ã¹ï¼Î©ï¼", "Impedance (Ω)": "ã¤ã³ãã¼ãã³ã¹ï¼Î©ï¼", "Frequency (GHz)": "卿³¢æ°ï¼GHzï¼", "Actions": "æä½", "Pairs will be:": "ãã¢ã¯æ¬¡ã®æ¡ä»¶ã§é
ç·ããã¾ãï¼", "Routed with the same length": "åãé·ãã§é
ç·", "Routed with the same spacing": "åãééã§é
ç·", "Routed with the same impedance": "åãã¤ã³ãã¼ãã³ã¹ã§é
ç·", "All impedance calculations are performed at 1GHz.": "ãã¹ã¦ã®ã¤ã³ãã¼ãã³ã¹è¨ç®ã¯1GHzã§è¡ãã¾ãã", "Remove all entries": "ãã¹ã¦ã®é
ç®ãåé¤", "Download CSV": "CSVããã¦ã³ãã¼ã", "Add Row": "è¡ã追å ", "Add Multiple": "è¤æ°ã追å ", "Add By Netclass": "ãããã¯ã©ã¹ã§è¿½å ", "Import": "ã¤ã³ãã¼ã", "Docs": "ããã¥ã¡ã³ã", "Group": "ã°ã«ã¼ã", "Pair": "ãã¢", "Layer Index": "層çªå·", "Layer Name": "層å", "Layer Type": "層ã®ç¨®é¡", "Trace Width (mil)": "é
ç·å¹
ï¼milï¼", "Trace Gap (mil)": "é
ç·ééï¼milï¼", "Differential Im...": "å·®åã¤ã³ãã¼ãã³ã¹â¦", "copper-signal": "é
ç®ä¿¡å·å±¤", "copper-ground": "é
ç®ã°ã©ã¦ã³ã層", "Preserved Pours": "ä¿æããé
ç®é å", "Net Widths by Layer": "層å¥ãããå¹
", "Placement Regions": "é
ç½®é å", "Custom Component Proximity": "é¨åéè·é¢ã®ã«ã¹ã¿ã æå®", "Pour": "é
ç®é å", "1. Review computed constraints": "1. è¨ç®ãããå¶ç´ã確èª", "2. Define your own constraints": "2. ç¬èªã®å¶ç´ãå®ç¾©", "3. ECAD parsed constraints": "3. ECADããè§£æããå¶ç´", "Components (24 to place)": "é¨åï¼é
置対象24åï¼", "Pins (121 to route)": "ãã³ï¼é
ç·å¯¾è±¡121æ¬ï¼", "no results yet": "çµæã¯ã¾ã ããã¾ãã", "Job Details": "ã¸ã§ãã®è©³ç´°", "We're working on layout candidates for your design": "è¨è¨ã®ã¬ã¤ã¢ã¦ãåè£ã使ãã¦ãã¾ã", "Kick back, relax, and we'll email you as soon as your designs are ready.": "è¨è¨ã宿ãããã¡ã¼ã«ã§ãç¥ãããã¾ããããã¾ã§ãå¾
ã¡ãã ããã", "0/1 steps completed": "0/1ã¹ãããå®äº", "1/1 steps completed": "1/1ã¹ãããå®äº", "4 candidates": "4åè£", "Display": "表示", "Reset": "ãªã»ãã", "Quick Find": "ã¯ã¤ãã¯æ¤ç´¢", "Layers": "層", "Candidates (6 / 6)": "åè£ï¼6 / 6ï¼", "Key Signals": "éè¦ãªä¿¡å·", "Component Placement": "é¨åé
ç½®", "Design Rule Checks": "è¨è¨ã«ã¼ã«ãã§ãã¯", "Incomplete Net Routing": "æªå®äºã®ãããé
ç·", "Placement Only": "é
ç½®ã®ã¿", "Complete Board": "åºæ¿å
¨ä½", "Prepare Your ECAD Files": "ECADãã¡ã¤ã«ãæºå", "Files Upload, Stackup, Constraints, and Floorplan": "ãã¡ã¤ã«ã®ã¢ãããã¼ããå±¤æ§æãå¶ç´ãããã¢ãã©ã³", "Placement Candidates Selection": "é
ç½®åè£ã®é¸æ", "Review and Tweak Placement in Your ECAD": "ECADã§é
ç½®ã確èªã»èª¿æ´", "Routed Candidates Review and Selection": "é
ç·æ¸ã¿åè£ã®ç¢ºèªã¨é¸æ", "Final Review and Cleanup in Your ECAD": "ECADã§ã®æçµç¢ºèªã¨ä»ä¸ã", "Final Design Rules Check (DRC)": "æçµè¨è¨ã«ã¼ã«ãã§ãã¯ï¼DRCï¼", "Close video": "åç»ãéãã", "Save Preferences": "è¨å®ãä¿å", "Please wait...": "ãå¾
ã¡ãã ããâ¦", "Download Input Files": "å
¥åãã¡ã¤ã«ããã¦ã³ãã¼ã", "Circuit Comprehension JSON": "åè·¯çè§£ã®JSON", "Input Files": "å
¥åãã¡ã¤ã«", "Design Rules": "è¨è¨ã«ã¼ã«", "ECAD Parsed Constraints": "ECADããè§£æããå¶ç´", "No records specified": "æå®ãããé
ç®ã¯ããã¾ãã", "Single-ended Imp...": "ã·ã³ã°ã«ã¨ã³ãã¤ã³ãã¼ãã³ã¹â¦", "Trace": "é
ç·", "Via": "ãã¢", "Substrate": "åºæ", "Pin": "ãã³", "Component": "é¨å", "Keepout": "ç¦æ¢é å", "Placement Region": "é
ç½®é å", "Quilter designs natively within your existing board, and parses files for component relationships and design constraints.": "Quilterã¯æ¢åã®åºæ¿ãã¡ã¤ã«ããã¤ã
2314ã£ãã«æ±ããé¨åéã®é¢ä¿ã¨è¨è¨å¶ç´ãè§£æãã¾ãã", "Tell us which stackup you want to use to generate candidates for your board.": "åºæ¿ã®åè£çæã«ä½¿ç¨ããå±¤æ§æãæå®ãã¾ãã", "Tell us some of your manufacturer and fabrication preferences to prioritize during board compilation.": "åºæ¿ã®ã³ã³ãã¤ã«æã«åªå
ããè£½é æ¥è
ãè£½é æ¡ä»¶ã®å¸æãæå®ãã¾ãã", "See how Quilter intends to place your components.": "Quilterãé¨åãã©ã®ããã«é
ç½®ããã確èªãã¾ãã", "Review and modify the information that Quilter should know about when generating your board.": "åºæ¿çææã«Quilterãèæ
®ããæ
å ±ã確èªã»ä¿®æ£ãã¾ãã", "Review constraints computed from circuit comprehension and define additional constraints.": "åè·¯çè§£ã«åºã¥ãã¦è¨ç®ãããå¶ç´ã確èªãã追å ã®å¶ç´ãå®ç¾©ãã¾ãã", "Quilter generates layout candidates and routes your board.": "Quilterãã¬ã¤ã¢ã¦ãåè£ãçæããåºæ¿ãé
ç·ãã¾ãã", "Existing pours will be deleted: Quilter will generate new pours as a part of the layout job.": "æ¢åã®é
ç®é åã¯åé¤ããã¾ããQuilterã¯ã¬ã¤ã¢ã¦ãã¸ã§ãã®ä¸ç°ã¨ãã¦æ°ããé
ç®é åãçæãã¾ãã", "Off-board traces and vias will be deleted: Quilter will not modify existing traces or vias within the board boundary.": "åºæ¿å¤ã®é
ç·ã¨ãã¢ã¯åé¤ããã¾ããQuilterã¯åºæ¿å¤å½¢å
ã«ããæ¢åã®é
ç·ããã¢ã夿´ãã¾ããã", "Quilter attempts computing impedance profiles using Simbeor, but in case of failures will instead use your design rule minimums. Please verify results manually.": "Quilterã¯Simbeorã使ã£ã¦ã¤ã³ãã¼ãã³ã¹ãããã¡ã¤ã«ã®è¨ç®ã試ã¿ã¾ãã失æããå ´åã¯è¨è¨ã«ã¼ã«ã®æå°å¤ã使ç¨ãã¾ããçµæãæåã§ç¢ºèªãã¦ãã ããã", "You can change copper layer class here. If any other values are incorrect, please change them in the layer manager of your ECAD tool. Find out": "ããã§ã¯é
ç®å±¤ã®ç¨®é¡ã夿´ã§ãã¾ãããã®ä»ã®å¤ã«èª¤ããããå ´åã¯ãECADãã¼ã«ã®å±¤ç®¡çæ©è½ã§ä¿®æ£ãã¦ãã ããã", "Differential pairs listed here will be routed as a pair with matched lengths and spacing.": "ããã«ç¤ºãå·®åãã¢ã¯ãé·ãã¨ééãæãããã¢ã¨ãã¦é
ç·ããã¾ãã", "Note: Impedance control requires Quilter to use 4+ layer stackups in order to guarantee a good return path on an uninterrupted ground plane.": "注ï¼ã¤ã³ãã¼ãã³ã¹å¶å¾¡ã§ã¯ãé£ç¶ããã°ã©ã¦ã³ããã¬ã¼ã³ä¸ã«è¯å¥½ãªãªã¿ã¼ã³ãã¹ã確ä¿ãããããQuilterã¯4層以ä¸ã®å±¤æ§æã使ç¨ããå¿
è¦ãããã¾ãã", "Signals listed here will be routed with the specified impedance. All impedance calculations are performed at 1GHz.": "ããã«ç¤ºãä¿¡å·ã¯ãæå®ãããã¤ã³ãã¼ãã³ã¹ã§é
ç·ããã¾ãããã¹ã¦ã®ã¤ã³ãã¼ãã³ã¹è¨ç®ã¯1GHzã§è¡ãã¾ãã", "Altium (.prjpcb, .pcbdoc, or .schdoc), IPC-2581 (.xml, .dsn, .qlt, or .brd), KiCAD (.kicad_pro, .pro, .kicad_pcb, or .kicad_sch), or Xpedition (.zip) files.": "Altiumï¼.prjpcbã.pcbdocã.schdocï¼ãIPC-2581ï¼.xmlã.dsnã.qltã.brdï¼ãKiCADï¼.kicad_proã.proã.kicad_pcbã.kicad_schï¼ãXpeditionï¼.zipï¼ã®ãã¡ã¤ã«ã", "Quilter fits into your existing workflow. You prepare the design in your ECAD, upload it, and Quilter handles placement and routing. You review the output, make adjustments, and resubmit. Most boards go through 2 to 5 cycles before the engineer is satisfied with the result. Thereâs no magic: Quilter shows you every physics check it ran, and you stay in control at every step.": "Quilterã¯æ¢åã®ã¯ã¼ã¯ããã¼ã«çµã¿è¾¼ãã¾ããECADã§è¨è¨ãæºåãã¦ã¢ãããã¼ãããã¨ãQuilterãé¨åé
ç½®ã¨é
ç·ãè¡ãã¾ããåºåã確èªãã¦èª¿æ´ããå度æåºãã¾ããå¤ãã®åºæ¿ã¯ãã¨ã³ã¸ãã¢ãçµæã«æºè¶³ããã¾ã§2ã5åã®ãµã¤ã¯ã«ãçµã¾ããéæ³ã§ã
2314¯ããã¾ãããQuilterã¯å®è¡ããç©çãã§ãã¯ããã¹ã¦ç¤ºããã©ã®æ®µéã§ã䏻尿¨©ã¯ã客æ§ã«ããã¾ãã", "Design flow: ECAD design files feed into Quilter, which defines design context, generates candidates with the Quilter Engine, and returns them for review, edit and design review.": "è¨è¨ããã¼ï¼ECADè¨è¨ãã¡ã¤ã«ãQuilterã«æ¸¡ãã¨ãè¨è¨ã³ã³ããã¹ããå®ç¾©ããQuilterã¨ã³ã¸ã³ã§åè£ãçæãã¾ããåè£ã確èªã»ç·¨éããè¨è¨ã¬ãã¥ã¼ãè¡ãã¾ãã", "Design flow across eight stages. In your ECAD you prepare design files. In Quilter you define design context and the Quilter Engine generates candidates. You review placement, tweak it in your ECAD, then review routing, do a final cleanup and a design review. Each stage opens a short video.": "8段éã®è¨è¨ããã¼ãECADã§è¨è¨ãã¡ã¤ã«ãæºåããQuilterã§è¨è¨ã³ã³ããã¹ããå®ç¾©ããã¨ãQuilterã¨ã³ã¸ã³ãåè£ãçæãã¾ããé ç½®ã確èªãã¦ECADã§èª¿æ´ããé ç·ã確èªããå¾ãæçµä»ä¸ãã¨è¨è¨ã¬ãã¥ã¼ãè¡ãã¾ããåæ®µéãé¸ã¶ã¨çãåç»ãéãã¾ãã"}}; 2315 var T = MAPS[lang]; 2316 var scope = '#quilter-flow, .qtr-wrap, .qf2, .qf2-modal, .qtbl-wrap, .fs-consent_prefs_form'; 2317 function translate(s) { 2318 var k = s.replace(/\s+/g, ' ').trim(); 2319 if (Object.prototype.hasOwnProperty.call(T, k)) return T[k]; 2320 var m; 2321 if ((m = /^Candidate (\d+)$/.exec(k))) return lang === 'de' ? 'Kandidat ' + m[1] : 'åè£ ' + m[1]; 2322 if ((m = /^(\d+) files specified$/.exec(k))) return lang === 'de' ? m[1] + ' Dateien angegeben' : m[1] + 'ãã¡ã¤ã«æå®æ¸ã¿'; 2323 if ((m = /^(\d+) records? specified(?: â (\d+) constraints computed)?$/.exec(k))) return (lang === 'de' ? m[1] + ' Einträge angegeben' : m[1] + 'é ç®æå®æ¸ã¿') + (m[2] ? (lang === 'de' ? ' â ' + m[2] + ' Vorgaben berechnet' : ' â ' + m[2] + 'å¶ç´ãè¨ç®æ¸ã¿') : ''); 2324 if ((m = /^(\d+) Info$/.exec(k))) return lang === 'de' ? m[1] + ' Hinweise' : m[1] + 'ä»¶ã®æ å ±'; 2325 if ((m = /^(\d+) to review$/.exec(k))) return lang === 'de' ? m[1] + ' zu prüfen' : m[1] + 'ä»¶ã確èª'; 2326 if ((m = /^(\d+) computed$/.exec(k))) return lang === 'de' ? m[1] + ' berechnet' : m[1] + 'ä»¶ãè¨ç®æ¸ã¿'; 2327 if ((m = /^Dielectric (\d+)$/.exec(k))) return lang === 'de' ? 'Dielektrikum ' + m[1] : 'èªé»ä½ ' + m[1]; 2328 if ((m = /^Workflow (\d+) of (\d+)$/.exec(k))) return lang === 'de' ? 'Workflow ' + m[1] + ' von ' + m[2] : 'ã¯ã¼ã¯ããã¼ ' + m[1] + ' / ' + m[2]; 2329 if ((m = /^Watch (.+?)( - \d+:\d+)?$/.exec(k))) return (lang === 'de' ? 'Ansehen: ' : 'åç»ãè¦ãï¼') + (T[m[1]] || m[1]) + (m[2] || ''); 2330 return null; 2331 } 2332 function run(root) { 2333 var walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { acceptNode: function(n) { 2334 return n.parentElement && !n.parentElement.closest('script,style,noscript') ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT; 2335 }}); 2336 var n, list=[]; while ((n=walker.nextNode())) list.push(n); 2337 list.forEach(function(n) {var v=translate(n.nodeValue);if(v!==null && v!==n.nodeValue.trim())n.nodeValue=n.nodeValue.replace(/\S[\s\S]*\S|\S/,v);}); 2338 root.querySelectorAll('[aria-label],[title],input[type="submit"]').forEach(function(el) { 2339 ['aria-label','title','value','data-wait'].forEach(function(a) {if(!el.hasAttribute(a))return;var v=translate(el.getAttribute(a));if(v!==null && v!==el.getAttribute(a))el.setAttribute(a,v);}); 2340 }); 2341 } 2342 function setup() { 2343 document.querySelectorAll(scope).forEach(function(root) { 2344 if (root.dataset.homeLocaleReady) return;root.dataset.homeLocaleReady='1'; 2345 var scheduled=false; 2346 var observer=new MutationObserver(function(){if(scheduled)return;scheduled=true;queueMicrotask(function(){scheduled=false;observer.disconnect();run(root);observe();});}); 2347 function observe(){observer.observe(root,{childList:true,subtree:true,characterData:true,attributes:true,attributeFilter:['aria-label','title','value']});} 2348 run(root);observe(); 2349 });
2350 // The consent submit control is not a text node in the localization API. 2351 document.querySelectorAll('.fs-consent_prefs_submit,input[value="Save Preferences"]').forEach(function(el){['value','data-wait'].forEach(function(a){var v=translate(el.getAttribute(a)||'');if(v!==null)el.setAttribute(a,v);});}); 2352 } 2353 if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',setup,{once:true});else setup(); 2354 window.addEventListener('load',setup,{once:true}); 2355})(); 2356 2357</script>
vendor: 1 bytes, line 2357
2357
2358<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6a8449b904ba12b95a1ee93c%2Fanchorlanding-1.0.0.js" type="text/javascript"></script>
2358<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6a8dec2cd89dfdf5dd1faeeb%2Fquilterhsconsentcopy-1.0.0.js" type="text/javascript"></script>
2358<script src="https://cdn.prod.website-files.com/68b7918b99fa38e5185dc4e6%2F689e5ba67671442434f3ca35%2F6ab8c5bb50cfd85b5579375e%2Fbluebandstatement-1.0.0.js" type="text/javascript"></script>
2358</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.