Skip to content

Commit

Permalink
Quilt 5.0
Browse files Browse the repository at this point in the history
Privately available for quite a while now, time for a public release.
  • Loading branch information
philstopford committed Oct 8, 2024
1 parent 7196380 commit d63b0b2
Show file tree
Hide file tree
Showing 42 changed files with 774 additions and 520 deletions.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
24 changes: 12 additions & 12 deletions Documentation/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -183,14 +183,14 @@
</style>
</head>
<body lang="en-US" text="#aaaaaa" link="#00aacc" dir="ltr">
<p style=" border-top: none; border-bottom: 1.00pt solid #4f81bd; border-left: none; border-right: none; padding-top: 0in; padding-bottom: 0.06in; padding-left: 0in; padding-right: 0in; letter-spacing: 0.3pt; line-height: 100%"> <font color="#ffffff" face="Cambria, serif"><font size="6" style="font-size: 20pt">Quilt </font><font size="6" style="font-size: 12pt">(4.0)</font></font></p>
<p style=" border-top: none; border-bottom: 1.00pt solid #4f81bd; border-left: none; border-right: none; padding-top: 0in; padding-bottom: 0.06in; padding-left: 0in; padding-right: 0in; letter-spacing: 0.3pt; line-height: 100%"> <font color="#ffffff" face="Cambria, serif"><font size="6" style="font-size: 20pt">Quilt </font><font size="6" style="font-size: 12pt">(5.0)</font></font></p>
<blockquote>
<p style=" border-top: none; border-bottom: none; border-left: none; border-right: none; padding-top: 0in; padding-bottom: 0.06in; padding-left: 0in; padding-right: 0in; letter-spacing: 0.3pt; line-height: 100%"> <font color="#aaaaaa" face="Cambria, serif"><font color="#aaaaaa" size="6" style="font-size: 20pt"><font size="3" style="font-size: 12pt"><span style="letter-spacing: 0.8pt"><i>Phil Stopford</i></span></font></font></font></p>
</blockquote>
<a name="introduction"></a>
<h1 class="western">Introduction</h1>
<blockquote>
<p class="western" style=" line-height: 100%">Quilt is a production-proven, high performance pattern generator that writes to hierarchical GDSII and OASIS files. The tool also works with the DOE system in Variance (3.5.1 or later). It is available on Windows, macOS and Linux, running on top of .NET 6.0</p>
<p class="western" style=" line-height: 100%">Quilt is a production-proven, high performance pattern generator that writes to hierarchical GDSII and OASIS files. The tool also works with the DOE system in Variance (3.5.1 or later). It is available on Windows, macOS and Linux, running on top of NET 7</p>
</blockquote>
<a name="features"></a>
<h1 class="western">Features</h1>
Expand All @@ -206,21 +206,21 @@ <h1 class="western">Features</h1>
<li>Array spacings can be independently varied.</li>
</ul>
<li>Interlayer subshape-referenced dimensions.</li>
<li><span>NEW:</span> Tip definitions.</li>
<li>Tip definitions.</li>
<ul>
<li>Horizontal and vertical tips can be defined.</li>
<li>Tip extensions are pattern properties, allow variations to be assessed.</li>
<li>Tip properties can be referenced across elements.</li>
</ul>
</ul>
<li>><span>IMPROVED:</span> Patterns can now be defined using any cell in a layout file (GDSII or OASIS, including GZIP-compressed and strict OASIS).</li>
<li>>Patterns can now be defined using any cell in a layout file (GDSII or OASIS, including GZIP-compressed and strict OASIS).</li>
<ul>
<li><span>IMPROVED:</span> Rectangular decomposition now runs 5x faster due to library improvements.</li>
<li>Rectangular decomposition now runs 5x faster due to library improvements.</li>
<li>This can now be cancelled in case the decomposition is taking longer than desired.</li>
<li>Mapping to internal primitives (box, L, T, U, X, S) with transforms is attempted.</li>
<li>Complex orthogonal geometry will be decomposed to rectangles, with hierarchical, relative transformations applied to ease variation set-up.</li>
<ul>
<li><span>IMPROVED:</span> Greatly improved performance due to new Boolean library.</li>
<li>Greatly improved performance due to new Boolean library.</li>
<li>Decomposed geometry will be reconstituted during export, to provide minimal output.</li>
<li>Orientation of decomposition rectangles is configurable.</li>
<li>Decomposition reduces to a minimum number of rectangles.</li>
Expand All @@ -229,7 +229,7 @@ <h1 class="western">Features</h1>
</ul>
<li>Complex primitive type used for cases that cannot be mapped to the primitives or decomposed.</li>
<ul>
<li><span>IMPROVED:</span> User interface now contains the coordinate list in a collapsed expander section, to avoid making the user interface unwieldy.</li>
<li>User interface now contains the coordinate list in a collapsed expander section, to avoid making the user interface unwieldy.</li>
</ul>
</ul>
<li>Pattern elements can be copied, pasted, removed and duplicated from a context menu.</li>
Expand All @@ -242,17 +242,17 @@ <h1 class="western">Features</h1>
<li>Interlayer subshape-relative positioning.</li>
<li>Rotation, including relative rotation. Relative rotation can use reference pivot point.</li>
<ul>
<li><span>IMPROVED:</span> Rotation pivot point choice now includes 'world origin', alongside 'self' and reference.</li>
<li>Rotation pivot point choice now includes 'world origin', alongside 'self' and reference.</li>
</ul>
<li>Array rotation, including relative rotation. Relative rotation can use reference pivot point.</li>
<ul>
<li><span>IMPROVED:</span> Rotation pivot point choice now includes 'world origin', alongside 'self' and reference.</li>
<li>Rotation pivot point choice now includes 'world origin', alongside 'self' and reference.</li>
</ul>
</ul>
<li>Pattern extents can be displayed to ease understanding of the quilt construction.</li>
<li>Flip (horizontal, vertical, also aligned in either or both of X and Y) support.</li>
<li>Text annotation (pins).</li>
<li><span>IMPROVED:</span> Reference elements can be identified using 'Find' buttons and context menus across the user interface, easing workflow for reviewing and editing these relationships.</li>
<li>Reference elements can be identified using 'Find' buttons and context menus across the user interface, easing workflow for reviewing and editing these relationships.</li>
<li>High performance, multi-threaded pattern generation engine, supporting arbitrary pattern definitions and automatic duplicate removal. 225,000 patterns takes less than 10 seconds.</li>
<ul>
<li>Relative transforms are very fast, due to a sophisticated transformation pipeline.</li>
Expand All @@ -261,7 +261,7 @@ <h1 class="western">Features</h1>
<li>Different colors can be assigned to geometry from the selected / unselected pattern elements.</li>
<li>Export to hierarchical GDSII and OASIS. The export process is extremely fast, taking advantage of multithreading and optimized design.</li>
<ul>
<li><span>IMPROVED:</span> Resolved a defect with OASIS output for certain geometry.</li>
<li>Resolved a defect with OASIS output for certain geometry.</li>
<li>GZIP-compressed output files are supported.</li>
</ul>
<li>Auto-configuration of Variance DOE.</li>
Expand All @@ -272,7 +272,7 @@ <h1 class="western">Features</h1>
<li>Middle (or Ctrl-Left) click selection of elements in the viewport.</li>
<li>Customization of background and axis colors.</li>
</ul>
<li>Runs under .NET 6 on all platforms, with standalone packages that include the runtime.</li>
<li>Runs under NET 7 on all platforms, with standalone packages that include the runtime.</li>
</ul>
</blockquote>

