Grudge-Warlords/grudge-dev-tool

Grudge Dev Tool — Elite Three.js studio + ONE TRUTH admin shell. Grudge ID login. Account cloud: ai.grudge-studio.com/puter-space (not bag). Forge/ThreeFlow/Preview embeds.

0

stars

63

commits

TypeScript

primary language

Sep 11, 2026

updated

grudge-warlords.github.io/grudge-dev-tool/
admin
electron
grudge-studio
threejs

README

Grudge Dev Tool

Best-in-class Grudge Studio admin shell — Elite Three.js studio (local preview), ObjectStore/R2 browser, Forge embed, Preview playtests, Skeleton Studio, Agent AI, and single-login SSO (Grudge ID) across all tabs against ONE TRUTH (Railway · CDN · ObjectStore · puter-space · fleet hosts).

SurfaceRole
HomeFleet health · admin systems · primary actions
Local FilesDisk browser · kind chips · 3D double-click → ThreePipe editor · media → Elite
AssetsR2 / ObjectStore · >query · pop-out Elite · explicit Open in ThreeFlow / Forge
SkeletonMixamo-25 author → Toon Bip001 play bind → convert → CDN
ForgeProduction forge.grudge-studio.com embed (R3F + Rapier deploy)
PreviewOpen · client · water · GRUDOX · Multiverse playtests (webview)
PlayNative Three.js — Toon kit, WASD, one mixer, video, scripts
GamesFleet catalog launcher
Agent AIMake & deploy · Ollama / Legion / Workers AI
SettingsONE TRUTH · Grudge ID matrix · R2/CF · toolchain · defaults

Release Pages Build License Electron Node

PackageVersionWhat it is
Desktop appv1.1.0Windows tray · 3D double-click → ThreePipe editor · Elite media · Forge live · auto-update
grudge-dev CLIv0.5.0setup · doctor · login · upload-packcli/

📚 Docs: https://grudge-warlords.github.io/grudge-dev-tool/
· Systems & APIs · ONE TRUTH · Databases · backups (npm run backup:postgres · npm run restore:postgres -- --docker) · AI · Workers · Pipeline Review · Admin architecture
· Account cloud: https://ai.grudge-studio.com/puter-space (never bag/roster)

Installer (latest): GitHub Releases · Windows x64 · NSIS · electron-updater


What's new in 1.1.0

  1. ThreePipe editor — Explorer / Local Files double-click opens one ThreePipe window (threeflow.vercel.app/view?asset=). Extra GLB/FBX/OBJ reuse that window. Vue ThreeFlow stays Edit in ThreeFlow.
  2. Send to R2 + D1 — pipeline Actions waits for R2 PUT, then seeds the ObjectStore/D1 index. CDN key models/pipeline/<file>.
  3. SI 2 m measure — select a mesh, Shift+Ctrl+LMB drag a span that should be 2 metres, release. Uniform scale. 1 unit = 1 m.
    ThreeFlow remains Edit in ThreeFlow (explicit). Media stays Elite. Never Forge by default.

Docs: https://grudge-warlords.github.io/grudge-dev-tool/

After 1.1.0 (unreleased)

v1.1.0 still left three things manual. They now sit on the existing AI worker stack (not a new editor):

GapWhat we automated
Convert + magic + CDN HEADSend to R2 + D1 converts DCC → GLB, magic-bytes, PUTs, then HEADs assets.grudge-studio.com
File-defaults / play-kit doctorPackaged first launch registers HKCU types. Doctor HEADs Toon human.glb
No pipeline AI workerPipeline Review — same pattern as Scene Completion. Button in the pipeline window

Earlier: 1.0.11 ThreeFlow pop-out · 1.0.10 Elite viewport · 1.0.9 editor trio · 1.0.8 r185 loaders.


ONE TRUTH connection

All browser, CLI, and desktop traffic should go through the fleet client:

