Vue 2 + Vuetify frontend for Neptune_2026.
This section summarizes the bring-your-own-key path from English description to LFR, and what this repo implements today versus optional product-specific features.
- Register on the platform you will use (e.g. DashScope / Model Studio, OpenAI, Anthropic, Google—your choice).
- Enable the chat/code models you need and billing or trial credits (per that console).
- Create an API key, store it privately; do not paste it into public channels.
- If your deployment includes “API / model settings” (names vary): choose provider → paste key → save; use test connection if offered.
- If your deployment includes a dedicated English → LFR screen: describe the design in English, pick a model if available, run Generate LFR, then review compile results and iterate.
- This open-source NeptuneGUI_2026 focuses on the Editor, workspace files, and compile integration with Neptune_2026 (see RUN_LFR.md). It does not require in-app cloud API key fields to be present. For LLM-assisted authoring, use the Editor sidebar “LLM prompts”: download the prompt
.zip, use the files with your provider’s chat or API, then paste LFR back into the Editor.
| Step | What to do |
|---|---|
| Prompts | Editor → sidebar LLM prompts → choose model → Download zip (src/Prompt templates). |
| Guide | In-app page /prompt/steps (route PromptSteps) renders src/Prompt/Steps.md. |
| Write LFR | Paste into Editor, set Script language to LFR, Save / Compile per RUN_LFR.md. |
| Export | Use Download / copy in the Editor as implemented in your build. |
Usage and billing are shown in the cloud console. Content handling follows that vendor’s privacy policy. If your product stores keys in Neptune, users should be able to remove saved keys when no longer needed.
All commands below are run from the project root (the folder that contains package.json).
# 1. Install dependencies
npm ci
# 2. Start backend + frontend in one command
# (Ctrl+C to stop both processes)
npm run server:install # only needed once (or when server deps change)
npm run startThen open http://localhost:8081 in your browser.
Dependency install note:
- Use
npm cifor a clean, reproducible install. - You do not need to run
npm cievery time you start the app. - Run
npm cion first setup, or afterpackage-lock.json/dependencies change.
How to stop running commands:
- In the terminal where
npm run ...is running, pressCtrl + Cto stop it. - If both backend and frontend are running together (for example via
npm run start),Ctrl + Cstops the combined process. - If a process does not stop on the first try, press
Ctrl + Cagain.
- Backend/API (
npm run server):http://localhost:8080 - Frontend/GUI (
npm run serve):http://localhost:8081 - Optional: if you run the 3DuF repo’s dev server locally, it often uses
http://localhost:8082(not started by NeptuneGUI).
If you see EADDRINUSE: address already in use when starting the server, it means one of these ports is already taken by another process. Stop the process using that port and restart (or run the services on different ports, if you adjusted the code/config).
NeptuneGUI opens https://3duf.org/ in a new tab and sends the design JSON with postMessage (loadDeviceFromJSON). The base URL lives in src/lib/open3DuFPostMessage.js (THREE_DUF_APP_URL). Neptune sends that payload three times (0ms / 450ms / 900ms) so a stock 3DuF build does not need any Neptune-specific code.
- Open NeptuneGUI:
http://localhost:8081(or your deployed GUI URL) - Go to Dashboard and select a workspace (or use Component Library for a component row)
- Click the 3DuF control on a JSON file or library row
- Allow popups if the browser blocks the new tab
For development, temporarily set THREE_DUF_APP_URL in src/lib/open3DuFPostMessage.js to your local origin (for example http://localhost:8082), rebuild or refresh the GUI, then run 3DuF from a local clone (see CIDARLAB/3DuF, branch webpack-build-2).
-
Admin: username
cidar, password12345 -
Guest: click “Continue as Guest” to try without an account (data is temporary)
-
Run LFR and compile: see RUN_LFR.md (connect Editor to Neptune_2026 and store output in Data).
-
More details: TESTING.md, Data/README.md.
When you run npm run dev or npm run build, you may see Sass / tooling deprecation warnings, for example:
DEPRECATION WARNING [legacy-js-api]: The legacy JS API is deprecated…DEPRECATION WARNING [import]: Sass @import rules are deprecated…DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated…
These mostly come from the Vue CLI 4 + Vuetify 2 toolchain and their internal Sass code, not from your application logic. In this project:
- We have updated our own Sass to avoid the
global-builtinissue (e.g.rgba()now uses the modernsass:colorAPI). - Remaining
import/legacy-js-apiwarnings are from third‑party build tooling and will only fully disappear after a future stack upgrade (e.g. Vue 3 + Vuetify 3).
So:
- They do not mean the app is broken or insecure by themselves.
- You can safely ignore them during normal development and testing.