Isaiah Odhner
0edd171233
Clean up imports
...
I had kept these around because several of these I'll want to use,
and the auto-import feature wasn't working, but I've since found a fix
for that (in 453111269e
).
I'm also adding rich here to fix auto-imports from rich.
2023-05-22 00:22:36 -04:00
Isaiah Odhner
e9755637d6
Update Textual to 0.26.0
...
Both issues I opened have been fixed! :)
2023-05-21 22:00:39 -04:00
Isaiah Odhner
ab45f40e15
Use Iterator instead of Generator for consistency and conciseness
2023-05-21 20:18:06 -04:00
Isaiah Odhner
3f9d1a5c37
Prefer "| None" to Optional
2023-05-21 20:04:22 -04:00
Isaiah Odhner
0bf1841d0d
Use tuple instead of Tuple from typing module
2023-05-21 20:04:22 -04:00
Isaiah Odhner
8a97c1394f
Use dict instead of Dict from typing module
2023-05-21 19:50:09 -04:00
Isaiah Odhner
7b15a580ab
Use list instead of List from typing module
2023-05-21 19:49:22 -04:00
Isaiah Odhner
9dab42f9c9
Add max_width param, syncing with ansi-art-thumbnailer
2023-05-21 19:43:40 -04:00
Isaiah Odhner
c3d6c24596
Optimize SVG opening: ignore most rects when measuring grid
...
This brings it down from around 20 seconds to less than a second,
for moderately sized documents (i.e. default size).
For larger documents, it can still be slow.
2023-05-20 02:05:02 -04:00
Isaiah Odhner
dae8e809c4
Update from_svg docstring
2023-05-20 00:49:01 -04:00
Isaiah Odhner
cd2498c151
Refactor: use size_attrib
2023-05-20 00:29:21 -04:00
Isaiah Odhner
445d29268f
Fix type checker error
2023-05-20 00:23:37 -04:00
Isaiah Odhner
5392864552
Update readme regarding SVG loading
...
Not sure if some of this should go in Known Issues, maybe with a
"see Known Issues" reference, but I might just fix these things soon.
2023-05-20 00:21:49 -04:00
Isaiah Odhner
b88b5cdfa0
Mention new project: ansi-art-thumbnailer
2023-05-19 22:19:27 -04:00
Isaiah Odhner
322391544b
Parse <style> tags when loading SVG
2023-05-19 15:48:42 -04:00
Isaiah Odhner
f2ac4dc98b
Perf: Make rects_to_ignore into a set
...
Checking membership in a set is O(1), as compared to O(n) for a list.
2023-05-19 01:27:22 -04:00
Isaiah Odhner
56badad238
Optimize rectangle containment checking loop a bit (theoretically)
...
It's still O(n^2) complexity, but more specifically, it's
(n^2 - n) / 2 iterations instead of n^2.
I don't know much about the performance of `enumerate()` or slicing.
2023-05-19 01:19:32 -04:00
Isaiah Odhner
81720d51e6
Safety
2023-05-19 00:53:19 -04:00
Isaiah Odhner
14725279c9
Got it working
...
It handles the pathological character grid test case SVG I devised,
as well as loading the SVG as saved by the app.
It's a little weird that I managed to get the pathological case working
before the simple rigid grid, but it was what I was shooting for,
and the main problem with the rigid grid was the spanned rects,
which I didn't think of when making the test case SVG.
It does have one problem left; characters that are wider than a cell,
when saved as SVG, take up two cells, but in my SVG loading code,
they're just placed in one cell, so, when saving and loading,
it shifts content to the right of the wide character rightwards,
expanding the region of the background from the wide character's cell.
But it converges now.
2023-05-19 00:53:19 -04:00
Isaiah Odhner
ee224d1a82
Tweak
2023-05-18 22:46:21 -04:00
Isaiah Odhner
3487bed274
Tweak
2023-05-18 22:38:38 -04:00
Isaiah Odhner
c0d87437df
Visualize gaps
2023-05-18 22:34:08 -04:00
Isaiah Odhner
4d82706890
Tweak
2023-05-18 22:23:20 -04:00
Isaiah Odhner
f842a7b2cb
WIP
2023-05-18 22:14:32 -04:00
Isaiah Odhner
93312627d7
WIP
2023-05-18 22:10:37 -04:00
Isaiah Odhner
d8b95c9f65
Correct shortcut to toggle color palette
2023-05-18 22:10:20 -04:00
Isaiah Odhner
788d8389a2
Visualize tracks
2023-05-18 21:52:22 -04:00
Isaiah Odhner
599ec68b2b
Fix that
2023-05-18 21:38:04 -04:00
Isaiah Odhner
fdb54dc01e
WIP
2023-05-18 21:30:39 -04:00
Isaiah Odhner
f1ea73d811
WIP
2023-05-18 20:58:27 -04:00
Isaiah Odhner
4e1a1fd1ea
Fill in multiple cells for spanned rects
2023-05-18 19:56:15 -04:00
Isaiah Odhner
768e55f795
Change name of file created through automation
2023-05-18 19:47:44 -04:00
Isaiah Odhner
ee03ee08b6
Rename terminal wallpaper script to snake case
2023-05-18 14:37:05 -04:00
Isaiah Odhner
9ed2513bab
Rename sample file to use underscores
2023-05-18 14:35:52 -04:00
Isaiah Odhner
da861e4a2c
Rename pathological test case SVG
2023-05-18 14:34:25 -04:00
Isaiah Odhner
453111269e
VS Code: fix auto-imports for textual modules
2023-05-18 11:10:15 -04:00
Isaiah Odhner
b4f958623d
Hide SVG files from samples gallery command
...
oooh is it a gallery? how faaancy...
2023-05-17 23:30:20 -04:00
Isaiah Odhner
1dbbbdfdfe
Tweak logs/comments
2023-05-17 23:28:32 -04:00
Isaiah Odhner
4fc5efd34e
Use minimum rect size to define character cell size
2023-05-17 23:02:43 -04:00
Isaiah Odhner
56f8d47036
Fix string comparison for "none"/"" fill values
2023-05-17 23:00:10 -04:00
Isaiah Odhner
4a9ffbbacd
Clean up: remove old outlier removal code
2023-05-17 22:54:14 -04:00
Isaiah Odhner
d323c25ed4
Add debug markers for grid bounds (min/max)
2023-05-17 22:54:14 -04:00
Isaiah Odhner
d618cab0c9
Make debug visuals line up when grid origin is not at (0,0)
...
as is the case with the pathological SVG test case (combative_character_grid.svg)
2023-05-17 22:54:14 -04:00
Isaiah Odhner
8faaac8cf8
Note useful automation for testing SVG loading
2023-05-17 22:54:14 -04:00
Isaiah Odhner
5a72f5efc2
Don't close any existing message box when opening a new one
2023-05-17 22:54:06 -04:00
Isaiah Odhner
fd6e75abe7
Start handling varying background rect sizes
...
It turns out the background rects can span multiple cells, so I have to
pivot strategy here.
Instead of removing any outliers, remove any containers, i.e. rects that
visually (not structurally) contain other rects.
This doesn't yet fill in multiple cells when a rect is spanned.
2023-05-17 22:53:37 -04:00
Isaiah Odhner
902de786dc
Handle invalid colors more laxly
2023-05-17 20:41:13 -04:00
Isaiah Odhner
8f78ce662a
Fix cell bucketing of text elements, basically
2023-05-17 20:41:13 -04:00
Isaiah Odhner
8458ccf3c9
Visualize cell bucketing for debug
2023-05-17 20:40:46 -04:00
Isaiah Odhner
f17b180546
Adjust cell size based on document size guess
2023-05-17 20:40:11 -04:00