https://client.grudge-studio.com
  ├── /api/auth/*          → id.grudge-studio.com
  ├── /api/characters|…    → Railway game-data
  ├── /api/objectstore/*   → ObjectStore / info catalogs
  └── assets CDN           → assets.grudge-studio.com

Never use api.grudge-studio.com or auth.grudge-studio.com for new work.

Desktop first-run

  1. Install Grudge Dev Tool Setup from Releases (or auto-update). Not Grudge Studio Forge-Setup.
  2. Sign in once with Grudge ID (id.grudge-studio.com) — that JWT powers tabs and embeds. Puter is not product login.
  3. Settings → Apply ONE TRUTH — writes client.grudge-studio.com + host matrix into keytar.
  4. Account files / *.puter.siteputer-space. Railway still owns bag / characters / wallet.
  5. Admin allowlist (grudachain / molochdadev) → GRUDACHAIN Ollama agentic stack.
  6. Optional: npm run secret:import path\to\secrets.txt for R2 / CF AI / Legion keys.
  7. Settings → Set as default for all asset types — Explorer: 3D → ThreePipe editor; media → Elite. Vue ThreeFlow is an explicit action. Never Forge by default.

CLI

cd cli && npm install && npm run build && npm install -g .
grudge-dev setup
grudge-dev doctor          # ONE TRUTH score via client.grudge-studio.com
grudge-dev plugin status   # dest-tool must be running (127.0.0.1:17380)

Media & elite open (game packs)

ActionResult
Local Files → clickInline preview (verts/tris for 3D). Show in list jumps the left pane to that file
Local Files → double-click / Pop-out3D / scene → ThreePipe editor (/view?asset=). Images / audio / video / text / PDF → Elite
Audio / videoStreamed via grudge-media:// (no full-file RAM blob)
Kind chipsFilter Audio · Video · 3D · Image while browsing packs
Explorer Open with / double-clickSame split after Settings → Set as default for all asset types
System openOS default app (Blender / Photoshop / Photos / …)
AI cardClipboard markdown: kind, path, Pipeline/ThreeFlow hints, GLB inspect. Vision caption = images only
ObjectStore / Assets tabPreview CDN assets; Open in ThreeFlow / Forge live are explicit

SSOT: src/shared/mediaTypes.ts · open: openFileBridge · stream: mediaProtocol · AI: assetUnderstand (asset:understand).

Settings Apply ONE TRUTH remains the single host matrix (client.grudge-studio.com) — do not fork alternate API bases for new work.


Install

  1. Download Grudge Dev Tool Setup from latest release.
  2. Run the NSIS installer.
  3. App auto-updates from GitHub Releases when a newer tag is published.

From source (dev)

git clone https://github.com/Grudge-Warlords/grudge-dev-tool.git
cd grudge-dev-tool
git pull origin main
npm install --legacy-peer-deps
npm run build:icons
npm run dev

Requires Node 22+.

Local package (NSIS)

npm run package:ci
# → release/Grudge Dev Tool-Setup-<version>.exe
# → release/latest.yml  (electron-updater)

Features

SurfaceWhat it does
TrayLeft-click loader · double-click main · right-click menu
Elite / ThreePipeMedia pop-out (Elite) + 3D double-click → ThreePipe editor (/view?asset=). Vue ThreeFlow is explicit.
Forge embedLive forge.grudge-studio.com + desktop session handoff
Previewopen · client · water · GRUDOX · Multiverse (webview)
PlayNative Three · Toon human.glb · WASD · one mixer
Agent AIMake & deploy · Ollama · Legion · CF Workers AI
UploadConvert → verify → R2 → D1/ObjectStore seed
ConnectivityONE TRUTH probes on Home / Settings
Auto-updateelectron-updater checks GitHub Releases

GRUDACHAIN Ollama

TriggerBehavior
App openEnsure Docker GRUDACHAIN or native Ollama on :11434
Admin sign-inAgentic ensure + default model pull
SettingsManual ensure / host / preference

Admin allowlist

Canonical admins (auto agentic Ollama on sign-in):

  • Usernames: grudachain, molochdadev
  • Emails: grudgedev@gmail.com, jonbemmons@gmail.com

License

UNLICENSED — Grudge Studio internal.

Contributors

MolochDaGod

53 commits

Straynger

6 commits

Copilot

3 commits

Grudge-Warlords/grudge-dev-tool

Grudge Dev Tool — Elite Three.js studio + ONE TRUTH admin shell. Grudge ID login. Account cloud: ai.grudge-studio.com/puter-space (not bag). Forge/ThreeFlow/Preview embeds.

0

stars

63

commits

TypeScript

primary language

Sep 11, 2026

updated

grudge-warlords.github.io/grudge-dev-tool/
admin
electron
grudge-studio
threejs

README

Grudge Dev Tool

Best-in-class Grudge Studio admin shell — Elite Three.js studio (local preview), ObjectStore/R2 browser, Forge embed, Preview playtests, Skeleton Studio, Agent AI, and single-login SSO (Grudge ID) across all tabs against ONE TRUTH (Railway · CDN · ObjectStore · puter-space · fleet hosts).

SurfaceRole
HomeFleet health · admin systems · primary actions
Local FilesDisk browser · kind chips · 3D double-click → ThreePipe editor · media → Elite
AssetsR2 / ObjectStore · >query · pop-out Elite · explicit Open in ThreeFlow / Forge
SkeletonMixamo-25 author → Toon Bip001 play bind → convert → CDN
ForgeProduction forge.grudge-studio.com embed (R3F + Rapier deploy)
PreviewOpen · client · water · GRUDOX · Multiverse playtests (webview)
PlayNative Three.js — Toon kit, WASD, one mixer, video, scripts
GamesFleet catalog launcher
Agent AIMake & deploy · Ollama / Legion / Workers AI
SettingsONE TRUTH · Grudge ID matrix · R2/CF · toolchain · defaults

Release Pages Build License Electron Node

PackageVersionWhat it is
Desktop appv1.1.0Windows tray · 3D double-click → ThreePipe editor · Elite media · Forge live · auto-update
grudge-dev CLIv0.5.0setup · doctor · login · upload-packcli/

📚 Docs: https://grudge-warlords.github.io/grudge-dev-tool/
· Systems & APIs · ONE TRUTH · Databases · backups (npm run backup:postgres · npm run restore:postgres -- --docker) · AI · Workers · Pipeline Review · Admin architecture
· Account cloud: https://ai.grudge-studio.com/puter-space (never bag/roster)

Installer (latest): GitHub Releases · Windows x64 · NSIS · electron-updater


What's new in 1.1.0

  1. ThreePipe editor — Explorer / Local Files double-click opens one ThreePipe window (threeflow.vercel.app/view?asset=). Extra GLB/FBX/OBJ reuse that window. Vue ThreeFlow stays Edit in ThreeFlow.
  2. Send to R2 + D1 — pipeline Actions waits for R2 PUT, then seeds the ObjectStore/D1 index. CDN key models/pipeline/<file>.
  3. SI 2 m measure — select a mesh, Shift+Ctrl+LMB drag a span that should be 2 metres, release. Uniform scale. 1 unit = 1 m.
    ThreeFlow remains Edit in ThreeFlow (explicit). Media stays Elite. Never Forge by default.

Docs: https://grudge-warlords.github.io/grudge-dev-tool/

After 1.1.0 (unreleased)

v1.1.0 still left three things manual. They now sit on the existing AI worker stack (not a new editor):

GapWhat we automated
Convert + magic + CDN HEADSend to R2 + D1 converts DCC → GLB, magic-bytes, PUTs, then HEADs assets.grudge-studio.com
File-defaults / play-kit doctorPackaged first launch registers HKCU types. Doctor HEADs Toon human.glb
No pipeline AI workerPipeline Review — same pattern as Scene Completion. Button in the pipeline window

Earlier: 1.0.11 ThreeFlow pop-out · 1.0.10 Elite viewport · 1.0.9 editor trio · 1.0.8 r185 loaders.


ONE TRUTH connection

All browser, CLI, and desktop traffic should go through the fleet client:

https://client.grudge-studio.com
  ├── /api/auth/*          → id.grudge-studio.com
  ├── /api/characters|…    → Railway game-data
  ├── /api/objectstore/*   → ObjectStore / info catalogs
  └── assets CDN           → assets.grudge-studio.com

Never use api.grudge-studio.com or auth.grudge-studio.com for new work.

Desktop first-run

  1. Install Grudge Dev Tool Setup from Releases (or auto-update). Not Grudge Studio Forge-Setup.
  2. Sign in once with Grudge ID (id.grudge-studio.com) — that JWT powers tabs and embeds. Puter is not product login.
  3. Settings → Apply ONE TRUTH — writes client.grudge-studio.com + host matrix into keytar.
  4. Account files / *.puter.siteputer-space. Railway still owns bag / characters / wallet.
  5. Admin allowlist (grudachain / molochdadev) → GRUDACHAIN Ollama agentic stack.
  6. Optional: npm run secret:import path\to\secrets.txt for R2 / CF AI / Legion keys.
  7. Settings → Set as default for all asset types — Explorer: 3D → ThreePipe editor; media → Elite. Vue ThreeFlow is an explicit action. Never Forge by default.

CLI

cd cli && npm install && npm run build && npm install -g .
grudge-dev setup
grudge-dev doctor          # ONE TRUTH score via client.grudge-studio.com
grudge-dev plugin status   # dest-tool must be running (127.0.0.1:17380)

Media & elite open (game packs)

ActionResult
Local Files → clickInline preview (verts/tris for 3D). Show in list jumps the left pane to that file
Local Files → double-click / Pop-out3D / scene → ThreePipe editor (/view?asset=). Images / audio / video / text / PDF → Elite
Audio / videoStreamed via grudge-media:// (no full-file RAM blob)
Kind chipsFilter Audio · Video · 3D · Image while browsing packs
Explorer Open with / double-clickSame split after Settings → Set as default for all asset types
System openOS default app (Blender / Photoshop / Photos / …)
AI cardClipboard markdown: kind, path, Pipeline/ThreeFlow hints, GLB inspect. Vision caption = images only
ObjectStore / Assets tabPreview CDN assets; Open in ThreeFlow / Forge live are explicit

SSOT: src/shared/mediaTypes.ts · open: openFileBridge · stream: mediaProtocol · AI: assetUnderstand (asset:understand).

Settings Apply ONE TRUTH remains the single host matrix (client.grudge-studio.com) — do not fork alternate API bases for new work.


Install

  1. Download Grudge Dev Tool Setup from latest release.
  2. Run the NSIS installer.
  3. App auto-updates from GitHub Releases when a newer tag is published.

From source (dev)

git clone https://github.com/Grudge-Warlords/grudge-dev-tool.git
cd grudge-dev-tool
git pull origin main
npm install --legacy-peer-deps
npm run build:icons
npm run dev

Requires Node 22+.

Local package (NSIS)

npm run package:ci
# → release/Grudge Dev Tool-Setup-<version>.exe
# → release/latest.yml  (electron-updater)

Features

SurfaceWhat it does
TrayLeft-click loader · double-click main · right-click menu
Elite / ThreePipeMedia pop-out (Elite) + 3D double-click → ThreePipe editor (/view?asset=). Vue ThreeFlow is explicit.
Forge embedLive forge.grudge-studio.com + desktop session handoff
Previewopen · client · water · GRUDOX · Multiverse (webview)
PlayNative Three · Toon human.glb · WASD · one mixer
Agent AIMake & deploy · Ollama · Legion · CF Workers AI
UploadConvert → verify → R2 → D1/ObjectStore seed
ConnectivityONE TRUTH probes on Home / Settings
Auto-updateelectron-updater checks GitHub Releases

GRUDACHAIN Ollama

TriggerBehavior
App openEnsure Docker GRUDACHAIN or native Ollama on :11434
Admin sign-inAgentic ensure + default model pull
SettingsManual ensure / host / preference

Admin allowlist

Canonical admins (auto agentic Ollama on sign-in):

  • Usernames: grudachain, molochdadev
  • Emails: grudgedev@gmail.com, jonbemmons@gmail.com

License

UNLICENSED — Grudge Studio internal.

Contributors

MolochDaGod

53 commits

Straynger

6 commits

Copilot

3 commits

Languages

TypeScript

88.3%

Python

7.0%

JavaScript

4.2%