- to avoid entity collision (e.g. aircraft and ships having the same id), selection keys are now
{ type, id }, and selection is now a first-class api underapi.selectioninstead of underapi.state(d4421d0) - plugin runtime now uses
install(ctx)plugin context instead ofinstall(api)so widgets, importers and map layers can be cleaned up deterministically within a plugin's lifetime (9ead92d, #210) - deckgl layering now use semantic slots so z-order is no longer determined by whoever calls the
setLayermethod first (9ead92d, #210) - plugins can now use
api.workspaceto parse a file loaded on the browser (the tangram-jet1090 now registers a custom handler to render jsonl historical records) (2887fe6, #233) - core now includes an experimental time api, timeline api and timeline scrubber component. note that this feature may be re-architected in future releases as we move towards a more backend-authoritative model (593735e, #233)
- shared plugin-agnostic trajectory rendering utilites are now available under
@open-aviation/tangram-core/trajectory, such as segmentation between path gaps and timed segment generation (593735e, #233) - new
@open-aviation/tangram-core/keyboardcontains Vim-like navigation primitives for list widgets (d8000c5) - replaced font-awesome with a reusable Vue
IconButtonandSvgIcon(593735e) - new
@open-aviation/tangram-core/tsconfig.{plugin|node}.jsonprovides plugins with good defaults for typescript v6 type checking (97550b7) - new frontend pub/sub bus (
api.bus) improves cross-plugin communication (e.g. requesting the location of an aircraft from another plugin) (d4421d0) - new
tangram_datalinkplugin provides live ACARS/VDL2/HFDL/airframes.io feed visualisation (#234)
Full Changelog: v0.4.1...v0.5.0