Skip to content

@tmrw-realityos/charmDocs


Project Charm

Reality OS Graphics experimental frontend

Prerequisites

To get started, you need a few tools such as wasi-sdk, nodejs and pnpm plus maybe a few more.

There are scripts that will install all of these, so don't worry!

 Mac

bash

source ./bootstrap-macos.sh

MacOS is picky about blocking cmake. You'll need to run cmake and unblock it in the Security & Privacy settings.

🐧 Ubuntu & WSL

bash

source ./bootstrap-ubuntu.sh

Keep in mind that if the folder is in a windows partition while you execute the app from WSL, changes wont be detected by Vite so it wont update automatically your browser. So use a WSL partition repo.

🪟 Windows

Start Terminal as Administrator.

powershell

Set-ExecutionPolicy Unrestricted

.\Bootstrap-Windows.ps1

Restart Terminal in normal mode.

powershell
cd charm
pnpm install
pnpm dev

Head to http://localhost:5173

Running from the root

bash

pnpm build # builds every subprojects recursively
pnpm dev # runs example/GltfDemo
pnpm lint # runs ts-standard in all sub projects
pnpm test # runts all "test" scripts recursively
pnpm release # releases the charm package

Writing unit tests

Remember to import new unit tests from test/tests.ts.

Running The Other Example Web Apps

bash
pnpm -C ../charm-examples/gltf-demo dev
pnpm -C ../charm-examples/bvh-example dev
pnpm -C ../charm-examples/example-raytracer dev

Head to http://localhost:5173

Editor configurations

VSCode

Suggested extensions:

  • ESLint
  • Deno (set deno.enablePaths to ./packages/charm/test)

Also exclude dist/ folder from search to avoid modifying autogenerated code.

Sublime

Suggested packages:

** LSP ** LSP-typescript ** LSP-eslint ** LSP-deno