Sobre o projeto

less-sheet é um visualizador direto para arquivos CSV muito grandes. Ele usa um motor Zig por trás de uma ABI C congelada, com frontends nativos para macOS (Swift 6 / AppKit) e Linux (C / GTK4 + libadwaita). A abertura é O(viewport), nunca O(file) — as primeiras linhas aparecem na tela em bem menos de 500 ms independentemente do tamanho do arquivo, tanto para arquivos locais quanto para arquivos transmitidos via HTTP(S). ## Estrutura | Caminho | O que é | | ------------ | ------------------------------------------------------------- | | `api/` | A ABI C congelada e neutra em relação à linguagem entre motor e frontends | | `backend/` | O motor — Zig 0.16.0, compila uma biblioteca estática | | `apps/macos/`| O app para macOS — Swift 6, SwiftPM | | `apps/gtk/` | O app para Linux — C, GTK4 + libadwaita | | `packaging/` | Manifesto Flatpak, cask do Homebrew, entrada de desktop | | `site/` | A landing page (implantada pela GitHub Action) | ## Compilação **Motor** — requer exatamente zig 0.16.0: ```sh cd backend zig build # → zig-out/lib/liblesssheet.a zig build test # testes de comportamento ``` **App para macOS** — compile o motor primeiro, depois: ```sh cd apps/macos swift build -c release bash scripts/assemble-app.sh # monta + sela ad-hoc o LessSheet.app ``` **App para Linux** — requer GTK ≥ 4.20 e libadwaita ≥ 1.8 (veja `apps/gtk/.ci/Dockerfile` para o ambiente de compilação de referência). O Meson espera o arquivo do motor em `apps/gtk/.core-linux/lib/`: ```sh cd backend && zig build mkdir -p apps/gtk/.core-linux/lib cp backend/zig-out/lib/liblesssheet.a apps/gtk/.core-linux/lib/ cd apps/gtk && meson setup build && meson compile -C build ``` ## Licença MIT — veja [LICENSE](LICENSE). Os binários da v0.1.0 foram distribuídos sob uma EULA proprietária anterior; as versões posteriores são distribuídas sob MIT.