- Modular block files: split into blocks-algo, blocks-data, blocks-proc - New modules: sections.js (labelled canvas areas), proc-browser.js (procedure tree modal), lib-loader.js (lazy library loading), templates.js (project templates), errno-data.js (errno table) - Test infrastructure: browser test suite (28 tests) and Node pure-function tests (75 tests) - Warning system: unified .block-warn for disconnected inputs, unconnected error hooks, and zero-exit-in-error-path - Error path highlighting: red flow paths and block borders for error-only subgraphs - Input hooks: hidden by default, shown during linking; outputs always at bottom - Block editor modal: pencil icon, colour picker for accent, compact field labels - Doc generation: standalone node script extracts JSDoc -> docs/API.md (124 declarations) - Persistence: save/restore sections, errno selection, block colours - Fixes: _segmentsIntersect bug, WCEnd crash from closest(this), drawpath guard on detached elements
239 lines
6.9 KiB
JSON
239 lines
6.9 KiB
JSON
{
|
|
"procedures": [
|
|
{
|
|
"name": "SDL_Init",
|
|
"inputs": [["flags","unsigned int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Initializes SDL subsystems (video, audio, etc.) with the given flags."
|
|
},
|
|
{
|
|
"name": "SDL_Quit",
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Shuts down all SDL subsystems and cleans up resources."
|
|
},
|
|
{
|
|
"name": "SDL_SetAppMetadata",
|
|
"inputs": [["name","string"],["version","string"],["identifier","string"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Sets the application name, version, and identifier."
|
|
},
|
|
{
|
|
"name": "SDL_CreateWindow",
|
|
"inputs": [["title","string"],["w","int"],["h","int"],["flags","unsigned int"]],
|
|
"outputs": [["window","int"]],
|
|
"returnStyle": "value",
|
|
"desc": "Creates a window with the given title, size, and flags."
|
|
},
|
|
{
|
|
"name": "SDL_DestroyWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Destroys a window and frees its resources."
|
|
},
|
|
{
|
|
"name": "SDL_SetWindowTitle",
|
|
"inputs": [["window","int"],["title","string"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Changes the title of a window."
|
|
},
|
|
{
|
|
"name": "SDL_GetWindowSize",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [["w","int"],["h","int"]],
|
|
"desc": "Retrieves the current width and height of a window."
|
|
},
|
|
{
|
|
"name": "SDL_ShowWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Makes a hidden window visible on screen."
|
|
},
|
|
{
|
|
"name": "SDL_HideWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Hides a window from view."
|
|
},
|
|
{
|
|
"name": "SDL_RaiseWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Brings a window to the front of the display."
|
|
},
|
|
{
|
|
"name": "SDL_MaximizeWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Maximizes a window to fill the screen."
|
|
},
|
|
{
|
|
"name": "SDL_MinimizeWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Minimizes a window to the taskbar."
|
|
},
|
|
{
|
|
"name": "SDL_RestoreWindow",
|
|
"inputs": [["window","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Restores a window from maximized or minimized state."
|
|
},
|
|
{
|
|
"name": "SDL_CreateRenderer",
|
|
"inputs": [["window","int"],["name","string"]],
|
|
"outputs": [["renderer","int"]],
|
|
"returnStyle": "value",
|
|
"desc": "Creates a 2D renderer for the given window."
|
|
},
|
|
{
|
|
"name": "SDL_DestroyRenderer",
|
|
"inputs": [["renderer","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Destroys a renderer and frees its resources."
|
|
},
|
|
{
|
|
"name": "SDL_RenderClear",
|
|
"inputs": [["renderer","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Clears the render target with the current draw color."
|
|
},
|
|
{
|
|
"name": "SDL_RenderPresent",
|
|
"inputs": [["renderer","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Presents the rendered frame to the screen."
|
|
},
|
|
{
|
|
"name": "SDL_SetRenderDrawColor",
|
|
"inputs": [["renderer","int"],["r","int"],["g","int"],["b","int"],["a","int"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Sets the color used for drawing operations."
|
|
},
|
|
{
|
|
"name": "SDL_RenderPoint",
|
|
"inputs": [["renderer","int"],["x","float"],["y","float"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Draws a single point at the given coordinates."
|
|
},
|
|
{
|
|
"name": "SDL_RenderLine",
|
|
"inputs": [["renderer","int"],["x1","float"],["y1","float"],["x2","float"],["y2","float"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Draws a line between two points."
|
|
},
|
|
{
|
|
"name": "SDL_RenderRect",
|
|
"inputs": [["renderer","int"],["x","float"],["y","float"],["w","float"],["h","float"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Draws a rectangle outline at the given position and size."
|
|
},
|
|
{
|
|
"name": "SDL_RenderFillRect",
|
|
"inputs": [["renderer","int"],["x","float"],["y","float"],["w","float"],["h","float"]],
|
|
"outputs": [],
|
|
"returnStyle": "error",
|
|
"desc": "Draws a filled rectangle at the given position and size."
|
|
},
|
|
{
|
|
"name": "SDL_PollEvent",
|
|
"inputs": [],
|
|
"outputs": [["event","int"]],
|
|
"desc": "Polls for the next pending input event."
|
|
},
|
|
{
|
|
"name": "SDL_WaitEvent",
|
|
"inputs": [],
|
|
"outputs": [["event","int"]],
|
|
"desc": "Waits indefinitely for the next input event."
|
|
},
|
|
{
|
|
"name": "SDL_PumpEvents",
|
|
"inputs": [],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Processes pending events without blocking."
|
|
},
|
|
{
|
|
"name": "SDL_FlushEvents",
|
|
"inputs": [["minType","unsigned int"],["maxType","unsigned int"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Discards all pending events in a given range."
|
|
},
|
|
{
|
|
"name": "SDL_GetTicks",
|
|
"inputs": [],
|
|
"outputs": [["ticks","unsigned int"]],
|
|
"returnStyle": "value",
|
|
"desc": "Returns milliseconds since SDL initialization."
|
|
},
|
|
{
|
|
"name": "SDL_Delay",
|
|
"inputs": [["ms","unsigned int"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Pauses execution for the given number of milliseconds."
|
|
},
|
|
{
|
|
"name": "SDL_GetKeyboardState",
|
|
"inputs": [],
|
|
"outputs": [["state","string"]],
|
|
"desc": "Returns a snapshot of the current keyboard state."
|
|
},
|
|
{
|
|
"name": "SDL_GetModState",
|
|
"inputs": [],
|
|
"outputs": [["mod","unsigned int"]],
|
|
"returnStyle": "value",
|
|
"desc": "Returns the current modifier key state (Shift, Ctrl, Alt)."
|
|
},
|
|
{
|
|
"name": "SDL_GetError",
|
|
"inputs": [],
|
|
"outputs": [["msg","string"]],
|
|
"returnStyle": "value",
|
|
"desc": "Returns the last error message as a string."
|
|
},
|
|
{
|
|
"name": "SDL_Log",
|
|
"inputs": [["fmt","string"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Outputs a log message via SDL's logging system."
|
|
},
|
|
{
|
|
"name": "SDL_GetTicksNS",
|
|
"inputs": [],
|
|
"outputs": [["ticks","unsigned int"]],
|
|
"returnStyle": "value",
|
|
"desc": "Returns nanoseconds since SDL initialization."
|
|
},
|
|
{
|
|
"name": "SDL_DelayNS",
|
|
"inputs": [["ns","unsigned int"]],
|
|
"outputs": [],
|
|
"returnStyle": "void",
|
|
"desc": "Pauses execution for the given number of nanoseconds."
|
|
}
|
|
]
|
|
}
|