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.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.