Expand Down
8 changes: 7 additions & 1 deletion Documentation/navbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,13 @@

<tr>
<td>
<p class="main"><a href="releases.html" target="DocView">Series 4</a></p>
<p class="main"><a href="releases.html" target="DocView">Series 5</a></p>
</td>
</tr>

<tr>
<td>
<p class="main">&nbsp;&nbsp;<a href="releases_400.html" target="DocView">Series 4</a></p>
</td>
</tr>

Expand Down
44 changes: 15 additions & 29 deletions Documentation/releases.html
Original file line number Diff line number Diff line change
Expand Up @@ -199,41 +199,27 @@
<h1 class="western">Quilt Release History</h1>

<ul id=menu>
<li><a href="#releases_400">4.0</a>
<li><a href="#releases_500">5.0</a>
</ul>

<blockquote>
<a name="releases_400"></a>
<h2 class="western">New to 4.0 (Aug 27 2022)</h2>
<a name="releases_500"></a>
<h2 class="western">New to 5.0 (23 Mar 2023)</h2>
<blockquote>
<p class="western">Amongst other major changes, 4.0 moved from the Clipper 1.0 library to Clipper 2.0. This migration was performed within the existing representations, as the upgraded library was still seeing engineering and validation work for floating point values. With this tool update,
we can now take advantage of this support to greatly simplify our code and system design, gaining major performance enhancements.</p>
<ul>
<li>Tip definitions now supported.</li>
<li>Moved to .NET 7.</li>
<li>Migration from GeoLib geometry to Clipper-native double precision representations.</li>
<ul>
<li>References are supported for tip definition and numeric values.</li>
<li>Tip numeric properties can be varied (minimum length, increment, steps).</li>
</ul>
<li>Relative rotation transform enhancements.</li>
<ul>
<li>Option to rotate around local pivot, reference pivot or world origin.</li>
</ul>
<li>Decomposition updates.</li>
<li>Shape engine updates, and unification with Variance.</li>
<li>Layout handling enhancements.</li>
<ul>
<li>Resolved compatibility with certain flavors of OASIS (e.g. strict).</li>
<li>Revised layout to tool handling, to make scaling behavior less opaque.</li>
<li>Fixed a defect in the OASIS file writer that yielded missing or broken geometry in some cases.</li>
</ul>
<li>Adopted Clipper 2 library.</li>
<ul>
<li>Next-generation polygon clipping library, bringing major performance and behavioral improvements.</li>
<li>Layout decomposition runs in less than a half of the time compared to the last 3.x release.</li>
<li>NOTE: Patterns requiring keyhole injection during layout decomposition may be different in 4.0 compared to 3.2.2 and earlier, due to internal methodology changes in the clipping library.</li>
</ul>
<li>UI work.</li>
<ul>
<li>Use expander container to prevent non-orthogonal shapes causing UI to become too busy.</li>
<li>Button and context menu entries for selecting references used by the current element, in list and viewport.</li>
<li>Massive refactoring effort, across multiple stable, complex systems and their interactions.</li>
<li>Gains of up to 40% in performance by:</li>
<ul>
<li>Use of Clipper-native data structures throughout, avoiding conversions.</li>
<li>Avoidance of copying data between representations.</li>
<li>Avoidance of computational overhead by scaling geometry between representations.</li>
</ul>
<li>Code simplification and readability by single representation.</li>
</ul>
</ul>
</blockquote>
Expand Down
Loading

0 comments on commit d63b0b2

Please sign in to comment.