Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

FumoEngine

FumoEngine is Fumoware’s embedded JavaScript engine. It runs ECMAScript modules through QuickJS-NG and gives every installed package its own runtime, context, globals, module graph, and console stream.

All builds discover packages from:

%APPDATA%\FumowareV2\scripts

Safe mode is the default. It applies per-package runtime limits and does not expose process memory or native calls. Insecure mode is opt-in and enables fumo:ffi only for packages whose manifest also requests the ffi capability.

Insecure mode is not a sandbox. An FFI script runs native code inside the game process and can crash it, corrupt memory, or compromise the current Windows user.

Current implementation

The current engine includes:

  • Manifest-based package discovery
  • One QuickJS runtime per package
  • ES modules and package-relative imports
  • Global and module-based console logging
  • Promise startup and shutdown handling
  • Execution deadlines
  • Per-package enable and disable controls
  • Source editing, saving, and reload from the menu
  • A bounded JavaScript console window
  • Optional Win64 FFI and typed native memory access

Other modules described in the original architecture document remain planned until they appear in this reference.