commit 0469e355aa43268f531fc7c26cb8232249008a7e Author: Gábor Németh <homar@riseup.net> Date: Mon Aug 26 08:33:36 2024 +0200 Adapt arm32 workaround for tests too commit 33f12bd66521dd21b7d63f522ac7e754c8826331 Author: Gábor Németh <homar@riseup.net> Date: Thu Aug 15 07:29:19 2024 +0200 Honor some debuild flags commit 8cc1f84e6e3e357bda7935c5a1fea9c97be66081 Author: Gábor Németh <homar@riseup.net> Date: Wed Aug 14 10:32:34 2024 +0200 Dance around GCC oddity in arm32 builds commit eae456c5cbe5c56b9d4485a3994c718ca2249cfc Author: Gábor Németh <homar@riseup.net> Date: Sun Jul 28 18:07:28 2024 +0200 Fix looong test runs in absence of LibreOffice commit 7f90a70403fe52a3237e2c62e36e2c8a48907273 Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 17 16:26:35 2024 +0200 Clean Texinfo autogenerated files found by pbuilder --twice commit 34afa3ad7eefefc12a3406566ee1d141bce06089 Author: Gábor Németh <homar@riseup.net> Date: Mon Jul 15 15:32:43 2024 +0200 Fixup copyright notices - Use appropriate short names - Fill in missing license info - Quote full license texts commit 647ce021fdafb06f7bcc448cc244385c00be9c71 Author: Gábor Németh <homar@riseup.net> Date: Mon Jul 15 14:53:59 2024 +0200 Linitan overrides commit da65cf0fb678814b03d379e6ed790edfdf51d22c Author: Gábor Németh <homar@riseup.net> Date: Mon Jul 15 14:52:11 2024 +0200 Hardening binaries commit 2dbb5e1dbe4d714aab4cf4e842297b40d5a5d4ed Author: Gábor Németh <homar@riseup.net> Date: Tue Jul 16 16:16:59 2024 +0200 New upstream 8.6.2 commit 6e73003070858838f522672ede83ca933d7fa665 Merge: 718eac1c ece6959c Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 24 09:26:50 2024 +0200 Merge v8.6.2 commit 718eac1c07c8404bd048642a07526d1e7db4ad3a Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 24 09:21:11 2024 +0200 Add comment on use of dpkg-vendor by Boyuan Yang <byang@debian.org> commit ece6959ca494e23ff07b74b6ea88b5c78088294f Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 17 13:13:44 2024 +0200 [test] Retry on types of LibreOffice failures commit 6b13f0d89cf96af06d55d9bb21085fe850c5380f Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 17 08:19:45 2024 +0200 Normalize license file name commit 8a487c7e0f73527b35ef83e0d559d5360dee9c08 Author: Gábor Németh <homar@riseup.net> Date: Tue Jul 16 15:15:49 2024 +0200 Fix GV symbol externalization commit a00c3a3610c700b0d6115d9b1af6f5e9e5847581 Author: Gábor Németh <homar@riseup.net> Date: Tue Jul 16 15:15:27 2024 +0200 Squash some compiler warnings commit 6205cc2fc38b1b59c87406555246cfd6e9d43707 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jul 16 12:11:55 2024 +0200 [graph] fix: remove warning ...of redefinition of CGRAPH_API when included from graphchart.cpp (after including cgraph.h) commit 8da99f7f71ee95f694c976d3c4b70caeefc72861 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jul 16 09:05:05 2024 +0200 v8.6.2 version bump commit a211c01eb8470bb5722a457a1d4f57e73ab2c156 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jul 16 08:57:11 2024 +0200 License uplift - The WildMagic code (solve_degree) was moved from contour_distance.cpp to contour_edge.cpp over the years. Now we move the associated copyright text, as well. - Changing the documentation license from GFDL to (the very similar) CC BY-SA 4.0 to be debian compliant. commit 81a2e01e6facbc3fbd9e6a8fd2b14fc3adecd448 Author: Gábor Németh <homar@riseup.net> Date: Fri Jul 12 14:01:49 2024 +0200 Retry LibreOffice conversions in tests commit 7e8e485089869b7574b5d460293839244e85e0d6 Author: Gábor Németh <homar@riseup.net> Date: Fri Jul 12 12:41:57 2024 +0200 Skip test with missing font commit 9ad94bfbb6caf04a98a568086f99a0890a519b1e Author: Gábor Németh <homar@riseup.net> Date: Fri Jul 5 08:56:47 2024 +0200 Fix duplicate file commit 85cf18ab05af9e0dd9f7a928b7cc242e3496ca01 Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 3 08:51:56 2024 +0200 Uplift policy to 4.7.0 commit 6acf61fd873dbace124e58484c278778e0738a15 Author: Gábor Németh <homar@riseup.net> Date: Mon Mar 25 09:51:24 2024 +0100 [test] Allow Luma diff for non-Debian Otherwise insignificant off-by-one-pixel failures happened on eg. Ubuntu 24.04 commit 277f45970e5321c6aeba945affbd0346aacf3453 Author: Gábor Németh <homar@riseup.net> Date: Tue Mar 5 13:20:30 2024 +0100 [test] Increase nofont mask radius for non-amd64 Lot of tests failed on esp. Arm64 due to one-pixel-off around text characters. The default is still keptt to be in-line with the upstream testing framework. commit 91254180e82f960215db549fb9255da25a842cbc Author: Gábor Németh <homar@riseup.net> Date: Wed Jul 3 08:46:53 2024 +0200 New upstream v8.6.1 commit 497af4cab62c2b39e2e3beefffc78f31b0c8f46d Merge: 6c9870ef 265d46c0 Author: Gábor Németh <homar@riseup.net> Date: Thu Jul 11 13:48:17 2024 +0200 Merge tag 'v8.6.1' into unstable commit 347260d5339884288e2f26ead112bf62b45b9bb9 Author: Gábor Németh <homar@riseup.net> Date: Thu Jul 11 12:42:41 2024 +0200 [ci] Fix removing version.txt commit 265d46c0f4299f04dfc615d22962aa6caf7c733d Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Jul 11 09:32:32 2024 +0200 v8.6.1 version bump commit 9f16918715ebc2008db62c7375ab7085b63577f0 Author: Gábor Németh <homar@riseup.net> Date: Thu Jul 11 05:51:57 2024 +0000 [ci] Sync for v8.6 commit 863f72ff0e7d2dcdb5d963426d28638c5721487c Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jul 8 16:56:22 2024 +0200 [build] fix: Remove precompiled graphviz for [win] Now you need to locally install graphviz to compile Msc-generator. This has always been the case as you needed the header files. With this patch the compiled binaries are removed. You can either - install to src/imported/graphviz; or - set GV_PATH to where you have installed. Although Advanced Installer only works from the former. This patch also prunes the list of libraries linked and correctly sets __declspec(dllimport) for windows builds on imported graphviz symbols. commit db66bfe49867d30566617ceb87eb4c2cbe1554f9 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jul 8 16:45:18 2024 +0200 fix: error squiggles at line ends Previously error squiggles did not show at the line end (or at the file end). This patch fixes that. We also sanitized the error collection routine. commit 006e67319d9827427915f8b1c2d301a2779918d3 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jul 8 13:28:23 2024 +0200 fix: don't crash for --tei-mode without -S commit d7027776debf8109dbe858f8ab4302489b493d2f Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jul 2 13:25:35 2024 +0200 [build] fixes - libdbg missing - unit_tests in correct place - add contour/unit_tests to CLEANFILES commit 167c4f76a8ff031355c739d6063ee526c552e17c Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jul 2 12:38:03 2024 +0200 v8.6 doc fixes commit 6c9870efbca552f9406b0d8364dbf854fcb8dbd3 Author: Gábor Németh <homar@riseup.net> Date: Sat Jan 20 08:45:45 2024 +0100 Bump copyright years commit 9158adecb30c9db176eebccbf7d796816b1cbc29 Author: Gábor Németh <homar@riseup.net> Date: Tue Oct 3 08:17:51 2023 +0200 Drop unused BD commit c3ab30e379b5d358ec7b07a7a8990aa96238baa7 Author: Gábor Németh <homar@riseup.net> Date: Mon Oct 2 16:18:05 2023 +0200 Fix DEP-3 header for 0001 commit d384d020609dfe4188d505c7dca93bc7de2c3f0c Author: Gábor Németh <homar@riseup.net> Date: Fri Jan 19 15:51:48 2024 +0100 Start on new upstream 8.5 commit 5b8ec245fa1d25681349f63632e65bc62e874a44 Merge: 7f4e55c6 074a209f Author: Gábor Németh <homar@riseup.net> Date: Fri Jan 19 15:47:56 2024 +0100 Merge tag 'v8.5' into debian/unstable commit 074a209f8b6fdf193eda5f1e4af84be273487b7c Author: Gábor Németh <homar@riseup.net> Date: Thu Jan 18 16:55:59 2024 +0100 [build] Add missing images for dist commit dccfe7a7351bdbe324ce46e85eb83785bc04e330 Author: Gábor Németh <homar@riseup.net> Date: Mon Jan 15 11:01:02 2024 +0000 [ci] Make building with 'my' default commit adc6618f2baa5a4d896168151dcff224c6c9c2ba Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Dec 5 17:20:40 2023 +0100 v8.5 version bump and doc update commit 8c294a96af1466564109b4d704f3f06d8ef53d1d Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Dec 8 16:27:06 2023 +0100 [signalling] fix: last page in OLE is distorted When copying the last page of a chart as an OLE object to the clipboard, it ended up in the right size object for the last page, but compressing the last page to the bottom of the rectangle having empty space above corresponding to previous pages. This turned out to be a problem with EMF/WMF drawing. When drawing the last page of a signalling chart, the background fill was not clipped by cairo/windows (not sure which is to blame). So the entire chart background was added to the EMF (with the size of only the last page), which compressed the image in the Y dir. This is a workaround to avoid clipping the background for WMF/EMF exactly at the bk rectangle's edge. commit b7cfda09d31feb3774085e846ddb89fe5d8a52fa Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Dec 7 15:05:27 2023 +0100 fix: Canvas WMF and EMF drawing - fake_scale now calculated from actual page size, not the size of the whole chart. - Bad control flow fully prevented WMF and EMF file output. - WMF was not a possible file extension for output files. commit 1ff4ff1c33d1b8aed12e5d5ed32f1290bf8e757d Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Dec 8 22:10:01 2023 +0100 [win] Dont allow pasting arbitrary text as a chart commit 163eab33351de4773468fc39aa27270e248e073f Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Dec 7 15:03:41 2023 +0100 [win] fix: blocking compilation freezes It ended up in an infinite loop by forcing redraw from inside OnDraw(). It also did not take compilation result due to seq number mismatch. commit 96414d9c4e78ba871c7be6ba422d2029f5daf63d Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Dec 5 16:48:56 2023 +0100 [win, gui] fix: multi-page copying Now when copying the entire chart, we use the currently selected page. - win: Removed the sub-buttons of the "Copy Chart" button - gui: we save clipboard content even if only page or gui state changes commit d26b4d2405cc62713143f743b39dfbcc50821ea0 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Dec 5 11:40:42 2023 +0100 [win] Added AutoSave to the MFC GUI Also rationalized the checks for changes (both for AutoSave and Instant Compilation). Now we only check for changes 200ms after the last change was made. If the user kept typing we postpone the saves and compilations until we have 200ms of no change. This provides a less vibrant experience. commit e9a2cc5be532cc73d8d221324a40909eb45171c5 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Dec 4 11:34:41 2023 +0100 [win] Added Instant Compile to the MFC GUI commit 0cae5e9b2499513af69d3a3d89ca30034c4610fa Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Dec 1 15:47:41 2023 +0100 [win] Added support for alt-text embedding - Changes to the GUI - Added AutoPaste checkbox to settings (saved to registry) - Added new "Copy entire chart" button, fixed button menu - Added logic to handle Clipboard-originated files & store original clipboard content (for update) - Added code to paste alt-text clipboard content - Added code to save when originating from Clipboard - Added code to copy to clipboard in alt-text format - Added CMscGenDoc::SetStatusMessage() to change the status bar. Known bugs: external editor does not handle this. commit 7ded8d660800bffb6ae860648f41e304129d3cb3 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Dec 1 14:39:48 2023 +0100 Extend DrawToFile() with single-page option Both Canvas::DrawToFile() and CDrawingChartData::DrawToFile() is extended with a parameter that allows drawing only a single page of the chart to a file. This also involves changing the Canvas ctor used for file output. It no longer adds page number to the filename, that was moved to Chart::DrawToFile(). commit 1daaf37a13936d99b9b62dfaef0745142bd00e80 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 30 12:58:37 2023 +0100 [win] rationalize CMscGenConf::SetLanguage() commit c3fb5f52a98d464393d65a8f294fc73e0502846d Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 30 12:53:53 2023 +0100 [win] rationalize CDrawingChartData::GetSize() commit e8a01957f7f091b11272091487d8e629b017bc11 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 30 10:49:40 2023 +0100 Small refactor of Canvas::GetPagePosition() commit 14d0ba599700cf988276ce7628d9dc928e330760 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 29 20:47:21 2023 +0100 [win] Clipboard ops moved to separate file So that the MFC GUI can use them later. commit a5dba5e443aa90ebc4e87ffa07c2eb5af92ec678 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 29 20:45:50 2023 +0100 [win] Disambiguate taking compile results There is a race condition scenario: a compilation is finished, then a message is sent, but is not processed until a second compilation is done and a second message is sent. Then we process the first message and take the compilation result (of the second compilation as it overwrites that of the first). When the second message comes, we will have no compile result. In this patch we fix this race. Now we track each compilation with a seq number and can match them to WM_APP+293 messages. commit 31b0a22fd494d1bc5cf0340f30d1a354dce100fd Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 29 20:39:04 2023 +0100 [win] opt: move CChartData instead of copy commit a9e079ce3064a46c46a031f8f607f52f44ba52f9 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 29 20:35:40 2023 +0100 [gui] More precise clipboard detection When we see an eligible object on the clipboard (Art_GVML or Alt-text) we only offer to paste it until it is on the clipboard. commit 8e51bcf0901004446ee9f0d2a0135a2a2c1fe5cb Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 29 09:59:12 2023 +0100 [gui] separate clipboard.h from GUI commit 7f3357ee7f3c51fab82ba585e147904ecf8704d9 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Nov 28 14:06:30 2023 +0100 Spelling commit d3f549d21fb3b42eb20d42e76f823020364e641d Author: Gábor Németh <homar@riseup.net> Date: Mon Dec 11 20:42:23 2023 +0000 [build] Fix UB regexp; fix #90 commit f39467ec1c4967ddb5bcf719476259be74402520 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Dec 1 15:33:28 2023 +0100 [mac] fix: drop a framework deprecated in 10.11 Starting in macOS 11.0, the Uniform Type Identifiers (UTI) framework replaces the older Core Services framework for UTI management. The use of deprecated values stopped working sometime Nov 2023. This patch makes Msc-generator work only on MacOS 11.0 and later. commit a9b5d782b2ecbe1b05b08f0357db4166fdbe5d4d Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Nov 28 14:12:24 2023 +0100 [mac] avoid a warning commit 41cf4b85cbe4f77cda0ce6c6835eec5f71016aec Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Nov 28 17:49:41 2023 +0100 [graph] Fix compatibility with graphviz 9.0 Both 9.0 and 8.0 has introduced breaking API changes. Here we cater for them. Note that graphviz does not define a version macro available at compile time, hence the tinkering in configure. On Windows, please set the graphviz version in src/IncludesGraphviz.props manually. commit b7e0e7409ff451f51f896df602ebfa0b7beb4685 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Nov 24 09:31:07 2023 +0100 [contour] Make at() non-checking A few more percentages, all across the board. (Most cases we just use it in iterating through the contour, hence no checking is needed. Also at_next() and at_prev() uses it, and they are guaranteed to be in-bounds. Also, never did we get an exception so far.) This results in another 1.6% increase, bringing the total from where we started almost to 30%. Run on (24 X 1236 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 0.20, 0.25, 0.58 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3044 ns 3044 ns 230729 ExpandBoxy/16 55765 ns 55765 ns 12577 ExpandBoxy/256 7876395 ns 7875878 ns 89 ExpandBoxyRotate/1 3631 ns 3631 ns 192275 ExpandBoxyRotate/16 62579 ns 62578 ns 11112 ExpandBoxyRotate/256 8312183 ns 8311254 ns 84 ExpandCurvy/1 26525 ns 26523 ns 26388 ExpandCurvy/16 224321 ns 224318 ns 3126 ExpandCurvy/256 8438712 ns 8438524 ns 83 UnionBoxy/1 7151 ns 7151 ns 98032 UnionBoxy/16 156933 ns 156932 ns 4461 UnionBoxy/256 21684130 ns 21682948 ns 32 UnionBoxyRotate/1 7894 ns 7893 ns 88426 UnionBoxyRotate/16 166515 ns 166503 ns 4201 UnionBoxyRotate/256 22315575 ns 22314481 ns 31 UnionCurvy/1 71387 ns 71388 ns 9786 UnionCurvy/16 971975 ns 971967 ns 720 UnionCurvy/256 72198055 ns 72191717 ns 10 commit 45d80af47f77be2c858add486fbcf97b5a08b867 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 23 15:03:01 2023 +0100 [contour] Improved storage for crosspoints Below a certain threshold we store them in a sorted vector, above we use our own hashmap. This way we could improve on the small use cases. Run on (24 X 2400 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 0.19, 4.67, 6.49 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3077 ns 3077 ns 227920 ExpandBoxy/16 57622 ns 57622 ns 12172 ExpandBoxy/256 8461165 ns 8460465 ns 83 ExpandBoxyRotate/1 3695 ns 3695 ns 189408 ExpandBoxyRotate/16 64395 ns 64394 ns 10884 ExpandBoxyRotate/256 8890518 ns 8889880 ns 78 ExpandCurvy/1 26667 ns 26666 ns 26073 ExpandCurvy/16 224740 ns 224733 ns 3100 ExpandCurvy/256 8618920 ns 8618740 ns 80 UnionBoxy/1 7227 ns 7227 ns 97316 UnionBoxy/16 163395 ns 163395 ns 4290 UnionBoxy/256 22832381 ns 22831577 ns 31 UnionBoxyRotate/1 8019 ns 8019 ns 87210 UnionBoxyRotate/16 173376 ns 173361 ns 4037 UnionBoxyRotate/256 23418420 ns 23418490 ns 30 UnionCurvy/1 70937 ns 70935 ns 9877 UnionCurvy/16 983335 ns 983313 ns 710 UnionCurvy/256 75947501 ns 75946574 ns 9 And this concludes the contour performance optimization batch, we have started in "[test] added simple perf test to measure Expand()" and continued for 11 commits. The cumulative performance gains are shown below. Boxy contours contain only horizontal and vertical edges, 4 times the number shown. Curvy contours only contain beziers the same number. -------------------------------------------------- Benchmark Old Time New Time Improvement -------------------------------------------------- ExpandBoxy/1 3647 3077 15.63% ExpandBoxy/16 89383 57622 35.53% ExpandBoxy/256 15439473 8460465 45.20% ExpandBoxyRotate/1 4214 3695 12.32% ExpandBoxyRotate/16 95817 64394 32.79% ExpandBoxyRotate/256 15810175 8889880 43.77% ExpandCurvy/1 29061 26666 8.24% ExpandCurvy/16 248244 224733 9.47% ExpandCurvy/256 11399963 8618740 24.40% UnionBoxy/1 6645 7227 -8.76% UnionBoxy/16 243493 163395 32.90% UnionBoxy/256 91934166 22831577 75.17% UnionBoxyRotate/1 7609 8019 -5.39% UnionBoxyRotate/16 253343 173361 31.57% UnionBoxyRotate/256 93682701 23418490 75.00% UnionCurvy/1 74213 70935 4.42% UnionCurvy/16 1139692 983313 13.72% UnionCurvy/256 160781347 75946574 52.76% This is an overall ~28% increase across all test cases, with the small contours not improving this much (or getting a bit worse), but with the larger ones having a more significant improvement. The small cases suffer from the more logic, which is needed to improve the large cases. Also, curvy test cases do not improve (or get worse) that much because their runtime is somewhat spent on crosspoint finding, which is not changed by these patches. commit 3157d9d79b2bf0d53a6d4bc7a7fbd60b18976b40 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 23 10:49:04 2023 +0100 [contour] Rearrange Ray fields to save padding We also move 'coverage_at_0_minus_inf', which is only ever used once per crosspoint from Ray to ContoursHelper::cp_heads. This reduces the size of Ray from 88/120 bytes (x86/x64) to 72/88 bytes. Surprisingly this has almost no effect on performance. commit d5816db28d652a25927194c2d3fabdf48d905698 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 23 09:55:16 2023 +0100 nit: better error message commit 9cf6d50e07ed9305595dce7aa742721dee7ee53e Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Nov 21 09:23:55 2023 +0100 [contour] Deterministic CP ordering When evaluating the crosspoints and selecting start rays, do them in increasing order of the crosspoints to make this order deterministic. This is to make tests reproducible. Only 4 tests are broken in very minor ways, so we update them in canonical. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2400 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 4.21, 3.85, 7.14 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3197 ns 3197 ns 219019 ExpandBoxy/16 59298 ns 59294 ns 11818 ExpandBoxy/256 8578589 ns 8578126 ns 82 ExpandBoxyRotate/1 3774 ns 3774 ns 184572 ExpandBoxyRotate/16 65595 ns 65594 ns 10671 ExpandBoxyRotate/256 8924224 ns 8923285 ns 78 ExpandCurvy/1 26689 ns 26688 ns 26249 ExpandCurvy/16 223863 ns 223861 ns 3121 ExpandCurvy/256 8649631 ns 8649333 ns 80 UnionBoxy/1 9078 ns 9077 ns 77168 UnionBoxy/16 178782 ns 178779 ns 3924 UnionBoxy/256 23158646 ns 23158062 ns 30 UnionBoxyRotate/1 9840 ns 9839 ns 71189 UnionBoxyRotate/16 185952 ns 185947 ns 3753 UnionBoxyRotate/256 23859546 ns 23858207 ns 29 UnionCurvy/1 72716 ns 72714 ns 9583 UnionCurvy/16 991993 ns 991933 ns 705 UnionCurvy/256 77092493 ns 77091358 ns 9 commit 505713b6fd5923d9e43e0de98bbdab0ffbf9dc9a Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Nov 20 20:38:47 2023 +0100 [contour] Further optimizing ContoursHelper Remove the in-place linked list for contours from Ray. This saves some memory and lookup. Instead simply order Rays such that the rays are ordered as in a contour. Also, the heads of the contours are now stored in an ordered vector rather than in a hashmap, as most of the times we only have a very few SimpleContours participating. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 1767.88 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 1.77, 3.14, 6.60 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3148 ns 3148 ns 222377 ExpandBoxy/16 58574 ns 58573 ns 11940 ExpandBoxy/256 8718093 ns 8717710 ns 80 ExpandBoxyRotate/1 3674 ns 3673 ns 189143 ExpandBoxyRotate/16 65069 ns 65068 ns 10767 ExpandBoxyRotate/256 9087769 ns 9086854 ns 77 ExpandCurvy/1 26779 ns 26778 ns 26185 ExpandCurvy/16 225796 ns 225788 ns 3105 ExpandCurvy/256 8790516 ns 8790273 ns 80 UnionBoxy/1 8820 ns 8820 ns 79406 UnionBoxy/16 186609 ns 186608 ns 3757 UnionBoxy/256 23539413 ns 23538844 ns 30 UnionBoxyRotate/1 9695 ns 9695 ns 72121 UnionBoxyRotate/16 191479 ns 191475 ns 3644 UnionBoxyRotate/256 24072302 ns 24071279 ns 29 UnionCurvy/1 72496 ns 72494 ns 9614 UnionCurvy/16 998862 ns 998853 ns 701 UnionCurvy/256 77605554 ns 77602713 ns 9 commit 883c5e665e15ed6193fc6ca93a10722da017a4c5 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 22 14:20:38 2023 +0100 [contour] fix: evaluate CPs for untangle When we do untangle (one contour), we try finding the rightmost point of the path and deduce the coverage right of each crosspoint (and store it in the head's coverage_at_0_minus_inf member). This makes evaluating the crosspoints faster, as we do not need to find this out the hard way by walking the whole contour and checking X crossings for each crosspoint individually. Now, this mechanism was broken for some contours, where the rightmost point was also a crosspoint. This patch fixes it. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2400 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 1.33, 2.81, 6.31 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3120 ns 3120 ns 225112 ExpandBoxy/16 57256 ns 57255 ns 12230 ExpandBoxy/256 8468749 ns 8468250 ns 83 ExpandBoxyRotate/1 3654 ns 3653 ns 191672 ExpandBoxyRotate/16 63917 ns 63917 ns 10947 ExpandBoxyRotate/256 8875926 ns 8875386 ns 78 ExpandCurvy/1 26843 ns 26843 ns 26034 ExpandCurvy/16 224080 ns 224077 ns 3107 ExpandCurvy/256 8723783 ns 8723582 ns 80 UnionBoxy/1 8785 ns 8785 ns 80043 UnionBoxy/16 183018 ns 183016 ns 3831 UnionBoxy/256 23231065 ns 23229650 ns 30 UnionBoxyRotate/1 9710 ns 9710 ns 72760 UnionBoxyRotate/16 194118 ns 194116 ns 3609 UnionBoxyRotate/256 23895696 ns 23895429 ns 29 UnionCurvy/1 72573 ns 72571 ns 9640 UnionCurvy/16 992309 ns 992297 ns 704 UnionCurvy/256 77759144 ns 77756110 ns 9 commit de67863b8bd2d3747c1cf147056278e8a8e4dfb7 Author: Zoltán Turányi <teknos@gmail.com> Date: Sun Nov 19 15:09:01 2023 +0100 [contour] Optimize ContoursHelper data structures Replace the loose in-place lists in ContoursHelper::Ray with hashmaps to hold the head of contour and cp lists. This makes insertion to them much faster. It also makes Ray smaller, but this is not a large effect. We also realize that after PruneCrosspoints() all rays of a crosspoint are snapped to *exactly* the same coordinates, so strict equality is OK. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 1686.22 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 1.22, 2.54, 6.03 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3090 ns 3090 ns 227863 ExpandBoxy/16 59533 ns 59533 ns 11759 ExpandBoxy/256 8625136 ns 8624522 ns 80 ExpandBoxyRotate/1 3677 ns 3677 ns 190909 ExpandBoxyRotate/16 66114 ns 66114 ns 10594 ExpandBoxyRotate/256 8978649 ns 8978082 ns 78 ExpandCurvy/1 26556 ns 26555 ns 26374 ExpandCurvy/16 225428 ns 225420 ns 3107 ExpandCurvy/256 8744011 ns 8743616 ns 80 UnionBoxy/1 6291 ns 6291 ns 111820 UnionBoxy/16 176010 ns 176005 ns 3983 UnionBoxy/256 33784629 ns 33781507 ns 21 UnionBoxyRotate/1 7200 ns 7200 ns 97436 UnionBoxyRotate/16 182913 ns 182904 ns 3827 UnionBoxyRotate/256 34180432 ns 34178828 ns 21 UnionCurvy/1 70126 ns 70125 ns 9952 UnionCurvy/16 992774 ns 992768 ns 700 UnionCurvy/256 88512068 ns 88506930 ns 8 commit 803a9c5f49bb6809f682ea918f05606f72fa32ec Author: Zoltán Turányi <teknos@gmail.com> Date: Sun Nov 19 15:39:02 2023 +0100 Spelling commit 200b611e667fe196d5dc0de01cfe985c1bd66a0e Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Nov 17 17:48:42 2023 +0100 [contour] Optimize PruneCrosspoints() When creating the in-place ordered linked lists, we take too much time in linearly searching for the right place. We pre-sort the array to minimize the linear search time for the most pressing of the lists. For large unions (1K edges, many crosspoints) this improves performance by 2-3x (curvy or straight contours). Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 1889.13 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 1.13, 0.76, 0.86 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3060 ns 3059 ns 228050 ExpandBoxy/16 58206 ns 58203 ns 12001 ExpandBoxy/256 8538906 ns 8538540 ns 82 ExpandBoxyRotate/1 3647 ns 3647 ns 192058 ExpandBoxyRotate/16 64771 ns 64771 ns 10801 ExpandBoxyRotate/256 8876092 ns 8875077 ns 79 ExpandCurvy/1 26341 ns 26341 ns 26554 ExpandCurvy/16 224607 ns 224599 ns 3116 ExpandCurvy/256 8755116 ns 8754567 ns 80 UnionBoxy/1 6250 ns 6250 ns 111537 UnionBoxy/16 176146 ns 176147 ns 3971 UnionBoxy/256 33756795 ns 33756231 ns 21 UnionBoxyRotate/1 7137 ns 7137 ns 97904 UnionBoxyRotate/16 183211 ns 183210 ns 3820 UnionBoxyRotate/256 34233502 ns 34232768 ns 21 UnionCurvy/1 70030 ns 70029 ns 9917 UnionCurvy/16 998098 ns 998088 ns 701 UnionCurvy/256 89037008 ns 89033030 ns 8 commit 84fe564d8b97fb9f3df8b435de8789e9e62bd8a5 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Nov 17 14:46:25 2023 +0100 [contour] Optimize Edge::Crossing() Instead of passing in a pointer to a remote bool, we signal overlap as the sign of the return value. 5% improvement Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2382.78 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 1.04, 0.82, 0.87 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3092 ns 3092 ns 225583 ExpandBoxy/16 58479 ns 58477 ns 11901 ExpandBoxy/256 8578946 ns 8578339 ns 82 ExpandBoxyRotate/1 3671 ns 3671 ns 191205 ExpandBoxyRotate/16 65171 ns 65168 ns 10786 ExpandBoxyRotate/256 8874038 ns 8873636 ns 79 ExpandCurvy/1 26521 ns 26520 ns 26402 ExpandCurvy/16 224298 ns 224294 ns 3108 ExpandCurvy/256 8747602 ns 8747045 ns 80 UnionBoxy/1 6281 ns 6281 ns 111417 UnionBoxy/16 233701 ns 233698 ns 3001 UnionBoxy/256 88473853 ns 88473339 ns 8 UnionBoxyRotate/1 7200 ns 7200 ns 96409 UnionBoxyRotate/16 244203 ns 244199 ns 2869 UnionBoxyRotate/256 90075972 ns 90075198 ns 8 UnionCurvy/1 70023 ns 70020 ns 10002 UnionCurvy/16 1042126 ns 1042117 ns 669 UnionCurvy/256 143005912 ns 142992150 ns 5 commit 46271fcc64a20a882b87a1bb78685080ffc3a1d5 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Nov 17 11:44:17 2023 +0100 [contour] Optimize Edge::GetBezierHullBlock() Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2400 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 4.24, 2.01, 1.29 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3093 ns 3093 ns 227384 ExpandBoxy/16 63126 ns 63124 ns 11088 ExpandBoxy/256 9661498 ns 9660411 ns 72 ExpandBoxyRotate/1 3668 ns 3668 ns 190580 ExpandBoxyRotate/16 69606 ns 69604 ns 10061 ExpandBoxyRotate/256 10037188 ns 10036719 ns 70 ExpandCurvy/1 26399 ns 26398 ns 26487 ExpandCurvy/16 224990 ns 224984 ns 3110 ExpandCurvy/256 9063532 ns 9063044 ns 77 UnionBoxy/1 6431 ns 6431 ns 109056 UnionBoxy/16 242802 ns 242803 ns 2881 UnionBoxy/256 91744030 ns 91739486 ns 8 UnionBoxyRotate/1 7267 ns 7267 ns 95927 UnionBoxyRotate/16 253878 ns 253868 ns 2763 UnionBoxyRotate/256 93526998 ns 93526202 ns 8 UnionCurvy/1 70180 ns 70174 ns 9983 UnionCurvy/16 1064443 ns 1064436 ns 657 UnionCurvy/256 149243001 ns 149241016 ns 5 commit 02d59d391f5b89d2324a1aeae5f3972d6680fed0 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Nov 17 11:30:36 2023 +0100 [contour] Optimize Edge::Split() So that we do not copy the flags one-by-one. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2398.44 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 5.58, 3.06, 1.72 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3202 ns 3202 ns 220744 ExpandBoxy/16 62769 ns 62769 ns 11157 ExpandBoxy/256 9527944 ns 9527110 ns 73 ExpandBoxyRotate/1 3742 ns 3742 ns 185159 ExpandBoxyRotate/16 69260 ns 69260 ns 10141 ExpandBoxyRotate/256 9842994 ns 9842690 ns 71 ExpandCurvy/1 27223 ns 27222 ns 25694 ExpandCurvy/16 232406 ns 232399 ns 3016 ExpandCurvy/256 9701937 ns 9701832 ns 72 UnionBoxy/1 6417 ns 6417 ns 109111 UnionBoxy/16 244114 ns 244107 ns 2867 UnionBoxy/256 91238731 ns 91237774 ns 8 UnionBoxyRotate/1 7320 ns 7320 ns 95487 UnionBoxyRotate/16 253537 ns 253533 ns 2759 UnionBoxyRotate/256 91889547 ns 91883564 ns 7 UnionCurvy/1 72927 ns 72924 ns 9594 UnionCurvy/16 1133671 ns 1133657 ns 617 UnionCurvy/256 158969167 ns 158954584 ns 4 commit 42f4fd9d2403dedf3c7e561d4b71b5e306b537e2 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 15 18:28:39 2023 +0100 [contour] Optimize Range/Block::Overlap() if gap=0 Some additional speedup. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2330.5 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 6.63, 3.85, 2.08 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3162 ns 3162 ns 221080 ExpandBoxy/16 62124 ns 62123 ns 11265 ExpandBoxy/256 9535133 ns 9533980 ns 73 ExpandBoxyRotate/1 3803 ns 3803 ns 184758 ExpandBoxyRotate/16 68706 ns 68706 ns 10187 ExpandBoxyRotate/256 9834227 ns 9832842 ns 71 ExpandCurvy/1 27992 ns 27990 ns 25018 ExpandCurvy/16 234765 ns 234759 ns 2981 ExpandCurvy/256 9667316 ns 9666984 ns 72 UnionBoxy/1 6362 ns 6361 ns 109734 UnionBoxy/16 237149 ns 237146 ns 2952 UnionBoxy/256 92037391 ns 92029563 ns 8 UnionBoxyRotate/1 7241 ns 7241 ns 96259 UnionBoxyRotate/16 246903 ns 246898 ns 2834 UnionBoxyRotate/256 93513362 ns 93510579 ns 7 UnionCurvy/1 73331 ns 73329 ns 9537 UnionCurvy/16 1124003 ns 1124007 ns 622 UnionCurvy/256 158141054 ns 158141551 ns 4 commit 1c22eaf2f4e3f6f3e69ace13d1c9c1ebdf6d9120 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Nov 7 15:27:52 2023 +0100 [contour] Broken out data storage from Edge - Meta, Update and the enums are now in EdgeBase - The actual coordinates and the metadata is stored in EdgeStorage - All functions in Edge refers to the coordinates and metadata via accessor functions. - We have tightened up sanity checking a bit via asserts. This resulted in minimal changes to contour canonical images. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2299.33 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 7.62, 4.69, 2.49 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3221 ns 3221 ns 217304 ExpandBoxy/16 64012 ns 64011 ns 10939 ExpandBoxy/256 9921228 ns 9920743 ns 70 ExpandBoxyRotate/1 3784 ns 3784 ns 185293 ExpandBoxyRotate/16 70436 ns 70435 ns 9929 ExpandBoxyRotate/256 10266532 ns 10265627 ns 68 ExpandCurvy/1 28235 ns 28235 ns 24805 ExpandCurvy/16 237383 ns 237377 ns 2950 ExpandCurvy/256 9819898 ns 9819090 ns 72 UnionBoxy/1 6345 ns 6345 ns 110307 UnionBoxy/16 238006 ns 238004 ns 2932 UnionBoxy/256 91115695 ns 91114687 ns 7 UnionBoxyRotate/1 7284 ns 7284 ns 96047 UnionBoxyRotate/16 249491 ns 249486 ns 2789 UnionBoxyRotate/256 93221069 ns 93221374 ns 8 UnionCurvy/1 73833 ns 73830 ns 9494 UnionCurvy/16 1132631 ns 1132595 ns 618 UnionCurvy/256 159377044 ns 159369192 ns 4 commit fcda584c62553661d692784c6867563a61540d34 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 15 09:22:58 2023 +0100 [contour] perf improvement, removing modulo Performance measurements (the tests/perftest) showed that 66% of ContoursHelper::FindCrosspointsHelper(contour::SimpleContour const*) was spent in doing the modulo of EdgeVector<>::next(size_t). It had been replaced to a much faster branch, instead. This commit also contains removal of modulo elsewhere and some spelling. This commit resulted in a 40% speed improvement for large expands and 20% for small ones. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 2399.95 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 5.44, 4.80, 2.74 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3131 ns 3131 ns 222241 ExpandBoxy/16 64679 ns 64675 ns 10816 ExpandBoxy/256 10177695 ns 10176548 ns 69 ExpandBoxyRotate/1 3791 ns 3791 ns 187171 ExpandBoxyRotate/16 71145 ns 71145 ns 9844 ExpandBoxyRotate/256 10433025 ns 10432030 ns 67 ExpandCurvy/1 28454 ns 28454 ns 24658 ExpandCurvy/16 236349 ns 236341 ns 2963 ExpandCurvy/256 9905471 ns 9904955 ns 71 UnionBoxy/1 6284 ns 6284 ns 111003 UnionBoxy/16 238098 ns 238084 ns 2939 UnionBoxy/256 89089513 ns 89082565 ns 8 UnionBoxyRotate/1 7272 ns 7272 ns 96191 UnionBoxyRotate/16 249242 ns 249235 ns 2808 UnionBoxyRotate/256 95122406 ns 95119738 ns 7 UnionCurvy/1 74723 ns 74721 ns 9343 UnionCurvy/16 1143973 ns 1143961 ns 613 UnionCurvy/256 159312827 ns 159313425 ns 4 commit 2200e012a3e0e549f536261813d7b98ad4b392c5 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Nov 6 09:31:20 2023 +0100 [test] added simple perf test to measure Expand() - You need Google Benchmark installed - Measures Expand() on an increasingly complex set of contours - The contours only have horizontal and vertical edges, 4x the number displayed in the text. - A second set of tests have only 15 degree slanted edges (a bit more compute power to calculate crossings. Perf results on bigdata5 using -O3 -DNDEBUG with g++-13: Run on (24 X 1776.6 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 256 KiB (x12) L3 Unified 15360 KiB (x2) Load Average: 5.91, 5.27, 3.06 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3647 ns 3647 ns 191825 ExpandBoxy/16 89385 ns 89383 ns 7829 ExpandBoxy/256 15439916 ns 15439473 ns 45 ExpandBoxyRotate/1 4214 ns 4214 ns 167277 ExpandBoxyRotate/16 95817 ns 95817 ns 7323 ExpandBoxyRotate/256 15811340 ns 15810175 ns 44 ExpandCurvy/1 29063 ns 29061 ns 24046 ExpandCurvy/16 248263 ns 248244 ns 2817 ExpandCurvy/256 11400485 ns 11399963 ns 61 UnionBoxy/1 6645 ns 6645 ns 105062 UnionBoxy/16 243501 ns 243493 ns 2856 UnionBoxy/256 91933859 ns 91934166 ns 8 UnionBoxyRotate/1 7609 ns 7609 ns 92562 UnionBoxyRotate/16 253359 ns 253343 ns 2764 UnionBoxyRotate/256 93691533 ns 93682701 ns 8 UnionCurvy/1 74214 ns 74213 ns 9407 UnionCurvy/16 1139742 ns 1139692 ns 613 UnionCurvy/256 160789415 ns 160781347 ns 4 commit 7099826ccf5ffbe18f4f2a0380f859853ae73a0b Author: Zoltán Turányi <teknos@gmail.com> Date: Sun Nov 19 15:12:21 2023 +0100 Spelling commit 6a022b8312749663190f36444210f512436d7116 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Nov 15 12:10:25 2023 +0100 [win] Remove workaround for VS bug Fixed by: https://developercommunity.visualstudio.com/t/Internal-compiler-error-when-inheriting-/10180917 Plus some spellcheck. commit f6d53bc9de9ba805d1fa29519dbd045dc68650c7 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Nov 6 08:38:39 2023 +0100 [block] Fix GUI expand/collapse for no-name boxes Also fix the associated help and some spellcheck. commit 8858945c6ea52be6ea393b4df13f9d156f54c3bc Author: Gábor Németh <homar@riseup.net> Date: Mon Oct 2 16:13:18 2023 +0200 [test] Dump failing tests as Base64 We save some logfile space and PNG conversion hassle commit b3deb113d9a50c13fcb79580b3cecf951767cb4f Author: Gábor Németh <homar@riseup.net> Date: Mon Oct 2 15:53:04 2023 +0200 [test] More png tools commit 4eb5eef130c1e49599dce30e85b7a09f9313fcb7 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Nov 2 10:59:43 2023 +0100 nits commit 69e667e939186ea752ce82b387dc6273b5c51e72 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Aug 18 14:05:13 2023 +0200 [gui] --fps and MSCGEN_FPS to limit frame rate commit cc2af02b8052483fa5d8588c1c9680eef7537057 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Oct 17 16:10:53 2023 +0200 [gui] fix help text wrapping commit 7f4e55c65200576c7ac9e031dc2999735cb0ba29 Author: Gábor Németh <homar@riseup.net> Date: Mon Sep 25 16:14:23 2023 +0200 Show failing tests in text log commit 02d3631bd40391ec8f6a4959597527dcbc99598b Author: Gábor Németh <homar@riseup.net> Date: Mon Sep 25 15:56:45 2023 +0200 New upstream tarball 8.4.2 commit 1da58068e398da8ae38e5c07687ae0db6a413554 Author: Gábor Németh <homar@riseup.net> Date: Wed Sep 6 15:40:24 2023 +0200 [build] Check for timeouts in unit tests commit 3f4c7d158c598d0a2fbc2cd7cbe335c64ad8a51b Author: Gábor Németh <homar@riseup.net> Date: Mon Aug 28 14:33:57 2023 +0200 [build] Make explicit when unit tests finish and update the target file only then. Besides this checks whether `contours` gets stuck in verbose builds. commit 9ab4c9a38df67c65644494ccac826bc5f54fce2b Author: Gábor Németh <homar@riseup.net> Date: Tue Jul 18 10:56:10 2023 +0200 Fix release tag in d/ch commit 7f0f6688f893189ab61220e1118984ecedb110ef Author: Gábor Németh <homar@riseup.net> Date: Wed Jun 14 16:18:55 2023 +0200 Fix missing include with g++-13 commit cd4268b3f2e76f95e4bcd089b636c7b31cb98772 Author: Gábor Németh <homar@riseup.net> Date: Thu Jun 1 10:12:42 2023 +0200 Switch to limpress-nogui (#1024840) commit 0c9a1c4bf7e79adec102a1fe16f20cecf41ef902 Author: Gábor Németh <homar@riseup.net> Date: Thu May 25 12:28:30 2023 +0200 Remove built header file commit 2bc6da072fff2adc630858aaf6530b14bd613768 Author: Gábor Németh <homar@riseup.net> Date: Mon May 22 12:17:02 2023 +0200 Remove more Windows-only files commit 715c8698a5f657f9b4b695595967f95997ea91d9 Author: Gábor Németh <homar@riseup.net> Date: Mon Mar 6 10:53:02 2023 +0100 Bump copyright years commit 320e8e9f192b222aa4fc966ad6848cef592dd63a Author: Gábor Németh <homar@riseup.net> Date: Mon Mar 6 10:49:23 2023 +0100 Bump std version
Among the 4 debian patches available in version 8.6.2-3 of the package, we noticed the following issues: