BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Node editor for Factorio production chains. An LP solver keeps every rate consistent as you edit; share the result as a URL.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A node editor for Factorio production chains. Nodes are recipe steps, edges are item
flows, and a linear-programming solver keeps every rate consistent as you edit. The
result is a ratio sheet you can read spatially and share as a URL.
Static site, no backend. Factorio 2.0 base + Space Age.
npm test covers everything that is a pure function. npm run smoke covers what
is not: port-to-port drags, the drop-on-empty-canvas search, click-to-select,
the clipboard, a real file download and re-import, auto-layout, switching
between saved plans, and the reduced-motion path. Both run in CI.README 전문 보기 ↗A node editor for Factorio production chains. Nodes are recipe steps, edges are item flows, and a linear-programming solver keeps every rate consistent as you edit. The result is a ratio sheet you can read spatially and share as a URL.
Static site, no backend. Factorio 2.0 base + Space Age.
npm install
npm run dev # http://localhost:5173
npm run build # type-check and build to dist/
npm test # unit tests: solver, store, serializer, library, layout, data
npm run smoke # drives the built app in a real browser (needs `build` first)
npm run check # lint + test + build + smoke, what CI runs
npm run shot -- name # screenshot the built app into shots/
npm test covers everything that is a pure function. npm run smoke covers what
is not: port-to-port drags, the drop-on-empty-canvas search, click-to-select,
the clipboard, a real file download and re-import, auto-layout, switching
between saved plans, and the reduced-motion path. Both run in CI.
To poke at a specific graph, npx tsx scripts/make-fixture.ts <name> prints a
share hash you can paste after the # — green-circuits, unbalanced,
saturated-belt, over-belt, blocks, kovarex, tangle, beacons,
no-constraint.
Recipe data is vendored, not fetched at runtime. To move to a newer game version:
npm run data:fetch # download FactorioLab's raw data set into vendor/
npm run data:import # transform it into public/data/2x1.json + public/sprites/2x1.webp
vendor/ is gitignored; the committed artefacts are the two scripts and their output.
The importer validates its own output against src/data/schema.ts and fails loudly if a
recipe references a machine or item that is not in the set.
The build is a static site. base comes from the BASE_PATH environment variable, so a
GitHub Pages project site works with BASE_PATH=/factory-graph/ npm run build.
.github/workflows/deploy.yml does exactly that on a push to main.
npm run check:base serves that build from a sub-path and asserts the app boots, the
fonts and sprite sheet load, and nothing 404s — the failure it exists to catch is an
asset referenced from the site root, which works locally at / and breaks the moment
the site lives at /<repo>/. CHECK_BASE_PATH=/factory-graph/staging points it at a
staging build.
The staging branch is a preview of the next release, at
basta.github.io/factory-graph/staging.
Push to staging to update it; merge into main to ship it.
Pages holds one artifact for the whole site, so every deploy builds both branches —
main at the root, staging under /staging/. A push to staging runs the checks and
then asks main to redeploy, because the Pages environment takes deploys from the default
branch only.
Staging shares an origin, and so localStorage, with the live site. It is built with
VITE_CHANNEL=staging, which gives it its own storage keys: on first visit it starts
from a copy of the live site's plans, and nothing it saves ever reaches them. The header
and the tab title both say Staging.
src/
data/ GameData types, zod schema, loader, sprite lookup
solver/ rates.ts (formulas), lp.ts (LP build), index.ts (solve), tests
graph/ zustand store, history, serializer, url, saved-plan library
canvas/ React Flow setup and custom nodes, edges, handles, grid
ui/ Header, Inspector, Search, Toast, ShortcutsOverlay
tokens.css
scripts/ data fetch, data import, screenshots
public/ data/, sprites/, fonts/
DESIGN.md is the visual brief. NOTES.md is the running log of what each screenshot
showed and what changed because of it.
The application code is MIT licensed — see LICENSE.
Recipe data and the icon sprite sheet under public/ are derived from
FactorioLab, which is MIT licensed.
The icons themselves are game assets belonging to
Wube Software; they are used here the way every community
calculator uses them, and are not covered by this project's licence. Factorio is
a trademark of Wube Software. This project is not affiliated with Wube or with
FactorioLab.