@mxtommy/kip 2.4.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -6
- package/README.md +54 -40
- package/package.json +7 -7
- package/public/assets/apple-icon-180.png +0 -0
- package/public/assets/apple-splash-1125-2436.jpg +0 -0
- package/public/assets/apple-splash-1136-640.jpg +0 -0
- package/public/assets/apple-splash-1170-2532.jpg +0 -0
- package/public/assets/apple-splash-1179-2556.jpg +0 -0
- package/public/assets/apple-splash-1242-2208.jpg +0 -0
- package/public/assets/apple-splash-1242-2688.jpg +0 -0
- package/public/assets/apple-splash-1284-2778.jpg +0 -0
- package/public/assets/apple-splash-1290-2796.jpg +0 -0
- package/public/assets/apple-splash-1334-750.jpg +0 -0
- package/public/assets/apple-splash-1536-2048.jpg +0 -0
- package/public/assets/apple-splash-1620-2160.jpg +0 -0
- package/public/assets/apple-splash-1668-2224.jpg +0 -0
- package/public/assets/apple-splash-1668-2388.jpg +0 -0
- package/public/assets/apple-splash-1792-828.jpg +0 -0
- package/public/assets/apple-splash-2048-1536.jpg +0 -0
- package/public/assets/apple-splash-2048-2732.jpg +0 -0
- package/public/assets/apple-splash-2160-1620.jpg +0 -0
- package/public/assets/apple-splash-2208-1242.jpg +0 -0
- package/public/assets/apple-splash-2224-1668.jpg +0 -0
- package/public/assets/apple-splash-2388-1668.jpg +0 -0
- package/public/assets/apple-splash-2436-1125.jpg +0 -0
- package/public/assets/apple-splash-2532-1170.jpg +0 -0
- package/public/assets/apple-splash-2556-1179.jpg +0 -0
- package/public/assets/apple-splash-2688-1242.jpg +0 -0
- package/public/assets/apple-splash-2732-2048.jpg +0 -0
- package/public/assets/apple-splash-2778-1284.jpg +0 -0
- package/public/assets/apple-splash-2796-1290.jpg +0 -0
- package/public/assets/apple-splash-640-1136.jpg +0 -0
- package/public/assets/apple-splash-750-1334.jpg +0 -0
- package/public/assets/apple-splash-828-1792.jpg +0 -0
- package/public/assets/apple-touch-icon.png +0 -0
- package/public/assets/favicon-16x16.png +0 -0
- package/public/assets/favicon-32x32.png +0 -0
- package/public/assets/favicon.ico +0 -0
- package/public/assets/favicon.png +0 -0
- package/public/assets/favicon.svg +128 -0
- package/public/assets/icon-192x192.png +0 -0
- package/public/assets/icon-256x256.png +0 -0
- package/public/assets/icon-384x384.png +0 -0
- package/public/assets/icon-512x512.png +0 -0
- package/public/assets/icon-64x64.png +0 -0
- package/public/assets/icon-72x72.png +0 -0
- package/public/assets/manifest-icon-192.maskable.png +0 -0
- package/public/assets/manifest-icon-512.maskable.png +0 -0
- package/public/assets/screenshot-540x720.png +0 -0
- package/public/assets/screenshot-720x540.png +0 -0
- package/public/index.html +48 -14
- package/public/main.abf26f717737e775.js +1 -0
- package/public/manifest.json +66 -37
- package/public/styles.a5d5fc1506885765.css +1 -0
- package/public/favicon.ico +0 -0
- package/public/main.js +0 -1
- package/public/styles.css +0 -1
- /package/public/{polyfills.js → polyfills.64db6be9cdc8f808.js} +0 -0
- /package/public/{runtime.js → runtime.e75056c32c37f59d.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
# V 2.4.1
|
|
3
|
+
## Fixes
|
|
4
|
+
* Progressive Web Application feature for mobile devices
|
|
5
|
+
* Random conflicting double tab action on mobile devices causing screen zoom instead of Night Mode activation
|
|
6
|
+
* Removed widget data stream filtering of null values
|
|
7
|
+
* Help and data browser navigation actions skipping current widget active page
|
|
1
8
|
# V 2.4.0
|
|
2
9
|
## New features
|
|
3
|
-
* Added
|
|
4
|
-
*
|
|
10
|
+
* Gesture Support: Added horizontal Swipe to cycle pages and Double Tab to toggle night mode
|
|
11
|
+
* Numeric, Date and Text Widgets: Added configurable color support
|
|
12
|
+
* Wind Widget: Added Next Waypoint bearing indicator
|
|
5
13
|
* Added support for Widget data expiration (TTL). Previously Widget stayed still when a source stopped sending data or the server connection was lost.
|
|
6
14
|
## Improvements
|
|
7
15
|
* Strengthen Widget configuration management when adding new KIP properties
|
|
@@ -28,10 +36,10 @@
|
|
|
28
36
|
# V 2.2.0
|
|
29
37
|
## New features
|
|
30
38
|
* Option to enable automatic day and night modes activation based on sun phases
|
|
31
|
-
* Path data throttling feature added to Widget Options
|
|
39
|
+
* Path data throttling feature added to Widget Options Paths providing greater flexibilty and UI experience
|
|
32
40
|
# V 2.1.3
|
|
33
41
|
## Improvements
|
|
34
|
-
*
|
|
42
|
+
* automatic upgrade of older KIP v6 configuration
|
|
35
43
|
# V 2.1.2
|
|
36
44
|
## Fixes
|
|
37
45
|
* Package description typo and changelog updates
|
|
@@ -50,9 +58,9 @@
|
|
|
50
58
|
* Bump @babel/traverse from 7.23.0 to 7.23.2 by @dependabot in https://github.com/mxtommy/Kip/pull/194
|
|
51
59
|
# V 2.0.1
|
|
52
60
|
## Improvements
|
|
53
|
-
*
|
|
61
|
+
* KIP icon update
|
|
54
62
|
## Fixes
|
|
55
|
-
*
|
|
63
|
+
* Object reference error and polyfills by @godind in https://github.com/mxtommy/Kip/commit/73f47aec694ccfe6ea2f1b92ad23dcc53b41e09f
|
|
56
64
|
# V 2.0.0
|
|
57
65
|
## New features
|
|
58
66
|
* Breaking Change - KIP configuration sharing using Signal K user key data storage feature
|
package/README.md
CHANGED
|
@@ -14,27 +14,44 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
|
|
|
14
14
|
|
|
15
15
|
# Features
|
|
16
16
|
## Access from Phones, Tablets, Raspberry Pi and Computers
|
|
17
|
-
Simply navigate to `http://<Signal K Server URL>:<
|
|
17
|
+
Simply navigate to `http://<Signal K Server URL>:<port>/@mxtommy/kip` to load KIP and enjoy it's features remotely on any device.
|
|
18
18
|
|
|
19
19
|
### Responsive Design
|
|
20
|
-
KIP
|
|
20
|
+
KIP adjusts to the device type and form factor for the best possible user experience.
|
|
21
21
|
|
|
22
22
|
### Touch Devices
|
|
23
23
|
- Swipe left and right to cycle trough your Widget layouts.
|
|
24
24
|
- Double tap to toggle night mode.
|
|
25
25
|
|
|
26
|
+
### Run KIP As a Web Application
|
|
27
|
+
Run KIP in full screen, with no browser controls visible, just like regular mobile apps. This feature is supported on most mobile OS. Each browser has it's own way of handling PWA deployments.
|
|
28
|
+
|
|
29
|
+
To install KIP as an App, first load KIP in the browser. Then follow the steps below:
|
|
30
|
+
|
|
31
|
+
**iOS**
|
|
32
|
+
1. Press the "Share" button
|
|
33
|
+
2. Select "Add to Home Screen" from the action popup list
|
|
34
|
+
3. Tap "Add" in the top right corner to finish installing
|
|
35
|
+
KIP is now installed and available on your home screen
|
|
36
|
+
|
|
37
|
+
**Android**
|
|
38
|
+
1. Press the "three dot" icon in the upper right to open the menu
|
|
39
|
+
2. Select "Add to Home screen"
|
|
40
|
+
3. Press the "Add" button in the popup
|
|
41
|
+
KIP is now installed and available on your home screen
|
|
42
|
+
|
|
26
43
|
## Multiple User Profiles
|
|
27
|
-
If you have different roles on board; captain, skipper, tactician, navigator, engineers or simply different people with different needs, each can tailor as they wish. The use of profiles can also
|
|
44
|
+
If you have different roles on board; captain, skipper, tactician, navigator, engineers or simply different people with different needs, each can tailor as they wish. The use of profiles can also offer the ability to tie specific configuration arrangements to use case or device form factors.
|
|
28
45
|
|
|
29
46
|
## User Experience
|
|
30
47
|
|
|
31
48
|
### Night Mode
|
|
32
|
-
Keep your night vision with a simple tap
|
|
49
|
+
Keep your night vision with a simple double tap. The below image looks very dark, but at night...it's perfect!
|
|
33
50
|
|
|
34
51
|

|
|
35
52
|
|
|
36
53
|
### Built-in Themes
|
|
37
|
-
|
|
54
|
+
Apply your favorite style from the built-in themes gallery.
|
|
38
55
|
|
|
39
56
|
Modern Dark Theme
|
|
40
57
|

|
|
@@ -48,24 +65,24 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
|
|
|
48
65
|
NOTE: Request a new theme by sending us inspirational/reference material (web sites, picture, etc.).
|
|
49
66
|
If we fall in love, we will do it. Even better, branch and contribute yourself. We will assist and guide!
|
|
50
67
|
|
|
51
|
-
##
|
|
68
|
+
## Page Layouts and Configuration
|
|
52
69
|
### Flexible and Easy
|
|
53
|
-
Meant to build purposeful screen(s) with however many
|
|
70
|
+
Meant to build purposeful screen(s) with however many widgets you want, where you want them.
|
|
54
71
|
|
|
55
|
-
Quickly
|
|
72
|
+
Quickly split pages into multiple areas, resize and aligne to your liking, add the widget of your choosing to each area. Need more? Add as many additional pages as you whish to keep your display purposeful. Simply swipe left and right or use the bottom page navigation button to quickly cycle from page to page.
|
|
56
73
|

|
|
57
74
|
|
|
58
|
-
Easy basic
|
|
75
|
+
Easy basic widget configuration.
|
|
59
76
|

|
|
60
77
|
|
|
61
|
-
See what Signal K has to offer that you can leverage
|
|
78
|
+
See what Signal K has to offer that you can leverage with widgets. Select it and tweak the display options your your purpose.
|
|
62
79
|

|
|
63
80
|
|
|
64
|
-
Many units are supported. Choose your preferred App defaults, than tweak it
|
|
81
|
+
Many units are supported. Choose your preferred App defaults, than tweak it widget-by-widget as necessary. KIP will automatically convert the units for you.
|
|
65
82
|

|
|
66
83
|
|
|
67
|
-
### Reusable
|
|
68
|
-
All KIP
|
|
84
|
+
### Reusable Widget Library
|
|
85
|
+
All KIP Widgets are visual presentation controls that are very versatile with multiple advanced configuration options available to suit your needs:
|
|
69
86
|
- Text display: Create gauges to display any textual data sent by your system - MPPT state, vessel details,Next Waypoint, Fusion radio song information, noon and sun phases, any system components configuration detail or statues available, etc.
|
|
70
87
|
- Numeric display: Create gauges to display any numerical data sent by your system - SOG, Depth, Winds Speed, VMG, refrigerator temperature, weather data, etc.
|
|
71
88
|
- Wind gauge: Your typical sailboat wind gauge
|
|
@@ -82,10 +99,10 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
|
|
|
82
99
|
|
|
83
100
|
Get the latest version of KIP to see what's new!
|
|
84
101
|
|
|
85
|
-
|
|
102
|
+
Widget Types Sample
|
|
86
103
|

|
|
87
104
|
|
|
88
|
-
Electrical and Tank
|
|
105
|
+
Electrical and Tank Monitoring Sample
|
|
89
106
|

|
|
90
107
|
|
|
91
108
|
Grafana Embedded Webpage sample
|
|
@@ -93,59 +110,56 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
|
|
|
93
110
|
|
|
94
111
|
### Harness The Power Of Data State Notifications
|
|
95
112
|
Stay informed with notifications about the state of the data you are interested in.
|
|
96
|
-
As an example, KIP
|
|
97
|
-
to their design objectives
|
|
113
|
+
As an example, KIP will notify you (inform, warn, alert) when a water depth or temperature sensors reaches certain levels. In addition to KIP's centralized basic visual and audio notification feature, each Widget offers a tailored visual representation appropriate
|
|
114
|
+
to their design objectives providing an optimal user experience.
|
|
98
115
|
|
|
99
|
-
#
|
|
116
|
+
# How To Contribute to KIP
|
|
100
117
|
|
|
101
|
-
KIP is built
|
|
118
|
+
KIP is under MIT license and is built with Nodes and Angular using various open-source assets. All free!
|
|
102
119
|
|
|
103
120
|
**Tools**
|
|
104
121
|
|
|
105
122
|
Linux, Macs, Pi or Windows dev platform supported
|
|
106
|
-
1. Install the latest Node version (v16
|
|
123
|
+
1. Install the latest Node version (v16+, v18 recommended)
|
|
107
124
|
2. Download your favorite coding IDE (we use the free Visual Code)
|
|
108
125
|
3. Create your own GitHub KIP fork.
|
|
109
|
-
4. Configure your IDE's source control to point to
|
|
126
|
+
4. Configure your IDE's source control to point to your forked KIP instance (With Visual Code, GitHub support is built-in) and get the latest Master branch locally.
|
|
110
127
|
|
|
111
128
|
**Setup**
|
|
112
129
|
1. From your fork's Master branch, create working branch with a name such as: New-Widget-abc or fix-issue-abc, etc.
|
|
113
130
|
2. Checkout this new Branch to get the source code locally.
|
|
114
131
|
3. In a command shell (or in the Visual Code Terminal window), go to the root of you local project folder.
|
|
115
|
-
4. Install project dependencies using NPM package and dependency manager: run `npm install`. NPM will read
|
|
116
|
-
5. Build the app locally using Angular-CLI: from that same project root folder, run `ng build`. CLI tool will
|
|
132
|
+
4. Install project dependencies using NPM package and dependency manager: run `npm install`. NPM will read Kip project dependencies (see Steps 2), download and install everything automatically for you.
|
|
133
|
+
5. Build the app locally using Angular-CLI: from that same project root folder, run `ng build`. CLI tool will build KIP.
|
|
117
134
|
|
|
118
135
|
**Work**
|
|
119
|
-
1. Fire up your local dev instance with
|
|
120
|
-
2. Hit Run/Start Debugging in Visual Code or point your favorite browser to `http://localhost:4200
|
|
121
|
-
3. Voila!
|
|
136
|
+
1. Fire up your local dev instance with `npm run dev`.
|
|
137
|
+
2. Hit Run/Start Debugging in Visual Code or point your favorite browser to `http://localhost:4200/@mxtommy/kip`
|
|
138
|
+
3. Voila!
|
|
122
139
|
|
|
123
140
|
*As you work on source code and save files, the app will automatically reload in the browser with your latest changes.*
|
|
141
|
+
*You also need a running Signal K server for KIP to connect to and receive data.*
|
|
124
142
|
|
|
125
|
-
**
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
Or
|
|
143
|
+
**Apple PWA Icon Generation**
|
|
144
|
+
Use the following tool and command line: npx pwa-asset-generator ./src/svg-templates/KIP-icon.svg ./src/assets/ -i ./src/index.html -m ./src/manifest.json -b "linear-gradient(to bottom, rgba(255,255,255,0.15) 0%, rgba(0,0,0,0.15) 100%), radial-gradient(at top center, rgba(255,255,255,0.40) 0%, rgba(0,0,0,0.40) 120%) #989898" -p 5%
|
|
129
145
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
2. Have fun!
|
|
146
|
+
**Share**
|
|
147
|
+
Once done with your work, from your fork's working branch, make a GitHub pull request to have your code reviewed, merged and part of the next release.
|
|
133
148
|
|
|
134
149
|
**Communication and Collaboration**
|
|
135
|
-
Join us on Slack -> Signalk-dev /
|
|
150
|
+
Join us on Slack -> Signalk-dev / Kip channel. We will hook up and assist as best we can.
|
|
136
151
|
|
|
137
152
|
# Feature Ideas
|
|
138
153
|
* AIS Widget - Help Wanted
|
|
139
154
|
* Light indicator Widget for Boolean paths
|
|
140
155
|
* Fuel Consumption Widget
|
|
141
156
|
* GPS information Widget - Help Wanted
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* Improved error logging / performance gain
|
|
157
|
+
* Improve Metadate/Zones support
|
|
158
|
+
* Add a KIP Widget CLI Schematic to automate new Widget creation and facilitate app contributions
|
|
159
|
+
* Improved error logging
|
|
146
160
|
* Retire outdated SteelGauges
|
|
147
|
-
*
|
|
161
|
+
* Upgrade notifications and navigation API to new Signal K Specifications
|
|
148
162
|
* Attitude Indicator Widget - Help Wanted
|
|
149
163
|
* Sailing Polars Widget - Help Wanted
|
|
150
|
-
* More
|
|
164
|
+
* More customization options for radial/linear Gauges
|
|
151
165
|
* Pre-created Widgets for commonly used displays
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxtommy/kip",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "An advanced and versatile marine instrumentation package to display Signal K data.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -30,14 +30,13 @@
|
|
|
30
30
|
"nmea"
|
|
31
31
|
],
|
|
32
32
|
"signalk": {
|
|
33
|
-
"appIcon": "
|
|
33
|
+
"appIcon": "assets/icon-72x72.png",
|
|
34
34
|
"displayName": "KIP Instrument MFD"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"build-
|
|
40
|
-
"build-prod": "ng build --configuration=production --base-href=/@mxtommy/kip/",
|
|
37
|
+
"dev": "ng serve --configuration=dev --serve-path=/@mxtommy/kip/",
|
|
38
|
+
"build-dev": "ng build --configuration=dev",
|
|
39
|
+
"build-prod": "ng build --configuration=production",
|
|
41
40
|
"test": "ng test",
|
|
42
41
|
"lint": "ng lint",
|
|
43
42
|
"e2e": "ng e2e"
|
|
@@ -69,7 +68,8 @@
|
|
|
69
68
|
"ts-node": "^8.10.2",
|
|
70
69
|
"tslib": "^2.2.0",
|
|
71
70
|
"tslint": "^6.1.3",
|
|
72
|
-
"typescript": "^4.6.4"
|
|
71
|
+
"typescript": "^4.6.4",
|
|
72
|
+
"pwa-asset-generator": "^6.3.1"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"@angular/animations": "14.3.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
version="1.1"
|
|
4
|
+
width="1000"
|
|
5
|
+
height="1000"
|
|
6
|
+
id="svg3"
|
|
7
|
+
sodipodi:docname="favicon.svg"
|
|
8
|
+
inkscape:version="1.3.2 (091e20e, 2023-11-25)"
|
|
9
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
13
|
+
xmlns:svgjs="http://svgjs.com/svgjs">
|
|
14
|
+
<defs
|
|
15
|
+
id="defs3" />
|
|
16
|
+
<g
|
|
17
|
+
transform="matrix(1.953125,0,0,1.953125,0,0)"
|
|
18
|
+
id="g2">
|
|
19
|
+
<svg
|
|
20
|
+
version="1.1"
|
|
21
|
+
width="512"
|
|
22
|
+
height="512"
|
|
23
|
+
id="svg2">
|
|
24
|
+
<svg
|
|
25
|
+
width="512"
|
|
26
|
+
height="512"
|
|
27
|
+
viewBox="0 0 135.46667 135.46667"
|
|
28
|
+
version="1.1"
|
|
29
|
+
id="svg1">
|
|
30
|
+
<sodipodi:namedview
|
|
31
|
+
id="namedview1"
|
|
32
|
+
pagecolor="#ffffff"
|
|
33
|
+
bordercolor="#000000"
|
|
34
|
+
borderopacity="0.25"
|
|
35
|
+
inkscape:showpageshadow="2"
|
|
36
|
+
inkscape:pageopacity="0.0"
|
|
37
|
+
inkscape:pagecheckerboard="true"
|
|
38
|
+
inkscape:deskcolor="#d1d1d1"
|
|
39
|
+
inkscape:document-units="px"
|
|
40
|
+
inkscape:lockguides="true"
|
|
41
|
+
inkscape:zoom="0.41030501"
|
|
42
|
+
inkscape:cx="481.34923"
|
|
43
|
+
inkscape:cy="498.40971"
|
|
44
|
+
inkscape:window-width="1224"
|
|
45
|
+
inkscape:window-height="732"
|
|
46
|
+
inkscape:window-x="217"
|
|
47
|
+
inkscape:window-y="25"
|
|
48
|
+
inkscape:window-maximized="0"
|
|
49
|
+
inkscape:current-layer="layer1">
|
|
50
|
+
<sodipodi:guide
|
|
51
|
+
position="0,135.46667"
|
|
52
|
+
orientation="0,512"
|
|
53
|
+
id="guide1"
|
|
54
|
+
inkscape:locked="true" />
|
|
55
|
+
<sodipodi:guide
|
|
56
|
+
position="135.46667,135.46667"
|
|
57
|
+
orientation="512,0"
|
|
58
|
+
id="guide2"
|
|
59
|
+
inkscape:locked="true" />
|
|
60
|
+
<sodipodi:guide
|
|
61
|
+
position="135.46667,0"
|
|
62
|
+
orientation="0,-512"
|
|
63
|
+
id="guide3"
|
|
64
|
+
inkscape:locked="true" />
|
|
65
|
+
<sodipodi:guide
|
|
66
|
+
position="0,0"
|
|
67
|
+
orientation="-512,0"
|
|
68
|
+
id="guide4"
|
|
69
|
+
inkscape:locked="true" />
|
|
70
|
+
</sodipodi:namedview>
|
|
71
|
+
<defs
|
|
72
|
+
id="defs1" />
|
|
73
|
+
<g
|
|
74
|
+
inkscape:label="Layer 1"
|
|
75
|
+
inkscape:groupmode="layer"
|
|
76
|
+
id="layer1">
|
|
77
|
+
<rect
|
|
78
|
+
style="fill:#4b4b4b;fill-opacity:1;stroke-width:2.117;stroke-linecap:square;stroke-dasharray:none"
|
|
79
|
+
id="rect4"
|
|
80
|
+
width="135.46667"
|
|
81
|
+
height="135.46667"
|
|
82
|
+
x="0"
|
|
83
|
+
y="0"
|
|
84
|
+
sodipodi:insensitive="true" />
|
|
85
|
+
<text
|
|
86
|
+
xml:space="preserve"
|
|
87
|
+
style="font-weight:bold;font-size:25.4px;font-family:Arial;-inkscape-font-specification:'Arial, Bold';fill:#c3c3c3;fill-opacity:0.415507;stroke-width:2.117;stroke-linecap:square;stroke-dasharray:none"
|
|
88
|
+
x="4.9013381"
|
|
89
|
+
y="24.292282"
|
|
90
|
+
id="text4"
|
|
91
|
+
svgjs:data="{"leading":"1.3"}"><tspan
|
|
92
|
+
sodipodi:role="line"
|
|
93
|
+
id="tspan4"
|
|
94
|
+
style="fill:#c3c3c3;fill-opacity:0.415507;stroke-width:2.117"
|
|
95
|
+
x="4.9013381"
|
|
96
|
+
y="24.292282"
|
|
97
|
+
svgjs:data="{"leading":"1.3"}">Speed</tspan></text>
|
|
98
|
+
<text
|
|
99
|
+
xml:space="preserve"
|
|
100
|
+
style="font-weight:bold;font-size:89.7086px;font-family:Arial;-inkscape-font-specification:'Arial, Bold';fill:#fffcfc;fill-opacity:1;stroke-width:7.4769;stroke-linecap:square;stroke-dasharray:none"
|
|
101
|
+
x="5.9710636"
|
|
102
|
+
y="103.15202"
|
|
103
|
+
id="text5"
|
|
104
|
+
svgjs:data="{"leading":"1.3"}"><tspan
|
|
105
|
+
sodipodi:role="line"
|
|
106
|
+
id="tspan5"
|
|
107
|
+
style="fill:#fffcfc;fill-opacity:1;stroke-width:7.4769"
|
|
108
|
+
x="5.9710636"
|
|
109
|
+
y="103.15202"
|
|
110
|
+
svgjs:data="{"leading":"1.3"}">9.8</tspan></text>
|
|
111
|
+
<text
|
|
112
|
+
xml:space="preserve"
|
|
113
|
+
style="font-weight:bold;font-size:21.2566px;font-family:Arial;-inkscape-font-specification:'Arial, Bold';fill:#fffcfc;fill-opacity:1;stroke-width:1.77166;stroke-linecap:square;stroke-dasharray:none"
|
|
114
|
+
x="74.298759"
|
|
115
|
+
y="128.38905"
|
|
116
|
+
id="text6"
|
|
117
|
+
svgjs:data="{"leading":"1.3"}"><tspan
|
|
118
|
+
sodipodi:role="line"
|
|
119
|
+
id="tspan6"
|
|
120
|
+
style="stroke-width:1.77166"
|
|
121
|
+
x="74.298759"
|
|
122
|
+
y="128.38905"
|
|
123
|
+
svgjs:data="{"leading":"1.3"}">knots</tspan></text>
|
|
124
|
+
</g>
|
|
125
|
+
</svg>
|
|
126
|
+
</svg>
|
|
127
|
+
</g>
|
|
128
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/public/index.html
CHANGED
|
@@ -1,15 +1,49 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><base href="
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><base href="/@mxtommy/kip/">
|
|
2
|
+
<meta charset="utf-8" name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
|
|
3
|
+
<title>KIP</title>
|
|
4
|
+
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg">
|
|
5
|
+
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon-32x32.png">
|
|
6
|
+
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicon-16x16.png">
|
|
7
|
+
<link rel="icon" type="image/x-icon" size="any" href="assets/favicon.ico">
|
|
8
|
+
<style>@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}</style><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="assets/fontawesome6/css/all.min.css"></noscript>
|
|
9
|
+
<link rel="manifest" href="manifest.json" crossorigin="use-credentials">
|
|
10
|
+
<script src="assets/tween-min.js"></script>
|
|
11
|
+
<script src="assets/steelseries-min.js"></script>
|
|
12
|
+
<script src="assets/NoSleep.min.js"></script>
|
|
13
|
+
<link rel="apple-touch-icon" href="assets/apple-icon-180.png">
|
|
14
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
15
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2048-2732.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
16
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2732-2048.jpg" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
17
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1668-2388.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
18
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2388-1668.jpg" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
19
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1536-2048.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
20
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2048-1536.jpg" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
21
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1668-2224.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
22
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2224-1668.jpg" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
23
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1620-2160.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
24
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2160-1620.jpg" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
25
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1290-2796.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
26
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2796-1290.jpg" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
27
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1179-2556.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
28
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2556-1179.jpg" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
29
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1284-2778.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
30
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2778-1284.jpg" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
31
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1170-2532.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
32
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2532-1170.jpg" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
33
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1125-2436.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
34
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2436-1125.jpg" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
35
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1242-2688.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
36
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2688-1242.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
37
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-828-1792.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
38
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1792-828.jpg" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
39
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1242-2208.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
|
|
40
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-2208-1242.jpg" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)">
|
|
41
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-750-1334.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
42
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1334-750.jpg" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
43
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-640-1136.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
|
|
44
|
+
<link rel="apple-touch-startup-image" href="assets/apple-splash-1136-640.jpg" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)">
|
|
45
|
+
<style>html,body,app-root{height:100%}body{margin:0;touch-action:none}</style><link rel="stylesheet" href="styles.a5d5fc1506885765.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.a5d5fc1506885765.css"></noscript></head>
|
|
46
|
+
<body>
|
|
47
|
+
<app-root></app-root>
|
|
48
|
+
<script src="runtime.e75056c32c37f59d.js" type="module"></script><script src="polyfills.64db6be9cdc8f808.js" type="module"></script><script src="main.abf26f717737e775.js" type="module"></script>
|
|
15
49
|
</body></html>
|