Commit graph

7 commits

Author SHA1 Message Date
Your Name 9b71c3ba76 docs: add Slate GUI redesign implementation plan
12 tasks: vitest setup, semantic theme tokens, four in-repo primitives
(ProgressBar/AppButton/Popover/Icon) with unit tests, per-component
restyle, and element-plus removal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 21:08:51 -04:00
Your Name 8481f139bc docs: add Slate GUI redesign design spec
Visual restyle of the desktop app and shared n-link-core components:
dark-first Slate theme with light/dark tokens, inline-SVG icons for
theming, and removal of Element-Plus in favor of three small in-repo
primitives (Popover, AppButton, ProgressBar).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 20:58:16 -04:00
Your Name 81a77f1bcd Add Plan B: Vue 3 frontend port implementation plan
Ten tasks: async-command backend fix, Tailwind 3 + Vite foundation, the
8 n-link-core components, the device store, the app shell, verification.

Grounded in the real scaffold rather than assumptions. Reading the actual
sources surfaced three hazards missing from the earlier follow-on notes:
vue-async-computed (Vue 2 only, drives FileBrowser's listing and spinner),
30 require() calls in FileIcon, and @tailwindcss/custom-forms.

Tailwind 3 chosen over 4: the theme is a JS config with 16 @apply/theme()
uses in scoped SCSS, and 4's CSS-first rewrite would layer a second
migration onto the Vue one.

Task 1 fixes the command-serialization defect found during Plan A
verification: all commands were sync, so a hung list_dir blocked the whole
queue. It goes first because the UI is otherwise untestable on this
hardware.

Core components inject the store via an InjectionKey rather than importing
it, so n-link-core stays decoupled from the desktop implementation and the
web consumer remains portable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 20:24:09 -04:00
Your Name 320a24022c docs+chore: address final review findings
- Correct the vendored libnspire-sys retry limit in spec and plan: the
  actual constant in vendor/libnspire-sys/libnspire/src/cx2.cpp:391 is 30,
  not 100. The '10 -> 100' claim originated in nlink-cli's own Cargo.toml
  comment and was propagated into both documents unverified.
- Drop @tauri-apps/plugin-opener from desktop/package.json; the Rust plugin
  and its capability entry were removed in Task 3, leaving this dangling.
- Reconcile desktop/package.json version 0.1.0 -> 0.1.6 to match Cargo.toml
  and tauri.conf.json.
- Rewrite desktop/README.md, which still instructed users to
  'sudo apt install webkit2gtk-4.0' -- the exact unavailable package this
  port exists to move off. Now documents npm workspaces, the --legacy-peer-deps
  requirement, the dist/-before-cargo gotcha, snap LD_LIBRARY_PATH breakage,
  AppImage FUSE fallback, and the vendored patch.

Disclosure note: commit 4626858 also committed the previously untracked
nlink-cli/ and vendor/ trees (~5900 lines). Committing vendor/ is required --
the [patch.crates-io] override cannot resolve without it -- but the commit
message did not say so. Recorded here rather than rewriting branch history.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 21:41:28 -04:00
Your Name 94c62e810b docs(plan): amend Plan A verification for unavailable oracle
n-link-cli ls / returns Busy then hangs (known CX II firmware issue,
owned by the user, out of scope here). Transfer-dependent gates are
downgraded to non-blocking; enumerate remains a full verification of the
IPC path since it reads USB descriptors only and does no libnspire
transfer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 09:23:10 -04:00
Your Name 8db940edc8 Add Plan A: Tauri 2 backend port implementation plan
Eight tasks from system-dep install through verified deb/appimage
bundles, with a webkit2gtk-4.1 go/no-go gate at Task 2 and n-link-cli
used as the verification oracle against the connected CX II.

Splits the spec's two phases into two plans; Plan B (frontend) is
written after Plan A is verified so it can be grounded in the real
scaffold output rather than assumptions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 09:08:53 -04:00
Your Name 754fbf9c70 Add design spec for Tauri 2 + Vue 3 desktop port
Ports desktop from Tauri 1.0.0-beta.8 (webkit2gtk-4.0, unavailable on
Ubuntu 26.04) to Tauri 2.x (webkit2gtk-4.1), alongside Vue 2 -> Vue 3 and
Vue CLI -> Vite. Wires in the locally patched libnspire-sys already proven
by nlink-cli.

Scoped to Linux (deb + appimage). The web/ package shares n-link-core and
is knowingly left broken, deferred to its own project.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 09:01:06 -04:00