-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSeries 1.txt
188 lines (147 loc) · 7.89 KB
/
Series 1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
Changelog for Quilt (formerly Paisley). A pattern generator.
1.0.6
- Major performance boost.
- Employ additional multithreading in pipeline.
- Results are still consistent with previous releases.
1.0.5
- Added bookmark to viewport.
- Viewport context menu wasn't updating with user actions.
- Added option to show 'subshape' inputs rather than the output.
- Output is unaffected.
- Viewport refinements.
- Documentation integrated into help menu.
1.0.4
- Various small fixes and adjustments.
- UI adjustments.
- Preference-related fixes.
- Licensing/activation user experience cleaned up.
1.0.3
- Table UIs finalized.
- Mac and GTK versions finalized.
- Dark mode on Mac supported.
! Discontinued WinForms.
1.0.2
- Large performance boost in Quilt build.
- 70x speed-up in quilt build peformance due to new strategy for duplicate pattern filtering.
- Approach is single-core dominated, but the performance gain in this new strategy is dramatic.
- From 710 s for 225k patterns to 10 s.
- UI performance optimizations.
- Work to prevent needless UI updates by better event filtering.
- Work on the adaptive UI.
- GTK2 has issues with the existing UI so working to make this behave well by changing the layout approach.
1.0.1
- Refactoring.
- Licensing overhaul.
- Minor fix to the polygon output in geoCore, no user impact.
1.0.0
- Allowed quilt build to be suspended; exporting in this situation will force a build.
- Revised internals of geoCore to permit faster export (1000x faster), through multithreading and optimizations.
- Obfuscator.
- CSV file contains pattern summary.
0.9.0
- Validated system with 255,000 pattern generation and export.
- Quilt build time 730 seconds on i7 6700K (4 threads). Runtime is ~ O^2, this suggests.
- Memory post-build was ~1 GB.
- Oasis export yielded a 16 MB, valid file with all patterns correct.
- Optimized export pipeline based on this test, removing the pre-export quilt build step, also avoiding excess resource allocation.
- UI is now updated with progress during save. Export can be lengthy, however.
- Report quilt build time.
- Removed constraint on element name being unique.
- Fixed text box not being cleared after element is added.
- Numeric gadgets for viewport zoom, and viewport position.
- Report total number of patterns in quilt.
0.8.0
- First pass preferences implementation.
- Colors, AA, OpenGL mode, etc.
- Moving UI to tabs, to accommodate preferences settings.
- Documentation.
- Fixed error in the subshape 2 offset limits for X-shape.
- Performance work across the internals of the Quilt system.
- Project loading has seen a massive speed-up with new approach.
- Evaluating the quilt is now faster still, and the UI now shows the status of the build.
- Multi-element patterns indicate which level is being evaluated.
- No more indeterminate spinners : the system now reports its actual progress, for each stage of the build.
- Internal refactoring / clean-ups.
- Reliability work to prevent unplanned exit.
- Licensing systems.
- Export CSV file for ease of DOE set up in Variance 3.5.1 (Variance has a corresponding update for this feature).
0.7.0
- UI lockout during various operations, preventing cascadeded updates.
- Added multithreading to quilt to massively speed-up pattern screening (which was the bottleneck).
0.6.0
- Made UI update during long-running tasks (viewport generation / file export).
0.5.0
- Fixed serious bug in Oasis writer for >= 128 cell refs (patterns).
0.4.0
- Menu bar addition to UI.
- Storage implementation.
- Leveraging Variance implementation for this system. Load and save from XML project files.
- Copy/paste of settings between elements.
0.3.0
- Padding.
- Absolute spacing, applied in both X and Y directions as a gap between the patterns in the quilt.
- Added progress bar for draw event and also for export to file.
- Experimental solution for exception if parameters changed during redraw.
- Freeze the UI until the redraw is done.
- Tidied up UI.
- Dimensional variation of subshapes.
- Added clamping code to the pattern element class to try and ensure that subshape variations do not break the shape type of the element.
- Added increment and step controls for H/V length/offset fields for each subshape.
- Screening of patterns implemented to avoid duplication.
- Dimensional variation of subshapes can cause identical patterns, also due to subshape clamping.
- Implemented colinear vertices removal, to ensure compatibility with Variance.
- Improved filter on file dialog for export.
- Fixed layer numbering starting at 0 on export.
0.2.0
- geoCore output.
- Using latest geoCore package from Variance.
- Make use of the geoCore integration to actually save Oasis and GDS files to disk.
0.0.5
- Merge geoCore from Variance.
- Multitude of bug fixes and updates for Paisley.
- Incremental viewport to give feedback during large quilt build-out.
0.0.4
- Moved variant generation down to element level. This is a push-down of detail into the relevant class, after prototyping at the quilt level.
- Quilt generation validated with this approach.
- Fixed pattern bounding box code in quilt:
- Get overall min/max values in X and Y for overall bounding box.
- Calculate width/height as final step.
- Added hashing to avoid adding duplicate pattern definitions in the quilt.
- Fixed variant code to handle '0' step increment value.
- Fixed bugs that prevented position in subshape and subshape reference properties being correctly handled.
0.0.3
- Fixed a bunch of bugs related to linked properties and UI misfires stemming from recent activity.
- Quilt now provides overall 'view' of the system to users. Need to make appropriate changes.
- Moved pattern element base definition and names into quilt.
- Added method to update Quilt instance.
- Make Pattern accept a set of patternelements in its constructor.
- Allow elements in a pattern to be queried, etc.
- Each Pattern generates its own PreviewShapes for the pattern. Quilt then collects these.
- Added code to allow each pattern to calculate and expose bounding box information for its contents, to allow Quilt to efficiently generate the grid.
- Quilt creates factorial of all positioning variations by mapping out the design space from all positional parameters.
- Relative positioning hooked-up and validated.
0.0.2
- Positioning with regard to subshape index and position within subshape.
- Adding in relative positioning support.
- X and Y against a different pattern element (or world origin)
- UI elements are working and the changes are tracked.
- Min/Max values for positioning in X and Y.
- Implemented relative positioning calculation system that hopefully wrangles nested relationships.
0.0.1
- Prototyping.
- Taking infrastructure from Variance project as needed.
- Preliminary UI.
- Listbox to list elements in pattern.
- Selecting an element shows its properties.
- Like Variance, changing values immediately registers those values with the pattern element.
- Shape system from Variance.
- Stripped out contouring as the patterns will use basic primitives.
- Pattern elements can be based on rectangle, T, L, X, U or S.
- Subshape characteristics will be varied within the element (min/max with steps)
- Preliminary architecture:
- Quilt is top-level and will deliver output to viewport, etc. when queried.
- Quilt will hold a list of Patterns and can determine the best layout grid for the list of patterns based on the maximum size.
- Quilt also has the hierarchical information to optimally generate the output from the patterns.
- Each Pattern is a set of one or more PatternElements, arranged per the pattern definition with variations in size and relative positioning.
- Each Pattern takes care of arranging its PatternElements.
- PatternElements are delivered by the ShapeLibrary, each with its own variations based on user defined values.