@mxtommy/kip 4.5.0-beta.1 → 4.5.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 +18 -0
- package/README.md +11 -7
- package/package.json +21 -8
- package/plugin/duckdb-parquet-storage.service.js +1182 -0
- package/plugin/history-series.service.js +439 -0
- package/plugin/index.js +705 -30
- package/plugin/openApi.json +253 -3
- package/plugin/plugin-auth.service.js +75 -0
- package/public/assets/help-docs/chartplotter.md +5 -18
- package/public/assets/help-docs/community.md +0 -3
- package/public/assets/help-docs/configuration.md +1 -1
- package/public/assets/help-docs/contact-us.md +0 -4
- package/public/assets/help-docs/dashboards.md +20 -18
- package/public/assets/help-docs/datainspector.md +7 -5
- package/public/assets/help-docs/history-api.md +116 -0
- package/public/assets/help-docs/menu.json +18 -6
- package/public/assets/help-docs/nodered-control-flows.md +125 -0
- package/public/assets/help-docs/putcontrols.md +101 -60
- package/public/assets/help-docs/welcome.md +6 -7
- package/public/assets/help-docs/widget-historical-series.md +66 -0
- package/public/assets/help-docs/zones.md +5 -10
- package/public/chunk-A6DQJFP4.js +16 -0
- package/public/chunk-B75MT7ND.js +1 -0
- package/public/{chunk-T6TFVZVM.js → chunk-CEB42O2C.js} +1 -1
- package/public/chunk-CHGXAEKT.js +2 -0
- package/public/chunk-D7VDX7ZF.js +5 -0
- package/public/{chunk-ZQER6AIQ.js → chunk-DEGYRCMI.js} +1 -1
- package/public/{chunk-M2B5OYGO.js → chunk-DEM56G4S.js} +1 -1
- package/public/chunk-DYTBBUMI.js +4 -0
- package/public/chunk-EQ2N7KDA.js +3 -0
- package/public/chunk-FNF7M3AE.js +1 -0
- package/public/chunk-IHURI4IH.js +5 -0
- package/public/{chunk-YIYYVDFO.js → chunk-IYRLINL7.js} +2 -2
- package/public/{chunk-5FEX27I4.js → chunk-JB4YVVNW.js} +1 -1
- package/public/chunk-JGGMFMY5.js +1 -0
- package/public/chunk-KPHICV76.js +5 -0
- package/public/{chunk-QZKCRH3H.js → chunk-KZ5DUKAX.js} +1 -1
- package/public/{chunk-HMOOTAEA.js → chunk-LQDSU4WS.js} +3 -3
- package/public/{chunk-IXQ7KIFY.js → chunk-MGPPVLZ7.js} +1 -1
- package/public/{chunk-QVCLOCEC.js → chunk-R7RQHWKJ.js} +1 -1
- package/public/chunk-RONXIZ2U.js +9 -0
- package/public/chunk-S72JTJPN.js +6 -0
- package/public/{chunk-KFFAA7DL.js → chunk-VCY32MWT.js} +8 -8
- package/public/chunk-YCEXTKGG.js +1 -0
- package/public/chunk-YKJKIWXO.js +6 -0
- package/public/chunk-ZV7IYYEQ.js +50 -0
- package/public/index.html +1 -1
- package/public/main-FQESQQV6.js +1 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -84
- package/.github/ISSUE_TEMPLATE/config.yml +0 -5
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -35
- package/.github/copilot-instructions.md +0 -205
- package/.github/instructions/angular.instructions.md +0 -123
- package/.github/instructions/best-practices.instructions.md +0 -59
- package/.github/instructions/project.instructions.md +0 -432
- package/.github/workflows/ci.yml +0 -37
- package/docs/widget-schematic.md +0 -102
- package/images/ActionSidenav.png +0 -0
- package/images/ChartplotterMode.png +0 -0
- package/images/KIPDemo.png +0 -0
- package/images/KipBrightness-1024.png +0 -0
- package/images/KipConfig-Units-1024.png +0 -0
- package/images/KipConfig-display-1024x488.png +0 -0
- package/images/KipFreeboard-SK-1024.png +0 -0
- package/images/KipGaugeSample1-1024x545.png +0 -0
- package/images/KipGaugeSample2-1024x488.png +0 -0
- package/images/KipGaugeSample3-1024x508.png +0 -0
- package/images/KipNightMode-1024.png +0 -0
- package/images/KipWidgetConfig-layout-1024.png +0 -0
- package/images/KipWidgetConfig-paths-1024x488.png +0 -0
- package/images/Options.png +0 -0
- package/images/exterior_user_installs.png +0 -0
- package/images/formfactor.png +0 -0
- package/public/assets/help-docs/datasets.md +0 -95
- package/public/chunk-2OB7ZJBR.js +0 -3
- package/public/chunk-6GGJZDRE.js +0 -1
- package/public/chunk-6V4GGGXE.js +0 -2
- package/public/chunk-A5BW6BUM.js +0 -1
- package/public/chunk-DGE5YFPU.js +0 -5
- package/public/chunk-G6M3Z3BY.js +0 -53
- package/public/chunk-GMGZLXY7.js +0 -4
- package/public/chunk-GUZ3BDVZ.js +0 -2
- package/public/chunk-ICDGHQFP.js +0 -6
- package/public/chunk-JCNE4QHQ.js +0 -15
- package/public/chunk-K6XYUNG4.js +0 -8
- package/public/chunk-LGCQEN7V.js +0 -4
- package/public/chunk-O3JH7UTR.js +0 -1
- package/public/chunk-Q3USFT4F.js +0 -2
- package/public/chunk-VIKU7BH7.js +0 -1
- package/public/chunk-XMQPXXLW.js +0 -8
- package/public/main-4URMGBQS.js +0 -1
- package/rm-npmjs-beta.sh +0 -50
- package/tools/schematics/collection.json +0 -9
- package/tools/schematics/create-host2-widget/files/readme/README.md.template +0 -109
- package/tools/schematics/create-host2-widget/files/spec/widget-__name@dasherize__.component.spec.ts +0 -38
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.html +0 -6
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.scss +0 -5
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.ts.template +0 -94
- package/tools/schematics/create-host2-widget/index.js +0 -138
- package/tools/schematics/create-host2-widget/schema.json +0 -89
- package/tools/schematics/create-host2-widget/test/create-host2-widget.spec.ts +0 -70
- package/tools/schematics/create-host2-widget/utils/formatting.js +0 -119
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
# v4.5.1
|
|
2
|
+
## Fixes
|
|
3
|
+
* DuckDB dependency causing build and installation errors. Fixes #979
|
|
4
|
+
* Reduced installation size. Fixes #980
|
|
5
|
+
# v4.5.0
|
|
6
|
+
## New Features
|
|
7
|
+
* Effortlessly review your vessel’s history with the new Widget Historical Charts—automatically track, store, and visualize key data. Instantly access up to the last full day of performance: just two-finger tap or right-click any widget to open a seamless history dialog—no setup, no clutter, just the trends you need. (Requires Signal K v2.22.1)
|
|
8
|
+
* Dashboards now start with fully populated Data Charts, powered by KIP’s managed Time-Series History-API provider or other compatible history providers. (Requires Signal K v2.22.1)
|
|
9
|
+
* Added internet availability detection for remote queries.
|
|
10
|
+
## Improvements
|
|
11
|
+
* Added "Days" as a selectable time scale in the Data Chart widget.
|
|
12
|
+
* Improved integration by validating server plugin presence, plugin state, and configuration.
|
|
13
|
+
* Added a Node-RED introduction guide to the Help section.
|
|
14
|
+
* Migrated KIP plugin historical storage internals from `duckdb` to `@duckdb/node-api` and Parquet export writing to `@dsnp/parquetjs`.
|
|
15
|
+
## Fixes
|
|
16
|
+
* Improved KIP plugin OpenAPI compatibility.
|
|
17
|
+
* Resolved slow Data Inspector performance caused by high resource usage in deep loop logic.
|
|
18
|
+
* Remote Control feature should not require Admin permission. Fixes #940
|
|
1
19
|
# v4.4.0
|
|
2
20
|
## New Features
|
|
3
21
|
* New AIS Radar widget: Turn AIS traffic into an instant tactical view with live targets, dynamic range rings, fast zoom controls, and smart filters—so you can spot nearby vessels quicker and make confident navigation decisions at a glance.
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ With KIP, you get the **familiar feel of professional Multi-Function Displays**
|
|
|
24
24
|
- [Installations Showcase](#installations-showcase)
|
|
25
25
|
- [Design Goal](#design-goal)
|
|
26
26
|
- [User Experience](#user-experience)
|
|
27
|
-
- [Dashboards and Configuration](#dashboards-and-configuration)
|
|
27
|
+
- [Dashboards and Configuration](#dashboards-and-configuration), [Widget Library](#widget-library) & [Historical Data](#historycal-data)
|
|
28
28
|
- [Night Modes](#night-modes)
|
|
29
29
|
- [Chartplotter Mode](#chartplotter-mode)
|
|
30
30
|
- [Remote Control](#remote-control-other-kip-displays)
|
|
@@ -54,12 +54,12 @@ The goal is to replicate and enhance the functionality of modern marine instrume
|
|
|
54
54
|
|
|
55
55
|
## User Experience
|
|
56
56
|
|
|
57
|
-
###
|
|
57
|
+
### Interactions
|
|
58
58
|
- Swipe up and down to navigate through your dashboards effortlessly.
|
|
59
59
|
- Swipe left and right to access notifications and other system features quickly.
|
|
60
60
|
- Use keyboard shortcuts for essential features, ensuring fast and efficient navigation across devices types.
|
|
61
61
|
|
|
62
|
-
###
|
|
62
|
+
### Customize
|
|
63
63
|
- Effortlessly create and customize dashboards using an intuitive grid layout system.
|
|
64
64
|
- Add, resize, and align widgets to design tailored displays for your specific needs.
|
|
65
65
|
- Duplicate widgets or entire dashboards, including their configurations, with a single click.
|
|
@@ -137,6 +137,9 @@ Freeboard-SK Chartplotter integration with Autopilot widget
|
|
|
137
137
|
Grafana integration with other widgets
|
|
138
138
|

|
|
139
139
|
|
|
140
|
+
## Historical Data
|
|
141
|
+
Experience effortless insight into your vessel’s past with KIP’s Widget Historical Charts—automatically track, store, and visualize key data, unlocking instant access charts showing up to the last full day of performance. Whether you’re sailing or docked, simply tap or right-click widgets to reveal a seamless history dialog—no setup, no clutter, just the trends you need. With full support for Data Driven widgets, live-to-history transitions, KIP puts your boat’s story at your fingertips—so you can make smarter decisions, spot patterns, and sail with confidence.
|
|
142
|
+
|
|
140
143
|
## Night Modes
|
|
141
144
|
Keep your night vision with automatic or manual day and night switching to a color preserving dim mode or an all Red theme. The images below look very dark, but at night... they are perfect!
|
|
142
145
|
|
|
@@ -258,16 +261,17 @@ Once done with your work, from your fork's working branch, make a GitHub pull re
|
|
|
258
261
|
|
|
259
262
|
For comprehensive development guidance, please refer to these instruction files:
|
|
260
263
|
|
|
261
|
-
###
|
|
264
|
+
### Primary Instructions
|
|
262
265
|
- **[COPILOT.md](./COPILOT.md)**: Complete KIP project guidelines including architecture, services, widget development patterns, theming, and Signal K integration.
|
|
263
|
-
- **[Angular Instructions](./.github/instructions/angular.instructions.md)**: Modern Angular
|
|
266
|
+
- **[Angular Instructions](./.github/instructions/angular.instructions.md)**: Modern Angular v21+ coding standards, component patterns, and framework best practices.
|
|
267
|
+
- **[Copilot Agent Instructions](./.github/copilot-instructions.md)**: Architecture details and coding-agent guardrails for this repository.
|
|
264
268
|
|
|
265
|
-
###
|
|
269
|
+
### Development Workflow
|
|
266
270
|
1. **Start Here**: Read `COPILOT.md` for KIP-specific architecture and patterns.
|
|
267
271
|
2. **Angular Standards**: Follow `.github/instructions/angular.instructions.md` for modern Angular development.
|
|
268
272
|
3. **Setup & Build**: Use this README for project setup and build commands.
|
|
269
273
|
|
|
270
|
-
###
|
|
274
|
+
### Key Priorities
|
|
271
275
|
- **Widget Development**: Use the Host2 widget pattern (signals + directives) and scaffold new widgets with the `create-host2-widget` schematic (see `COPILOT.md`).
|
|
272
276
|
- **Angular Patterns**: Use signals, standalone components, and modern control flow.
|
|
273
277
|
- **Theming**: Follow KIP's theme system for consistent UI.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxtommy/kip",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.1",
|
|
4
4
|
"description": "An advanced and versatile marine instrumentation package to display Signal K data.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"signalk-webapp",
|
|
27
27
|
"signalk-category-instruments",
|
|
28
28
|
"signalk-category-notifications",
|
|
29
|
+
"signalk-category-ais",
|
|
29
30
|
"signalk-node-server-plugin",
|
|
30
31
|
"signal k",
|
|
31
32
|
"signalk",
|
|
@@ -39,9 +40,19 @@
|
|
|
39
40
|
"displayName": "KIP Instrument MFD"
|
|
40
41
|
},
|
|
41
42
|
"main": "plugin/index.js",
|
|
43
|
+
"files": [
|
|
44
|
+
"plugin/**",
|
|
45
|
+
"public/**",
|
|
46
|
+
"README.md",
|
|
47
|
+
"LICENSE",
|
|
48
|
+
"CHANGELOG.md",
|
|
49
|
+
"CONTRIBUTORS.md",
|
|
50
|
+
"package.json"
|
|
51
|
+
],
|
|
42
52
|
"signalk-plugin-enabled-by-default": true,
|
|
43
53
|
"scripts": {
|
|
44
54
|
"test": "CI=1 ng test --watch=false",
|
|
55
|
+
"test:plugin": "npm run build:plugin && node --test --test-concurrency=1 kip-plugin/tests/index.test.cjs",
|
|
45
56
|
"test:interactive": "ng test",
|
|
46
57
|
"test:headless": "CI=1 ng test --browsers=ChromeHeadless --watch=false",
|
|
47
58
|
"lint": "ng lint",
|
|
@@ -62,12 +73,12 @@
|
|
|
62
73
|
"@angular/compiler-cli": "21.1.4",
|
|
63
74
|
"@angular/language-service": "21.1.4",
|
|
64
75
|
"@types/canvas-gauges": "^2.1.8",
|
|
76
|
+
"@types/d3": "^7.4.3",
|
|
65
77
|
"@types/jasmine": "~3.6.0",
|
|
66
78
|
"@types/jasminewd2": "^2.0.9",
|
|
67
79
|
"@types/js-quantities": "^1.6.6",
|
|
68
80
|
"@types/lodash-es": "^4.17.9",
|
|
69
81
|
"@types/node": "^24.1.0",
|
|
70
|
-
"@types/d3": "^7.4.3",
|
|
71
82
|
"angular-eslint": "21.2.0",
|
|
72
83
|
"codelyzer": "^6.0.0",
|
|
73
84
|
"eslint": "^9.29.0",
|
|
@@ -85,9 +96,7 @@
|
|
|
85
96
|
"pwa-asset-generator": "^8.1.1",
|
|
86
97
|
"sass": "^1.49.9",
|
|
87
98
|
"ts-node": "^10.9.2",
|
|
88
|
-
"typescript": "^5.9.3"
|
|
89
|
-
},
|
|
90
|
-
"dependencies": {
|
|
99
|
+
"typescript": "^5.9.3",
|
|
91
100
|
"@angular/animations": "21.1.4",
|
|
92
101
|
"@angular/cdk": "21.1.4",
|
|
93
102
|
"@angular/common": "21.1.4",
|
|
@@ -116,10 +125,14 @@
|
|
|
116
125
|
"prismjs": "^1.30.0",
|
|
117
126
|
"rxjs": "^7.8.2",
|
|
118
127
|
"screenfull": "^6.0.2",
|
|
128
|
+
"sk-ais-status-plugin": "^1.0.0",
|
|
119
129
|
"steelseries": "^2.0.9",
|
|
120
130
|
"tslib": "^2.6.2",
|
|
121
|
-
"zone.js": "^0.15.1"
|
|
122
|
-
|
|
123
|
-
|
|
131
|
+
"zone.js": "^0.15.1"
|
|
132
|
+
},
|
|
133
|
+
"dependencies": {
|
|
134
|
+
"@dsnp/parquetjs": "^1.8.7",
|
|
135
|
+
"@duckdb/node-api": "^1.4.4-r.2",
|
|
136
|
+
"@signalk/server-api": "^2.22.0"
|
|
124
137
|
}
|
|
125
138
|
}
|