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.