Releases: philstopford/Quilt_GPL
5.0
This has been privately available for quite a while now, so it's time for a public release.
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.
- Moved to .NET 7.
- Migration from GeoLib geometry to Clipper-native double precision representations.
- Massive refactoring effort, across multiple stable, complex systems and their interactions.
- Gains of up to 40% in performance by:
- Use of Clipper-native data structures throughout, avoiding conversions.
- Avoidance of copying data between representations.
- Avoidance of computational overhead by scaling geometry between representations.
- Code simplification and readability by single representation.
4.0
- Tip definitions now supported.
- References are supported for tip definition and numeric values.
- Tip numeric properties can be varied (minimum length, increment, steps).
- Relative rotation transform enhancements.
- Option to rotate around local pivot, reference pivot or world origin.
- Decomposition updates.
- Shape engine updates, and unification with Variance.
- Layout handling enhancements.
- Resolved compatibility with certain flavors of OASIS (e.g. strict).
- Revised layout to tool handling, to make scaling behavior less opaque.
- Fixed a defect in the OASIS file writer that yielded missing or broken geometry in some cases.
- Adopted Clipper 2 library.
- Next-generation polygon clipping library, bringing major performance and behavioral improvements.
- Layout decomposition runs in less than a half of the time compared to the last 3.x release.
- 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.
- UI work.
- Use expander container to prevent non-orthogonal shapes causing UI to become too busy.
- Button and context menu entries for selecting references used by the current element, in list and viewport.
3.2.1
This release fixes the multi-threaded project loading, which was broken before due to a typo in the code, making the load of large projects take much longer than it should have done. There was no other functional impact. The UI framework was also updated during the build, but otherwise no changes have been made.
(Builds updated since initial release for Gtk and Windows)
3.2
Standalone packages for all platforms, including all required libraries
- Dimension, offset and step values can be linked across subshapes.
- References need to be same-type (e.g. dimension to dimension, or offset to offset).
- For dimensions, the dimension within the pattern can be used, or the initial value.
- Implemented the ability to cancel layout loading and evaluation, in case desired.
- Familiar, but refined user interface - change required in order to accommodate the parameter-linking feature.
3.1
Except for macOS and standalone packages (which include the relevant libraries), .NET 5.0 needs to be installed.
Rectangular decomposition refinements, variable arrays, etc.
- Refactored export pipeline to ease maintenance.
- Allow imported layer/datatype information to be carried through the tool pipeline to export.
- Allow for export layer/datatype definition through 'LxxxDxxx' element naming.
- Viewport customization (axis, background colors).
- Independent array X and Y count variables.
- Merge parameter exposed to allow elements to be merged into a common target layer on export.
- NET 5.0 brings 10% performance gain.
- Layout parsing bug fix.
- Rectangular decomposition enhancements.
- Loops are now handled in decomposition using keyholer.
- Improved handling of pre-keyholed geometry in decomposition pipeline.
- Bug fix for multi-entry decomposition, where relative transforms were incorrectly registered for subsequent decomp passes.
- Bug fix for merge handling of multi-island, same-layer, decomposition results.
3.0
First release of 3.0 series.
- Support output of GZIP-compressed layout files for input and output.
- Geometry can be selected with a middle (or Ctrl-Left) click in the viewport.
- Geometry can be colored differently for selected/unselected elements.
- Viewport can now zoom to the selected element in the requested pattern.
- Hotkeys in context menu.
- Element list now has a context menu, making it easier to copy, paste, remove and duplicate elements.
- Quilt now loads patterns involving many elements (typically from layout decomposition) much faster, due to use of multithreading.
- Added extents drawing to the tool. This allows the user to see the pattern extent used for placement in the quilt, making it easier to understand how placement is behaving (backported to 2.x line).
- Pattern definition using layout files (GDSII, Oasis; including GZIP-compressed files) for any cell.
- Geometry will be mapped to internal primitives whenever possible.
- Arrays will be constructed, where possible, from arrayed cell references.
- Complex cell hierarchies will be fully resolved to map into the Quilt system.
- Complex orthogonal geometry will be subjected to rectangular decomposition.
- Rectangular primitives will be added, ordered in increasing X,Y sequence based on the bottom left corner.
- Decomposition primitives can be oriented vertically (default) or horizontally (as a user setting).
- Relative positioning will be defined, using the series order of the decomposed rectangles.
- Decomposed polygons will be unioned on export, to reconstitute polygons to a minimal case.
- Non-orthogonal geometry will be used as a complex primitive, displayed as an edge list.
- Pattern elements can be renamed now.
- Allow negative X/Y position coordinates.
- Reworked some internals to make the transformation pipeline simpler and much more robust.
- Transformation system has been overhauled, allowing for deep relative transform hierarchies without any significant computational overhead.
2.5.0
Except for macOS and standalone packages (which include the relevant libraries), .NET Core 3.1 needs to be installed.
This release brings scheduled features and enhancements from custom development work. Please do get in touch if you want to arrange for custom development work.
- Backports from custom development branch:
- Bug fix for dependent references when removing elements.
- Viewport-based selection, using middle, or ctrl-left, mouse button to select pattern element by a proximity search to the click location.
- Search is multi-threaded.
- Hotkeys in context menu.
- Zoom-to-selected (z).
- Allow negative X/Y position coordinates.
- Allow rename of pattern elements.
- Performance enhancements for relative rotation pipeline.
- UI refinements.
- Multi-threaded loader.
- Color preference for geometry not coming from selected element.
- ListBox context menu.
- Quilt multithreading enablement (build directive was lost).
- Layout output enhancements.
- Support output to GZIP-compressed layout files.
- Expand the list of recognized file extensions.
2.3.0
Standalone builds should not require installation of .NET Core 3.1 (feedback welcome). The other packages expect .NET Core 3.1 to be installed. Both require this support system, but standalone packages include the libraries.
- Pattern extents can now be drawn in the viewport to aid understanding.
- Fixed duplicate patterns showing up for some rotation situations.
- Fix for viewport issue when toggling filled polygon display.
2.2.5
Standalone builds should not require installation of .NET Core 3.1 (feedback welcome). The other packages expect .NET Core 3.1 to be installed. Both require this support system, but standalone packages include the libraries.
- Resolved issues when relative rotation is combined with complex transforms.
2.2.4
Standalone builds should not require installation of .NET Core 3.1 (feedback welcome). The other packages expect .NET Core 3.1 to be installed. Both require this support system, but standalone packages include the libraries.
- Pattern placement bug fix for export (double transform)