biscuit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 94cd1e75a00a68fd9f971851eaf4e8f1facf4269
parent 47d0f8edd24a0e64d10a46055b2770b9f4910d72
Author: Daniel Barlow <dan@telent.net>
Date:   Tue, 17 Mar 2026 13:35:26 +0000

track: start drawing at starting point not 0,0

Diffstat:
Mpkgs/maps/main.fnl | 14++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/pkgs/maps/main.fnl b/pkgs/maps/main.fnl @@ -88,6 +88,11 @@ label.readout { (local { : view } (require :fennel)) (local gpx (require :gpx)) +(fn tile-xy-for-track [trackpoints zoom] + (icollect [_ { : lat : lon} (ipairs trackpoints)] + (let [(x y) (tiles.latlon->tile lat lon zoom)] + [x y]))) + (local app-state { :time-of-day 0 @@ -218,11 +223,12 @@ label.readout { (each [_ track (pairs tracks)] (g:set_line_width 10) (let [min bounds.min + xypoints (tile-xy-for-track track app-state.zoom) + [sx sy] (. xypoints 1) { : line_to } g] - (g:move_to 0 0) - (each [_ { : lat : lon } (ipairs track)] - (let [(x y) (tiles.latlon->tile lat lon app-state.zoom) - x1 (* tile-size (- x min.x)) + (g:move_to (* tile-size (- sx min.x)) (* tile-size (- sy min.y))) + (each [_ [x y] (ipairs xypoints)] + (let [x1 (* tile-size (- x min.x)) y1 (* tile-size (- y min.y))] (line_to g x1 y1)))) (g:stroke)))