Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
Dingo Plan, Nav, Studio를 한 곳에. 실제 트레일 데이터로 경로 계획·오프라인 추적·친구와 팩 공유
The home of Dingo Plan, Nav and Studio: plan routes on real trail data, follow them offline on the bars, and share packs with your mates.
라이프스타일Rust · TypeScriptGitHub @grantpaisley온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Open-source tools for off-road riding: plan routes, follow them offline, design the maps. Nav, Plan, Studio and the dingodirt.com site in one repo.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Open-source tools for off-road riding. Turn your ride history into a
maintained trail network. Plan routes from the network. Follow the routes
offline on the bike. Make the maps look the way you want.
There are four apps in one repo, with shared cartography and behaviour.
The people below are the reason for each design decision. None of them needs
a GitHub account to use these tools.README 전문 보기 ↗Open-source tools for off-road riding. Turn your ride history into a maintained trail network. Plan routes from the network. Follow the routes offline on the bike. Make the maps look the way you want.
There are four apps in one repo, with shared cartography and behaviour.
| App | What it is | Who it's for |
|---|---|---|
apps/nav | Offline GPX track follower — a single-file PWA, MapLibre GL + PMTiles basemap | Jules, on the bike |
apps/plan | Route planning SPA over the segment network | Macca (online) and Deano (laptop) |
apps/studio | Map scheme designer — design, test-drive, publish | Tan |
apps/site | dingodirt.com — brand landing, pack gallery, cross-app links | everyone |
The people below are the reason for each design decision. None of them needs a GitHub account to use these tools.
docker compose up. He then runs the same Plan app, pointed at
localhost. He gets headless batch jobs, fully local planning, and
pg_dump for migrations. Online use and laptop use are two configurations
of one app, never two apps.apps/
nav/ DingoNav — single-file PWA, deliberately no build step
studio/ DingoStudio — ES modules, no build step
plan/ React SPA (Vite)
site/ dingodirt.com
core/
schemes/ canonical map scheme preset pairs — the ONLY copy
behaviors/ nav behaviour profiles
appliers/ applier-nav.js + scheme.js — the module form is canonical here
rust/ Dingo crates (native today; WASM targets later)
server/ the backend for local/self-hosted use: migrations,
docker-compose, tooling
docs/plans/ design docs, origin-prefixed, dated
tools/ assemble-app.sh — deploy-time artefact assembly
tests/ repo-level checks (npm test)
Map schemes, behaviours, and appliers live in core/ in exactly one
copy. Each app reaches them through a symlink. When you edit
core/schemes/default.json, the change shows in each app at the same time —
there is nothing to sync.
Symlinks do not stay on a static host. Because of this, deploys run
tools/assemble-app.sh <nav|studio> <out> to change the symlinks into real
files. For Nav, this step also adds a content hash of the presets to the
service-worker cache name. Because of this, offline riders get the presets
again when the presets change, and only then.
npm test runs the guard that fails if an app gets a local copy again. This
guard replaced a cross-repo sync workflow and its PAT.
Pack share links are served by dingodirt.com (the site app). Plan
publishes to the site, and Nav's ?b= links download from it. The old
dingo-shares GitHub-as-CDN repo is retired (archived; its links are dead).
Per-app setup, and the rules that say which app gets a feature, are in
CONTRIBUTING.md. The short version: Nav has no build
step on purpose, Studio is modules, Plan is React, and core/ is shared. Grow the
shared vocabulary in core/ first.
MIT.