Files
avcf/libraries/gl.json
adrien b8e8ef9113 overhaul: modular architecture, tests, doc generation, warning system, and UX improvements
- 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
2026-06-22 18:31:23 +02:00

137 lines
4.3 KiB
JSON

{
"procedures": [
{
"name": "glCreateShader",
"inputs": [["type","unsigned int"]],
"outputs": [["shader","unsigned int"]],
"desc": "Creates an empty shader object of the specified type."
},
{
"name": "glShaderSource",
"inputs": [["shader","unsigned int"],["count","int"],["source","string"]],
"outputs": [],
"desc": "Sets the source code for a shader object."
},
{
"name": "glCompileShader",
"inputs": [["shader","unsigned int"]],
"outputs": [],
"desc": "Compiles the source code of a shader object."
},
{
"name": "glGetShaderiv",
"inputs": [["shader","unsigned int"],["pname","unsigned int"]],
"outputs": [["params","int"]],
"desc": "Retrieves a parameter value from a shader object."
},
{
"name": "glCreateProgram",
"inputs": [],
"outputs": [["program","unsigned int"]],
"desc": "Creates an empty shader program object."
},
{
"name": "glAttachShader",
"inputs": [["program","unsigned int"],["shader","unsigned int"]],
"outputs": [],
"desc": "Attaches a shader object to a shader program."
},
{
"name": "glLinkProgram",
"inputs": [["program","unsigned int"]],
"outputs": [],
"desc": "Links the attached shaders into an executable program."
},
{
"name": "glGetProgramiv",
"inputs": [["program","unsigned int"],["pname","unsigned int"]],
"outputs": [["params","int"]],
"desc": "Retrieves a parameter value from a program object."
},
{
"name": "glGenVertexArrays",
"inputs": [["n","unsigned int"]],
"outputs": [["arrays","unsigned int"]],
"desc": "Generates vertex array object (VAO) names."
},
{
"name": "glBindVertexArray",
"inputs": [["array","unsigned int"]],
"outputs": [],
"desc": "Binds a VAO for use in subsequent vertex operations."
},
{
"name": "glGenBuffers",
"inputs": [["n","unsigned int"]],
"outputs": [["buffers","unsigned int"]],
"desc": "Generates buffer object names."
},
{
"name": "glBindBuffer",
"inputs": [["target","unsigned int"],["buffer","unsigned int"]],
"outputs": [],
"desc": "Binds a buffer object to a target."
},
{
"name": "glBufferData",
"inputs": [["target","unsigned int"],["size","int"],["data","string"],["usage","unsigned int"]],
"outputs": [],
"desc": "Uploads vertex data to the currently bound buffer."
},
{
"name": "glVertexAttribPointer",
"inputs": [["index","unsigned int"],["size","int"],["type","unsigned int"],["normalized","int"],["stride","int"],["pointer","int"]],
"outputs": [],
"desc": "Defines how vertex data is mapped to a shader attribute."
},
{
"name": "glEnableVertexAttribArray",
"inputs": [["index","unsigned int"]],
"outputs": [],
"desc": "Enables a vertex attribute array for rendering."
},
{
"name": "glUseProgram",
"inputs": [["program","unsigned int"]],
"outputs": [],
"desc": "Activates a shader program for rendering."
},
{
"name": "glDrawArrays",
"inputs": [["mode","unsigned int"],["first","int"],["count","int"]],
"outputs": [],
"desc": "Renders primitives from the currently bound vertex data."
},
{
"name": "glClear",
"inputs": [["mask","unsigned int"]],
"outputs": [],
"desc": "Clears the specified buffers (color, depth, stencil)."
},
{
"name": "glClearColor",
"inputs": [["red","float"],["green","float"],["blue","float"],["alpha","float"]],
"outputs": [],
"desc": "Sets the clear color used when clearing the color buffer."
},
{
"name": "glDeleteShader",
"inputs": [["shader","unsigned int"]],
"outputs": [],
"desc": "Deletes a shader object and frees its resources."
},
{
"name": "glDeleteProgram",
"inputs": [["program","unsigned int"]],
"outputs": [],
"desc": "Deletes a shader program and frees its resources."
},
{
"name": "glViewport",
"inputs": [["x","int"],["y","int"],["width","int"],["height","int"]],
"outputs": [],
"desc": "Sets the viewport rectangle for rendering."
}
]
}