No description
Find a file
2026-06-26 21:25:25 -04:00
content Initial import 2026-06-26 18:18:14 -04:00
data Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
public Initial import 2026-06-26 18:18:14 -04:00
scripts Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
src Add launcher editor backdrop 2026-06-26 21:24:08 -04:00
.gitignore Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
background.png Add launcher background asset 2026-06-26 21:25:25 -04:00
ecosystem.config.cjs Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
eslint.config.js Initial import 2026-06-26 18:18:14 -04:00
index.html Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
package-lock.json Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
package.json Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
README.md Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
server.js Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
tsconfig.app.json Initial import 2026-06-26 18:18:14 -04:00
tsconfig.json Initial import 2026-06-26 18:18:14 -04:00
tsconfig.node.json Initial import 2026-06-26 18:18:14 -04:00
vite.config.ts Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
worldshaper-height-viewer.html Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00
worldshaper-studio.html Restructure project as Worldshaper 2026-06-26 20:30:30 -04:00

Worldshaper

Canonical React + TypeScript worldbuilding studio and API for New RPG.

Features

  • Load content types from /api/types.
  • Load selected content payload from /api/content/:type.
  • Edit raw JSON.
  • Save JSON back to /api/content/:type.

Runtime

  • Vite dev server runs on http://localhost:4170.
  • API/app server runs on http://localhost:5180 from server.js in this folder.
  • vite.config.ts proxies /api to http://localhost:5180.
  • Override the API/app port with PORT=<port> when needed.

Content Location

  • Preferred: place content beside server.js at tools/worldshaper/content/.
  • Required image folder for /api/images: tools/worldshaper/content/Images/ (capital I).
  • Optional override: set CONTENT_ROOT=/absolute/path/to/content before starting the API.
  • Fallbacks remain for legacy layouts, but local tools/worldshaper/content is checked first.

Local development

From this folder:

  1. npm install
  2. In one terminal: npm run dev:api
  3. In another terminal: npm run dev

Build

  • npm run build
  • npm run clean:workspace removes generated bundles, logs, and disposable local artifacts.

Project Structure

This repo is easiest to manage when the root stays limited to the live app and its source-of-truth assets:

  • src/ React, TypeScript, and editor code
  • content/ canonical game content, schemas, worlds, and images metadata
  • data/ editor metadata and local settings payloads
  • scripts/ maintenance, validation, and deployment helpers
  • public/ static assets copied by Vite

Generated or disposable folders such as dist/, output/, backups/, and Release/ should not be treated as source-of-truth project files.

Scope guardrails

  • Keep files small and modular.
  • No cross-file autofix/migration tooling in V2.1.
  • Finish core CRUD + validation workflows before adding advanced UX.