aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-29Merge branch 'tests'Daniel Schadt
2025-11-29more tests for heatmap rendererDaniel Schadt
2025-11-28apply cubic scaling to heat countDaniel Schadt
2025-11-27add preliminary test for heatmap_prepareDaniel Schadt
2025-11-27small speedup for colorize_tileDaniel Schadt
This brings 1. a color lookup table so we avoid re-computing the gradient every time 2. better iterating over the pixels, so we don't need an explicit get_pixel_mut
2025-11-26make merge_heat_counter more efficientDaniel Schadt
Accessing the underlying buffers directly and iterating over them is more efficient (and gives the compiler more options to optimize) than the dance with get_pixel_mut. On my local tests with 119 tracks, this shaves off ~30 seconds (from 90 seconds down to 60 seconds).
2025-10-15update PyO3 versionDaniel Schadt
Should support Python 3.14 now
2025-08-26add first testsDaniel Schadt
2025-08-26properly clamp Coordinates::to_mercatorDaniel Schadt
2025-08-25Merge branch 'py'Daniel Schadt
2025-08-12add type hintsDaniel Schadt
It seems like the "simple" way with just the pyi file doesn't work, so we need to add the py.typed manually. Also, enjoy this path: hittekaart/hittekaart-py/hittekaart_py/hittekaart_py.pyi
2025-08-02string repr for Track and StorageDaniel Schadt
2025-08-02custom min_zoom/max_zoom/threadsDaniel Schadt
This replaces the set_threads function, and works even better because we don't rely on a global thread pool!
2025-07-29implement other renderers in python moduleDaniel Schadt
2025-07-29more docsDaniel Schadt
They are actually visible as Python docstrings, so they are useful!
2025-07-28add some docstringsDaniel Schadt
They are not really visible but useful documentation anyway.
2025-07-28expose function to set thread countDaniel Schadt
2025-07-28implement sqlite output in hittekaart-pyDaniel Schadt
We cannot use a Box<dyn Storage> anymore, because the Sqlite connection is not thread-safe. Therefore, we use a normal enum and open the connection late.
2025-07-09first working Python interfaceDaniel Schadt
2025-07-08add public constructor for coordinatesDaniel Schadt
2025-07-08fix wrong doc linksDaniel Schadt
2025-06-26split crate into core and cliDaniel Schadt
2023-10-14update dependenciesDaniel Schadt
2023-05-13add more benchmarksDaniel Schadt
2023-05-13fix benchmarkDaniel Schadt
2023-05-13update dependenciesDaniel Schadt
2023-03-25update READMEDaniel Schadt
2023-03-25enable LTODaniel Schadt
2023-03-13implement "proper" tile hunter modeDaniel Schadt
Now with fixed zoom level for the hunting.
2023-03-11add reference to small PNG craftingDaniel Schadt
2023-03-11first implementation of tile hunter modeDaniel Schadt
This is a very basic idea, the downside is that you basically cannot "fix" the tilehunt overlay to a specific zoom level. It might be nice to get a second renderer that renders the tile hunt for a fixed zoom, and then adjusts the output tiles accordingly (then it also takes more space again though).
2023-03-11abstract away tile rendering logicDaniel Schadt
This is in prepration for the tilehunt mode, where we want to render tiles differently.
2023-03-11update dependenciesDaniel Schadt
2023-01-18add some more docstringsDaniel Schadt
2023-01-18add support for SQLite outputDaniel Schadt
2023-01-17factor out saving logicDaniel Schadt
Since we want to support SQLite at some point, it makes sense to have the exact storage method abstracted away.
2023-01-17update READMEDaniel Schadt
2023-01-17parallelize reading of GPX filesDaniel Schadt
This is another pretty CPU bound task (parsing the XML files), so it makes sense to parallelize. We already have rayon, we already have the setting to control parallelism, so let's use it and make hittekaart fast!
2023-01-17replace std::mpsc with crossbeam_channelDaniel Schadt
2023-01-16import modules from crate instead of re-definingDaniel Schadt
This is a bit more DRY, as we only have one place where we need to list all submodules. It does not give us the "unused function" warning anymore, but we can maybe find a different solution for that?
2023-01-16use a single thread to write out filesDaniel Schadt
It seems like this does not make the encoding slower, and the main point is that we might want to support SQLite storage for the tiles, in which case it might be good to have only one writer. Even with the FS-based approach, maybe it's good to have a single thread responsible for writing everything, and not hammer the OS with 16 write requests at once.
2023-01-15add README and LICENSEDaniel Schadt
2023-01-14add support for reading brotli and gzip filesDaniel Schadt
2023-01-14add a cli option for the output directoryDaniel Schadt
2023-01-14make number of threads configurable per CLIDaniel Schadt
2023-01-14start on a proper CLIDaniel Schadt
This involves actual command line arguments, and more progress bars!
2023-01-12parallelize PNG encodingDaniel Schadt
This gives a massive speedup
2023-01-12clean up some unused codeDaniel Schadt
Some of it was written because it fit the API, but we didn't end up using it in main.rs.
2023-01-12make progress bars a bit nicerDaniel Schadt
2023-01-11add some first benchmarksDaniel Schadt