Commit graph

237 commits

Author SHA1 Message Date
sheaf 13cc649319 improve corner initial guess for Newton iteration
This commit improves the initial guess we use for the Newton iteration
to solve the envelope equation when the best tangent we found arises
from a corner: instead of starting at (i = i0, s = 0), i.e. at the start
of the current curve in the spline, we might instead start at
(i = i0 - 1, s = 1).

This commit also improves the debug output to make it clearer which part
of the path goes forwards (little white dot above, inside fit points)
or backwards (little black dot below, inside fit points).
2024-11-17 15:34:55 +01:00
sheaf aeb7a425f2 improve styling of stroke view & file tabs 2024-11-03 12:28:47 +01:00
sheaf 74a8ad3f80 align visibility/locked buttons to end 2024-11-03 11:52:33 +01:00
sheaf 237fb4a7d7 disable keyboard shortcuts when text editing 2024-11-03 11:52:33 +01:00
sheaf 197adec8d0 handle brush corners 2024-11-02 10:57:04 +01:00
sheaf 7a82470db9 fixup curve drag code 2024-11-02 10:53:54 +01:00
sheaf bb237d99c8 prefer point drag over curve drag 2024-10-25 13:44:01 +02:00
sheaf 7b1dcefd46 Migrate waargonaut -> {aeson, aeson-pretty, hermes-json} 2024-10-23 14:49:42 +02:00
sheaf 60287fbf7e Require GTK >= 4.10 2024-10-23 14:49:22 +02:00
sheaf 6ecfebd397 allow document titles to be edited 2024-10-21 14:58:53 +02:00
sheaf 71f42894f8 pen + brush mode = no op 2024-10-21 10:43:13 +02:00
sheaf 6a9dca211a update screenshot 2024-10-20 17:50:53 +02:00
sheaf 61a33e30d2 proper fix for brush widget action applying to all strokes 2024-10-20 17:49:26 +02:00
sheaf 2e05731ffa add visible/locked layer icons 2024-10-20 17:49:10 +02:00
sheaf b0a17c80ec allow brush widget to modify different strokes 2024-10-20 10:27:29 +02:00
sheaf 3fe46fc029 don't deselect selection after brush widget update 2024-10-19 16:14:33 +02:00
sheaf 5adcb34de6 synchronise brush widget change across selection 2024-10-19 15:51:45 +02:00
sheaf 0223c92a85 allow selection in brush mode 2024-10-19 11:50:25 +02:00
sheaf 53243621b5 implement stroke list popover menu functionality 2024-10-19 11:50:05 +02:00
sheaf 27269809e7 make checkboxes smaller 2024-10-19 11:49:53 +02:00
sheaf 3a7b05d60d make stroke popover menu appear on right click 2024-10-19 11:49:45 +02:00
sheaf bcd0b9fb13 add CSS for stroke popover menu 2024-10-17 18:54:15 +02:00
sheaf 60b65a38e1 remove stroke from list stores when deleting all stroke points 2024-10-16 12:41:19 +02:00
sheaf d8c83140e7 update readme 2024-10-12 17:17:58 +02:00
sheaf 4606d0b543 add sample screenshot 2024-10-12 17:12:52 +02:00
sheaf fea6667114 hacky fix to cusp computation timeout 2024-10-12 16:48:48 +02:00
sheaf 47cf66c5dd rename recomputeStrokes -> redrawStrokes 2024-10-12 16:48:21 +02:00
sheaf 1a8f4b5f5d improvements to brush params when changing brush 2024-10-12 15:41:52 +02:00
sheaf c1d6dd4151 brush list view: first steps 2024-10-09 16:57:08 +02:00
sheaf b5b29f124a Farey sum for curve subdivision 2024-09-28 15:45:07 +02:00
sheaf f7a4b02e90 fix stroke cache issues 2024-09-28 13:07:56 +02:00
sheaf 3886dca483 improvements to draw anchor 2024-09-28 12:10:36 +02:00
sheaf 3d36b39541 fix brush rotation widget 2024-09-28 11:17:33 +02:00
sheaf a41c6235ae anchor position is not static 2024-09-28 03:12:23 +02:00
sheaf 66490b87aa fix draw anchor curve indexing 2024-09-28 01:32:03 +02:00
sheaf 264e04555b add header to warning dialog 2024-09-28 00:38:32 +02:00
sheaf 23cc439ff2 update list model upon undo/redo 2024-09-27 23:53:33 +02:00
sheaf 1ca6d9ccf5 add back hie.yaml 2024-09-27 23:38:44 +02:00
sheaf 24f182feec add stroke layer view 2024-09-27 23:36:33 +02:00
sheaf 0eb0724dde Refactors in preparation for stroke hierarchy 2024-09-27 17:21:24 +02:00
sheaf 8b3705b8d1 Set GDK_SCALE = 2 by default 2024-09-08 17:04:41 +02:00
sheaf e2e4ae6bfe UI: use GTK Window instead of MessageDialog 2024-09-07 11:28:07 +02:00
sheaf fc2f25cfa6 UI: use GTK4 FileDialog API 2024-09-06 18:48:04 +02:00
sheaf bb9b381cb5 workaround for TH linking bugs 2024-09-06 13:08:40 +02:00
sheaf 9ff25a25aa cleanups 2024-08-29 01:46:50 +02:00
sheaf 2bae92dc5e more SIMD experiments 2024-08-29 00:26:19 +02:00
sheaf ed8720555f improve D to use Nat for domain 2024-08-05 17:49:04 +02:00
sheaf 5f98165276 WIP: SIMD experiments 2024-08-01 21:36:44 +02:00
sheaf e64ce375d2 housekeeping 2024-07-29 13:39:13 +02:00
sheaf 7bb28f8c96 brush widget UI: don't allow 0 width or height 2024-05-28 10:36:26 +02:00