Implement basic execution system and UI
This is a rather large commit that includes all of the following: - React UI with code editor, runtime renderer and input-output panes - Language providers for a sample language and Brainfuck - Implementation of code execution in a web worker - All-at-once unabortable execution of program fully functional
This commit is contained in:
23
engines/worker-constants.ts
Normal file
23
engines/worker-constants.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { StepExecutionResult } from "./types";
|
||||
|
||||
export type WorkerRequestData =
|
||||
| {
|
||||
type: "Init";
|
||||
params?: null;
|
||||
}
|
||||
| {
|
||||
type: "Reset";
|
||||
params?: null;
|
||||
}
|
||||
| {
|
||||
type: "Prepare";
|
||||
params: { code: string; input: string };
|
||||
}
|
||||
| {
|
||||
type: "Execute";
|
||||
params: { interval?: number };
|
||||
};
|
||||
|
||||
export type WorkerResponseData<RS> =
|
||||
| { type: "state"; data: "empty" | "ready" }
|
||||
| { type: "result"; data: StepExecutionResult<RS> };
|
||||
Reference in New Issue
Block a user