From 1c5ac13da8fe767e64a9182996c7810d043b6663 Mon Sep 17 00:00:00 2001 From: lenn Date: Fri, 3 Apr 2026 16:40:48 +0800 Subject: [PATCH] feat:themes, tactilea codec --- .VSCodeCounter/2026-04-01_16-39-17/details.md | 2 +- .../2026-04-01_16-39-17/diff-details.md | 2 +- .VSCodeCounter/2026-04-01_16-39-17/diff.md | 2 +- .VSCodeCounter/2026-04-01_16-39-17/diff.txt | 2 +- .../2026-04-01_16-39-17/results.csv | 94 +++++----- .../2026-04-01_16-39-17/results.json | 2 +- .VSCodeCounter/2026-04-01_16-39-17/results.md | 2 +- .../2026-04-01_16-39-17/results.txt | 96 +++++----- .VSCodeCounter/2026-04-02_14-42-07/details.md | 2 +- .../2026-04-02_14-42-07/diff-details.md | 2 +- .VSCodeCounter/2026-04-02_14-42-07/diff.csv | 12 +- .VSCodeCounter/2026-04-02_14-42-07/diff.md | 2 +- .VSCodeCounter/2026-04-02_14-42-07/diff.txt | 14 +- .../2026-04-02_14-42-07/results.csv | 94 +++++----- .../2026-04-02_14-42-07/results.json | 2 +- .VSCodeCounter/2026-04-02_14-42-07/results.md | 2 +- .../2026-04-02_14-42-07/results.txt | 96 +++++----- package-lock.json | 4 +- package.json | 2 +- src-tauri/Cargo.lock | 44 ++--- src-tauri/Cargo.toml | 2 +- src-tauri/program.log2026-04-02 | 0 src-tauri/program.log2026-04-03 | 0 src-tauri/src/commands/serial.rs | 2 +- src-tauri/src/log.rs | 42 ++++- src-tauri/src/serial_core/codecs/tactile_a.rs | 36 +++- src-tauri/src/serial_core/codecs/test.rs | 1 - src-tauri/src/serial_core/serial.rs | 7 +- src-tauri/src/serial_core/utils.rs | 3 +- .../target-codex-checkfqvNiz/CACHEDIR.TAG | 3 + src-tauri/tauri.conf.json | 4 +- src/lib/components/CenterStage.svelte | 103 ++++++----- src/lib/components/ConfigPanel.svelte | 68 +++---- src/lib/components/FileExplorerModal.svelte | 59 +++--- src/lib/components/HudPanel.svelte | 126 +++++++------ .../components/PressureMatrixViewer.svelte | 175 ++++++++++++++---- src/lib/components/SignalChart.svelte | 56 +++--- src/lib/components/SummaryCurve.svelte | 62 +++---- src/lib/config/color-map.ts | 82 +++++++- src/lib/styles/theme.css | 17 +- src/routes/+page.svelte | 103 ++++++++--- target-codex-checkHGP49y/CACHEDIR.TAG | 3 + 42 files changed, 881 insertions(+), 551 deletions(-) delete mode 100644 src-tauri/program.log2026-04-02 delete mode 100644 src-tauri/program.log2026-04-03 create mode 100644 src-tauri/target-codex-checkfqvNiz/CACHEDIR.TAG create mode 100644 target-codex-checkHGP49y/CACHEDIR.TAG diff --git a/.VSCodeCounter/2026-04-01_16-39-17/details.md b/.VSCodeCounter/2026-04-01_16-39-17/details.md index 0dc1dd4..810da18 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/details.md +++ b/.VSCodeCounter/2026-04-01_16-39-17/details.md @@ -2,7 +2,7 @@ Date : 2026-04-01 16:39:17 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 47 files, 8908 codes, 94 comments, 1250 blanks, all 10252 lines diff --git a/.VSCodeCounter/2026-04-01_16-39-17/diff-details.md b/.VSCodeCounter/2026-04-01_16-39-17/diff-details.md index cea0e3d..4a4da5c 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/diff-details.md +++ b/.VSCodeCounter/2026-04-01_16-39-17/diff-details.md @@ -2,7 +2,7 @@ Date : 2026-04-01 16:39:17 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines diff --git a/.VSCodeCounter/2026-04-01_16-39-17/diff.md b/.VSCodeCounter/2026-04-01_16-39-17/diff.md index 86a18e2..f87e998 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/diff.md +++ b/.VSCodeCounter/2026-04-01_16-39-17/diff.md @@ -2,7 +2,7 @@ Date : 2026-04-01 16:39:17 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines diff --git a/.VSCodeCounter/2026-04-01_16-39-17/diff.txt b/.VSCodeCounter/2026-04-01_16-39-17/diff.txt index 96bba56..32d979f 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/diff.txt +++ b/.VSCodeCounter/2026-04-01_16-39-17/diff.txt @@ -1,5 +1,5 @@ Date : 2026-04-01 16:39:17 -Directory : e:\Workspace\joyson-serial +Directory : e:\Workspace\JE-Skin Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines Languages diff --git a/.VSCodeCounter/2026-04-01_16-39-17/results.csv b/.VSCodeCounter/2026-04-01_16-39-17/results.csv index 9657d9d..ddaf7e1 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/results.csv +++ b/.VSCodeCounter/2026-04-01_16-39-17/results.csv @@ -1,49 +1,49 @@ "filename", "language", "JavaScript", "JSON", "Markdown", "JSON with Comments", "XML", "TypeScript", "Svelte", "Rust", "PostCSS", "HTML", "comment", "blank", "total" -"e:\Workspace\joyson-serial\.idea\modules.xml", "XML", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8 -"e:\Workspace\joyson-serial\.idea\tauri-demo.iml", "XML", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 11 -"e:\Workspace\joyson-serial\README.md", "Markdown", 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 20, 54 -"e:\Workspace\joyson-serial\flowus_tools.json", "JSON", 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 -"e:\Workspace\joyson-serial\frontend_prompt.md", "Markdown", 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 66, 255 -"e:\Workspace\joyson-serial\package-lock.json", "JSON", 0, 1957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1958 -"e:\Workspace\joyson-serial\package.json", "JSON", 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32 -"e:\Workspace\joyson-serial\src-tauri\build.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 4 -"e:\Workspace\joyson-serial\src-tauri\capabilities\default.json", "JSON", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16 -"e:\Workspace\joyson-serial\src-tauri\src\commands\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 3 -"e:\Workspace\joyson-serial\src-tauri\src\commands\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 44, 290 -"e:\Workspace\joyson-serial\src-tauri\src\commands\window.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 6, 33 -"e:\Workspace\joyson-serial\src-tauri\src\lib.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 2, 24 -"e:\Workspace\joyson-serial\src-tauri\src\log.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2, 36 -"e:\Workspace\joyson-serial\src-tauri\src\main.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 1, 2, 11 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codec.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 7 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 5 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 17, 84 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 7, 40, 260 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 6, 53 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 3, 9, 58 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 7, 29 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\model.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 57, 67, 501 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\record.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 4, 11, 65 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 8, 81 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 6, 32 -"e:\Workspace\joyson-serial\src-tauri\tauri.conf.json", "JSON", 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 37 -"e:\Workspace\joyson-serial\src\app.html", "HTML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 14 -"e:\Workspace\joyson-serial\src\lib\components\CenterStage.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 691, 0, 0, 0, 0, 96, 787 -"e:\Workspace\joyson-serial\src\lib\components\ConfigPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 63, 461 -"e:\Workspace\joyson-serial\src\lib\components\HudPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 861, 0, 0, 0, 0, 110, 971 -"e:\Workspace\joyson-serial\src\lib\components\PressureMatrixViewer.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 97, 655 -"e:\Workspace\joyson-serial\src\lib\components\SignalChart.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 71, 453 -"e:\Workspace\joyson-serial\src\lib\components\SummaryCurve.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, 88, 585 -"e:\Workspace\joyson-serial\src\lib\config\color-map.ts", "TypeScript", 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 58 -"e:\Workspace\joyson-serial\src\lib\styles\theme.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 1, 7, 51 -"e:\Workspace\joyson-serial\src\lib\types\hud.ts", "TypeScript", 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 20, 146 -"e:\Workspace\joyson-serial\src\routes\+layout.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 5, 18 -"e:\Workspace\joyson-serial\src\routes\+layout.ts", "TypeScript", 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 1, 6 -"e:\Workspace\joyson-serial\src\routes\+page.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 176, 1462 -"e:\Workspace\joyson-serial\static\svelte.svg", "XML", 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 -"e:\Workspace\joyson-serial\static\tauri.svg", "XML", 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 7 -"e:\Workspace\joyson-serial\static\vite.svg", "XML", 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 -"e:\Workspace\joyson-serial\svelte.config.js", "JavaScript", 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 19 -"e:\Workspace\joyson-serial\tauri-event.md", "Markdown", 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 181, 555 -"e:\Workspace\joyson-serial\tsconfig.json", "JSON with Comments", 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 5, 1, 20 -"e:\Workspace\joyson-serial\vite.config.js", "JavaScript", 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 33 +"e:\Workspace\JE-Skin\.idea\modules.xml", "XML", 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8 +"e:\Workspace\JE-Skin\.idea\tauri-demo.iml", "XML", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 11 +"e:\Workspace\JE-Skin\README.md", "Markdown", 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 20, 54 +"e:\Workspace\JE-Skin\flowus_tools.json", "JSON", 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"e:\Workspace\JE-Skin\frontend_prompt.md", "Markdown", 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 66, 255 +"e:\Workspace\JE-Skin\package-lock.json", "JSON", 0, 1957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1958 +"e:\Workspace\JE-Skin\package.json", "JSON", 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32 +"e:\Workspace\JE-Skin\src-tauri\build.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 4 +"e:\Workspace\JE-Skin\src-tauri\capabilities\default.json", "JSON", 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16 +"e:\Workspace\JE-Skin\src-tauri\src\commands\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 3 +"e:\Workspace\JE-Skin\src-tauri\src\commands\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 44, 290 +"e:\Workspace\JE-Skin\src-tauri\src\commands\window.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 6, 33 +"e:\Workspace\JE-Skin\src-tauri\src\lib.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 2, 24 +"e:\Workspace\JE-Skin\src-tauri\src\log.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2, 36 +"e:\Workspace\JE-Skin\src-tauri\src\main.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 1, 2, 11 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codec.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 1, 7 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1, 5 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 17, 84 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 7, 40, 260 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 6, 53 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 3, 9, 58 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 7, 29 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\model.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 57, 67, 501 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\record.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 4, 11, 65 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 8, 81 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs", "Rust", 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 6, 32 +"e:\Workspace\JE-Skin\src-tauri\tauri.conf.json", "JSON", 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 37 +"e:\Workspace\JE-Skin\src\app.html", "HTML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 14 +"e:\Workspace\JE-Skin\src\lib\components\CenterStage.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 691, 0, 0, 0, 0, 96, 787 +"e:\Workspace\JE-Skin\src\lib\components\ConfigPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 63, 461 +"e:\Workspace\JE-Skin\src\lib\components\HudPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 861, 0, 0, 0, 0, 110, 971 +"e:\Workspace\JE-Skin\src\lib\components\PressureMatrixViewer.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 97, 655 +"e:\Workspace\JE-Skin\src\lib\components\SignalChart.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 71, 453 +"e:\Workspace\JE-Skin\src\lib\components\SummaryCurve.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, 88, 585 +"e:\Workspace\JE-Skin\src\lib\config\color-map.ts", "TypeScript", 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 58 +"e:\Workspace\JE-Skin\src\lib\styles\theme.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 1, 7, 51 +"e:\Workspace\JE-Skin\src\lib\types\hud.ts", "TypeScript", 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 20, 146 +"e:\Workspace\JE-Skin\src\routes\+layout.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 5, 18 +"e:\Workspace\JE-Skin\src\routes\+layout.ts", "TypeScript", 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4, 1, 6 +"e:\Workspace\JE-Skin\src\routes\+page.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 176, 1462 +"e:\Workspace\JE-Skin\static\svelte.svg", "XML", 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 +"e:\Workspace\JE-Skin\static\tauri.svg", "XML", 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 7 +"e:\Workspace\JE-Skin\static\vite.svg", "XML", 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 +"e:\Workspace\JE-Skin\svelte.config.js", "JavaScript", 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 19 +"e:\Workspace\JE-Skin\tauri-event.md", "Markdown", 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 181, 555 +"e:\Workspace\JE-Skin\tsconfig.json", "JSON with Comments", 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 5, 1, 20 +"e:\Workspace\JE-Skin\vite.config.js", "JavaScript", 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 4, 33 "Total", "-", 33, 2040, 597, 14, 27, 182, 4686, 1273, 43, 13, 94, 1250, 10252 \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-01_16-39-17/results.json b/.VSCodeCounter/2026-04-01_16-39-17/results.json index adc2aaa..ec247fb 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/results.json +++ b/.VSCodeCounter/2026-04-01_16-39-17/results.json @@ -1 +1 @@ -{"file:///e%3A/Workspace/joyson-serial/svelte.config.js":{"language":"JavaScript","code":11,"comment":5,"blank":3},"file:///e%3A/Workspace/joyson-serial/package.json":{"language":"JSON","code":31,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/tauri-event.md":{"language":"Markdown","code":374,"comment":0,"blank":181},"file:///e%3A/Workspace/joyson-serial/frontend_prompt.md":{"language":"Markdown","code":189,"comment":0,"blank":66},"file:///e%3A/Workspace/joyson-serial/package-lock.json":{"language":"JSON","code":1957,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/tsconfig.json":{"language":"JSON with Comments","code":14,"comment":5,"blank":1},"file:///e%3A/Workspace/joyson-serial/flowus_tools.json":{"language":"JSON","code":1,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/vite.config.js":{"language":"JavaScript","code":22,"comment":7,"blank":4},"file:///e%3A/Workspace/joyson-serial/src-tauri/tauri.conf.json":{"language":"JSON","code":36,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/static/tauri.svg":{"language":"XML","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/static/vite.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Blayout.ts":{"language":"TypeScript","code":1,"comment":4,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/capabilities/default.json":{"language":"JSON","code":15,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/README.md":{"language":"Markdown","code":34,"comment":0,"blank":20},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Blayout.svelte":{"language":"Svelte","code":13,"comment":0,"blank":5},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/utils.rs":{"language":"Rust","code":26,"comment":0,"blank":6},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/serial.rs":{"language":"Rust","code":73,"comment":0,"blank":8},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/record.rs":{"language":"Rust","code":50,"comment":4,"blank":11},"file:///e%3A/Workspace/joyson-serial/static/svelte.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/model.rs":{"language":"Rust","code":377,"comment":57,"blank":67},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/mod.rs":{"language":"Rust","code":22,"comment":0,"blank":7},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/error.rs":{"language":"Rust","code":47,"comment":0,"blank":6},"file:///e%3A/Workspace/joyson-serial/src-tauri/build.rs":{"language":"Rust","code":3,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/frame.rs":{"language":"Rust","code":46,"comment":3,"blank":9},"file:///e%3A/Workspace/joyson-serial/src/lib/styles/theme.css":{"language":"PostCSS","code":43,"comment":1,"blank":7},"file:///e%3A/Workspace/joyson-serial/src/lib/types/hud.ts":{"language":"TypeScript","code":126,"comment":0,"blank":20},"file:///e%3A/Workspace/joyson-serial/src/lib/components/SummaryCurve.svelte":{"language":"Svelte","code":497,"comment":0,"blank":88},"file:///e%3A/Workspace/joyson-serial/src/lib/components/HudPanel.svelte":{"language":"Svelte","code":861,"comment":0,"blank":110},"file:///e%3A/Workspace/joyson-serial/src/lib/components/SignalChart.svelte":{"language":"Svelte","code":382,"comment":0,"blank":71},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/lib.rs":{"language":"Rust","code":22,"comment":0,"blank":2},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/log.rs":{"language":"Rust","code":34,"comment":0,"blank":2},"file:///e%3A/Workspace/joyson-serial/src/lib/components/CenterStage.svelte":{"language":"Svelte","code":691,"comment":0,"blank":96},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Bpage.svelte":{"language":"Svelte","code":1286,"comment":0,"blank":176},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codec.rs":{"language":"Rust","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src/app.html":{"language":"HTML","code":13,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/mod.rs":{"language":"Rust","code":4,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/test.rs":{"language":"Rust","code":213,"comment":7,"blank":40},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/tactile_a.rs":{"language":"Rust","code":67,"comment":0,"blank":17},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/window.rs":{"language":"Rust","code":27,"comment":0,"blank":6},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/serial.rs":{"language":"Rust","code":246,"comment":0,"blank":44},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/mod.rs":{"language":"Rust","code":2,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src/lib/config/color-map.ts":{"language":"TypeScript","code":55,"comment":0,"blank":3},"file:///e%3A/Workspace/joyson-serial/src/lib/components/PressureMatrixViewer.svelte":{"language":"Svelte","code":558,"comment":0,"blank":97},"file:///e%3A/Workspace/joyson-serial/src/lib/components/ConfigPanel.svelte":{"language":"Svelte","code":398,"comment":0,"blank":63},"file:///e%3A/Workspace/joyson-serial/.idea/tauri-demo.iml":{"language":"XML","code":11,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/.idea/modules.xml":{"language":"XML","code":8,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/main.rs":{"language":"Rust","code":8,"comment":1,"blank":2}} \ No newline at end of file +{"file:///e%3A/Workspace/JE-Skin/svelte.config.js":{"language":"JavaScript","code":11,"comment":5,"blank":3},"file:///e%3A/Workspace/JE-Skin/package.json":{"language":"JSON","code":31,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/tauri-event.md":{"language":"Markdown","code":374,"comment":0,"blank":181},"file:///e%3A/Workspace/JE-Skin/frontend_prompt.md":{"language":"Markdown","code":189,"comment":0,"blank":66},"file:///e%3A/Workspace/JE-Skin/package-lock.json":{"language":"JSON","code":1957,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/tsconfig.json":{"language":"JSON with Comments","code":14,"comment":5,"blank":1},"file:///e%3A/Workspace/JE-Skin/flowus_tools.json":{"language":"JSON","code":1,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/vite.config.js":{"language":"JavaScript","code":22,"comment":7,"blank":4},"file:///e%3A/Workspace/JE-Skin/src-tauri/tauri.conf.json":{"language":"JSON","code":36,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/static/tauri.svg":{"language":"XML","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/static/vite.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Blayout.ts":{"language":"TypeScript","code":1,"comment":4,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/capabilities/default.json":{"language":"JSON","code":15,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/README.md":{"language":"Markdown","code":34,"comment":0,"blank":20},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Blayout.svelte":{"language":"Svelte","code":13,"comment":0,"blank":5},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/utils.rs":{"language":"Rust","code":26,"comment":0,"blank":6},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/serial.rs":{"language":"Rust","code":73,"comment":0,"blank":8},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/record.rs":{"language":"Rust","code":50,"comment":4,"blank":11},"file:///e%3A/Workspace/JE-Skin/static/svelte.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/model.rs":{"language":"Rust","code":377,"comment":57,"blank":67},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/mod.rs":{"language":"Rust","code":22,"comment":0,"blank":7},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/error.rs":{"language":"Rust","code":47,"comment":0,"blank":6},"file:///e%3A/Workspace/JE-Skin/src-tauri/build.rs":{"language":"Rust","code":3,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/frame.rs":{"language":"Rust","code":46,"comment":3,"blank":9},"file:///e%3A/Workspace/JE-Skin/src/lib/styles/theme.css":{"language":"PostCSS","code":43,"comment":1,"blank":7},"file:///e%3A/Workspace/JE-Skin/src/lib/types/hud.ts":{"language":"TypeScript","code":126,"comment":0,"blank":20},"file:///e%3A/Workspace/JE-Skin/src/lib/components/SummaryCurve.svelte":{"language":"Svelte","code":497,"comment":0,"blank":88},"file:///e%3A/Workspace/JE-Skin/src/lib/components/HudPanel.svelte":{"language":"Svelte","code":861,"comment":0,"blank":110},"file:///e%3A/Workspace/JE-Skin/src/lib/components/SignalChart.svelte":{"language":"Svelte","code":382,"comment":0,"blank":71},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/lib.rs":{"language":"Rust","code":22,"comment":0,"blank":2},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/log.rs":{"language":"Rust","code":34,"comment":0,"blank":2},"file:///e%3A/Workspace/JE-Skin/src/lib/components/CenterStage.svelte":{"language":"Svelte","code":691,"comment":0,"blank":96},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Bpage.svelte":{"language":"Svelte","code":1286,"comment":0,"blank":176},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codec.rs":{"language":"Rust","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src/app.html":{"language":"HTML","code":13,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/mod.rs":{"language":"Rust","code":4,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/test.rs":{"language":"Rust","code":213,"comment":7,"blank":40},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/tactile_a.rs":{"language":"Rust","code":67,"comment":0,"blank":17},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/window.rs":{"language":"Rust","code":27,"comment":0,"blank":6},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/serial.rs":{"language":"Rust","code":246,"comment":0,"blank":44},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/mod.rs":{"language":"Rust","code":2,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src/lib/config/color-map.ts":{"language":"TypeScript","code":55,"comment":0,"blank":3},"file:///e%3A/Workspace/JE-Skin/src/lib/components/PressureMatrixViewer.svelte":{"language":"Svelte","code":558,"comment":0,"blank":97},"file:///e%3A/Workspace/JE-Skin/src/lib/components/ConfigPanel.svelte":{"language":"Svelte","code":398,"comment":0,"blank":63},"file:///e%3A/Workspace/JE-Skin/.idea/tauri-demo.iml":{"language":"XML","code":11,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/.idea/modules.xml":{"language":"XML","code":8,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/main.rs":{"language":"Rust","code":8,"comment":1,"blank":2}} \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-01_16-39-17/results.md b/.VSCodeCounter/2026-04-01_16-39-17/results.md index bf11d25..4ae5641 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/results.md +++ b/.VSCodeCounter/2026-04-01_16-39-17/results.md @@ -2,7 +2,7 @@ Date : 2026-04-01 16:39:17 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 47 files, 8908 codes, 94 comments, 1250 blanks, all 10252 lines diff --git a/.VSCodeCounter/2026-04-01_16-39-17/results.txt b/.VSCodeCounter/2026-04-01_16-39-17/results.txt index dbd6a10..f766381 100644 --- a/.VSCodeCounter/2026-04-01_16-39-17/results.txt +++ b/.VSCodeCounter/2026-04-01_16-39-17/results.txt @@ -1,5 +1,5 @@ Date : 2026-04-01 16:39:17 -Directory : e:\Workspace\joyson-serial +Directory : e:\Workspace\JE-Skin Total : 47 files, 8908 codes, 94 comments, 1250 blanks, all 10252 lines Languages @@ -49,52 +49,52 @@ Files +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ | filename | language | code | comment | blank | total | +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ -| e:\Workspace\joyson-serial\.idea\modules.xml | XML | 8 | 0 | 0 | 8 | -| e:\Workspace\joyson-serial\.idea\tauri-demo.iml | XML | 11 | 0 | 0 | 11 | -| e:\Workspace\joyson-serial\README.md | Markdown | 34 | 0 | 20 | 54 | -| e:\Workspace\joyson-serial\flowus_tools.json | JSON | 1 | 0 | 1 | 2 | -| e:\Workspace\joyson-serial\frontend_prompt.md | Markdown | 189 | 0 | 66 | 255 | -| e:\Workspace\joyson-serial\package-lock.json | JSON | 1,957 | 0 | 1 | 1,958 | -| e:\Workspace\joyson-serial\package.json | JSON | 31 | 0 | 1 | 32 | -| e:\Workspace\joyson-serial\src-tauri\build.rs | Rust | 3 | 0 | 1 | 4 | -| e:\Workspace\joyson-serial\src-tauri\capabilities\default.json | JSON | 15 | 0 | 1 | 16 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\mod.rs | Rust | 2 | 0 | 1 | 3 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\serial.rs | Rust | 246 | 0 | 44 | 290 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\window.rs | Rust | 27 | 0 | 6 | 33 | -| e:\Workspace\joyson-serial\src-tauri\src\lib.rs | Rust | 22 | 0 | 2 | 24 | -| e:\Workspace\joyson-serial\src-tauri\src\log.rs | Rust | 34 | 0 | 2 | 36 | -| e:\Workspace\joyson-serial\src-tauri\src\main.rs | Rust | 8 | 1 | 2 | 11 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codec.rs | Rust | 6 | 0 | 1 | 7 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\mod.rs | Rust | 4 | 0 | 1 | 5 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 67 | 0 | 17 | 84 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs | Rust | 213 | 7 | 40 | 260 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs | Rust | 47 | 0 | 6 | 53 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs | Rust | 46 | 3 | 9 | 58 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\mod.rs | Rust | 22 | 0 | 7 | 29 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\model.rs | Rust | 377 | 57 | 67 | 501 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\record.rs | Rust | 50 | 4 | 11 | 65 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs | Rust | 73 | 0 | 8 | 81 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs | Rust | 26 | 0 | 6 | 32 | -| e:\Workspace\joyson-serial\src-tauri\tauri.conf.json | JSON | 36 | 0 | 1 | 37 | -| e:\Workspace\joyson-serial\src\app.html | HTML | 13 | 0 | 1 | 14 | -| e:\Workspace\joyson-serial\src\lib\components\CenterStage.svelte | Svelte | 691 | 0 | 96 | 787 | -| e:\Workspace\joyson-serial\src\lib\components\ConfigPanel.svelte | Svelte | 398 | 0 | 63 | 461 | -| e:\Workspace\joyson-serial\src\lib\components\HudPanel.svelte | Svelte | 861 | 0 | 110 | 971 | -| e:\Workspace\joyson-serial\src\lib\components\PressureMatrixViewer.svelte | Svelte | 558 | 0 | 97 | 655 | -| e:\Workspace\joyson-serial\src\lib\components\SignalChart.svelte | Svelte | 382 | 0 | 71 | 453 | -| e:\Workspace\joyson-serial\src\lib\components\SummaryCurve.svelte | Svelte | 497 | 0 | 88 | 585 | -| e:\Workspace\joyson-serial\src\lib\config\color-map.ts | TypeScript | 55 | 0 | 3 | 58 | -| e:\Workspace\joyson-serial\src\lib\styles\theme.css | PostCSS | 43 | 1 | 7 | 51 | -| e:\Workspace\joyson-serial\src\lib\types\hud.ts | TypeScript | 126 | 0 | 20 | 146 | -| e:\Workspace\joyson-serial\src\routes\+layout.svelte | Svelte | 13 | 0 | 5 | 18 | -| e:\Workspace\joyson-serial\src\routes\+layout.ts | TypeScript | 1 | 4 | 1 | 6 | -| e:\Workspace\joyson-serial\src\routes\+page.svelte | Svelte | 1,286 | 0 | 176 | 1,462 | -| e:\Workspace\joyson-serial\static\svelte.svg | XML | 1 | 0 | 0 | 1 | -| e:\Workspace\joyson-serial\static\tauri.svg | XML | 6 | 0 | 1 | 7 | -| e:\Workspace\joyson-serial\static\vite.svg | XML | 1 | 0 | 0 | 1 | -| e:\Workspace\joyson-serial\svelte.config.js | JavaScript | 11 | 5 | 3 | 19 | -| e:\Workspace\joyson-serial\tauri-event.md | Markdown | 374 | 0 | 181 | 555 | -| e:\Workspace\joyson-serial\tsconfig.json | JSON with Comments | 14 | 5 | 1 | 20 | -| e:\Workspace\joyson-serial\vite.config.js | JavaScript | 22 | 7 | 4 | 33 | +| e:\Workspace\JE-Skin\.idea\modules.xml | XML | 8 | 0 | 0 | 8 | +| e:\Workspace\JE-Skin\.idea\tauri-demo.iml | XML | 11 | 0 | 0 | 11 | +| e:\Workspace\JE-Skin\README.md | Markdown | 34 | 0 | 20 | 54 | +| e:\Workspace\JE-Skin\flowus_tools.json | JSON | 1 | 0 | 1 | 2 | +| e:\Workspace\JE-Skin\frontend_prompt.md | Markdown | 189 | 0 | 66 | 255 | +| e:\Workspace\JE-Skin\package-lock.json | JSON | 1,957 | 0 | 1 | 1,958 | +| e:\Workspace\JE-Skin\package.json | JSON | 31 | 0 | 1 | 32 | +| e:\Workspace\JE-Skin\src-tauri\build.rs | Rust | 3 | 0 | 1 | 4 | +| e:\Workspace\JE-Skin\src-tauri\capabilities\default.json | JSON | 15 | 0 | 1 | 16 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\mod.rs | Rust | 2 | 0 | 1 | 3 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\serial.rs | Rust | 246 | 0 | 44 | 290 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\window.rs | Rust | 27 | 0 | 6 | 33 | +| e:\Workspace\JE-Skin\src-tauri\src\lib.rs | Rust | 22 | 0 | 2 | 24 | +| e:\Workspace\JE-Skin\src-tauri\src\log.rs | Rust | 34 | 0 | 2 | 36 | +| e:\Workspace\JE-Skin\src-tauri\src\main.rs | Rust | 8 | 1 | 2 | 11 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codec.rs | Rust | 6 | 0 | 1 | 7 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\mod.rs | Rust | 4 | 0 | 1 | 5 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 67 | 0 | 17 | 84 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs | Rust | 213 | 7 | 40 | 260 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs | Rust | 47 | 0 | 6 | 53 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs | Rust | 46 | 3 | 9 | 58 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\mod.rs | Rust | 22 | 0 | 7 | 29 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\model.rs | Rust | 377 | 57 | 67 | 501 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\record.rs | Rust | 50 | 4 | 11 | 65 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs | Rust | 73 | 0 | 8 | 81 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs | Rust | 26 | 0 | 6 | 32 | +| e:\Workspace\JE-Skin\src-tauri\tauri.conf.json | JSON | 36 | 0 | 1 | 37 | +| e:\Workspace\JE-Skin\src\app.html | HTML | 13 | 0 | 1 | 14 | +| e:\Workspace\JE-Skin\src\lib\components\CenterStage.svelte | Svelte | 691 | 0 | 96 | 787 | +| e:\Workspace\JE-Skin\src\lib\components\ConfigPanel.svelte | Svelte | 398 | 0 | 63 | 461 | +| e:\Workspace\JE-Skin\src\lib\components\HudPanel.svelte | Svelte | 861 | 0 | 110 | 971 | +| e:\Workspace\JE-Skin\src\lib\components\PressureMatrixViewer.svelte | Svelte | 558 | 0 | 97 | 655 | +| e:\Workspace\JE-Skin\src\lib\components\SignalChart.svelte | Svelte | 382 | 0 | 71 | 453 | +| e:\Workspace\JE-Skin\src\lib\components\SummaryCurve.svelte | Svelte | 497 | 0 | 88 | 585 | +| e:\Workspace\JE-Skin\src\lib\config\color-map.ts | TypeScript | 55 | 0 | 3 | 58 | +| e:\Workspace\JE-Skin\src\lib\styles\theme.css | PostCSS | 43 | 1 | 7 | 51 | +| e:\Workspace\JE-Skin\src\lib\types\hud.ts | TypeScript | 126 | 0 | 20 | 146 | +| e:\Workspace\JE-Skin\src\routes\+layout.svelte | Svelte | 13 | 0 | 5 | 18 | +| e:\Workspace\JE-Skin\src\routes\+layout.ts | TypeScript | 1 | 4 | 1 | 6 | +| e:\Workspace\JE-Skin\src\routes\+page.svelte | Svelte | 1,286 | 0 | 176 | 1,462 | +| e:\Workspace\JE-Skin\static\svelte.svg | XML | 1 | 0 | 0 | 1 | +| e:\Workspace\JE-Skin\static\tauri.svg | XML | 6 | 0 | 1 | 7 | +| e:\Workspace\JE-Skin\static\vite.svg | XML | 1 | 0 | 0 | 1 | +| e:\Workspace\JE-Skin\svelte.config.js | JavaScript | 11 | 5 | 3 | 19 | +| e:\Workspace\JE-Skin\tauri-event.md | Markdown | 374 | 0 | 181 | 555 | +| e:\Workspace\JE-Skin\tsconfig.json | JSON with Comments | 14 | 5 | 1 | 20 | +| e:\Workspace\JE-Skin\vite.config.js | JavaScript | 22 | 7 | 4 | 33 | | Total | | 8,908 | 94 | 1,250 | 10,252 | +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-02_14-42-07/details.md b/.VSCodeCounter/2026-04-02_14-42-07/details.md index fab2f7c..16859a6 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/details.md +++ b/.VSCodeCounter/2026-04-02_14-42-07/details.md @@ -2,7 +2,7 @@ Date : 2026-04-02 14:42:07 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 47 files, 9155 codes, 95 comments, 1279 blanks, all 10529 lines diff --git a/.VSCodeCounter/2026-04-02_14-42-07/diff-details.md b/.VSCodeCounter/2026-04-02_14-42-07/diff-details.md index 22f8c1d..70aec0a 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/diff-details.md +++ b/.VSCodeCounter/2026-04-02_14-42-07/diff-details.md @@ -2,7 +2,7 @@ Date : 2026-04-02 14:42:07 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 6 files, 247 codes, 1 comments, 29 blanks, all 277 lines diff --git a/.VSCodeCounter/2026-04-02_14-42-07/diff.csv b/.VSCodeCounter/2026-04-02_14-42-07/diff.csv index df93fd4..37b419e 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/diff.csv +++ b/.VSCodeCounter/2026-04-02_14-42-07/diff.csv @@ -1,8 +1,8 @@ "filename", "language", "Rust", "comment", "blank", "total" -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 153, 0, 11, 164 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs", "Rust", 2, 1, -2, 1 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs", "Rust", 2, 0, 0, 2 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs", "Rust", 1, 0, -1, 0 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs", "Rust", 68, 0, 14, 82 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs", "Rust", 21, 0, 7, 28 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 153, 0, 11, 164 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs", "Rust", 2, 1, -2, 1 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs", "Rust", 2, 0, 0, 2 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs", "Rust", 1, 0, -1, 0 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs", "Rust", 68, 0, 14, 82 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs", "Rust", 21, 0, 7, 28 "Total", "-", 247, 1, 29, 277 \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-02_14-42-07/diff.md b/.VSCodeCounter/2026-04-02_14-42-07/diff.md index 7ddf4f1..91d2f43 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/diff.md +++ b/.VSCodeCounter/2026-04-02_14-42-07/diff.md @@ -2,7 +2,7 @@ Date : 2026-04-02 14:42:07 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 6 files, 247 codes, 1 comments, 29 blanks, all 277 lines diff --git a/.VSCodeCounter/2026-04-02_14-42-07/diff.txt b/.VSCodeCounter/2026-04-02_14-42-07/diff.txt index 300ede8..6b73a20 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/diff.txt +++ b/.VSCodeCounter/2026-04-02_14-42-07/diff.txt @@ -1,5 +1,5 @@ Date : 2026-04-02 14:42:07 -Directory : e:\Workspace\joyson-serial +Directory : e:\Workspace\JE-Skin Total : 6 files, 247 codes, 1 comments, 29 blanks, all 277 lines Languages @@ -25,11 +25,11 @@ Files +--------------------------------------------------------------------------+----------+------------+------------+------------+------------+ | filename | language | code | comment | blank | total | +--------------------------------------------------------------------------+----------+------------+------------+------------+------------+ -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 153 | 0 | 11 | 164 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs | Rust | 2 | 1 | -2 | 1 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs | Rust | 2 | 0 | 0 | 2 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs | Rust | 1 | 0 | -1 | 0 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs | Rust | 68 | 0 | 14 | 82 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs | Rust | 21 | 0 | 7 | 28 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 153 | 0 | 11 | 164 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs | Rust | 2 | 1 | -2 | 1 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs | Rust | 2 | 0 | 0 | 2 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs | Rust | 1 | 0 | -1 | 0 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs | Rust | 68 | 0 | 14 | 82 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs | Rust | 21 | 0 | 7 | 28 | | Total | | 247 | 1 | 29 | 277 | +--------------------------------------------------------------------------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-02_14-42-07/results.csv b/.VSCodeCounter/2026-04-02_14-42-07/results.csv index 76193d2..b7c59ba 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/results.csv +++ b/.VSCodeCounter/2026-04-02_14-42-07/results.csv @@ -1,49 +1,49 @@ "filename", "language", "Markdown", "JSON with Comments", "JSON", "XML", "JavaScript", "HTML", "Rust", "TypeScript", "Svelte", "PostCSS", "comment", "blank", "total" -"e:\Workspace\joyson-serial\.idea\modules.xml", "XML", 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8 -"e:\Workspace\joyson-serial\.idea\tauri-demo.iml", "XML", 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11 -"e:\Workspace\joyson-serial\README.md", "Markdown", 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 54 -"e:\Workspace\joyson-serial\flowus_tools.json", "JSON", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 -"e:\Workspace\joyson-serial\frontend_prompt.md", "Markdown", 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 255 -"e:\Workspace\joyson-serial\package-lock.json", "JSON", 0, 0, 1957, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1958 -"e:\Workspace\joyson-serial\package.json", "JSON", 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32 -"e:\Workspace\joyson-serial\src-tauri\build.rs", "Rust", 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 4 -"e:\Workspace\joyson-serial\src-tauri\capabilities\default.json", "JSON", 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16 -"e:\Workspace\joyson-serial\src-tauri\src\commands\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 3 -"e:\Workspace\joyson-serial\src-tauri\src\commands\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 44, 290 -"e:\Workspace\joyson-serial\src-tauri\src\commands\window.rs", "Rust", 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 6, 33 -"e:\Workspace\joyson-serial\src-tauri\src\lib.rs", "Rust", 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 2, 24 -"e:\Workspace\joyson-serial\src-tauri\src\log.rs", "Rust", 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2, 36 -"e:\Workspace\joyson-serial\src-tauri\src\main.rs", "Rust", 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 2, 11 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codec.rs", "Rust", 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 1, 7 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 5 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 28, 248 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs", "Rust", 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 8, 38, 261 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs", "Rust", 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 6, 55 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs", "Rust", 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 3, 8, 58 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 7, 29 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\model.rs", "Rust", 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 57, 67, 501 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\record.rs", "Rust", 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 4, 11, 65 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 22, 163 -"e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs", "Rust", 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 13, 60 -"e:\Workspace\joyson-serial\src-tauri\tauri.conf.json", "JSON", 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 37 -"e:\Workspace\joyson-serial\src\app.html", "HTML", 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 1, 14 -"e:\Workspace\joyson-serial\src\lib\components\CenterStage.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 96, 787 -"e:\Workspace\joyson-serial\src\lib\components\ConfigPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 63, 461 -"e:\Workspace\joyson-serial\src\lib\components\HudPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 110, 971 -"e:\Workspace\joyson-serial\src\lib\components\PressureMatrixViewer.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 97, 655 -"e:\Workspace\joyson-serial\src\lib\components\SignalChart.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 71, 453 -"e:\Workspace\joyson-serial\src\lib\components\SummaryCurve.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 497, 0, 0, 88, 585 -"e:\Workspace\joyson-serial\src\lib\config\color-map.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 3, 58 -"e:\Workspace\joyson-serial\src\lib\styles\theme.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 7, 51 -"e:\Workspace\joyson-serial\src\lib\types\hud.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 20, 146 -"e:\Workspace\joyson-serial\src\routes\+layout.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 5, 18 -"e:\Workspace\joyson-serial\src\routes\+layout.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 1, 6 -"e:\Workspace\joyson-serial\src\routes\+page.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 176, 1462 -"e:\Workspace\joyson-serial\static\svelte.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 -"e:\Workspace\joyson-serial\static\tauri.svg", "XML", 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 7 -"e:\Workspace\joyson-serial\static\vite.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 -"e:\Workspace\joyson-serial\svelte.config.js", "JavaScript", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 3, 19 -"e:\Workspace\joyson-serial\tauri-event.md", "Markdown", 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 555 -"e:\Workspace\joyson-serial\tsconfig.json", "JSON with Comments", 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 20 -"e:\Workspace\joyson-serial\vite.config.js", "JavaScript", 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 7, 4, 33 +"e:\Workspace\JE-Skin\.idea\modules.xml", "XML", 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 8 +"e:\Workspace\JE-Skin\.idea\tauri-demo.iml", "XML", 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 11 +"e:\Workspace\JE-Skin\README.md", "Markdown", 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 54 +"e:\Workspace\JE-Skin\flowus_tools.json", "JSON", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"e:\Workspace\JE-Skin\frontend_prompt.md", "Markdown", 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 255 +"e:\Workspace\JE-Skin\package-lock.json", "JSON", 0, 0, 1957, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1958 +"e:\Workspace\JE-Skin\package.json", "JSON", 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 32 +"e:\Workspace\JE-Skin\src-tauri\build.rs", "Rust", 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 4 +"e:\Workspace\JE-Skin\src-tauri\capabilities\default.json", "JSON", 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16 +"e:\Workspace\JE-Skin\src-tauri\src\commands\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 3 +"e:\Workspace\JE-Skin\src-tauri\src\commands\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 44, 290 +"e:\Workspace\JE-Skin\src-tauri\src\commands\window.rs", "Rust", 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 6, 33 +"e:\Workspace\JE-Skin\src-tauri\src\lib.rs", "Rust", 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 2, 24 +"e:\Workspace\JE-Skin\src-tauri\src\log.rs", "Rust", 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 2, 36 +"e:\Workspace\JE-Skin\src-tauri\src\main.rs", "Rust", 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 2, 11 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codec.rs", "Rust", 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 1, 7 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 1, 5 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs", "Rust", 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 28, 248 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs", "Rust", 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 8, 38, 261 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs", "Rust", 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 6, 55 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs", "Rust", 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 3, 8, 58 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\mod.rs", "Rust", 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 7, 29 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\model.rs", "Rust", 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 57, 67, 501 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\record.rs", "Rust", 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 4, 11, 65 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs", "Rust", 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 22, 163 +"e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs", "Rust", 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 13, 60 +"e:\Workspace\JE-Skin\src-tauri\tauri.conf.json", "JSON", 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 37 +"e:\Workspace\JE-Skin\src\app.html", "HTML", 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 1, 14 +"e:\Workspace\JE-Skin\src\lib\components\CenterStage.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 96, 787 +"e:\Workspace\JE-Skin\src\lib\components\ConfigPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 63, 461 +"e:\Workspace\JE-Skin\src\lib\components\HudPanel.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 110, 971 +"e:\Workspace\JE-Skin\src\lib\components\PressureMatrixViewer.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 97, 655 +"e:\Workspace\JE-Skin\src\lib\components\SignalChart.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 71, 453 +"e:\Workspace\JE-Skin\src\lib\components\SummaryCurve.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 497, 0, 0, 88, 585 +"e:\Workspace\JE-Skin\src\lib\config\color-map.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 3, 58 +"e:\Workspace\JE-Skin\src\lib\styles\theme.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 7, 51 +"e:\Workspace\JE-Skin\src\lib\types\hud.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 20, 146 +"e:\Workspace\JE-Skin\src\routes\+layout.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 5, 18 +"e:\Workspace\JE-Skin\src\routes\+layout.ts", "TypeScript", 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 1, 6 +"e:\Workspace\JE-Skin\src\routes\+page.svelte", "Svelte", 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 176, 1462 +"e:\Workspace\JE-Skin\static\svelte.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"e:\Workspace\JE-Skin\static\tauri.svg", "XML", 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 7 +"e:\Workspace\JE-Skin\static\vite.svg", "XML", 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 +"e:\Workspace\JE-Skin\svelte.config.js", "JavaScript", 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 3, 19 +"e:\Workspace\JE-Skin\tauri-event.md", "Markdown", 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 555 +"e:\Workspace\JE-Skin\tsconfig.json", "JSON with Comments", 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 20 +"e:\Workspace\JE-Skin\vite.config.js", "JavaScript", 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 7, 4, 33 "Total", "-", 597, 14, 2040, 27, 33, 13, 1520, 182, 4686, 43, 95, 1279, 10529 \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-02_14-42-07/results.json b/.VSCodeCounter/2026-04-02_14-42-07/results.json index cd62fe3..b2cf5c2 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/results.json +++ b/.VSCodeCounter/2026-04-02_14-42-07/results.json @@ -1 +1 @@ -{"file:///e%3A/Workspace/joyson-serial/frontend_prompt.md":{"language":"Markdown","code":189,"comment":0,"blank":66},"file:///e%3A/Workspace/joyson-serial/tsconfig.json":{"language":"JSON with Comments","code":14,"comment":5,"blank":1},"file:///e%3A/Workspace/joyson-serial/flowus_tools.json":{"language":"JSON","code":1,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/static/vite.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/tauri-event.md":{"language":"Markdown","code":374,"comment":0,"blank":181},"file:///e%3A/Workspace/joyson-serial/static/svelte.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/static/tauri.svg":{"language":"XML","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/vite.config.js":{"language":"JavaScript","code":22,"comment":7,"blank":4},"file:///e%3A/Workspace/joyson-serial/src-tauri/tauri.conf.json":{"language":"JSON","code":36,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/package.json":{"language":"JSON","code":31,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/svelte.config.js":{"language":"JavaScript","code":11,"comment":5,"blank":3},"file:///e%3A/Workspace/joyson-serial/README.md":{"language":"Markdown","code":34,"comment":0,"blank":20},"file:///e%3A/Workspace/joyson-serial/src/app.html":{"language":"HTML","code":13,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/.idea/tauri-demo.iml":{"language":"XML","code":11,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/.idea/modules.xml":{"language":"XML","code":8,"comment":0,"blank":0},"file:///e%3A/Workspace/joyson-serial/src-tauri/build.rs":{"language":"Rust","code":3,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Blayout.ts":{"language":"TypeScript","code":1,"comment":4,"blank":1},"file:///e%3A/Workspace/joyson-serial/src/lib/types/hud.ts":{"language":"TypeScript","code":126,"comment":0,"blank":20},"file:///e%3A/Workspace/joyson-serial/package-lock.json":{"language":"JSON","code":1957,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/capabilities/default.json":{"language":"JSON","code":15,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Blayout.svelte":{"language":"Svelte","code":13,"comment":0,"blank":5},"file:///e%3A/Workspace/joyson-serial/src/lib/config/color-map.ts":{"language":"TypeScript","code":55,"comment":0,"blank":3},"file:///e%3A/Workspace/joyson-serial/src/lib/components/SignalChart.svelte":{"language":"Svelte","code":382,"comment":0,"blank":71},"file:///e%3A/Workspace/joyson-serial/src/lib/styles/theme.css":{"language":"PostCSS","code":43,"comment":1,"blank":7},"file:///e%3A/Workspace/joyson-serial/src/lib/components/PressureMatrixViewer.svelte":{"language":"Svelte","code":558,"comment":0,"blank":97},"file:///e%3A/Workspace/joyson-serial/src/routes/%2Bpage.svelte":{"language":"Svelte","code":1286,"comment":0,"blank":176},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/utils.rs":{"language":"Rust","code":47,"comment":0,"blank":13},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/serial.rs":{"language":"Rust","code":141,"comment":0,"blank":22},"file:///e%3A/Workspace/joyson-serial/src/lib/components/SummaryCurve.svelte":{"language":"Svelte","code":497,"comment":0,"blank":88},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/record.rs":{"language":"Rust","code":50,"comment":4,"blank":11},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/mod.rs":{"language":"Rust","code":22,"comment":0,"blank":7},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/model.rs":{"language":"Rust","code":377,"comment":57,"blank":67},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/frame.rs":{"language":"Rust","code":47,"comment":3,"blank":8},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/error.rs":{"language":"Rust","code":49,"comment":0,"blank":6},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/tactile_a.rs":{"language":"Rust","code":220,"comment":0,"blank":28},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/test.rs":{"language":"Rust","code":215,"comment":8,"blank":38},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codecs/mod.rs":{"language":"Rust","code":4,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/serial_core/codec.rs":{"language":"Rust","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/main.rs":{"language":"Rust","code":8,"comment":1,"blank":2},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/log.rs":{"language":"Rust","code":34,"comment":0,"blank":2},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/window.rs":{"language":"Rust","code":27,"comment":0,"blank":6},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/serial.rs":{"language":"Rust","code":246,"comment":0,"blank":44},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/commands/mod.rs":{"language":"Rust","code":2,"comment":0,"blank":1},"file:///e%3A/Workspace/joyson-serial/src-tauri/src/lib.rs":{"language":"Rust","code":22,"comment":0,"blank":2},"file:///e%3A/Workspace/joyson-serial/src/lib/components/CenterStage.svelte":{"language":"Svelte","code":691,"comment":0,"blank":96},"file:///e%3A/Workspace/joyson-serial/src/lib/components/HudPanel.svelte":{"language":"Svelte","code":861,"comment":0,"blank":110},"file:///e%3A/Workspace/joyson-serial/src/lib/components/ConfigPanel.svelte":{"language":"Svelte","code":398,"comment":0,"blank":63}} \ No newline at end of file +{"file:///e%3A/Workspace/JE-Skin/frontend_prompt.md":{"language":"Markdown","code":189,"comment":0,"blank":66},"file:///e%3A/Workspace/JE-Skin/tsconfig.json":{"language":"JSON with Comments","code":14,"comment":5,"blank":1},"file:///e%3A/Workspace/JE-Skin/flowus_tools.json":{"language":"JSON","code":1,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/static/vite.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/tauri-event.md":{"language":"Markdown","code":374,"comment":0,"blank":181},"file:///e%3A/Workspace/JE-Skin/static/svelte.svg":{"language":"XML","code":1,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/static/tauri.svg":{"language":"XML","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/vite.config.js":{"language":"JavaScript","code":22,"comment":7,"blank":4},"file:///e%3A/Workspace/JE-Skin/src-tauri/tauri.conf.json":{"language":"JSON","code":36,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/package.json":{"language":"JSON","code":31,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/svelte.config.js":{"language":"JavaScript","code":11,"comment":5,"blank":3},"file:///e%3A/Workspace/JE-Skin/README.md":{"language":"Markdown","code":34,"comment":0,"blank":20},"file:///e%3A/Workspace/JE-Skin/src/app.html":{"language":"HTML","code":13,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/.idea/tauri-demo.iml":{"language":"XML","code":11,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/.idea/modules.xml":{"language":"XML","code":8,"comment":0,"blank":0},"file:///e%3A/Workspace/JE-Skin/src-tauri/build.rs":{"language":"Rust","code":3,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Blayout.ts":{"language":"TypeScript","code":1,"comment":4,"blank":1},"file:///e%3A/Workspace/JE-Skin/src/lib/types/hud.ts":{"language":"TypeScript","code":126,"comment":0,"blank":20},"file:///e%3A/Workspace/JE-Skin/package-lock.json":{"language":"JSON","code":1957,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/capabilities/default.json":{"language":"JSON","code":15,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Blayout.svelte":{"language":"Svelte","code":13,"comment":0,"blank":5},"file:///e%3A/Workspace/JE-Skin/src/lib/config/color-map.ts":{"language":"TypeScript","code":55,"comment":0,"blank":3},"file:///e%3A/Workspace/JE-Skin/src/lib/components/SignalChart.svelte":{"language":"Svelte","code":382,"comment":0,"blank":71},"file:///e%3A/Workspace/JE-Skin/src/lib/styles/theme.css":{"language":"PostCSS","code":43,"comment":1,"blank":7},"file:///e%3A/Workspace/JE-Skin/src/lib/components/PressureMatrixViewer.svelte":{"language":"Svelte","code":558,"comment":0,"blank":97},"file:///e%3A/Workspace/JE-Skin/src/routes/%2Bpage.svelte":{"language":"Svelte","code":1286,"comment":0,"blank":176},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/utils.rs":{"language":"Rust","code":47,"comment":0,"blank":13},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/serial.rs":{"language":"Rust","code":141,"comment":0,"blank":22},"file:///e%3A/Workspace/JE-Skin/src/lib/components/SummaryCurve.svelte":{"language":"Svelte","code":497,"comment":0,"blank":88},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/record.rs":{"language":"Rust","code":50,"comment":4,"blank":11},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/mod.rs":{"language":"Rust","code":22,"comment":0,"blank":7},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/model.rs":{"language":"Rust","code":377,"comment":57,"blank":67},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/frame.rs":{"language":"Rust","code":47,"comment":3,"blank":8},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/error.rs":{"language":"Rust","code":49,"comment":0,"blank":6},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/tactile_a.rs":{"language":"Rust","code":220,"comment":0,"blank":28},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/test.rs":{"language":"Rust","code":215,"comment":8,"blank":38},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codecs/mod.rs":{"language":"Rust","code":4,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/serial_core/codec.rs":{"language":"Rust","code":6,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/main.rs":{"language":"Rust","code":8,"comment":1,"blank":2},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/log.rs":{"language":"Rust","code":34,"comment":0,"blank":2},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/window.rs":{"language":"Rust","code":27,"comment":0,"blank":6},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/serial.rs":{"language":"Rust","code":246,"comment":0,"blank":44},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/commands/mod.rs":{"language":"Rust","code":2,"comment":0,"blank":1},"file:///e%3A/Workspace/JE-Skin/src-tauri/src/lib.rs":{"language":"Rust","code":22,"comment":0,"blank":2},"file:///e%3A/Workspace/JE-Skin/src/lib/components/CenterStage.svelte":{"language":"Svelte","code":691,"comment":0,"blank":96},"file:///e%3A/Workspace/JE-Skin/src/lib/components/HudPanel.svelte":{"language":"Svelte","code":861,"comment":0,"blank":110},"file:///e%3A/Workspace/JE-Skin/src/lib/components/ConfigPanel.svelte":{"language":"Svelte","code":398,"comment":0,"blank":63}} \ No newline at end of file diff --git a/.VSCodeCounter/2026-04-02_14-42-07/results.md b/.VSCodeCounter/2026-04-02_14-42-07/results.md index d4f72c7..35fdb38 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/results.md +++ b/.VSCodeCounter/2026-04-02_14-42-07/results.md @@ -2,7 +2,7 @@ Date : 2026-04-02 14:42:07 -Directory e:\\Workspace\\joyson-serial +Directory e:\\Workspace\\JE-Skin Total : 47 files, 9155 codes, 95 comments, 1279 blanks, all 10529 lines diff --git a/.VSCodeCounter/2026-04-02_14-42-07/results.txt b/.VSCodeCounter/2026-04-02_14-42-07/results.txt index f3a8553..29bf3ab 100644 --- a/.VSCodeCounter/2026-04-02_14-42-07/results.txt +++ b/.VSCodeCounter/2026-04-02_14-42-07/results.txt @@ -1,5 +1,5 @@ Date : 2026-04-02 14:42:07 -Directory : e:\Workspace\joyson-serial +Directory : e:\Workspace\JE-Skin Total : 47 files, 9155 codes, 95 comments, 1279 blanks, all 10529 lines Languages @@ -49,52 +49,52 @@ Files +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ | filename | language | code | comment | blank | total | +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ -| e:\Workspace\joyson-serial\.idea\modules.xml | XML | 8 | 0 | 0 | 8 | -| e:\Workspace\joyson-serial\.idea\tauri-demo.iml | XML | 11 | 0 | 0 | 11 | -| e:\Workspace\joyson-serial\README.md | Markdown | 34 | 0 | 20 | 54 | -| e:\Workspace\joyson-serial\flowus_tools.json | JSON | 1 | 0 | 1 | 2 | -| e:\Workspace\joyson-serial\frontend_prompt.md | Markdown | 189 | 0 | 66 | 255 | -| e:\Workspace\joyson-serial\package-lock.json | JSON | 1,957 | 0 | 1 | 1,958 | -| e:\Workspace\joyson-serial\package.json | JSON | 31 | 0 | 1 | 32 | -| e:\Workspace\joyson-serial\src-tauri\build.rs | Rust | 3 | 0 | 1 | 4 | -| e:\Workspace\joyson-serial\src-tauri\capabilities\default.json | JSON | 15 | 0 | 1 | 16 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\mod.rs | Rust | 2 | 0 | 1 | 3 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\serial.rs | Rust | 246 | 0 | 44 | 290 | -| e:\Workspace\joyson-serial\src-tauri\src\commands\window.rs | Rust | 27 | 0 | 6 | 33 | -| e:\Workspace\joyson-serial\src-tauri\src\lib.rs | Rust | 22 | 0 | 2 | 24 | -| e:\Workspace\joyson-serial\src-tauri\src\log.rs | Rust | 34 | 0 | 2 | 36 | -| e:\Workspace\joyson-serial\src-tauri\src\main.rs | Rust | 8 | 1 | 2 | 11 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codec.rs | Rust | 6 | 0 | 1 | 7 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\mod.rs | Rust | 4 | 0 | 1 | 5 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 220 | 0 | 28 | 248 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\codecs\test.rs | Rust | 215 | 8 | 38 | 261 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\error.rs | Rust | 49 | 0 | 6 | 55 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\frame.rs | Rust | 47 | 3 | 8 | 58 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\mod.rs | Rust | 22 | 0 | 7 | 29 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\model.rs | Rust | 377 | 57 | 67 | 501 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\record.rs | Rust | 50 | 4 | 11 | 65 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\serial.rs | Rust | 141 | 0 | 22 | 163 | -| e:\Workspace\joyson-serial\src-tauri\src\serial_core\utils.rs | Rust | 47 | 0 | 13 | 60 | -| e:\Workspace\joyson-serial\src-tauri\tauri.conf.json | JSON | 36 | 0 | 1 | 37 | -| e:\Workspace\joyson-serial\src\app.html | HTML | 13 | 0 | 1 | 14 | -| e:\Workspace\joyson-serial\src\lib\components\CenterStage.svelte | Svelte | 691 | 0 | 96 | 787 | -| e:\Workspace\joyson-serial\src\lib\components\ConfigPanel.svelte | Svelte | 398 | 0 | 63 | 461 | -| e:\Workspace\joyson-serial\src\lib\components\HudPanel.svelte | Svelte | 861 | 0 | 110 | 971 | -| e:\Workspace\joyson-serial\src\lib\components\PressureMatrixViewer.svelte | Svelte | 558 | 0 | 97 | 655 | -| e:\Workspace\joyson-serial\src\lib\components\SignalChart.svelte | Svelte | 382 | 0 | 71 | 453 | -| e:\Workspace\joyson-serial\src\lib\components\SummaryCurve.svelte | Svelte | 497 | 0 | 88 | 585 | -| e:\Workspace\joyson-serial\src\lib\config\color-map.ts | TypeScript | 55 | 0 | 3 | 58 | -| e:\Workspace\joyson-serial\src\lib\styles\theme.css | PostCSS | 43 | 1 | 7 | 51 | -| e:\Workspace\joyson-serial\src\lib\types\hud.ts | TypeScript | 126 | 0 | 20 | 146 | -| e:\Workspace\joyson-serial\src\routes\+layout.svelte | Svelte | 13 | 0 | 5 | 18 | -| e:\Workspace\joyson-serial\src\routes\+layout.ts | TypeScript | 1 | 4 | 1 | 6 | -| e:\Workspace\joyson-serial\src\routes\+page.svelte | Svelte | 1,286 | 0 | 176 | 1,462 | -| e:\Workspace\joyson-serial\static\svelte.svg | XML | 1 | 0 | 0 | 1 | -| e:\Workspace\joyson-serial\static\tauri.svg | XML | 6 | 0 | 1 | 7 | -| e:\Workspace\joyson-serial\static\vite.svg | XML | 1 | 0 | 0 | 1 | -| e:\Workspace\joyson-serial\svelte.config.js | JavaScript | 11 | 5 | 3 | 19 | -| e:\Workspace\joyson-serial\tauri-event.md | Markdown | 374 | 0 | 181 | 555 | -| e:\Workspace\joyson-serial\tsconfig.json | JSON with Comments | 14 | 5 | 1 | 20 | -| e:\Workspace\joyson-serial\vite.config.js | JavaScript | 22 | 7 | 4 | 33 | +| e:\Workspace\JE-Skin\.idea\modules.xml | XML | 8 | 0 | 0 | 8 | +| e:\Workspace\JE-Skin\.idea\tauri-demo.iml | XML | 11 | 0 | 0 | 11 | +| e:\Workspace\JE-Skin\README.md | Markdown | 34 | 0 | 20 | 54 | +| e:\Workspace\JE-Skin\flowus_tools.json | JSON | 1 | 0 | 1 | 2 | +| e:\Workspace\JE-Skin\frontend_prompt.md | Markdown | 189 | 0 | 66 | 255 | +| e:\Workspace\JE-Skin\package-lock.json | JSON | 1,957 | 0 | 1 | 1,958 | +| e:\Workspace\JE-Skin\package.json | JSON | 31 | 0 | 1 | 32 | +| e:\Workspace\JE-Skin\src-tauri\build.rs | Rust | 3 | 0 | 1 | 4 | +| e:\Workspace\JE-Skin\src-tauri\capabilities\default.json | JSON | 15 | 0 | 1 | 16 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\mod.rs | Rust | 2 | 0 | 1 | 3 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\serial.rs | Rust | 246 | 0 | 44 | 290 | +| e:\Workspace\JE-Skin\src-tauri\src\commands\window.rs | Rust | 27 | 0 | 6 | 33 | +| e:\Workspace\JE-Skin\src-tauri\src\lib.rs | Rust | 22 | 0 | 2 | 24 | +| e:\Workspace\JE-Skin\src-tauri\src\log.rs | Rust | 34 | 0 | 2 | 36 | +| e:\Workspace\JE-Skin\src-tauri\src\main.rs | Rust | 8 | 1 | 2 | 11 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codec.rs | Rust | 6 | 0 | 1 | 7 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\mod.rs | Rust | 4 | 0 | 1 | 5 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\tactile_a.rs | Rust | 220 | 0 | 28 | 248 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\codecs\test.rs | Rust | 215 | 8 | 38 | 261 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\error.rs | Rust | 49 | 0 | 6 | 55 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\frame.rs | Rust | 47 | 3 | 8 | 58 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\mod.rs | Rust | 22 | 0 | 7 | 29 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\model.rs | Rust | 377 | 57 | 67 | 501 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\record.rs | Rust | 50 | 4 | 11 | 65 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\serial.rs | Rust | 141 | 0 | 22 | 163 | +| e:\Workspace\JE-Skin\src-tauri\src\serial_core\utils.rs | Rust | 47 | 0 | 13 | 60 | +| e:\Workspace\JE-Skin\src-tauri\tauri.conf.json | JSON | 36 | 0 | 1 | 37 | +| e:\Workspace\JE-Skin\src\app.html | HTML | 13 | 0 | 1 | 14 | +| e:\Workspace\JE-Skin\src\lib\components\CenterStage.svelte | Svelte | 691 | 0 | 96 | 787 | +| e:\Workspace\JE-Skin\src\lib\components\ConfigPanel.svelte | Svelte | 398 | 0 | 63 | 461 | +| e:\Workspace\JE-Skin\src\lib\components\HudPanel.svelte | Svelte | 861 | 0 | 110 | 971 | +| e:\Workspace\JE-Skin\src\lib\components\PressureMatrixViewer.svelte | Svelte | 558 | 0 | 97 | 655 | +| e:\Workspace\JE-Skin\src\lib\components\SignalChart.svelte | Svelte | 382 | 0 | 71 | 453 | +| e:\Workspace\JE-Skin\src\lib\components\SummaryCurve.svelte | Svelte | 497 | 0 | 88 | 585 | +| e:\Workspace\JE-Skin\src\lib\config\color-map.ts | TypeScript | 55 | 0 | 3 | 58 | +| e:\Workspace\JE-Skin\src\lib\styles\theme.css | PostCSS | 43 | 1 | 7 | 51 | +| e:\Workspace\JE-Skin\src\lib\types\hud.ts | TypeScript | 126 | 0 | 20 | 146 | +| e:\Workspace\JE-Skin\src\routes\+layout.svelte | Svelte | 13 | 0 | 5 | 18 | +| e:\Workspace\JE-Skin\src\routes\+layout.ts | TypeScript | 1 | 4 | 1 | 6 | +| e:\Workspace\JE-Skin\src\routes\+page.svelte | Svelte | 1,286 | 0 | 176 | 1,462 | +| e:\Workspace\JE-Skin\static\svelte.svg | XML | 1 | 0 | 0 | 1 | +| e:\Workspace\JE-Skin\static\tauri.svg | XML | 6 | 0 | 1 | 7 | +| e:\Workspace\JE-Skin\static\vite.svg | XML | 1 | 0 | 0 | 1 | +| e:\Workspace\JE-Skin\svelte.config.js | JavaScript | 11 | 5 | 3 | 19 | +| e:\Workspace\JE-Skin\tauri-event.md | Markdown | 374 | 0 | 181 | 555 | +| e:\Workspace\JE-Skin\tsconfig.json | JSON with Comments | 14 | 5 | 1 | 20 | +| e:\Workspace\JE-Skin\vite.config.js | JavaScript | 22 | 7 | 4 | 33 | | Total | | 9,155 | 95 | 1,279 | 10,529 | +---------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3b1aaa3..81ebe28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "joyson-serial", + "name": "JE-Skin", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "joyson-serial", + "name": "JE-Skin", "version": "0.1.0", "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 5c8e37c..086aaaa 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "joyson-serial", + "name": "JE-Skin", "version": "0.1.0", "description": "", "type": "module", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 48cc34b..a4ab21b 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2,6 +2,28 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "JE-Skin" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "chrono", + "crc", + "csv", + "fern", + "humantime", + "log", + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-opener", + "tokio", + "tokio-serial", + "tokio-util", +] + [[package]] name = "adler2" version = "2.0.1" @@ -1941,28 +1963,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" -[[package]] -name = "joyson-serial" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "crc", - "csv", - "fern", - "humantime", - "log", - "serde", - "serde_json", - "tauri", - "tauri-build", - "tauri-plugin-opener", - "tokio", - "tokio-serial", - "tokio-util", -] - [[package]] name = "js-sys" version = "0.3.91" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 94ccf1b..6458809 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "joyson-serial" +name = "JE-Skin" version = "0.1.0" description = "A Tauri App" authors = ["you"] diff --git a/src-tauri/program.log2026-04-02 b/src-tauri/program.log2026-04-02 deleted file mode 100644 index e69de29..0000000 diff --git a/src-tauri/program.log2026-04-03 b/src-tauri/program.log2026-04-03 deleted file mode 100644 index e69de29..0000000 diff --git a/src-tauri/src/commands/serial.rs b/src-tauri/src/commands/serial.rs index 85b5836..2441060 100644 --- a/src-tauri/src/commands/serial.rs +++ b/src-tauri/src/commands/serial.rs @@ -113,7 +113,7 @@ pub async fn serial_connect( let task_app = app.clone(); let task_port_name = port_name.clone(); - let port = tokio_serial::new(&port_name, 115200) + let port = tokio_serial::new(&port_name, 921600) .open_native_async() .map_err(|_| SerialError::OpenError)?; let session_started_at = Instant::now(); diff --git a/src-tauri/src/log.rs b/src-tauri/src/log.rs index 5596d5d..3ffb5be 100644 --- a/src-tauri/src/log.rs +++ b/src-tauri/src/log.rs @@ -1,5 +1,5 @@ -use fern::colors::{Color, ColoredLevelConfig}; -use log::{debug, error, info, trace, warn}; +use fern::{Dispatch, colors::{Color, ColoredLevelConfig}}; +use log::{debug}; use std::time::SystemTime; pub fn setup_logger() { let colors_line = ColoredLevelConfig::new() @@ -10,7 +10,13 @@ pub fn setup_logger() { .trace(Color::BrightBlack); let colors_level = colors_line.info(Color::Green); - fern::Dispatch::new() + let level = if cfg!(debug_assertions) { + log::LevelFilter::Debug + } else { + log::LevelFilter::Info + }; + + let console_config = fern::Dispatch::new() .format(move |out, message, record| { out.finish( format_args!( @@ -26,11 +32,33 @@ pub fn setup_logger() { ) ); }) - .level(log::LevelFilter::Info) - .chain(std::io::stdout()) - .chain(fern::DateBased::new("program.log", "%Y-%m-%d")) + .level(level) + .chain(std::io::stdout()); + // .chain(fern::DateBased::new("program.log", "%Y-%m-%d")) + // .apply() + // .unwrap(); + + let file_config = fern::Dispatch::new() + .format(move |out, message, record| { + out.finish( + format_args!( + "[{data} {level} {target}] {message}", + data = humantime::format_rfc3339_seconds(SystemTime::now()), + target = record.target(), + level = colors_level.color(record.level()), + message = message, + ) + ); + }) + .level(level) + .chain(fern::DateBased::new("program.log", "%Y-%m-%d")); + + Dispatch::new() + .level(log::LevelFilter::Debug) + .chain(console_config) + .chain(file_config) .apply() .unwrap(); debug!("logging initialized"); -} \ No newline at end of file +} diff --git a/src-tauri/src/serial_core/codecs/tactile_a.rs b/src-tauri/src/serial_core/codecs/tactile_a.rs index 7f3a7f5..1c0e9f3 100644 --- a/src-tauri/src/serial_core/codecs/tactile_a.rs +++ b/src-tauri/src/serial_core/codecs/tactile_a.rs @@ -3,7 +3,7 @@ use crate::serial_core::frame::{ FrameHandler, TactileAFrameMetaData, TactileARepFrame, TactileAReqFrame, }; use crate::serial_core::record::{write_csv, CsvExporter, CsvImporter, RecordedFrame, Recording}; -use crate::serial_core::utils::{calc_crc8_itu, elapsed_millis, usize_to_u16_le_bytes}; +use crate::serial_core::utils::{calc_crc8_itu, elapsed_millis}; use crate::serial_core::{ codec::Codec, frame::{TactileAFrame, TactileAFrameStatusCode}, @@ -12,12 +12,14 @@ use async_trait::async_trait; use csv::StringRecord; use anyhow::anyhow; use std::io::Read; +use log::debug; const FRAME_BUFFER_MIN_LENGTH: usize = 15; pub struct TactileACodec { buffer: Vec, frame_nb: u64, + expected_data_len: usize, } pub struct TactileACsvExporter { @@ -64,6 +66,7 @@ impl TactileACodec { Self { buffer: Vec::new(), frame_nb: 0, + expected_data_len: cols * rows * 2, } } @@ -145,11 +148,33 @@ impl Codec for TactileACodec { ]); let except_data_len = u16::from_le_bytes([self.buffer[11], self.buffer[12]]) as usize; let status = TactileAFrameStatusCode::from(self.buffer[13]); + if except_data_len != self.expected_data_len { + debug!( + "unexpected payload length: expected {}, got {}, buffer_len={}", + self.expected_data_len, + except_data_len, + self.buffer.len() + ); + self.buffer.drain(0..1); + continue; + } + + let frame_length = except_data_len + FRAME_BUFFER_MIN_LENGTH; + if self.buffer.len() < frame_length { + break; + } + + let need_check_data = self.buffer[0..14 + except_data_len].to_vec(); let payload = self.buffer[14..14 + except_data_len].to_vec(); let crc8_itu_alg = crc::Crc::::new(&crc::CRC_8_I_432_1); - let checksum = crc8_itu_alg.checksum(&payload.as_slice()); - let frame_length = except_data_len + FRAME_BUFFER_MIN_LENGTH; + let checksum = crc8_itu_alg.checksum(&need_check_data.as_slice()); if self.buffer[frame_length - 1] != checksum { + debug!( + "checksum mismatch: expected {:02X}, got {:02X}, frame_len={}", + checksum, + self.buffer[frame_length - 1], + frame_length + ); self.buffer.drain(0..1); continue; } @@ -187,11 +212,13 @@ impl Codec for TactileACodec { TactileAFrame::Req(f) => { let mut req_bytes: Vec = Vec::new(); req_bytes.extend_from_slice(f.meta.header.as_slice()); - req_bytes.extend_from_slice(usize_to_u16_le_bytes(f.meta.payload_len).as_slice()); + req_bytes.extend_from_slice((f.meta.payload_len as u16).to_le_bytes().as_slice()); req_bytes.push(f.meta.device_addr); req_bytes.push(f.meta.extend_code); req_bytes.push(f.meta.func_code); + req_bytes.extend_from_slice(f.meta.start_addr.to_le_bytes().as_slice()); + req_bytes.extend_from_slice((f.meta.except_data_len as u16).to_le_bytes().as_slice()); let checksum = calc_crc8_itu(req_bytes.as_slice()); req_bytes.push(checksum); Ok(req_bytes) @@ -209,6 +236,7 @@ impl FrameHandler for TactileAHandler { match frame { TactileAFrame::Rep(rep) => { let vals = TactileACodec::parse_data_frame(&rep.payload)?; + debug!("vals is {:?}", vals); Ok(Some(vals)) } _ => Ok(None), diff --git a/src-tauri/src/serial_core/codecs/test.rs b/src-tauri/src/serial_core/codecs/test.rs index f3d40d7..ad4fc60 100644 --- a/src-tauri/src/serial_core/codecs/test.rs +++ b/src-tauri/src/serial_core/codecs/test.rs @@ -6,7 +6,6 @@ use anyhow::anyhow; use async_trait::async_trait; use csv::StringRecord; use crate::serial_core::record::{write_csv, CsvExporter, CsvImporter, RecordedFrame, Recording}; -use crc::{Crc, CRC_8_SMBUS}; use crate::serial_core::utils::{ elapsed_millis, usize_to_u16_be_bytes diff --git a/src-tauri/src/serial_core/serial.rs b/src-tauri/src/serial_core/serial.rs index 687058b..8308d90 100644 --- a/src-tauri/src/serial_core/serial.rs +++ b/src-tauri/src/serial_core/serial.rs @@ -12,7 +12,7 @@ use tokio_util::sync::CancellationToken; use std::future::pending; use std::sync::{Arc, Mutex}; use std::time::Instant; -use log::info; +use log::{info, debug}; use crate::serial_core::record::{FrameTiming, RecordedFrame}; pub enum PollMode { @@ -211,6 +211,7 @@ where let mut prune_interval = time::interval(Duration::from_millis(450)); prune_interval.set_missed_tick_behavior(MissedTickBehavior::Delay); + loop { tokio::select! { _ = cancel.cancelled() => break, @@ -239,6 +240,9 @@ where read_result = port.read(&mut buffer) => { let n = read_result?; if n == 0 { + // Some serial drivers can resolve reads with 0 bytes repeatedly. + // Yield here so timer-driven poll requests are not starved by a busy loop. + tokio::task::yield_now().await; continue; } @@ -261,7 +265,6 @@ where let display_values = if let Some(vals) = decode_res.as_ref() { let summary = vals.iter().copied().sum::(); - info!("dot value summary: {}", summary); chart_state.record_summary(summary as f32); chart_state.record_pressure_matrix(vals.as_slice()); Some(vec![summary]) diff --git a/src-tauri/src/serial_core/utils.rs b/src-tauri/src/serial_core/utils.rs index 20407dd..f5b2542 100644 --- a/src-tauri/src/serial_core/utils.rs +++ b/src-tauri/src/serial_core/utils.rs @@ -1,5 +1,4 @@ -use anyhow::Ok; -use crc::{Crc, CRC_8_I_432_1, CRC_8_SMBUS}; + use std::time::Instant; pub fn usize_to_u16_be_bytes(n: usize) -> [u8; 2] { diff --git a/src-tauri/target-codex-checkfqvNiz/CACHEDIR.TAG b/src-tauri/target-codex-checkfqvNiz/CACHEDIR.TAG new file mode 100644 index 0000000..20d7c31 --- /dev/null +++ b/src-tauri/target-codex-checkfqvNiz/CACHEDIR.TAG @@ -0,0 +1,3 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by cargo. +# For information about cache directory tags see https://bford.info/cachedir/ diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 48c57d2..e7d107c 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "$schema": "https://schema.tauri.app/config/2", - "productName": "tauri-demo", + "productName": "JE-Skin", "version": "0.1.0", "identifier": "com.lenn.tauri-serial", "build": { @@ -12,7 +12,7 @@ "app": { "windows": [ { - "title": "joyson-serial", + "title": "JE-Skin", "width": 1366, "height": 860, "decorations": false diff --git a/src/lib/components/CenterStage.svelte b/src/lib/components/CenterStage.svelte index bd0b85c..401777f 100644 --- a/src/lib/components/CenterStage.svelte +++ b/src/lib/components/CenterStage.svelte @@ -39,7 +39,7 @@ export let matrixRows = 12; export let matrixCols = 7; export let rangeMin = 0; - export let rangeMax = 5000; + export let rangeMax = 16000; export let colorMapPreset: PressureColorMapPreset = "emerald"; export let colorMapOptions: HudColorMapOption[] = []; export let replaySectionLabel = ""; @@ -193,7 +193,7 @@
- {#key `${matrixRows}x${matrixCols}`} + {#key `${matrixRows}x${matrixCols}:${colorMapPreset}`} { + const t = index / 32; + return colorToCss(glowColorMap(t, new THREE.Color())); + }); + + function applyGridTheme(grid: THREE.GridHelper, divisions: number): void { + const colorAttribute = grid.geometry.getAttribute("color"); + if (!(colorAttribute instanceof THREE.BufferAttribute)) { + return; + } + + for (let division = 0; division <= divisions; division += 1) { + const lineColor = division === divisions / 2 ? sceneGridCenterColor : sceneGridLineColor; + const vertexBase = division * 4; + + for (let vertexOffset = 0; vertexOffset < 4; vertexOffset += 1) { + colorAttribute.setXYZ(vertexBase + vertexOffset, lineColor.r, lineColor.g, lineColor.b); + } + } + + colorAttribute.needsUpdate = true; + } + + function applySceneTheme(): void { + if (!rendererRef || !boardMaterialRef || !gridRef || !gridMaterialRef) { + return; + } + + rendererRef.setClearColor(sceneClearColor, 1); + boardMaterialRef.color.copy(sceneBoardColor); + boardMaterialRef.needsUpdate = true; + applyGridTheme(gridRef, matrixLayout.gridDivisions); + + if (Array.isArray(gridMaterialRef)) { + for (const material of gridMaterialRef) { + material.transparent = true; + material.opacity = 0.034; + material.needsUpdate = true; + } + } else { + gridMaterialRef.transparent = true; + gridMaterialRef.opacity = 0.034; + gridMaterialRef.needsUpdate = true; + } + + ambientLightRef?.color.copy(sceneAmbientLightColor); + dirLightRef?.color.copy(sceneKeyLightColor); + sideLightRef?.color.copy(sceneAccentLightColor); + } + + $: applySceneTheme(); onMount(() => { if (!viewerEl || !canvasEl || !overlayEl) { @@ -251,8 +340,9 @@ alpha: true, powerPreference: "high-performance" }); + rendererRef = renderer; renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 2)); - renderer.setClearColor(0x06080a, 1); + renderer.setClearColor(sceneClearColor, 1); renderer.outputColorSpace = THREE.SRGBColorSpace; const scene = new THREE.Scene(); @@ -277,11 +367,14 @@ controls.target.set(CAMERA_TARGET_X, CAMERA_TARGET_Y, CAMERA_TARGET_Z); controls.enabled = false; - const ambientLight = new THREE.AmbientLight(0xffffff, 0.26); - const dirLight = new THREE.DirectionalLight(0xffffff, 0.34); + const ambientLight = new THREE.AmbientLight(sceneAmbientLightColor, 0.26); + const dirLight = new THREE.DirectionalLight(sceneKeyLightColor, 0.34); dirLight.position.set(50, 100, 50); - const sideLight = new THREE.DirectionalLight(0x7cffba, 0.16); + const sideLight = new THREE.DirectionalLight(sceneAccentLightColor, 0.16); sideLight.position.set(-50, 50, -50); + ambientLightRef = ambientLight; + dirLightRef = dirLight; + sideLightRef = sideLight; scene.add(ambientLight, dirLight, sideLight); const matrixGroup = new THREE.Group(); @@ -292,29 +385,33 @@ const board = new THREE.Mesh( new THREE.PlaneGeometry(boardWidth + boardPadding * 2, boardDepth + boardPadding * 2), new THREE.MeshBasicMaterial({ - color: 0x05070a, + color: sceneBoardColor, transparent: true, opacity: 0.12, toneMapped: false }) ); + boardMaterialRef = board.material; board.rotation.x = -Math.PI / 2; board.position.y = -0.04; matrixGroup.add(board); - const grid = new THREE.GridHelper(gridSpan, gridDivisions, 0x1a2630, 0x0a1015); + const grid = new THREE.GridHelper(gridSpan, gridDivisions, sceneGridCenterColor, sceneGridLineColor); + gridRef = grid; grid.position.y = 0; const gridMaterial = grid.material; + gridMaterialRef = gridMaterial; if (Array.isArray(gridMaterial)) { for (const material of gridMaterial) { material.transparent = true; - material.opacity = 0.028; + material.opacity = 0.034; } } else { gridMaterial.transparent = true; - gridMaterial.opacity = 0.028; + gridMaterial.opacity = 0.034; } matrixGroup.add(grid); + applySceneTheme(); const cellX = new Float32Array(instanceCount); const cellZ = new Float32Array(instanceCount); @@ -377,14 +474,14 @@ overlayContext.font = `600 ${glyphSize.toFixed(1)}px "JetBrains Mono", "IBM Plex Mono", "Consolas", monospace`; overlayContext.shadowBlur = glowBlur; - overlayContext.shadowColor = labelPalette[bucket]; + overlayContext.shadowColor = labelGlowPalette[bucket]; overlayContext.fillStyle = labelPalette[bucket]; overlayContext.globalAlpha = displayValue === 0 ? 0.86 : 1; overlayContext.fillText(displayText, screenX, screenY); if (normalized >= 0.8) { - overlayContext.fillStyle = "rgb(255 245 220)"; + overlayContext.fillStyle = labelHighlightCss; overlayContext.globalAlpha = smoothstep(0.8, 1, normalized) * 0.34; overlayContext.fillText(displayText, screenX, screenY); } @@ -493,11 +590,18 @@ gridMaterial.dispose(); } renderer.dispose(); + rendererRef = null; + boardMaterialRef = null; + gridRef = null; + gridMaterialRef = null; + ambientLightRef = null; + dirLightRef = null; + sideLightRef = null; }; }); -
+
@@ -532,9 +636,9 @@ inset: 0; overflow: hidden; background: - radial-gradient(circle at 50% 58%, rgb(72 127 255 / 0.065), transparent 32%), - radial-gradient(circle at 50% 12%, rgb(151 231 255 / 0.05), transparent 26%), - linear-gradient(180deg, rgb(10 13 17 / 0.82), rgb(5 7 10 / 0.96)); + radial-gradient(circle at 50% 58%, rgb(var(--matrix-glow-rgb) / 0.11), transparent 32%), + radial-gradient(circle at 50% 12%, rgb(var(--matrix-glow-alt-rgb) / 0.09), transparent 26%), + linear-gradient(180deg, color-mix(in srgb, var(--matrix-bg-10) 84%, transparent), color-mix(in srgb, var(--matrix-bg-30) 96%, black 4%)); } .viewer-canvas, @@ -563,7 +667,14 @@ } .viewer-noise { - background: repeating-linear-gradient(180deg, rgb(124 165 216 / 0.02) 0, rgb(124 165 216 / 0.02) 1px, transparent 1px, transparent 3px); + background: + repeating-linear-gradient( + 180deg, + rgb(var(--matrix-glow-alt-rgb) / 0.025) 0, + rgb(var(--matrix-glow-alt-rgb) / 0.025) 1px, + transparent 1px, + transparent 3px + ); } .viewer-controls { @@ -580,17 +691,19 @@ display: grid; gap: 0.58rem; padding: 0.74rem 0.84rem 0.82rem; - border: 1px solid rgb(86 151 118 / 0.32); + border: 1px solid rgb(var(--matrix-border-rgb) / 0.32); border-radius: 0.76rem; - background: linear-gradient(180deg, rgb(7 17 14 / 0.9), rgb(5 10 9 / 0.84)); - box-shadow: inset 0 1px 0 rgb(171 224 197 / 0.08), 0 0 24px rgb(42 138 88 / 0.08); + background: linear-gradient(180deg, rgb(var(--matrix-surface-alt-rgb) / 0.92), rgb(var(--matrix-surface-deep-rgb) / 0.86)); + box-shadow: + inset 0 1px 0 rgb(var(--matrix-border-strong-rgb) / 0.08), + 0 0 24px rgb(var(--matrix-glow-rgb) / 0.08); } .stats-label, .stats-key, .stats-note { margin: 0; - color: rgb(165 212 187 / 0.84); + color: rgb(var(--matrix-text-dim-rgb) / 0.84); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; @@ -607,9 +720,9 @@ gap: 0.24rem; min-height: 4.2rem; padding: 0.58rem 0.64rem; - border: 1px solid rgb(71 122 96 / 0.24); + border: 1px solid rgb(var(--matrix-border-rgb) / 0.24); border-radius: 0.56rem; - background: linear-gradient(180deg, rgb(8 16 14 / 0.88), rgb(5 9 8 / 0.84)); + background: linear-gradient(180deg, rgb(var(--matrix-surface-rgb) / 0.9), rgb(var(--matrix-surface-deep-rgb) / 0.86)); } .stats-card-wide { @@ -617,7 +730,7 @@ } .stats-value { - color: rgb(240 246 255 / 0.98); + color: rgb(var(--matrix-text-main-rgb) / 0.98); font-size: clamp(1.16rem, 1vw + 0.82rem, 1.56rem); line-height: 1; font-weight: 600; diff --git a/src/lib/components/SignalChart.svelte b/src/lib/components/SignalChart.svelte index c86d403..8e2f12a 100644 --- a/src/lib/components/SignalChart.svelte +++ b/src/lib/components/SignalChart.svelte @@ -162,16 +162,16 @@ aspect-ratio: 1.44 / 1; min-block-size: 11.8rem; justify-self: start; - border: 1px solid rgb(130 174 202 / 0.42); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.42); border-radius: 0.92rem; padding: 0.56rem 0.62rem 0.58rem; background: - linear-gradient(160deg, rgb(10 18 26 / 0.76) 0%, rgb(3 8 12 / 0.62) 48%, rgb(1 2 4 / 0.76) 100%), - radial-gradient(circle at 12% 0, rgb(62 232 255 / 0.1), transparent 40%); + linear-gradient(160deg, rgb(var(--hud-surface-alt-rgb) / 0.76) 0%, rgb(var(--hud-surface-rgb) / 0.62) 48%, rgb(var(--hud-surface-deep-rgb) / 0.76) 100%), + radial-gradient(circle at 12% 0, rgb(var(--hud-glow-rgb) / 0.1), transparent 40%); box-shadow: - inset 0 0 0 1px rgb(165 224 255 / 0.08), + inset 0 0 0 1px rgb(var(--hud-border-strong-rgb) / 0.08), inset 0 -24px 32px rgb(0 0 0 / 0.48), - 0 0 14px rgb(62 232 255 / 0.14); + 0 0 14px rgb(var(--hud-glow-rgb) / 0.14); opacity: 1; transform: translateX(0) scale(1) rotate(0); transition: @@ -215,7 +215,7 @@ .panel-code { margin: 0; font-size: 0.63rem; - color: rgb(153 188 211 / 0.88); + color: rgb(var(--hud-text-dim-rgb) / 0.88); letter-spacing: 0.12em; text-transform: uppercase; } @@ -223,7 +223,7 @@ .panel-title { margin: 0.12rem 0 0; font-size: 0.75rem; - color: rgb(225 243 255 / 0.96); + color: rgb(var(--hud-text-main-rgb) / 0.96); letter-spacing: 0.05em; } @@ -236,25 +236,25 @@ } .icon-chip { - border: 1px solid rgb(138 178 204 / 0.44); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.44); border-radius: 999px; padding: 0.08rem 0.36rem; font-size: 0.58rem; letter-spacing: 0.08em; - color: rgb(209 237 255 / 0.94); - background: rgb(5 13 20 / 0.66); + color: rgb(var(--hud-text-main-rgb) / 0.94); + background: rgb(var(--hud-surface-rgb) / 0.66); } .icon-chip.tone-cyan { - border-color: rgb(62 232 255 / 0.54); + border-color: rgb(var(--hud-cyan-rgb) / 0.54); } .icon-chip.tone-lime { - border-color: rgb(133 255 68 / 0.56); + border-color: rgb(var(--hud-lime-rgb) / 0.56); } .icon-chip.tone-orange { - border-color: rgb(255 91 63 / 0.58); + border-color: rgb(var(--hud-orange-rgb) / 0.58); } .icon-chip.tone-violet { @@ -272,12 +272,12 @@ .chart-stage { position: relative; block-size: clamp(6.4rem, 9vw, 8.2rem); - border: 1px solid rgb(132 174 200 / 0.32); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.32); border-radius: 0.62rem; overflow: hidden; background: - linear-gradient(180deg, rgb(8 17 26 / 0.68), rgb(1 6 10 / 0.78)), - radial-gradient(circle at 50% 0, rgb(62 232 255 / 0.09), transparent 45%); + linear-gradient(180deg, rgb(var(--hud-surface-alt-rgb) / 0.68), rgb(var(--hud-surface-deep-rgb) / 0.78)), + radial-gradient(circle at 50% 0, rgb(var(--hud-glow-rgb) / 0.09), transparent 45%); } svg { @@ -287,7 +287,7 @@ } .grid-line-group line { - stroke: rgb(138 184 210 / 0.16); + stroke: rgb(var(--hud-border-strong-rgb) / 0.16); stroke-width: 0.45; } @@ -300,15 +300,15 @@ } .series-line.tone-cyan { - stroke: rgb(62 232 255 / 0.95); + stroke: rgb(var(--hud-cyan-rgb) / 0.95); } .series-line.tone-lime { - stroke: rgb(133 255 68 / 0.94); + stroke: rgb(var(--hud-lime-rgb) / 0.94); } .series-line.tone-orange { - stroke: rgb(255 91 63 / 0.94); + stroke: rgb(var(--hud-orange-rgb) / 0.94); } .series-line.tone-violet { @@ -329,12 +329,12 @@ background: repeating-linear-gradient( 180deg, - rgb(146 191 214 / 0.04) 0, - rgb(146 191 214 / 0.04) 1px, + rgb(var(--hud-border-strong-rgb) / 0.04) 0, + rgb(var(--hud-border-strong-rgb) / 0.04) 1px, transparent 1px, transparent 3px ), - linear-gradient(180deg, transparent 0%, rgb(62 232 255 / 0.06) 50%, transparent 100%); + linear-gradient(180deg, transparent 0%, rgb(var(--hud-glow-rgb) / 0.06) 50%, transparent 100%); background-size: 100% 100%, 100% 100%; mix-blend-mode: screen; pointer-events: none; @@ -353,7 +353,7 @@ display: inline-flex; align-items: center; gap: 0.3rem; - color: rgb(173 206 227 / 0.9); + color: rgb(var(--hud-text-main-rgb) / 0.9); font-size: 0.62rem; letter-spacing: 0.04em; } @@ -365,19 +365,19 @@ } .dot.tone-cyan { - background: rgb(62 232 255); + background: rgb(var(--hud-cyan-rgb)); } .dot.tone-lime { - background: rgb(133 255 68); + background: rgb(var(--hud-lime-rgb)); } .dot.tone-orange { - background: rgb(255 91 63); + background: rgb(var(--hud-orange-rgb)); } .metric-label { - color: rgb(144 172 191 / 0.82); + color: rgb(var(--hud-text-dim-rgb) / 0.82); text-transform: uppercase; letter-spacing: 0.08em; } diff --git a/src/lib/components/SummaryCurve.svelte b/src/lib/components/SummaryCurve.svelte index 7d95317..a991200 100644 --- a/src/lib/components/SummaryCurve.svelte +++ b/src/lib/components/SummaryCurve.svelte @@ -313,15 +313,15 @@ grid-template-rows: auto auto auto; gap: 0.4rem; padding: 0.56rem 0.62rem 0.58rem; - border: 1px solid rgb(130 174 202 / 0.42); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.42); border-radius: 0.92rem; background: - linear-gradient(160deg, rgb(10 18 26 / 0.76) 0%, rgb(3 8 12 / 0.62) 48%, rgb(1 2 4 / 0.76) 100%), - radial-gradient(circle at 12% 0, rgb(62 232 255 / 0.1), transparent 40%); + linear-gradient(160deg, rgb(var(--hud-surface-alt-rgb) / 0.76) 0%, rgb(var(--hud-surface-rgb) / 0.62) 48%, rgb(var(--hud-surface-deep-rgb) / 0.76) 100%), + radial-gradient(circle at 12% 0, rgb(var(--hud-glow-rgb) / 0.1), transparent 40%); box-shadow: - inset 0 0 0 1px rgb(165 224 255 / 0.08), + inset 0 0 0 1px rgb(var(--hud-border-strong-rgb) / 0.08), inset 0 -24px 32px rgb(0 0 0 / 0.48), - 0 0 14px rgb(62 232 255 / 0.14); + 0 0 14px rgb(var(--hud-glow-rgb) / 0.14); opacity: 1; transform: translateX(0) scale(1) rotate(0); transition: @@ -360,7 +360,7 @@ .panel-code { margin: 0; font-size: 0.63rem; - color: rgb(153 188 211 / 0.88); + color: rgb(var(--hud-text-dim-rgb) / 0.88); letter-spacing: 0.12em; text-transform: uppercase; } @@ -368,7 +368,7 @@ .panel-title { margin: 0.12rem 0 0; font-size: 0.75rem; - color: rgb(225 243 255 / 0.96); + color: rgb(var(--hud-text-main-rgb) / 0.96); letter-spacing: 0.05em; } @@ -381,36 +381,36 @@ } .icon-chip { - border: 1px solid rgb(138 178 204 / 0.44); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.44); border-radius: 999px; padding: 0.08rem 0.36rem; font-size: 0.58rem; letter-spacing: 0.08em; - color: rgb(209 237 255 / 0.94); - background: rgb(5 13 20 / 0.66); + color: rgb(var(--hud-text-main-rgb) / 0.94); + background: rgb(var(--hud-surface-rgb) / 0.66); } .icon-chip.tone-cyan { - border-color: rgb(62 232 255 / 0.54); + border-color: rgb(var(--hud-cyan-rgb) / 0.54); } .icon-chip.tone-lime { - border-color: rgb(133 255 68 / 0.56); + border-color: rgb(var(--hud-lime-rgb) / 0.56); } .icon-chip.tone-orange { - border-color: rgb(255 91 63 / 0.58); + border-color: rgb(var(--hud-orange-rgb) / 0.58); } .chart-stage { position: relative; block-size: clamp(6.4rem, 9vw, 8.2rem); overflow: hidden; - border: 1px solid rgb(132 174 200 / 0.32); + border: 1px solid rgb(var(--hud-border-strong-rgb) / 0.32); border-radius: 0.62rem; background: - linear-gradient(180deg, rgb(8 17 26 / 0.68), rgb(1 6 10 / 0.78)), - radial-gradient(circle at 50% 0, rgb(62 232 255 / 0.09), transparent 45%); + linear-gradient(180deg, rgb(var(--hud-surface-alt-rgb) / 0.68), rgb(var(--hud-surface-deep-rgb) / 0.78)), + radial-gradient(circle at 50% 0, rgb(var(--hud-glow-rgb) / 0.09), transparent 45%); } svg { @@ -420,7 +420,7 @@ } .grid-lines line { - stroke: rgb(138 184 210 / 0.16); + stroke: rgb(var(--hud-border-strong-rgb) / 0.16); stroke-width: 0.45; } @@ -430,20 +430,20 @@ .summary-line { fill: none; - stroke: rgb(62 232 255 / 0.96); + stroke: rgb(var(--hud-cyan-rgb) / 0.96); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; - filter: drop-shadow(0 0 4px rgb(62 232 255 / 0.22)); + filter: drop-shadow(0 0 4px rgb(var(--hud-cyan-rgb) / 0.22)); } .summary-dot { - fill: rgb(133 255 68 / 0.98); - filter: drop-shadow(0 0 6px rgb(133 255 68 / 0.3)); + fill: rgb(var(--hud-lime-rgb) / 0.98); + filter: drop-shadow(0 0 6px rgb(var(--hud-lime-rgb) / 0.3)); } .axis-label { - fill: rgb(176 204 222 / 0.88); + fill: rgb(var(--hud-text-main-rgb) / 0.88); font-size: 2.8px; font-weight: 500; letter-spacing: 0.02em; @@ -453,11 +453,11 @@ } .y-axis-label { - fill: rgb(162 198 220 / 0.84); + fill: rgb(var(--hud-text-dim-rgb) / 0.84); } .x-axis-label { - fill: rgb(162 198 220 / 0.9); + fill: rgb(var(--hud-text-dim-rgb) / 0.9); } .empty-state { @@ -466,11 +466,11 @@ display: flex; align-items: center; justify-content: center; - color: rgb(155 186 204 / 0.76); + color: rgb(var(--hud-text-dim-rgb) / 0.76); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; - background: linear-gradient(180deg, rgb(2 7 11 / 0.06), rgb(2 7 11 / 0.18)); + background: linear-gradient(180deg, rgb(var(--hud-surface-deep-rgb) / 0.06), rgb(var(--hud-surface-deep-rgb) / 0.18)); } .panel-foot { @@ -486,13 +486,13 @@ display: inline-flex; align-items: center; gap: 0.28rem; - color: rgb(173 206 227 / 0.9); + color: rgb(var(--hud-text-main-rgb) / 0.9); font-size: 0.62rem; letter-spacing: 0.04em; } .metric-text { - color: rgb(146 173 191 / 0.82); + color: rgb(var(--hud-text-dim-rgb) / 0.82); text-transform: uppercase; } @@ -503,15 +503,15 @@ } .dot.tone-cyan { - background: rgb(62 232 255); + background: rgb(var(--hud-cyan-rgb)); } .dot.tone-lime { - background: rgb(133 255 68); + background: rgb(var(--hud-lime-rgb)); } .dot.tone-orange { - background: rgb(255 91 63); + background: rgb(var(--hud-orange-rgb)); } .value { diff --git a/src/lib/config/color-map.ts b/src/lib/config/color-map.ts index 896dc6e..c984698 100644 --- a/src/lib/config/color-map.ts +++ b/src/lib/config/color-map.ts @@ -12,6 +12,25 @@ export interface PressureColorPalette { labelHigh: string; rangeStops: [string, string, string, string, string, string]; rangeGlow: [string, string, string]; + uiTheme: { + bg00: string; + bg10: string; + bg20: string; + bg30: string; + textMainRgb: string; + textDimRgb: string; + borderRgb: string; + borderStrongRgb: string; + surfaceRgb: string; + surfaceAltRgb: string; + surfaceDeepRgb: string; + glowRgb: string; + glowAltRgb: string; + cyanRgb: string; + limeRgb: string; + orangeRgb: string; + infoRgb: string; + }; } export const pressureColorPalettes: Record = { @@ -26,7 +45,26 @@ export const pressureColorPalettes: Record = { "zh-CN": { - appName: "JOYSON HUD", + appName: "JE-Skin", suiteName: "v0.1.0", stageTitle: "WebGL2 主渲染区", stageHint: "底图与三维操作将在此区域加载", @@ -98,7 +98,7 @@ disconnectedLabel: "未连接" }, "en-US": { - appName: "JOYSON HUD", + appName: "JE-Skin", suiteName: "v0.1.0", stageTitle: "WebGL2 Main Surface", stageHint: "Map texture and 3D interactions will render here", @@ -197,7 +197,7 @@ let connectionNotice = ""; let connectionNoticeTone: HudNoticeTone = "info"; let isExporting = false; - let deviceValue = "JY-Sense Unit"; + let deviceValue = "JE-Skin-F"; let sampleRateValue = "100Hz"; let channelsValue = "84"; let webglStatusTone: StageStatusTone = "warn"; @@ -211,7 +211,7 @@ let matrixRows = 12; let matrixCols = 7; let rangeMin = 0; - let rangeMax = 5000; + let rangeMax = 16000; let colorMapPreset: PressureColorMapPreset = "emerald"; let replayFrames: ReplayFrame[] = []; let replayCurrentIndex = 0; @@ -308,8 +308,49 @@ const palette = pressureColorPalettes[preset] ?? pressureColorPalettes.emerald; const [range0, range1, range2, range3, range4, range5] = palette.rangeStops; const [glow0, glow1, glow2] = palette.rangeGlow; + const { + bg00, + bg10, + bg20, + bg30, + textMainRgb, + textDimRgb, + borderRgb, + borderStrongRgb, + surfaceRgb, + surfaceAltRgb, + surfaceDeepRgb, + glowRgb, + glowAltRgb, + cyanRgb, + limeRgb, + orangeRgb, + infoRgb + } = palette.uiTheme; return [ + `--hud-bg-00: ${bg00}`, + `--hud-bg-10: ${bg10}`, + `--hud-bg-20: ${bg20}`, + `--hud-bg-30: ${bg30}`, + `--hud-text-main-rgb: ${textMainRgb}`, + `--hud-text-dim-rgb: ${textDimRgb}`, + `--hud-text-main: rgb(${textMainRgb})`, + `--hud-text-dim: rgb(${textDimRgb})`, + `--hud-border-rgb: ${borderRgb}`, + `--hud-border-strong-rgb: ${borderStrongRgb}`, + `--hud-surface-rgb: ${surfaceRgb}`, + `--hud-surface-alt-rgb: ${surfaceAltRgb}`, + `--hud-surface-deep-rgb: ${surfaceDeepRgb}`, + `--hud-glow-rgb: ${glowRgb}`, + `--hud-glow-alt-rgb: ${glowAltRgb}`, + `--hud-cyan-rgb: ${cyanRgb}`, + `--hud-lime-rgb: ${limeRgb}`, + `--hud-orange-rgb: ${orangeRgb}`, + `--hud-info-rgb: ${infoRgb}`, + `--hud-cyan: rgb(${cyanRgb})`, + `--hud-lime: rgb(${limeRgb})`, + `--hud-orange: rgb(${orangeRgb})`, `--hud-range-0: ${range0}`, `--hud-range-1: ${range1}`, `--hud-range-2: ${range2}`, @@ -615,11 +656,10 @@ function frameValuesToMatrix(values: number[]): number[] { const totalCells = Math.max(matrixRows * matrixCols, 1); const matrix = new Array(totalCells).fill(0); - const maxRawValue = Math.max(rangeMax, 5000); for (let index = 0; index < totalCells; index += 1) { const value = Number(values[index] ?? 0); - matrix[index] = clamp(Number.isFinite(value) ? value : 0, 0, maxRawValue); + matrix[index] = Number.isFinite(value) ? value : 0; } return matrix; @@ -1468,7 +1508,7 @@ }); -
+