Phase E/I: expose evalScript() as a permanent debug API, finalize README
Promotes vpinball_wasm_eval_script from a one-off validation hack to a supported PinballInstance.evalScript() method (runs arbitrary VBScript against the live table via the interpreter's own debug-console entry point) - useful standalone, and it's what confirms the DMD script API rides the same execution path already proven by real flipper input. Rewrites the README's Status/Roadmap/Known limitations to reflect tonight's actual, hands-on-confirmed state: keyboard input, audio, and VBScript-driven gameplay all verified end-to-end (not just code review); two more real engine bugs found and fixed (GL back buffer sized in logical instead of device pixels; back buffer never resynced on resize, breaking fullscreen); the default table swap and why; B2S backglass explicitly assessed and declined for now, with the concrete reasons (no plugin subsystem wired for this build, no test table to validate against) rather than left as a vague TODO. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,4 +48,12 @@ export interface PinballInstance {
|
||||
* from the underlying requestFullscreen() call.
|
||||
*/
|
||||
requestFullscreen(): Promise<void>;
|
||||
/**
|
||||
* Runs arbitrary VBScript against the running table's script interpreter
|
||||
* (the same entry point the interpreter's own debug console uses).
|
||||
* Returns false if no table is currently running. Intended for debugging
|
||||
* and for exercising script-driven engine APIs (e.g. the DMD pixel API)
|
||||
* from JS - not sandboxed, so only run scripts you trust.
|
||||
*/
|
||||
evalScript(script: string): boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user