vork by Voyager
An agent writes a scene as code, renders it on the GPU, looks at the result and revises the code. Source-available and free during the research preview.
翻訳待ち
Free online weaving draft designer: threading, tie-up, treadling and live drawdown, WIF for looms, 3D cloth preview, double cloth and block weaves
翻訳待ち
Loading the full README.
Read the full README ↗Open Weave Patterner: it runs in your browser, free, with no account or download.
A weaving draft editor for handweavers: set the threading, tie-up and treadling, pick warp and weft colours, and see the drawdown update live. Patterns can be saved in the browser (up to 200) or exported and imported as .weave.json files. An example is in samples/.
For looms and other weaving software, Export also writes WIF 1.1 files, either with tie-up and treadling or as a lift plan for computer-dobby looms. Import reads WIF files too.
npm install
npm run dev # local dev server
npm run build # production build in dist/
npm test # unit tests (Vitest)
npm run test:e2e # browser tests (Playwright; desktop, phone and tablet), without the slow 3D ones
npm run test:e2e:3d # just the 3D preview tests
npm run test:e2e:changed # the 3D tests too, but only if 3D code changed (what CI runs)
npm run test:e2e:all # everything
npm run test:e2e:live # against the live site (what CI runs after deploying)
npm run lint # Biome lint + format check (npm run format to fix)
Weave, Knit and Sew Patterner are also a desktop app for Windows, macOS and Linux: download the installer for your computer from the latest release. It's the same app, working offline, with your patterns kept in the app (move them from the website with Load › Back up or restore…). Until the first signed release, Windows and macOS ask you to confirm the first time you open it.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Only installers built by this repository's GitHub Actions, from a version tag, are signed.
Privacy: the desktop app doesn't transfer any information to other networked systems unless you ask it to (for example, by opening a help page or a share link in your browser). It has no analytics. The first time it opens, it asks whether to check for updates; only if you agree does it ask GitHub for the latest release each time it opens (and you can change that under Help › Check for updates automatically). Help › Check for updates… checks once.
Updates: on Windows and as the Linux AppImage, an update downloads in the background, then the app asks whether to restart into it now or install it when you next close the app. On macOS (not yet signed with an Apple Developer ID) the app says a new version is out and opens its download page; install it over the old one, and your patterns stay as they are.
To build it: npm run build, then npx tsx scripts/desktop.ts && npx electron-builder (installers in
desktop/release/). npx electron desktop/main.cjs runs it straight from dist/, and
npx playwright test -c playwright.desktop.config.ts tests it.
To release a new version: npm version minor (or patch for fixes only), which sets the version in package.json,
commits it and tags it (v1.2.0), then git push --follow-tags. The tag builds all three installers and puts them on
that version's release, with the update files the installed apps check for (latest.yml, latest-linux.yml).
Patterns stay in your browser: nothing you design is sent anywhere. The live site can use Google Analytics (GA4) to
count visits and which tools are used, but only after you choose Allow in the banner; No thanks loads nothing,
and the Analytics button in the footer changes your choice. Ad features are off. The measurement ID is set in
.env.production; remove it to build without analytics. Browser tests block Google Analytics, so they never send hits.
Bugs and feature ideas are tracked in GitHub issues, with templates for each. The Feedback link in the apps opens one too, without a GitHub account (posted publicly, through a small AWS function: infra/). If the live site fails its browser tests after a deploy, CI opens an issue automatically.
This is the beginning of the README. Read the rest at the original. Read the full README ↗