commit
c8cd53b5d3
|
|
@ -1,6 +1,8 @@
|
|||
|
||||
# Needs to be ignored because it uses ESM export/import
|
||||
apps/gipy/pkg/gps.js
|
||||
apps/gipy/pkg/gps.d.ts
|
||||
apps/gipy/pkg/gps_bg.wasm.d.ts
|
||||
|
||||
# Needs to be ignored because it includes broken JS
|
||||
apps/health/chart.min.js
|
||||
|
|
|
|||
|
|
@ -135,5 +135,9 @@
|
|||
* Fix for files converted from maps2gpx : path was not reduced in size correctly
|
||||
* Experimental ski mode : have a ski slopes map
|
||||
* Fix for path projection display when lost and zoomed out
|
||||
|
||||
0.25: Minor code improvements
|
||||
|
||||
0.26: Add option to plot openstmap if installed
|
||||
|
||||
0.27: Support for large paths (grid sizes > 65k)
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ function compute_eta(hour, minutes, approximate_speed, remaining_distance) {
|
|||
}
|
||||
|
||||
class TilesOffsets {
|
||||
constructor(filename, offset) {
|
||||
constructor(filename, offset, bytes_per_tile_index) {
|
||||
let header = E.toArrayBuffer(s.read(filename, offset, 4));
|
||||
let type_size = Uint8Array(header, 0, 1)[0];
|
||||
offset += 1;
|
||||
|
|
@ -105,26 +105,30 @@ class TilesOffsets {
|
|||
offset += 2;
|
||||
|
||||
let bytes = (type_size==24)?3:2;
|
||||
let buffer = E.toArrayBuffer(s.read(filename, offset, 2*non_empty_tiles_number+bytes*non_empty_tiles_number));
|
||||
let buffer = E.toArrayBuffer(s.read(filename, offset, bytes_per_tile_index*non_empty_tiles_number));
|
||||
if (bytes_per_tile_index == 2) {
|
||||
this.non_empty_tiles = Uint16Array(buffer, 0, non_empty_tiles_number);
|
||||
offset += 2 * non_empty_tiles_number;
|
||||
} else {
|
||||
this.non_empty_tiles = Uint24Array(buffer, 0, non_empty_tiles_number);
|
||||
}
|
||||
offset += bytes_per_tile_index * non_empty_tiles_number;
|
||||
let tile_buffer = E.toArrayBuffer(s.read(filename, offset, bytes*non_empty_tiles_number));
|
||||
if (type_size == 24) {
|
||||
this.non_empty_tiles_ends = Uint24Array(
|
||||
buffer,
|
||||
2*non_empty_tiles_number,
|
||||
tile_buffer,
|
||||
0,
|
||||
non_empty_tiles_number
|
||||
);
|
||||
offset += 3 * non_empty_tiles_number;
|
||||
} else if (type_size == 16) {
|
||||
this.non_empty_tiles_ends = Uint16Array(
|
||||
buffer,
|
||||
2*non_empty_tiles_number,
|
||||
tile_buffer,
|
||||
0,
|
||||
non_empty_tiles_number
|
||||
);
|
||||
offset += 2 * non_empty_tiles_number;
|
||||
} else {
|
||||
throw "unknown size";
|
||||
}
|
||||
offset += bytes * non_empty_tiles_number;
|
||||
return [this, offset];
|
||||
}
|
||||
tile_start_offset(tile_index) {
|
||||
|
|
@ -179,7 +183,8 @@ class Map {
|
|||
offset += 8;
|
||||
|
||||
// tiles offsets
|
||||
let res = new TilesOffsets(filename, offset);
|
||||
let bytes_per_tile_index = (this.grid_size[0] * this.grid_size[1] > 65536)?3:2;
|
||||
let res = new TilesOffsets(filename, offset, bytes_per_tile_index);
|
||||
this.tiles_offsets = res[0];
|
||||
offset = res[1];
|
||||
|
||||
|
|
@ -314,7 +319,8 @@ class Interests {
|
|||
this.side = side_array[0];
|
||||
offset += 8;
|
||||
|
||||
let res = new TilesOffsets(filename, offset);
|
||||
let bytes_per_tile_index = (this.grid_size[0] * this.grid_size[1] > 65536)?3:2;
|
||||
let res = new TilesOffsets(filename, offset, bytes_per_tile_index);
|
||||
offset = res[1];
|
||||
this.offsets = res[0];
|
||||
let end = this.offsets.end_offset();
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"id": "gipy",
|
||||
"name": "Gipy",
|
||||
"shortName": "Gipy",
|
||||
"version": "0.26",
|
||||
"version": "0.27",
|
||||
"description": "Follow gpx files using the gps. Don't get lost in your bike trips and hikes.",
|
||||
"allow_emulator":false,
|
||||
"icon": "gipy.png",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* tslint:disable */
|
||||
|
||||
/* eslint-disable */
|
||||
/**
|
||||
* @param {Gps} gps
|
||||
*/
|
||||
|
|
@ -80,11 +80,11 @@ export interface InitOutput {
|
|||
readonly __wbindgen_malloc: (a: number) => number;
|
||||
readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
|
||||
readonly __wbindgen_export_2: WebAssembly.Table;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0: (a: number, b: number, c: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__h175ee3b9ff4e5b4c: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
||||
readonly __wbindgen_free: (a: number, b: number) => void;
|
||||
readonly __wbindgen_exn_store: (a: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2: (a: number, b: number, c: number, d: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h41622a4cb7018e76: (a: number, b: number, c: number, d: number) => void;
|
||||
}
|
||||
|
||||
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
||||
|
|
|
|||
|
|
@ -98,6 +98,14 @@ function takeObject(idx) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
|
||||
cachedTextDecoder.decode();
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
function addHeapObject(obj) {
|
||||
if (heap_next === heap.length) heap.push(heap.length + 1);
|
||||
const idx = heap_next;
|
||||
|
|
@ -107,14 +115,6 @@ function addHeapObject(obj) {
|
|||
return idx;
|
||||
}
|
||||
|
||||
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
|
||||
cachedTextDecoder.decode();
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
function debugString(val) {
|
||||
// primitive types
|
||||
const type = typeof val;
|
||||
|
|
@ -205,7 +205,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
|
|||
return real;
|
||||
}
|
||||
function __wbg_adapter_24(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0(arg0, arg1, addHeapObject(arg2));
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__h175ee3b9ff4e5b4c(arg0, arg1, addHeapObject(arg2));
|
||||
}
|
||||
|
||||
function _assertClass(instance, klass) {
|
||||
|
|
@ -389,7 +389,7 @@ function handleError(f, args) {
|
|||
}
|
||||
}
|
||||
function __wbg_adapter_86(arg0, arg1, arg2, arg3) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h41622a4cb7018e76(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -464,10 +464,6 @@ function getImports() {
|
|||
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
|
||||
takeObject(arg0);
|
||||
};
|
||||
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
||||
const ret = getObject(arg0);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
|
||||
const ret = getStringFromWasm0(arg0, arg1);
|
||||
return addHeapObject(ret);
|
||||
|
|
@ -476,6 +472,10 @@ function getImports() {
|
|||
const ret = fetch(getObject(arg0));
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
||||
const ret = getObject(arg0);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_signal_31753ac644b25fbb = function(arg0) {
|
||||
const ret = getObject(arg0).signal;
|
||||
return addHeapObject(ret);
|
||||
|
|
@ -695,8 +695,8 @@ function getImports() {
|
|||
const ret = wasm.memory;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper2356 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 293, __wbg_adapter_24);
|
||||
imports.wbg.__wbindgen_closure_wrapper2375 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 301, __wbg_adapter_24);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
/* tslint:disable */
|
||||
|
||||
/* eslint-disable */
|
||||
export const memory: WebAssembly.Memory;
|
||||
export function __wbg_gps_free(a: number): void;
|
||||
export function disable_elevation(a: number): void;
|
||||
|
|
@ -14,8 +14,8 @@ export function gps_from_area(a: number, b: number, c: number, d: number, e: num
|
|||
export function __wbindgen_malloc(a: number): number;
|
||||
export function __wbindgen_realloc(a: number, b: number, c: number): number;
|
||||
export const __wbindgen_export_2: WebAssembly.Table;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0(a: number, b: number, c: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__h175ee3b9ff4e5b4c(a: number, b: number, c: number): void;
|
||||
export function __wbindgen_add_to_stack_pointer(a: number): number;
|
||||
export function __wbindgen_free(a: number, b: number): void;
|
||||
export function __wbindgen_exn_store(a: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2(a: number, b: number, c: number, d: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h41622a4cb7018e76(a: number, b: number, c: number, d: number): void;
|
||||
|
|
|
|||
Loading…
Reference in New Issue