Create figures with beautiful approximation curves with few points.
Note
You can download the latest release of Linéo for your system from the Releases page.
Please download the appropriate installer for your operating system, run the installer, and follow the installation instructions.
On MacOS, both Intel and Apple Silicon architectures are supported.
To build Linéo from source, make sure you have Node.js (with npm - fnm is recommended), Rust and Tauri prerequisites installed.
All-in-one setup script (Debian-based Linux)
# tauri prerequisites
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
# rustup
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
# nodejs + npm (using fnm)
cargo install fnm --locked
eval "$(fnm env)"
fnm install --lts
fnm use --lts(Not so) all-in-one setup script (Windows - PowerShell)
# Install rustup
Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile rustup-init.exe
Start-Process -FilePath .\rustup-init.exe -ArgumentList "-y" -NoNewWindow -Wait
Remove-Item .\rustup-init.exe
$env:Path += ";$env:USERPROFILE\.cargo\bin"
# Install fnm (Node.js version manager)
cargo install fnm --locked
$env:Path += ";$env:USERPROFILE\.cargo\bin"
fnm install --lts
fnm use --ltsThen, clone the repository and run the following commands in the project directory:
npm install
npm run tauri buildThis will create the application binaries in the src-tauri/target/release directory. Installers are also generated in the src-tauri/target/release/bundle directory.
You can also run the application in development mode with:
npm run tauri devRun the application and use the graphical interface to create and manipulate figures with approximation curves.
On the above image:
- The top toolbar to access more settings and actions:
- File menu: access to saving/opening projects, and undo/redo actions.
- Settings menu: access to app zoom factor and theme.
- Help menu: access to about section.
- Save/Open project: save your current project to a file or open a previously saved project.
- Undo/Redo your most recent actions.
- App settings: change the zoom mode, switch from dark to light theme, and access recent action outcomes.
- The tab selector allows you to switch between the different tools:
- Data: for data creation and import. This allows to create and modify "series".
- Plot: the settings for your different "series". Change the color, the point size and shape, etc.
- Approx: this is where you can set your approximation curves. Choose the type of curve for each "series", and set the parameters.
- Settings: settings for the canvas, like axes limits, grid lines, titles, etc.
- Action buttons:
- Enter draw mode: allows you to draw points directly on the canvas with the mouse and exporting them as a "serie".
- Export PNG/JPG: export the current canvas as an image.
- Copy to clipboard: copy the current canvas to the clipboard as an image.
- Action settings:
- Auto Crop: automatically crops exported images to tightly fit the content.
- Export Setting: choose an upscaling factor for exported images.
- The custom legend that is draggable and can be positioned anywhere on the canvas.
And of course the left menu changes depending on the selected tab to provide the relevant tools and settings. The main canvas area is where the figure is displayed and updated in real-time as you modify your data and settings.
Linéo has been updated to support running as a standard web application in addition to a desktop application.
To build the web version of Linéo, run:
npm run buildThis will generate a dist directory containing the static website files.
You can host the contents of the dist directory on any static site hosting provider.
A GitHub Actions workflow has been included to automatically deploy to GitHub Pages.
- Go to your repository Settings > Pages.
- Under Build and deployment, select GitHub Actions as the source.
- Push your changes to the
mainbranch. - The
Deploy Web to GitHub Pagesworkflow will run and deploy your site.
Troubleshooting: "Tag is not allowed to deploy"
If you see an error like Tag "v0.1.1" is not allowed to deploy to github-pages due to environment protection rules, you need to update your environment settings:
- Go to repository Settings > Environments > github-pages.
- Under Deployment branches and tags, click Add deployment branch or tag rule.
- Select Tag from the dropdown.
- Enter
v*(or*) as the pattern. - Click Add rule.
When running in the browser, some features behave differently compared to the desktop version:
- Excel Import: Currently disabled in the web version. Only CSV and Manual entry are supported.
- File Saving: Exports and project saves are downloaded via the browser's download manager instead of a system save dialog.
- Clipboard: Uses the browser's Clipboard API.
- Notifications: Toast notifications on browser do not allow opening a file explorer window.
- Version mention on the app title.
- Change UI to have more space on the left for the menu.
- Add more canvas settings and pit them in the left menu (axes limits, grid lines, etc.).
- Add more approximation curves (splines, etc.).
- Create custom notification zone inside the app (status of app actions, errors on copy/export).
- Project context to load and save all data/settings in a single file.
- Undo/Redo system.
