D. Berge
ba7221ae10
Implement getData*() functions in DougalBinaryBundle
2025-07-30 17:41:17 +02:00
D. Berge
1cb9d4b1e2
Add @dougal/binary module.
...
It encodes / decodes sequence / preplot data using an efficient
binary format for sending large amounts of data across the wire
and for (relatively) memory efficient client-side use.
2025-07-30 17:37:00 +02:00
D. Berge
2a0025cdbf
Try to fix FSP / LSP times for the third time
2025-07-29 13:31:17 +02:00
D. Berge
f768f31b62
Aesthetic changes to map layers control
2025-07-28 12:09:02 +02:00
D. Berge
9f91b1317f
Add map settings control (mock up).
...
This is not yet implemented but left visible for demo purposes.
Intended to configure things such as vessel track length, possibly
whether the latest track or the track within the current prospect
is shown, etc.
2025-07-28 12:06:56 +02:00
D. Berge
3b69a15703
Add manual refresh control to map.
...
It may or may not be permanenet, once tasks #322 , #323 , #324 , #325
are implemented.
Closes #326
2025-07-28 12:05:10 +02:00
D. Berge
cd3bd8ab79
Fix FSP/LSP times (again)
2025-07-28 12:04:27 +02:00
D. Berge
df193a99cd
Add sleep() method to main.js.
...
Useful when the UI needs to "pause" for UX reasons. Can be called
from any component with `this.$root.sleep(ms)`.
2025-07-28 12:02:49 +02:00
D. Berge
580e94a591
Await on binary data download requests
2025-07-28 11:09:55 +02:00
D. Berge
3413641c10
Fix first and last shotpoint times in map tooltip
2025-07-28 11:01:38 +02:00
D. Berge
f092aff015
Fix navdata URL
2025-07-28 11:01:08 +02:00
D. Berge
94c6406ea2
Add missing dependency
2025-07-28 10:37:58 +02:00
D. Berge
244d84a3bd
Add more layers to Map component.
...
This commits adds back the vessel track as well as other layers,
gives the option to load both point and line versions of the plan,
raw, and final sequences, and adds heatmaps showing positioning
error of raw and final data relative to preplots.
The implementation in this commit relies on translating the binary
sequence data into JSON (for the heatmaps) which is inefficient
but adequate as an initial proof of concept.
2025-07-28 10:14:41 +02:00
D. Berge
89c565a0f5
Protect against out of bounds array condition
2025-07-28 10:10:05 +02:00
D. Berge
31ac8d3c01
Add toJSON() function to binary decoder
2025-07-28 10:07:49 +02:00
D. Berge
3bb78040b0
Set correct Content-Type
2025-07-28 10:06:21 +02:00
D. Berge
1433bda14e
Make the iterator more robust against failures.
...
If a sequence fails to be fetched, it will keep iterating rather
than throwing an error or returning invalid data.
2025-07-27 11:16:47 +02:00
D. Berge
c0ae033de8
Use Cache API to cache binary sequence data.
...
This speeds up loading when the user moves away from and then
revisits the map tab.
NOTE: As of this commit, there is no way to refresh or invalidate
the cache.
2025-07-27 11:15:09 +02:00
D. Berge
05eed7ef26
Comment out Norwegian nautical charts layer.
...
It has apparently become inaccessible in recent times.
2025-07-27 11:07:08 +02:00
D. Berge
5d2ca513a6
Add check for WebGL support.
...
The intention is to fall back to the legacy map if WebGL is not
supported on a client.
2025-07-27 11:06:12 +02:00
D. Berge
b9c8069828
Add an error overlay.
...
Assinging to `error` on the Map componenent will cause an overlay
with an error <v-alert/> to be shown.
2025-07-27 11:03:26 +02:00
D. Berge
b80b8ffb52
Add cache option to api Vuex action.
...
It allows the caching and retrieval of requests using Cache API.
2025-07-27 11:01:34 +02:00
D. Berge
c2eb82ffe7
Modify view on map link
2025-07-26 19:14:29 +02:00
D. Berge
e517e2f771
Refactor map component.
...
Uses Deck.gl rather than Leaflet.
2025-07-26 19:13:58 +02:00
D. Berge
0afd54447f
Add SequenceDataLayer Deck.gl class.
...
It takes the typed arrays returned by the binary-encoded
endpoints.
2025-07-26 19:06:56 +02:00
D. Berge
e6004dd62f
Add link to binary library.
...
Same library is used server and client side.
2025-07-26 19:06:56 +02:00
D. Berge
f623954399
Adapt to new calling convention for Vuex action
2025-07-26 19:06:56 +02:00
D. Berge
f8d882da5d
Replace text parameter by format in Vuex API call.
...
Instead of { text: true } as a Fetch option, one can
now specify { format: "text" }, as well as any of these
other options, which call the corresponding Fetch method:
* "arrayBuffer",
* "blob",
* "formData",
* "json",
* "text"
2025-07-26 19:06:56 +02:00
D. Berge
808c9987af
Add binary format middleware for sequence data.
...
It responds to the MIME type:
application/dougal-map-sequence+octet-stream
2025-07-26 19:05:00 +02:00
D. Berge
4db6d8dd7a
Add custom binary format packing / unpacking.
...
This series of custom binary messages are an alternative to JSON /
GeoJSON when huge amounts of data needs to be transferred to and
processed by the client, such as a GPU-based map view showing all
the points for a prospect, or QC graphs, etc.
2025-07-26 19:05:00 +02:00
D. Berge
9a47977f5f
Improve help dialogue.
...
- Shows frontend and backend versions
- Shows version release notes
2025-07-26 10:59:40 +02:00
D. Berge
a58cce8565
Add /version/history endpoint to API.
...
Retrieves Git tag annotations.
2025-07-26 10:58:42 +02:00
D. Berge
5487a3a49b
Catch JWT expiration.
...
Closes #321
2025-07-26 10:56:23 +02:00
D. Berge
731778206c
Show front and backend version on help dialogue
2025-07-25 23:15:07 +02:00
D. Berge
08e65b512d
Inject frontend version as environment variable
2025-07-25 23:14:30 +02:00
D. Berge
1b44389a1a
Allow configuring the API URL via environment variable.
...
The environment variable DOUGAL_API_URL takes precedence
over the hard-coded value. For instance:
DOUGAL_API_URL=http://127.0.0.1:2999 will cause /api to
be proxied to the above URL (websockets are correctly
handled too) instead of the default.
2025-07-25 20:08:38 +02:00
D. Berge
0b3711b759
Fix typo
2025-07-25 20:08:08 +02:00
D. Berge
5a523d4941
Make projects table sorted by default
2025-07-25 20:07:40 +02:00
D. Berge
0427a3c18c
Use Node workspaces to manage repo dependencies
2025-07-25 17:48:30 +02:00
D. Berge
c32e6f2b38
Make map API calls silent.
...
Otherwise we get spurious 404s and such.
2025-07-25 17:17:36 +02:00
D. Berge
546d199c52
Remove annooying Leaflet attribution control
2025-07-25 17:17:36 +02:00
D. Berge
6562de97b9
Make the CSS import from package not relative
2025-07-25 17:17:36 +02:00
D. Berge
c666a6368e
Fix copy/paste logic for lineNameInfo widget
2025-07-25 14:41:21 +02:00
D. Berge
d5af6df052
Merge branch '177-refactor-users-code' into 'devel'
...
Refactor users code
Closes #177 and #176
See merge request wgp/dougal/software!57
2025-07-25 12:26:39 +00:00
D. Berge
302642f88d
Fix JWT renewal over websocket
2025-07-25 14:21:26 +02:00
D. Berge
48e1369088
Fix host based authentication
2025-07-25 14:03:43 +02:00
D. Berge
daa700e7dc
Add (temporarily disabled) menu option for vessel config.
...
The idea is to have a frontend access to a screen where duly
authorised users can modify vessel-wide configuration parameters.
2025-07-25 14:01:49 +02:00
D. Berge
8db2c8ce25
Use access rights mixin in Equipment view
2025-07-25 13:36:16 +02:00
D. Berge
890e48e078
Revert "Don't refresh projects if no user is logged in."
...
This reverts commit 3a0f720f2f .
2025-07-25 13:35:35 +02:00
D. Berge
11829555cf
Add <v-tooltip/> showing permissions.
...
Hovering over the user avatar or a project name in the breadcrumbs
shows a tooltip with the relevant permissions.
2025-07-25 13:33:59 +02:00