Releases
v0.2.0
Compare
Sorry, something went wrong.
No results found
0.2.0 — 2026-05-30
Bug Fixes
scripts: Bump-version updates all internal path-dep version pins
engine: De-flake earcut_worker timeout test (#368 ) (#368 )
Documentation
Sync CLAUDE.md + docs/ with current 7-crate layout
Features
aircraft: Hover-select, follow-on-select, richer sidebar, stable list, configurable area/refresh (#394 ) (#394 )
plugin: Aircraft — optional OpenSky OAuth2 credentials (#393 ) (#393 )
lua: Ttymap.http:fetch opts — POST, headers, form body (#392 ) (#392 )
notify: Surface runtime engine errors as an error notify (#253 ) (#389 ) (#389 )
lua: Add map:arc great-circle overlay primitive (#347 ) (#388 ) (#388 )
plugin: Bookmark — save/recall named map views in pure Lua (#387 ) (#387 )
app: Surface unexpected engine death as a notify (#385 ) (#385 )
app: Restart-engine command — recycle the engine subprocess (#383 ) (#383 )
lua: Per-layer visibility toggle — map:set_layer_visible(layer, bool) (#377 ) (#377 )
Split engine into a subprocess (#348 Phase 0–2) (#349 ) (#349 )
tui: Show scrollbar in command palette (#346 ) (#346 )
plugin: Autospin (globe rotation) (#342 ) (#342 )
plugin: Antipode flier + ttymap.geo math lib (#341 ) (#341 )
plugin: Info plugin shows pan speed/bearing, solar time, distance from home (#340 ) (#340 )
lua: Add ttymap.location shared user-location cache (#307 ) (#339 ) (#339 )
lua: Add traceroute plugin (#303 ) (#303 )
Refactor
lua: Consolidate build_subsystem degraded-return path (#326 ) (#391 ) (#391 )
keymap: Move default keybindings from Rust to bundled init.lua (#390 ) (#390 )
engine: App owns the camera; engine renders a supplied viewport (#382 ) (#382 )
engine: Move tile_distance_sq to geo.rs (#380 ) (#380 )
engine: Unify antimeridian wrap math via shortest_modular_dx (#379 ) (#379 )
lua: Replace Mutex with thread_local for intern_event_name (#378 ) (#378 )
engine: Collapse ZoomIn/ZoomOut into ZoomBy(i8), unify ZoomAt direction (#373 ) (#373 )
Rename ttymap-core → ttymap-shared (#372 ) (#372 )
lua: Unify MapApi color accessor naming on *_xterm (#371 ) (#371 )
engine: Inline RenderHandle::shutdown into Drop (#370 ) (#370 )
engine: Drop Berlin lat/lon default from engine Config (#369 ) (#369 )
tui: Move frame_widget / overlay / sidebar from ttymap-app to ttymap-tui (#367 ) (#367 )
keymap: Split KeyMap → ttymap-tui, KeybindingOverrides → ttymap-config (#366 ) (#366 )
Move runtime/ from ttymap-lua to workspace root
event: Drop dead Event variants — notify-only bus
app: Move UI-side MapState mirror from EngineHandle to App (#365 ) (#365 )
Centralise XDG path resolution as ttymap_config::AppDirs (#362 ) (#364 ) (#364 )
Drop MapAction::Redraw (#350 Tier 1) (#361 ) (#361 )
engine: Extract RenderClient send helper (#311 ) (#360 ) (#360 )
Drop MapAction::None (#351 follow-up) (#358 ) (#358 )
Collapse ttymap-app re-export shims (#351 follow-up) (#357 ) (#357 )
Carve workspace into 7 crates (#351 Steps 3-5) (#356 ) (#356 )
Decouple compositor and palette from LuaRegistryHandle (#351 Step 2) (#355 ) (#355 )
Decouple event bus from mlua (#351 Step 1) (#354 ) (#354 )
Rename ttymap-tui crate to ttymap-app (#351 Step 0) (#353 ) (#353 )
tui: Merge Dispatcher into App (#337 ) (#337 )
tui: Single bus-publish site via Dispatcher event buffer (#336 ) (#336 )
tui: Inline event publish at each handler site (#335 ) (#335 )
You can’t perform that action at this time.