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: 718eac1c0 ece6959ca 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: 6c9870efb 265d46c0f 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 182353ff09c9e297fe5d2fffcf6ff6256119f62a Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jun 17 10:58:54 2024 +0200 [block] Added 'tangent' routing to arrow labels. commit 416d50f45f90f49d7bd7a826bfe6b949fc1c5a8f Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jun 17 09:46:17 2024 +0200 [block] Refactor label orient using EOrientation Instead of overloading EDirection for label orientation, we introduced a new enum. It also has (currently unhandled) cases Tangent and TangentUpsideDown), which are only valid for Arrows. For this reason we have introduced EBlockStyleTarget to allow a style to know if it applies to Blocks or Arrows (or both). commit 8093fc259c5bf6633c6a06f985f749f0d17180fe Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Jun 7 20:05:19 2024 +0200 [block] Uplift tests to past changes commit 97be67df1fa077d0272b44121dcf35edbcabc865 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Jun 7 22:16:41 2024 +0200 [block] fix: bounds check & order commit 3aea71bb9727a5ac31cf614befdf36caef878d7a Author: Zoltán Turányi <teknos@gmail.com> Date: Fri Jun 7 13:18:41 2024 +0200 [block] Added routing.allow_joint_layout commit ada8be8dbb062c5e7d84b0d9eb8ea43c2a4981e1 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jun 4 17:57:21 2024 +0200 [block] fix: check overlap after de-overlap runs commit 51753e1d56f5e0b25e0e7eb24d362eb757cc0cc1 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jun 3 20:36:29 2024 +0200 [block] fix: to de-overlap fully overlapped arrows - Correctly calculate spacing (multiply with deoverlap_distance_factor only once) - If only one of two fully overlapped arrows are marked as 'try harder' we still detect it. - If fully overlapped arrows go the opposite direction, their path is appropriately reversed commit d8145af6b9554496c668109cb0026dc63a305443 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 22:05:47 2024 +0200 [block] Add routing.try_harder to de-overlapping commit 03c6d64697bf85b473989d271452367208e48386 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Jun 4 20:29:16 2024 +0200 [dbg] Added dbg chart to debug contour This chart accepts Contour descriptions in one of the two formats: - The natvis format: you just copy a list of edges to the clipboard + [9] {{290.2, 528.521}->{290.2, 500.621} (marked)} contour::Edge + [9] {{290.2, 528.521}->{290.2, 500.621} via {290.2, 500.621}, {290.2, 500.621} (invisible) (marked)} contour::Edge - The output of Dump() calls in contour //Edge(XY(244.452010, 125.997362), XY(256.167193, 103.138561), XY(250.454638, 118.711733), XY(254.238430, 111.198503)) //Edge(XY(256.167193, 103.138561), XY(259.571087, 103.953120), true, 1) - GDB printed Edge lists (too long here to exemplify) Empty lines delineate contours. Also we have 'center=' and 'zoom=' settings to allow extreme zoom. commit 16631c708fabaeb22e903fe5f89b4bf64d6a5701 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Jun 5 09:30:29 2024 +0200 [gui] making config saves atomic So that we do not loose config during a hard restart. commit 4cc7c99954075a9b9b46027e72160766a9949bc9 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Jun 5 08:44:01 2024 +0200 [gui] fix: do stop ongoing compilation on a change commit 84a17e076b73d3f7d7d90e3435ae71b73c6c3393 Author: Zoltán Turányi <teknos@gmail.com> Date: Sun Jun 9 14:36:55 2024 +0200 [contour] fix: less stringent HullOverlap() Probably we have ruined some of the performance.... commit 7990de286ef4161bc1c46de4a082e1bc8e2e2062 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Jun 6 12:04:45 2024 +0200 [contour] fix: an assert commit 6be6730905766e9309d8cac8b2eed6ee40e2dbca Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 17:14:31 2024 +0200 [contour] fix: Angle() fallback for short edges commit dd59f103905e3c5254fca23c1b4a42578d3dd81d Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 15:05:28 2024 +0200 Spelling commit 91df8382e5ff5d88e77b7a2c810622f44ee79471 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 15:05:18 2024 +0200 [block] fix: pre-calculate vector Because some of the arrows may not be laid out in later permutations to get a bearing from. commit d3fda21a9ba3e27ff79b0490be731c3e415368e0 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 15:02:56 2024 +0200 [block] fix: apply de-overlap factor consistently commit 9a538dea87c938e628e07b2be3eec9be14587cc2 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 15:02:07 2024 +0200 [block] fix: do not calc distance, it can differ. commit ab8a916fa476a9508e63a07041219613b6808de1 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 31 08:20:10 2024 +0200 [block] fix: de-overlap 'horizonal' arrows, too commit 153205fe1c9ae7bc646a3f732298e0e894cad84c Author: Zoltán Turányi <teknos@gmail.com> Date: Thu May 30 10:56:22 2024 +0200 [block] fix: correct group merge at de-overlap commit 54651277069b55c4944ce92c96867bacb54297fa Author: Zoltán Turányi <teknos@gmail.com> Date: Thu May 30 10:55:50 2024 +0200 [block] fix: honour user set offset at de-overlap commit 33ad192b6d565c4869dae97af1cc8543333e7254 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 29 11:03:55 2024 +0200 Spelling commit 1e6e2c5d95a1aa6281a3a7ab2d0f7831546f9bf2 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 29 10:41:51 2024 +0200 [block] fix: Consider arrow line width at layout This is especially important if we merge arrows (going the same path) during layout de-overlapping, as the merged arrow is really thick. commit d87275d2f686b3bcfc91420d836c1ef89af23188 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 28 10:44:47 2024 +0200 [block] Lay out parallel arrows as one When we find that 2 arrows overlap end-to-end, we lay them out as just one, thicker arrow during de-overlap and use the resulting path for each. This results in more consistent paths and less work at de-overlap. commit 3e5ebb42437d3fc1cd8a87777fce2b0c38964d1f Author: Zoltán Turányi <teknos@gmail.com> Date: Mon May 27 20:08:45 2024 +0200 [block] fix: at de-overlap, block around endings When we de-overlap and lay out arrows, we not only try avoiding the arrows already laid out, but also the end segments of those not yet. This applies only to arrows not yet laid out in the same overlap arrow end group and also only for arrows with a direction, which have this end segment. commit a86b79086922f3f3fea2f7ea91198257cf11ea14 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 24 10:53:06 2024 +0200 [block] Improve de-overlap Now we try all the permutations in layout and shift order to de-overlap. commit 7f6e635490b1398ab8de994eac7207b687c0e0fe Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 22 10:14:17 2024 +0200 [block] Update natvis, show arrow/block names commit 44052c9cc08d4e5daa50e48656c8965048b33026 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 28 19:24:09 2024 +0200 [block] fix: hints for 'via' shall not be selectable commit 397211c56bc06bbb5f764cd892e378064b38d116 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 29 10:27:12 2024 +0200 Spelling commit e0f2603f13298cfb1e2e521a27fe79b7677a63e9 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 7 13:20:23 2024 +0200 v8.6 version bump, copyright year, doc update commit 7eef8a941116596e343f45b1f1ac426e9c3f2ad4 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 15 11:09:45 2024 +0200 [test] 'contours' now prints errors to stderr All errors printed to stderr (even the success msg of unit tests). Only generated filenames are printed to stdout. commit 580f784e6a9739c89527f660c273f8185eee5eb0 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 15 11:10:09 2024 +0200 [test] Added 2 more failing unit tests commit 207387af32506135809d605ed27959509b3c12af Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 14 13:22:03 2024 +0200 [test] added a failing unit test commit 2ea662295633637e881eaab6de25f3a779fa2bdc Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 16:49:01 2024 +0200 [block] Added routing=grid commit b9ee52049410934c0e332d65830612c73e7c40ca Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 14:19:50 2024 +0200 [block] fix: arrow path eval considers waypoints If we have a specific direction, we add waypoints at the start/end of the arrow to enforce starting direction. The short segment from the block to the waypoint (or rather the turn that happens between this small segment and the rest of the path) is now considered when evaluating path candidates. This is especially useful for Manhattan routing to penalize path alternatives that start perpendicular to the waypoint segment. commit 45ebc5d37420d69fcfa5954ba3718824e18d1561 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 13:05:00 2024 +0200 [block] More built-in ports to boxes Now specifying n, s, e, w with a percentage will give you a port along that edge. commit f06fbfb1bc27b52d26bdee444fb8141bfa9a48b6 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 11:24:52 2024 +0200 [block] fix: hinting at color (re-)definition commit 7bfe3b1d92a2220c218e6bfe750910fa166adeda Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 11:09:33 2024 +0200 [block] fix: CSH and hinting for 'around' commit 0c73e5efddc5018754bb59c03ec3f6040849a8c0 Author: Zoltán Turányi <teknos@gmail.com> Date: Fri May 17 10:20:26 2024 +0200 [block] Retain labels for 'join' even with fills commit 146e1151fd5405a773076e7195a9d19b5acc3593 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 14 12:24:29 2024 +0200 [gui] fix: ctrl+delete now works well commit 24ddc562e9ec4c28bad1207d95a9dde5736d414c Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 8 18:48:32 2024 +0200 Even more opportunity to inline And voila, another 30% for large 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: 7.96, 3.26, 1.94 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 2753 ns 2753 ns 253000 ExpandBoxy/16 33994 ns 33993 ns 20489 ExpandBoxy/256 3229416 ns 3229196 ns 217 ExpandBoxyRotate/1 3377 ns 3377 ns 207884 ExpandBoxyRotate/16 39916 ns 39916 ns 17564 ExpandBoxyRotate/256 3445801 ns 3445642 ns 203 ExpandCurvy/1 26033 ns 26034 ns 26872 ExpandCurvy/16 214250 ns 214241 ns 3269 ExpandCurvy/256 7031848 ns 7031824 ns 100 UnionBoxy/1 6613 ns 6613 ns 105851 UnionBoxy/16 114646 ns 114643 ns 6109 UnionBoxy/256 11785560 ns 11785509 ns 59 UnionBoxyRotate/1 7571 ns 7570 ns 92940 UnionBoxyRotate/16 124104 ns 124104 ns 5636 UnionBoxyRotate/256 12196808 ns 12196435 ns 57 UnionCurvy/1 69618 ns 69618 ns 10059 UnionCurvy/16 866771 ns 866760 ns 807 UnionCurvy/256 49850268 ns 49847025 ns 14 And this concludes our inlining effort. Cumulative improvements: v8.4->v8.6 v8.5->v8.6 ExpandBoxy/1 24.51% 9.56% ExpandBoxy/16 61.97% 39.04% ExpandBoxy/256 79.08% 59.00% ExpandBoxyRotate/1 19.86% 7.00% ExpandBoxyRotate/16 58.34% 36.21% ExpandBoxyRotate/256 78.21% 58.54% ExpandCurvy/1 10.42% 1.84% ExpandCurvy/16 13.70% 4.49% ExpandCurvy/256 38.32% 16.67% UnionBoxy/1 0.48% 7.52% UnionBoxy/16 52.92% 26.95% UnionBoxy/256 87.18% 45.65% UnionBoxyRotate/1 0.51% 4.09% UnionBoxyRotate/16 51.01% 25.46% UnionBoxyRotate/256 86.98% 45.34% UnionCurvy/1 6.19% 2.48% UnionCurvy/16 23.95% 10.82% UnionCurvy/256 69.00% 30.95% --------------------------------------- Total 42.37% 23.98% commit b9332ea94fb17279c750f3802a9287aa97571f7d Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 8 18:19:44 2024 +0200 Split Crossing calculation into two Taking the HullOverlap() check out may enable inlining it, which will speed up in a double loop (calculating the hull of the outer edge only once) and also may be faster for the straight cases. This results in significant additional speedups. 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: 5.14, 4.86, 4.19 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 2776 ns 2776 ns 252709 ExpandBoxy/16 38704 ns 38704 ns 18168 ExpandBoxy/256 4309827 ns 4309672 ns 163 ExpandBoxyRotate/1 3432 ns 3432 ns 204987 ExpandBoxyRotate/16 44497 ns 44497 ns 15691 ExpandBoxyRotate/256 4396776 ns 4396488 ns 159 ExpandCurvy/1 25775 ns 25774 ns 26973 ExpandCurvy/16 216064 ns 216063 ns 3232 ExpandCurvy/256 7679049 ns 7679121 ns 91 UnionBoxy/1 6528 ns 6528 ns 106732 UnionBoxy/16 124161 ns 124161 ns 5631 UnionBoxy/256 13611049 ns 13610250 ns 52 UnionBoxyRotate/1 7447 ns 7447 ns 94347 UnionBoxyRotate/16 133993 ns 133992 ns 5217 UnionBoxyRotate/256 14245779 ns 14245555 ns 49 UnionCurvy/1 69382 ns 69383 ns 9999 UnionCurvy/16 902965 ns 902940 ns 777 UnionCurvy/256 56316661 ns 56315067 ns 12 commit 65771fae17d9f64944b0a02593ba459b8bc3fa77 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed May 8 18:06:51 2024 +0200 [block] fixes - Always fill BlockBlock::basic_format so that \c() works. - Improve parsing of 0,0,0,0 attr values: remove location escapes - Correctly display help for margin commit 12a294762d1fa100a8460dd1e6105f1941f28adb Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Jun 26 14:38:48 2024 +0200 [graph] Uplifting to graphviz v11 We still compile with old versions. commit 36b0de677634f51c4b70901e4167cbea868c1be7 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Jun 24 21:24:16 2024 +0200 [graph] fix: prevent a crash If we cannot add to the graph we no longer crash, just omit the element we could not add to the gvgraph engine. Note that the bug we aim to fix (#94) happened, because - some linker error resulted in Agundirected (a constant linked from cgraph.dll) having 'no_loops' flag set (well, all the flags set). - This caused the graphviz engine refuse to add a->a self loops, meaning agedge returning NULL. - We did not check this and dereferenced it. This never happened on Linux (no linker error). commit 28079e6379feabe016e6b4d5545dda5f26c31c10 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 7 12:39:11 2024 +0200 [block] fix: naming for cloned unnamed parents commit 236ae6597ac76a5a487aa33aa6895737fb81cba1 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue May 7 12:13:12 2024 +0200 [signalling] fix: badly ordered box entities commit e8bca9d5d5717975f25fa95bf1d7c02493d80633 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Apr 16 10:45:10 2024 +0200 [signalling] fix 'outer' was a reference, which got updated, when region_belts[RD-1] was updated. After refactoring Contour, Contour::GetBoundingBox() no longer returns a reference but a value, which does not get updated. commit 9b6b78f4a6f9ae24908370506058e89f6cf30142 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Apr 10 18:37:30 2024 +0200 Refactor Contour Removing the bounding box member. This makes all operations simpler, with the exception of getting the bounding box, which is now 4 double min/max operations (and a Block copy). This reduces the size of Contour from 184->152 bytes (32-bit) 208->176 (64-bit). Since we do not have to calculate the bb, our benchmark improved again. (But this may not be a true improvement, we just became comparable to numbers in commit 'perf: allow inlining some Edge:: functions' and prior.) 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: 7.56, 3.60, 2.65 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 2971 ns 2971 ns 236661 ExpandBoxy/16 53921 ns 53921 ns 12974 ExpandBoxy/256 7690392 ns 7689768 ns 91 ExpandBoxyRotate/1 3560 ns 3560 ns 196410 ExpandBoxyRotate/16 59357 ns 59357 ns 11781 ExpandBoxyRotate/256 7794707 ns 7794098 ns 90 ExpandCurvy/1 25940 ns 25940 ns 26945 ExpandCurvy/16 218781 ns 218775 ns 3208 ExpandCurvy/256 8269882 ns 8269960 ns 84 UnionBoxy/1 7033 ns 7032 ns 99715 UnionBoxy/16 155739 ns 155739 ns 4498 UnionBoxy/256 20822176 ns 20821461 ns 34 UnionBoxyRotate/1 7863 ns 7862 ns 88989 UnionBoxyRotate/16 163567 ns 163563 ns 4280 UnionBoxyRotate/256 20910375 ns 20909506 ns 33 UnionCurvy/1 69879 ns 69880 ns 9916 UnionCurvy/16 957535 ns 957521 ns 733 UnionCurvy/256 70731589 ns 70729718 ns 10 commit 1d1f5e20b541c9fde2940f9dc2757942c70ae595 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Apr 10 18:02:48 2024 +0200 Refactor SimpleContour Remove the bitfields for clockwise and the *_fresh ones. Instead store this info in 'area' and 'boundingBox.x.from'. This may be a bit more processing, but less memory use. This way 32-bit size becomes 56 bytes from 64, while 64-bit size becomes 64 bytes from 72. This makes operations on small SimpleContours a bit faster. 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: 2.67, 9.73, 6.41 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3018 ns 3018 ns 230550 ExpandBoxy/16 53366 ns 53365 ns 13143 ExpandBoxy/256 7575484 ns 7575284 ns 93 ExpandBoxyRotate/1 3614 ns 3613 ns 193496 ExpandBoxyRotate/16 59487 ns 59487 ns 11789 ExpandBoxyRotate/256 7778114 ns 7777392 ns 90 ExpandCurvy/1 26910 ns 26909 ns 25566 ExpandCurvy/16 229701 ns 229695 ns 3053 ExpandCurvy/256 8449069 ns 8448902 ns 83 UnionBoxy/1 6951 ns 6951 ns 100825 UnionBoxy/16 154929 ns 154929 ns 4480 UnionBoxy/256 20917245 ns 20916947 ns 33 UnionBoxyRotate/1 7844 ns 7843 ns 89335 UnionBoxyRotate/16 163271 ns 163262 ns 4289 UnionBoxyRotate/256 21184981 ns 21184658 ns 33 UnionCurvy/1 70054 ns 70054 ns 9971 UnionCurvy/16 960689 ns 960654 ns 728 UnionCurvy/256 72549196 ns 72549873 ns 10 commit 465fdbb4ee52ddab315f497f555cf93d02989128 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Apr 10 15:04:52 2024 +0200 Avoid intermediate bounding box calc at Expand2D But do calculate it for the end result. This last step makes the benchmark somewhat slower (but truer). 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.03, 0.57, 0.51 --------------------------------------------------------------- Benchmark Time CPU Iterations --------------------------------------------------------------- ExpandBoxy/1 3166 ns 3166 ns 221704 ExpandBoxy/16 53936 ns 53936 ns 12983 ExpandBoxy/256 7562920 ns 7562409 ns 92 ExpandBoxyRotate/1 3740 ns 3740 ns 187513 ExpandBoxyRotate/16 59788 ns 59786 ns 11712 ExpandBoxyRotate/256 7775568 ns 7774938 ns 89 ExpandCurvy/1 26462 ns 26462 ns 26408 ExpandCurvy/16 222066 ns 222068 ns 3156 ExpandCurvy/256 8344796 ns 8344627 ns 84 UnionBoxy/1 7052 ns 7052 ns 99041 UnionBoxy/16 154280 ns 154277 ns 4546 UnionBoxy/256 20780072 ns 20778930 ns 34 UnionBoxyRotate/1 7944 ns 7943 ns 88066 UnionBoxyRotate/16 162107 ns 162107 ns 4318 UnionBoxyRotate/256 21112273 ns 21110608 ns 33 UnionCurvy/1 70210 ns 70209 ns 9965 UnionCurvy/16 963121 ns 963130 ns 728 UnionCurvy/256 72491632 ns 72489803 ns 10 commit 4f04530c7fbe60fd72d34ad624147dd8a85a2d3f Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Apr 10 11:13:21 2024 +0200 Tweak of ContoursHelper::HasCrossingCPs(). Also added some lessons in a comment on what not to optimize. commit d26d8b4bfeb19d69a9e7284bdf9bbc95be17c954 Author: Zoltán Turányi <teknos@gmail.com> Date: Wed Apr 10 11:27:26 2024 +0200 Spelling, includes commit 854c6538522f455b18c1bf05672bb525219210da Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Apr 9 11:11:13 2024 +0200 Make Contour ctors explicit Made Contour(SimpleContour) and Contour(HoledSimpleContour) ctors explicit. This is to avoid accidental casts. As a result in some places we save (avoid an extra conversion), at some other places we need explicit casts to Contour. (block_arrows.cpp contour_test.cpp) commit f8a711da601e3832444d3a21939962cbaea98aa7 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Apr 9 15:49:23 2024 +0200 fix: small test improvement commit 218d298d4b09ee059b8e27cf36daa8e21c55d6bb Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Mar 28 16:50:17 2024 +0100 perf: allow inlining some Edge:: functions These are really fast for straight edges, so inlining them helps that case a lot. ExpandBoxy/1 3043 ns 3043 ns 230304 ExpandBoxy/16 52958 ns 52958 ns 13232 ExpandBoxy/256 7553023 ns 7552244 ns 93 ExpandBoxyRotate/1 3648 ns 3648 ns 192182 ExpandBoxyRotate/16 58559 ns 58557 ns 11961 ExpandBoxyRotate/256 7668402 ns 7667782 ns 91 ExpandCurvy/1 25786 ns 25785 ns 26889 ExpandCurvy/16 218464 ns 218459 ns 3194 ExpandCurvy/256 8239617 ns 8239341 ns 84 UnionBoxy/1 7159 ns 7159 ns 97687 UnionBoxy/16 154206 ns 154203 ns 4541 UnionBoxy/256 20739854 ns 20739624 ns 34 UnionBoxyRotate/1 8012 ns 8012 ns 87263 UnionBoxyRotate/16 161685 ns 161670 ns 4332 UnionBoxyRotate/256 20857230 ns 20856942 ns 34 UnionCurvy/1 70242 ns 70240 ns 9951 UnionCurvy/16 957359 ns 957335 ns 728 UnionCurvy/256 71075369 ns 71076065 ns 10 commit 4f738251aa86c2db719732d2146be29e2c08e354 Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Mar 28 16:49:32 2024 +0100 perf: avoid calculating the clockwiseness - Do not calculate ContoursHelper::clockwise_C{1,2} when working with a single Contour. These fields will only be used if C2!=nullptr. - When invoking Contour::Operation() in SimpleContour::CreateExpand(), we directly place the temp simple contour into a Contour's first::outline as opposed to using a SimpleContour->Contour ctor. The latter do want to copy the clockwiseness and bounding box of the source SimpleContour to that of the contour, which we want to prevent being calculated. commit 7397d0605eef5e6b78a72bb134f0db0f1a82473c Author: Zoltán Turányi <teknos@gmail.com> Date: Thu Mar 28 12:48:15 2024 +0100 fix: include commit 38e6f0789d4af967245f5189b353e42a3d766718 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Mar 26 09:17:18 2024 +0100 Uplift tests to the fixes before Only note positions have changed, since we fixed Cut(). For some reason exI0.pptx has changed, but not exI0.png. I dunno why. commit 5e32f10a6e6e48436237245b5e7e21d3eaad2f89 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Mar 26 09:07:24 2024 +0100 [block] fix: brittleness We also fix a numerical instability in arrow layout. The calculation of insideness is quite brittle. commit b0039a75d296098a60066668ad4429c1c62751f2 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Mar 26 09:06:58 2024 +0100 fix: don't invert distance I have no clue, why this was so. commit e370d5cb36f8d6e63fd49edb336b8107d77f98c1 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Mar 26 08:25:23 2024 +0100 fix: Numerically more stable Contour::Cut() commit 23060b32a50fd55d03772191a0b1457312b40311 Author: Zoltán Turányi <teknos@gmail.com> Date: Tue Apr 16 10:29:28 2024 +0200 [GUI] fix For an empty old string this comparison had bad same_at_from.byte_index. (It was not zero.) commit c45ada765c73e2b3c13bce0f1e43617792122bb3 Author: Gábor Németh <homar@riseup.net> Date: Mon Mar 25 13:52:35 2024 +0000 [test] Allow Luma diffrence when comparing PNGs commit 1c619c1951155daffc58e5683933605526751737 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Mar 25 14:17:37 2024 +0100 Revert "fix: numerically more stable SimpleContour::Cut()" This reverts commit 05a60dfe48ff800dec3451004537dc461b268e36. commit ba9ba293f286981faf8b3c4a1a0f680beebe02a4 Author: Zoltán Turányi <teknos@gmail.com> Date: Mon Mar 25 13:49:18 2024 +0100 fix to b0204251b
Among the 4 debian patches available in version 8.6.2-3 of the package, we noticed the following issues: