--- /dev/null
+WebGl_Wasm = {
+ init(name, namelen) {
+ const decoder = new TextDecoder();
+ const str = new Uint8Array(WASM_MEMORY.buffer, name, namelen);
+ const canvasname = decoder.decode(str);
+
+ this.programs = [];
+ this.shaders = [];
+ this.buffers = [];
+ this.framebuffers = [];
+ this.renderbuffers = [];
+ this.textures = [];
+ this.uniformlocs = [];
+ this.vertexArrays = [];
+
+ this.canvas = document.getElementById(canvasname);
+ if (this.canvas == null) return 0;
+
+ this.gl = this.canvas.getContext("webgl2");
+ if (this.gl == null) return 0;
+
+ return 1;
+ },
+
+ activeTexture(texture) { this.gl.activeTexture(texture); },
+ attachShader(program, shader) { this.gl.attachShader(this.programs[program], this.shaders[shader]); return this.programs[program]; },
+ bindAttribLocation(program, index, name, namelen) { console.log("NOT IMPLEMENTED!"); },
+ bindBuffer(target, buffer) {
+ if (buffer == -1) {
+ this.gl.bindBuffer(target, null);
+ } else {
+ this.gl.bindBuffer(target, this.buffers[buffer]);
+ }
+ },
+ bindFramebuffer(target, framebuffer) { this.gl.bindFramebuffer(target, this.framebuffers[framebuffer]); },
+ bindRenderbuffer(target, renderbuffer) { this.gl.bindRenderbuffer(target, this.renderbuffers[renderbuffer]); },
+ bindTexture(target, texture) { this.gl.bindTexture(target, this.textures[texture]); },
+ bindVertexArray(vertexArray) { this.gl.bindVertexArray(this.vertexArrays[vertexArray]); },
+
+ blendColor(red, green, blue, alpha) { this.gl.blendColor(red, green, blue, alpha); },
+ blendEquation(mode) { this.gl.blendEquation(mode); },
+ blendEquationSeparate(modeRGB, modeAlpha) { this.gl.blendEquationSeparate(modeRGB, modeAlpha); },
+ blendFunc(sfactor, dfactor) { this.gl.blendFunc(sfactor, dfactor); },
+ blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha) { this.gl.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); },
+
+ blitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1, mask, filter) {
+ this.gl.blitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1, mask, filter);
+ },
+
+ bufferDataWithData(target, bufferdata, bufferlen, usage) {
+ const data = new DataView(WASM_MEMORY.buffer, bufferdata, bufferlen);
+ this.gl.bufferData(target, data, usage);
+ },
+
+ bufferDataNoData(target, size, usage) { this.gl.bufferData(target, size, usage); },
+ bufferSubData(target, offset, bufferdata, bufferlen) {
+ const data = new DataView(WASM_MEMORY.buffer, bufferdata, bufferlen);
+ this.gl.bufferSubData(target, offset, data);
+ },
+ checkFrameBufferStatus(target) { return this.gl.checkFrameBufferStatus(target); },
+ clear(bit) { this.gl.clear(bit); },
+ clearColor(r, g, b, a) { this.gl.clearColor(r, g, b, a); },
+ clearDepth(depth) { this.gl.clearDepth(depth); },
+ clearStencil(stencil) { this.gl.clearStencil(stencil); },
+ colorMask(r, g, b, a) { this.gl.colorMask(r, g, b, a); },
+ compileShader(shader) { this.gl.compileShader(this.shaders[shader]); },
+ compressedTexImage2D(target, level, internalformat, width, height, border, data, datalen) {
+ const pixels = new DataView(WASM_MEMORY.buffer, data, datalen);
+ this.gl.compressedTexImage2D(target, level, internalformat, width, height, border, pixels);
+ },
+ compressedTexSubImage2D(target, level, internalformat, xoff, yoff, width, height, format, data, datalen) {
+ const pixels = new DataView(WASM_MEMORY.buffer, data, datalen);
+ this.gl.compressedSubTexImage2D(target, level, internalformat, xoff, yoff, width, height, format, pixels);
+ },
+ copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) { this.gl.copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); },
+ copyTexImage2D(target, level, internalforamt, x, y, width, height, border) {
+ this.gl.copyTexImage2D(target, level, internalforamt, x, y, width, height, border);
+ },
+ copyTexSubImage2D(target, level, xoff, yoff, x, y, width, height) {
+ this.gl.copyTexSubImage2D(target, level, xoff, yoff, x, y, width, height);
+ },
+ createBuffer() {
+ const buf = this.gl.createBuffer();
+ if (buf == null) return -1;
+
+ this.buffers.push(buf);
+ return this.buffers.length - 1;
+ },
+ createFramebuffer() {
+ const buf = this.gl.createFramebuffer();
+ if (buf == null) return -1;
+
+ this.framebuffers.push(buf);
+ return this.framebuffers.length - 1;
+ },
+ createProgram() {
+ const prog = this.gl.createProgram();
+ if (prog == null) return -1;
+
+ this.programs.push(prog);
+ return this.programs.length - 1;
+ },
+ createRenderbuffer() {
+ const buf = this.gl.createRenderbuffer();
+ if (buf == null) return -1;
+
+ this.renderbuffers.push(buf);
+ return this.renderbuffers.length - 1;
+ },
+ createShader(type) {
+ const shader = this.gl.createShader(type);
+ if (shader == null) return -1;
+
+ this.shaders.push(shader);
+ return this.shaders.length - 1;
+ },
+ createTexture() {
+ const texture = this.gl.createTexture();
+ if (texture == null) return -1;
+
+ this.textures.push(texture);
+ return this.textures.length - 1;
+ },
+ createVertexArray() {
+ const vao = this.gl.createVertexArray();
+ if (vao == null) return -1;
+
+ this.vertexArrays.push(vao);
+ return this.vertexArrays.length - 1;
+ },
+ cullFace(mode) { this.gl.cullFace(mode); },
+ deleteBuffer(buffer) { this.gl.deleteBuffer(this.buffers[buffer]); },
+ deleteFramebuffer(framebuffer) { this.gl.deleteFramebuffer(this.framebuffers[framebuffer]); },
+ deleteProgram(program) { this.gl.deleteProgram(this.programs[program]); },
+ deleteRenderbuffer(renderbuffer) { this.gl.deleteRenderbuffer(this.renderbuffers[renderbuffer]); },
+ deleteShader(shader) { this.gl.deleteShader(this.shaders[shader]); },
+ deleteTexture(texture) { this.gl.deleteTexture(this.textures[texture]); },
+ deleteVertexArray(vertexArray) { this.gl.deleteVertexArray(this.vertexArrays[vertexArray]); },
+ depthFunc(func) { this.gl.depthFunc(func); },
+ depthMask(flag) { this.gl.depthMask(flag); },
+ depthRange(znear, zfar) { this.gl.depthRange(znear, zfar); },
+ detachShader(program, shader) { this.gl.detachShader(this.programs[program], this.shaders[shader]); },
+ disable(cap) { this.gl.disable(cap); },
+ disableVertexAttribArray(index) { this.gl.disableVertexAttribArray(index); },
+ drawArrays(mode, first, count) { this.gl.drawArrays(mode, first, count); },
+ drawArraysInstanced(mode, first, count, instanceCount) { this.gl.drawArraysInstanced(mode, first, count, instanceCount); },
+ drawElements(mode, count, type, offset) { this.gl.drawElements(mode, count, type, offset); },
+ drawElementsInstanced(mode, count, type, offset, instanceCount) { this.gl.drawElementsInstanced(mode, count, type, offset, instanceCount); },
+ enable(cap) { this.gl.enable(cap); },
+ enableVertexAttribArray(index) { this.gl.enableVertexAttribArray(index); },
+ finish() { this.gl.finish(); },
+ flush() { this.gl.flush(); },
+ framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) {
+ this.gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, this.renderbuffers[renderbuffer]);
+ },
+ framebufferTexture2D(target, attachment, texttarget, texture, level) {
+ this.gl.framebufferTexture2D(target, attachment, texttarget, this.textures[texture], level);
+ },
+ framebufferTextureLayer(target, attachment, texture, level, layer) { this.gl.framebufferTextureLayer(target, attachment, this.textures[texture], level, layer); },
+ frontFace(mode) { this.gl.frontFace(mode); },
+ generateMipmap(target) { this.gl.generateMipmap(target); },
+ getActiveAttrib(program, index, out) {
+ const loc = this.gl.getActiveAttrib(this.programs[program], index);
+ const data = new Int32Array(WASM_MEMORY.buffer, out, 2);
+ data[0] = loc.size;
+ data[1] = loc.type;
+ },
+ getActiveUniform(program, index, out) {
+ const loc = this.gl.getActiveUniform(this.programs[program], index);
+ const data = new Int32Array(WASM_MEMORY.buffer, out, 2);
+ data[0] = loc.size;
+ data[1] = loc.type;
+ },
+ // getAttachedShaders() { console.log("NOT IMPLEMENTED!"); },
+ getAttribLocation(program, name, namelen) {
+ const decoder = new TextDecoder();
+ const str = new Uint8Array(WASM_MEMORY.buffer, name, namelen);
+ const attribname = decoder.decode(str);
+
+ return this.gl.getAttribLocation(this.programs[program], attribname);
+ },
+ // getBufferParameter() { console.log("NOT IMPLEMENTED!"); },
+ getBufferSubData(target, srcbyteoffset, dstbufferdata, dstbufferlen, dstoffset, length) {
+ const dst = new DataView(WASM_MEMORY.buffer, dstbufferdata, dstbufferlen);
+ this.gl.getBufferSubData(target, srcbyteoffset, dst, dstoffset, length);
+ },
+ getError() { return this.gl.getError(); },
+ getInternalformatParameter(target, internalformat, pname) { return this.gl.getInternalformatParameter(target, internalformat, pname); },
+ // many of the 'gets() { console.log("NOT IMPLEMENTED!"); },
+ getShaderParameter(shader, param) { return this.gl.getShaderParameter(this.shaders[shader], param); },
+ getProgramParameter(program, param) { return this.gl.getProgramParameter(this.programs[program], param); },
+ getUniformLocation(program, name, namelen) {
+ const decoder = new TextDecoder();
+ const str = new Int8Array(WASM_MEMORY.buffer, name, namelen);
+ const uniname = decoder.decode(str);
+
+ this.uniformlocs.push(this.gl.getUniformLocation(this.programs[program], uniname));
+ return this.uniformlocs.length - 1;
+ },
+ getVertexAttribOffset(index, pname) { return this.gl.getVertexAttribOffset(index, pname); },
+ hint(target, mode) { this.gl.hint(target, mode); },
+ isEnabled(cap) { return this.gl.isEnabled(cap); },
+ invalidateFramebuffer(target, attachdata, attachlen) {
+ const attachments = new Int32Array(WASM_MEMORY.buffer, attachdata, attachlen);
+ this.gl.invalidateFramebuffer(target, attacements);
+ },
+ invalidateSubFramebuffer(target, attachdata, attachlen, x, y, width, height) {
+ const attachments = new Int32Array(WASM_MEMORY.buffer, attachdata, attachlen);
+ this.gl.invalidateFramebuffer(target, attacements, x, y, width, height);
+ },
+ lineWidth(width) { this.gl.lineWidth(width); },
+ linkProgram(program) { this.gl.linkProgram(this.programs[program]); },
+ pixelStorei(pname, param) { this.gl.pixelStorei(pname, param); },
+ polygonOffset(factor, units) { this.gl.polygonOffset(factor, units); },
+ printProgramInfoLog(program) { console.log(this.gl.getProgramInfoLog(this.programs[program])); },
+ printShaderInfoLog(shader) { console.log(this.gl.getShaderInfoLog(this.shaders[shader])); },
+ readPixels(x, y, width, height, format, type, pixels, pixelslen) {
+ const pixeldata = new Uint8Array(WASM_MEMORY.buffer, pixels, pixelslen);
+ this.gl.readPixels(x, y, width, height, format, type, pixeldata);
+ },
+ readBuffer(src) { this.gl.readBuffer(src); },
+ renderbufferStorageMultisample(target, samples, internalforamt, width, height) {
+ this.gl.renderbufferStorageMultisample(target, samples, internalforamt, width, height);
+ },
+ sampleCoverage(value, invert) { this.gl.sampleCoverage(value, invert); },
+ scissor(x, y, width, height) { this.gl.scissor(x, y, width, height); },
+ shaderSource(shader, source, sourcelen) {
+ const decoder = new TextDecoder();
+ const str = new Int8Array(WASM_MEMORY.buffer, source, sourcelen);
+ const sourcedata = decoder.decode(str);
+
+ this.gl.shaderSource(this.shaders[shader], sourcedata);
+ },
+ stencilFunc(func, ref, mask) { this.gl.stencilFunc(func, ref, mask); },
+ stencilFuncSeparate(face, func, ref, mask) { this.gl.stencilFuncSeparate(face, func, ref, mask); },
+ stencilMask(mask) { this.gl.stencilMask(mask); },
+ stencilMaskSeparate(face, mask) { this.gl.stencilMaskSeparate(face, mask); },
+ stencilOp(fail, zfail, mask) { this.gl.stencilOp(fail, zfail, mask); },
+ stencilOpSeparate(face, fail, zfail, zpass) { this.gl.stencilOpSeparate(face, fail, zfail, zpass); },
+ texImage2D(target, level, internalforamt, width, height, border, format, type, pixels, pixelslen) {
+ const data = new DataView(WASM_MEMORY.buffer, pixels, pixelslen);
+ this.gl.texImage2D(target, level, internalforamt, width, height, border, format, type, data);
+ },
+ texParameterf(target, pname, param) { this.gl.texParameterf(target, pname, param); },
+ texParameteri(target, pname, param) { this.gl.texParameteri(target, pname, param); },
+ texSubImage2D(target, level, xoff, yoff, width, height, format, type, pixels, pixelslen) {
+ const data = new Uint8Array(WASM_MEMORY.buffer, pixels, pixelslen);
+ this.gl.texSubImage2D(target, level, xoff, yoff, width, height, format, type, data);
+ },
+ uniform1f(loc, x) { this.gl.uniform1f(this.uniformlocs[loc], x); },
+ uniform1i(loc, x) { this.gl.uniform1i(this.uniformlocs[loc], x); },
+ uniform2f(loc, x, y) { this.gl.uniform2f(this.uniformlocs[loc], x, y); },
+ uniform2i(loc, x, y) { this.gl.uniform2i(this.uniformlocs[loc], x, y); },
+ uniform3f(loc, x, y, z) { this.gl.uniform3f(this.uniformlocs[loc], x, y, z); },
+ uniform3i(loc, x, y, z) { this.gl.uniform3i(this.uniformlocs[loc], x, y, z); },
+ uniform4f(loc, x, y, z, w) { this.gl.uniform4f(this.uniformlocs[loc], x, y, z, w); },
+ uniform4i(loc, x, y, z, w) { this.gl.uniform4i(this.uniformlocs[loc], x, y, z, w); },
+ uniformMatrix2(loc, transpose, valueptr) {
+ const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 4);
+ this.gl.uniformMatrix2fv(this.uniformlocs[loc], transpose, data);
+ },
+ uniformMatrix3(loc, transpose, valueptr) {
+ const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 9);
+ this.gl.uniformMatrix3fv(this.uniformlocs[loc], transpose, data);
+ },
+ uniformMatrix4(loc, transpose, valueptr) {
+ const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 16);
+ this.gl.uniformMatrix4fv(this.uniformlocs[loc], transpose, data);
+ },
+ useProgram(program) { this.gl.useProgram(this.programs[program]); },
+ validateProgram(program) { this.gl.validateProgram(this.program[program]); },
+ vertexAttrib1f(idx, x) { this.gl.vertexAttrib1f(idx, x); },
+ vertexAttrib2f(idx, x, y) { this.gl.vertexAttrib2f(idx, x, y); },
+ vertexAttrib3f(idx, x, y, z) { this.gl.vertexAttrib3f(idx, x, y, z); },
+ vertexAttrib4f(idx, x, y, z, w) { this.gl.vertexAttrib4f(idx, x, y, z, w); },
+ vertexAttribPointer(idx, size, type, normalized, stride, offset) { this.gl.vertexAttribPointer(idx, size, type, normalized, stride, offset); },
+ vertexAttribDivisor(idx, divisor) { this.gl.vertexAttribDivisor(idx, divisor); },
+ viewport(x, y, width, height) { this.gl.viewport(x, y, width, height); },
+
+};
--- /dev/null
+!_TAG_FILE_FORMAT 2
+!_TAG_FILE_SORTED 1
+!_TAG_OUTPUT_FILESEP slash
+!_TAG_OUTPUT_MODE u-ctags
+!_TAG_PROGRAM_AUTHOR Onyx Compiler
+!_TAG_PROGRAM_NAME Onyx Compiler
+!_TAG_PROGRAM_URL https://github.com/brendanfh/onyx
+!_TAG_PROGRAM_VERSION 0.0.1
+ACTIVE_ATTRIBUTES /usr/share/onyx/core/js/webgl.onyx /^ACTIVE_ATTRIBUTES :: 0x8B89$/
+ACTIVE_TEXTURE /usr/share/onyx/core/js/webgl.onyx /^ACTIVE_TEXTURE :: 0x84E0$/
+ACTIVE_UNIFORMS /usr/share/onyx/core/js/webgl.onyx /^ACTIVE_UNIFORMS :: 0x8B86$/
+ACTIVE_UNIFORM_BLOCKS /usr/share/onyx/core/js/webgl.onyx /^ACTIVE_UNIFORM_BLOCKS :: 0x8A36$/
+ALIASED_LINE_WIDTH_RANGE /usr/share/onyx/core/js/webgl.onyx /^ALIASED_LINE_WIDTH_RANGE :: 0x846E$/
+ALIASED_POINT_SIZE_RANGE /usr/share/onyx/core/js/webgl.onyx /^ALIASED_POINT_SIZE_RANGE :: 0x846D$/
+ALPHA /usr/share/onyx/core/js/webgl.onyx /^ALPHA :: 0x1906$/
+ALPHA_BITS /usr/share/onyx/core/js/webgl.onyx /^ALPHA_BITS :: 0x0D55$/
+ALREADY_SIGNALED /usr/share/onyx/core/js/webgl.onyx /^ALREADY_SIGNALED :: 0x911A$/
+ALWAYS /usr/share/onyx/core/js/webgl.onyx /^ALWAYS :: 0x0207$/
+ANY_SAMPLES_PASSED /usr/share/onyx/core/js/webgl.onyx /^ANY_SAMPLES_PASSED :: 0x8C2F$/
+ANY_SAMPLES_PASSED_CONSERVATIVE /usr/share/onyx/core/js/webgl.onyx /^ANY_SAMPLES_PASSED_CONSERVATIVE :: 0x8D6A$/
+ARRAY_BUFFER /usr/share/onyx/core/js/webgl.onyx /^ARRAY_BUFFER :: 0x8892$/
+ARRAY_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^ARRAY_BUFFER_BINDING :: 0x8894$/
+ATTACHED_SHADERS /usr/share/onyx/core/js/webgl.onyx /^ATTACHED_SHADERS :: 0x8B85$/
+AllocAction /usr/share/onyx/core/builtin.onyx /^AllocAction :: enum {$/
+Allocator /usr/share/onyx/core/builtin.onyx /^Allocator :: struct {$/
+BACK /usr/share/onyx/core/js/webgl.onyx /^BACK :: 0x0405$/
+BLEND /usr/share/onyx/core/js/webgl.onyx /^BLEND :: 0x0BE2$/
+BLEND_COLOR /usr/share/onyx/core/js/webgl.onyx /^BLEND_COLOR :: 0x8005$/
+BLEND_DST_ALPHA /usr/share/onyx/core/js/webgl.onyx /^BLEND_DST_ALPHA :: 0x80CA$/
+BLEND_DST_RGB /usr/share/onyx/core/js/webgl.onyx /^BLEND_DST_RGB :: 0x80C8$/
+BLEND_EQUATION /usr/share/onyx/core/js/webgl.onyx /^BLEND_EQUATION :: 0x8009$/
+BLEND_EQUATION_ALPHA /usr/share/onyx/core/js/webgl.onyx /^BLEND_EQUATION_ALPHA :: 0x883D$/
+BLEND_EQUATION_RGB /usr/share/onyx/core/js/webgl.onyx /^BLEND_EQUATION_RGB :: 0x8009 // same as BLEND_EQUATION$/
+BLEND_SRC_ALPHA /usr/share/onyx/core/js/webgl.onyx /^BLEND_SRC_ALPHA :: 0x80CB$/
+BLEND_SRC_RGB /usr/share/onyx/core/js/webgl.onyx /^BLEND_SRC_RGB :: 0x80C9$/
+BLUE_BITS /usr/share/onyx/core/js/webgl.onyx /^BLUE_BITS :: 0x0D54$/
+BOOL /usr/share/onyx/core/js/webgl.onyx /^BOOL :: 0x8B56$/
+BOOL_VEC2 /usr/share/onyx/core/js/webgl.onyx /^BOOL_VEC2 :: 0x8B57$/
+BOOL_VEC3 /usr/share/onyx/core/js/webgl.onyx /^BOOL_VEC3 :: 0x8B58$/
+BOOL_VEC4 /usr/share/onyx/core/js/webgl.onyx /^BOOL_VEC4 :: 0x8B59$/
+BROWSER_DEFAULT_WEBGL /usr/share/onyx/core/js/webgl.onyx /^BROWSER_DEFAULT_WEBGL :: 0x9244$/
+BUFFER_SIZE /usr/share/onyx/core/js/webgl.onyx /^BUFFER_SIZE :: 0x8764$/
+BUFFER_USAGE /usr/share/onyx/core/js/webgl.onyx /^BUFFER_USAGE :: 0x8765$/
+BYTE /usr/share/onyx/core/js/webgl.onyx /^BYTE :: 0x1400$/
+Buffer /usr/share/onyx/core/builtin.onyx /^Buffer :: #type []void;$/
+CCW /usr/share/onyx/core/js/webgl.onyx /^CCW :: 0x0901$/
+CLAMP_TO_EDGE /usr/share/onyx/core/js/webgl.onyx /^CLAMP_TO_EDGE :: 0x812F$/
+COLOR /usr/share/onyx/core/js/webgl.onyx /^COLOR :: 0x1800$/
+COLOR_ATTACHMENT0 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT0 :: 0x8CE0$/
+COLOR_ATTACHMENT1 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT1 :: 0x8CE1$/
+COLOR_ATTACHMENT10 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT10 :: 0x8CEA$/
+COLOR_ATTACHMENT11 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT11 :: 0x8CEB$/
+COLOR_ATTACHMENT12 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT12 :: 0x8CEC$/
+COLOR_ATTACHMENT13 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT13 :: 0x8CED$/
+COLOR_ATTACHMENT14 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT14 :: 0x8CEE$/
+COLOR_ATTACHMENT15 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT15 :: 0x8CEF$/
+COLOR_ATTACHMENT2 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT2 :: 0x8CE2$/
+COLOR_ATTACHMENT3 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT3 :: 0x8CE3$/
+COLOR_ATTACHMENT4 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT4 :: 0x8CE4$/
+COLOR_ATTACHMENT5 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT5 :: 0x8CE5$/
+COLOR_ATTACHMENT6 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT6 :: 0x8CE6$/
+COLOR_ATTACHMENT7 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT7 :: 0x8CE7$/
+COLOR_ATTACHMENT8 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT8 :: 0x8CE8$/
+COLOR_ATTACHMENT9 /usr/share/onyx/core/js/webgl.onyx /^COLOR_ATTACHMENT9 :: 0x8CE9$/
+COLOR_BUFFER_BIT /usr/share/onyx/core/js/webgl.onyx /^COLOR_BUFFER_BIT :: 0x00004000$/
+COLOR_CLEAR_VALUE /usr/share/onyx/core/js/webgl.onyx /^COLOR_CLEAR_VALUE :: 0x0C22$/
+COLOR_WRITEMASK /usr/share/onyx/core/js/webgl.onyx /^COLOR_WRITEMASK :: 0x0C23$/
+COMPARE_REF_TO_TEXTURE /usr/share/onyx/core/js/webgl.onyx /^COMPARE_REF_TO_TEXTURE :: 0x884E$/
+COMPILE_STATUS /usr/share/onyx/core/js/webgl.onyx /^COMPILE_STATUS :: 0x8B81$/
+COMPRESSED_TEXTURE_FORMATS /usr/share/onyx/core/js/webgl.onyx /^COMPRESSED_TEXTURE_FORMATS :: 0x86A3$/
+CONDITION_SATISFIED /usr/share/onyx/core/js/webgl.onyx /^CONDITION_SATISFIED :: 0x911C$/
+CONSTANT_ALPHA /usr/share/onyx/core/js/webgl.onyx /^CONSTANT_ALPHA :: 0x8003$/
+CONSTANT_COLOR /usr/share/onyx/core/js/webgl.onyx /^CONSTANT_COLOR :: 0x8001$/
+CONTEXT_LOST_WEBGL /usr/share/onyx/core/js/webgl.onyx /^CONTEXT_LOST_WEBGL :: 0x9242$/
+COPY_READ_BUFFER /usr/share/onyx/core/js/webgl.onyx /^COPY_READ_BUFFER :: 0x8F36$/
+COPY_READ_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^COPY_READ_BUFFER_BINDING :: 0x8F36$/
+COPY_WRITE_BUFFER /usr/share/onyx/core/js/webgl.onyx /^COPY_WRITE_BUFFER :: 0x8F37$/
+COPY_WRITE_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^COPY_WRITE_BUFFER_BINDING :: 0x8F37$/
+CULL_FACE /usr/share/onyx/core/js/webgl.onyx /^CULL_FACE :: 0x0B44$/
+CULL_FACE_MODE /usr/share/onyx/core/js/webgl.onyx /^CULL_FACE_MODE :: 0x0B45$/
+CURRENT_PROGRAM /usr/share/onyx/core/js/webgl.onyx /^CURRENT_PROGRAM :: 0x8B8D$/
+CURRENT_QUERY /usr/share/onyx/core/js/webgl.onyx /^CURRENT_QUERY :: 0x8865$/
+CURRENT_VERTEX_ATTRIB /usr/share/onyx/core/js/webgl.onyx /^CURRENT_VERTEX_ATTRIB :: 0x8626$/
+CW /usr/share/onyx/core/js/webgl.onyx /^CW :: 0x0900$/
+DECR /usr/share/onyx/core/js/webgl.onyx /^DECR :: 0x1E03$/
+DECR_WRAP /usr/share/onyx/core/js/webgl.onyx /^DECR_WRAP :: 0x8508$/
+DEFAULT_ALLOCATION_ALIGNMENT /usr/share/onyx/core/builtin.onyx /^DEFAULT_ALLOCATION_ALIGNMENT :: 16$/
+DELETE_STATUS /usr/share/onyx/core/js/webgl.onyx /^DELETE_STATUS :: 0x8B80$/
+DEPTH /usr/share/onyx/core/js/webgl.onyx /^DEPTH :: 0x1801$/
+DEPTH24_STENCIL8 /usr/share/onyx/core/js/webgl.onyx /^DEPTH24_STENCIL8 :: 0x88F0$/
+DEPTH32F_STENCIL8 /usr/share/onyx/core/js/webgl.onyx /^DEPTH32F_STENCIL8 :: 0x8CAD$/
+DEPTH_ATTACHMENT /usr/share/onyx/core/js/webgl.onyx /^DEPTH_ATTACHMENT :: 0x8D00$/
+DEPTH_BITS /usr/share/onyx/core/js/webgl.onyx /^DEPTH_BITS :: 0x0D56$/
+DEPTH_BUFFER_BIT /usr/share/onyx/core/js/webgl.onyx /^DEPTH_BUFFER_BIT :: 0x00000100$/
+DEPTH_CLEAR_VALUE /usr/share/onyx/core/js/webgl.onyx /^DEPTH_CLEAR_VALUE :: 0x0B73$/
+DEPTH_COMPONENT /usr/share/onyx/core/js/webgl.onyx /^DEPTH_COMPONENT :: 0x1902$/
+DEPTH_COMPONENT16 /usr/share/onyx/core/js/webgl.onyx /^DEPTH_COMPONENT16 :: 0x81A5$/
+DEPTH_COMPONENT24 /usr/share/onyx/core/js/webgl.onyx /^DEPTH_COMPONENT24 :: 0x81A6$/
+DEPTH_COMPONENT32F /usr/share/onyx/core/js/webgl.onyx /^DEPTH_COMPONENT32F :: 0x8CAC$/
+DEPTH_FUNC /usr/share/onyx/core/js/webgl.onyx /^DEPTH_FUNC :: 0x0B74$/
+DEPTH_RANGE /usr/share/onyx/core/js/webgl.onyx /^DEPTH_RANGE :: 0x0B70$/
+DEPTH_STENCIL /usr/share/onyx/core/js/webgl.onyx /^DEPTH_STENCIL :: 0x84F9$/
+DEPTH_STENCIL_ATTACHMENT /usr/share/onyx/core/js/webgl.onyx /^DEPTH_STENCIL_ATTACHMENT :: 0x821A$/
+DEPTH_TEST /usr/share/onyx/core/js/webgl.onyx /^DEPTH_TEST :: 0x0B71$/
+DEPTH_WRITEMASK /usr/share/onyx/core/js/webgl.onyx /^DEPTH_WRITEMASK :: 0x0B72$/
+DITHER /usr/share/onyx/core/js/webgl.onyx /^DITHER :: 0x0BD0$/
+DONT_CARE /usr/share/onyx/core/js/webgl.onyx /^DONT_CARE :: 0x1100$/
+DRAW_BUFFER0 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER0 :: 0x8825$/
+DRAW_BUFFER1 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER1 :: 0x8826$/
+DRAW_BUFFER10 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER10 :: 0x882F$/
+DRAW_BUFFER11 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER11 :: 0x8830$/
+DRAW_BUFFER12 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER12 :: 0x8831$/
+DRAW_BUFFER13 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER13 :: 0x8832$/
+DRAW_BUFFER14 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER14 :: 0x8833$/
+DRAW_BUFFER15 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER15 :: 0x8834$/
+DRAW_BUFFER2 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER2 :: 0x8827$/
+DRAW_BUFFER3 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER3 :: 0x8828$/
+DRAW_BUFFER4 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER4 :: 0x8829$/
+DRAW_BUFFER5 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER5 :: 0x882A$/
+DRAW_BUFFER6 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER6 :: 0x882B$/
+DRAW_BUFFER7 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER7 :: 0x882C$/
+DRAW_BUFFER8 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER8 :: 0x882D$/
+DRAW_BUFFER9 /usr/share/onyx/core/js/webgl.onyx /^DRAW_BUFFER9 :: 0x882E$/
+DRAW_FRAMEBUFFER /usr/share/onyx/core/js/webgl.onyx /^DRAW_FRAMEBUFFER :: 0x8CA9$/
+DRAW_FRAMEBUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^DRAW_FRAMEBUFFER_BINDING :: 0x8CA6$/
+DST_ALPHA /usr/share/onyx/core/js/webgl.onyx /^DST_ALPHA :: 0x0304$/
+DST_COLOR /usr/share/onyx/core/js/webgl.onyx /^DST_COLOR :: 0x0306$/
+DYNAMIC_COPY /usr/share/onyx/core/js/webgl.onyx /^DYNAMIC_COPY :: 0x88EA$/
+DYNAMIC_DRAW /usr/share/onyx/core/js/webgl.onyx /^DYNAMIC_DRAW :: 0x88E8$/
+DYNAMIC_READ /usr/share/onyx/core/js/webgl.onyx /^DYNAMIC_READ :: 0x88E9$/
+DomEvent src/events.onyx /^DomEvent :: struct {$/
+DomEventKind src/events.onyx /^DomEventKind :: enum {$/
+ELEMENT_ARRAY_BUFFER /usr/share/onyx/core/js/webgl.onyx /^ELEMENT_ARRAY_BUFFER :: 0x8893$/
+ELEMENT_ARRAY_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^ELEMENT_ARRAY_BUFFER_BINDING :: 0x8895$/
+EQUAL /usr/share/onyx/core/js/webgl.onyx /^EQUAL :: 0x0202$/
+Event src/events.onyx /^Event :: struct #union {$/
+EventStorage src/events.onyx /^#private EventStorage :: struct {$/
+FASTEST /usr/share/onyx/core/js/webgl.onyx /^FASTEST :: 0x1101$/
+FLOAT /usr/share/onyx/core/js/webgl.onyx /^FLOAT :: 0x1406$/
+FLOAT_32_UNSIGNED_INT_24_8_REV /usr/share/onyx/core/js/webgl.onyx /^FLOAT_32_UNSIGNED_INT_24_8_REV :: 0x8DAD$/
+FLOAT_MAT2 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT2 :: 0x8B5A$/
+FLOAT_MAT2x3 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT2x3 :: 0x8B65$/
+FLOAT_MAT2x4 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT2x4 :: 0x8B66$/
+FLOAT_MAT3 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT3 :: 0x8B5B$/
+FLOAT_MAT3x2 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT3x2 :: 0x8B67$/
+FLOAT_MAT3x4 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT3x4 :: 0x8B68$/
+FLOAT_MAT4 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT4 :: 0x8B5C$/
+FLOAT_MAT4x2 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT4x2 :: 0x8B69$/
+FLOAT_MAT4x3 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_MAT4x3 :: 0x8B6A$/
+FLOAT_VEC2 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_VEC2 :: 0x8B50$/
+FLOAT_VEC3 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_VEC3 :: 0x8B51$/
+FLOAT_VEC4 /usr/share/onyx/core/js/webgl.onyx /^FLOAT_VEC4 :: 0x8B52$/
+FRAGMENT_SHADER /usr/share/onyx/core/js/webgl.onyx /^FRAGMENT_SHADER :: 0x8B30$/
+FRAGMENT_SHADER_DERIVATIVE_HINT /usr/share/onyx/core/js/webgl.onyx /^FRAGMENT_SHADER_DERIVATIVE_HINT :: 0x8B8B$/
+FRAMEBUFFER /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER :: 0x8D40$/
+FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: 0x8215$/
+FRAMEBUFFER_ATTACHMENT_BLUE_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: 0x8214$/
+FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: 0x8210$/
+FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: 0x8211$/
+FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: 0x8216$/
+FRAMEBUFFER_ATTACHMENT_GREEN_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: 0x8213$/
+FRAMEBUFFER_ATTACHMENT_OBJECT_NAME /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: 0x8CD1$/
+FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: 0x8CD0$/
+FRAMEBUFFER_ATTACHMENT_RED_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_RED_SIZE :: 0x8212$/
+FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: 0x8217$/
+FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: 0x8CD3$/
+FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: 0x8CD4$/
+FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: 0x8CD2$/
+FRAMEBUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_BINDING :: 0x8CA6$/
+FRAMEBUFFER_COMPLETE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_COMPLETE :: 0x8CD5$/
+FRAMEBUFFER_DEFAULT /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_DEFAULT :: 0x8218$/
+FRAMEBUFFER_INCOMPLETE_ATTACHMENT /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: 0x8CD6$/
+FRAMEBUFFER_INCOMPLETE_DIMENSIONS /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: 0x8CD9$/
+FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: 0x8CD7$/
+FRAMEBUFFER_INCOMPLETE_MULTISAMPLE /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: 0x8D56$/
+FRAMEBUFFER_UNSUPPORTED /usr/share/onyx/core/js/webgl.onyx /^FRAMEBUFFER_UNSUPPORTED :: 0x8CDD$/
+FRONT /usr/share/onyx/core/js/webgl.onyx /^FRONT :: 0x0404$/
+FRONT_AND_BACK /usr/share/onyx/core/js/webgl.onyx /^FRONT_AND_BACK :: 0x0408$/
+FRONT_FACE /usr/share/onyx/core/js/webgl.onyx /^FRONT_FACE :: 0x0B46$/
+FUNC_ADD /usr/share/onyx/core/js/webgl.onyx /^FUNC_ADD :: 0x8006$/
+FUNC_REVERSE_SUBTRACT /usr/share/onyx/core/js/webgl.onyx /^FUNC_REVERSE_SUBTRACT :: 0x800B$/
+FUNC_SUBTRACT /usr/share/onyx/core/js/webgl.onyx /^FUNC_SUBTRACT :: 0x800A$/
+GENERATE_MIPMAP_HINT /usr/share/onyx/core/js/webgl.onyx /^GENERATE_MIPMAP_HINT :: 0x8192$/
+GEQUAL /usr/share/onyx/core/js/webgl.onyx /^GEQUAL :: 0x0206$/
+GLActiveInfo /usr/share/onyx/core/js/webgl.onyx /^GLActiveInfo :: struct {$/
+GLBuffer /usr/share/onyx/core/js/webgl.onyx /^GLBuffer :: #type i32$/
+GLFramebuffer /usr/share/onyx/core/js/webgl.onyx /^GLFramebuffer :: #type i32$/
+GLMat2 /usr/share/onyx/core/js/webgl.onyx /^GLMat2 :: #type [4] GLfloat$/
+GLMat3 /usr/share/onyx/core/js/webgl.onyx /^GLMat3 :: #type [9] GLfloat$/
+GLMat4 /usr/share/onyx/core/js/webgl.onyx /^GLMat4 :: #type [16] GLfloat$/
+GLProgram /usr/share/onyx/core/js/webgl.onyx /^GLProgram :: #type i32$/
+GLRenderbuffer /usr/share/onyx/core/js/webgl.onyx /^GLRenderbuffer :: #type i32$/
+GLShader /usr/share/onyx/core/js/webgl.onyx /^GLShader :: #type i32$/
+GLTexture /usr/share/onyx/core/js/webgl.onyx /^GLTexture :: #type i32$/
+GLUniformLocation /usr/share/onyx/core/js/webgl.onyx /^GLUniformLocation :: #type i32$/
+GLVertexArrayObject /usr/share/onyx/core/js/webgl.onyx /^GLVertexArrayObject :: #type i32$/
+GLbitfield /usr/share/onyx/core/js/webgl.onyx /^GLbitfield :: #type u32$/
+GLboolean /usr/share/onyx/core/js/webgl.onyx /^GLboolean :: #type bool$/
+GLbyte /usr/share/onyx/core/js/webgl.onyx /^GLbyte :: #type i8$/
+GLclampf /usr/share/onyx/core/js/webgl.onyx /^GLclampf :: #type f32$/
+GLenum /usr/share/onyx/core/js/webgl.onyx /^GLenum :: #type u32$/
+GLfloat /usr/share/onyx/core/js/webgl.onyx /^GLfloat :: #type f32$/
+GLint /usr/share/onyx/core/js/webgl.onyx /^GLint :: #type i32$/
+GLintptr /usr/share/onyx/core/js/webgl.onyx /^GLintptr :: #type i64$/
+GLshort /usr/share/onyx/core/js/webgl.onyx /^GLshort :: #type i16$/
+GLsizei /usr/share/onyx/core/js/webgl.onyx /^GLsizei :: #type i32$/
+GLsizeiptr /usr/share/onyx/core/js/webgl.onyx /^GLsizeiptr :: #type i64$/
+GLubyte /usr/share/onyx/core/js/webgl.onyx /^GLubyte :: #type u8$/
+GLuint /usr/share/onyx/core/js/webgl.onyx /^GLuint :: #type u32$/
+GLushort /usr/share/onyx/core/js/webgl.onyx /^GLushort :: #type u16$/
+GREATER /usr/share/onyx/core/js/webgl.onyx /^GREATER :: 0x0204$/
+GREEN_BITS /usr/share/onyx/core/js/webgl.onyx /^GREEN_BITS :: 0x0D53$/
+GameState src/main.onyx /^GameState :: struct {$/
+HALF_FLOAT /usr/share/onyx/core/js/webgl.onyx /^HALF_FLOAT :: 0x140B$/
+HIGH_FLOAT /usr/share/onyx/core/js/webgl.onyx /^HIGH_FLOAT :: 0x8DF2$/
+HIGH_INT /usr/share/onyx/core/js/webgl.onyx /^HIGH_INT :: 0x8DF5$/
+IMPLEMENTATION_COLOR_READ_FORMAT /usr/share/onyx/core/js/webgl.onyx /^IMPLEMENTATION_COLOR_READ_FORMAT :: 0x8B9B$/
+IMPLEMENTATION_COLOR_READ_TYPE /usr/share/onyx/core/js/webgl.onyx /^IMPLEMENTATION_COLOR_READ_TYPE :: 0x8B9A$/
+INCR /usr/share/onyx/core/js/webgl.onyx /^INCR :: 0x1E02$/
+INCR_WRAP /usr/share/onyx/core/js/webgl.onyx /^INCR_WRAP :: 0x8507$/
+INT /usr/share/onyx/core/js/webgl.onyx /^INT :: 0x1404$/
+INTERLEAVED_ATTRIBS /usr/share/onyx/core/js/webgl.onyx /^INTERLEAVED_ATTRIBS :: 0x8C8C$/
+INT_2_10_10_10_REV /usr/share/onyx/core/js/webgl.onyx /^INT_2_10_10_10_REV :: 0x8D9F$/
+INT_SAMPLER_2D /usr/share/onyx/core/js/webgl.onyx /^INT_SAMPLER_2D :: 0x8DCA$/
+INT_SAMPLER_2D_ARRAY /usr/share/onyx/core/js/webgl.onyx /^INT_SAMPLER_2D_ARRAY :: 0x8DCF$/
+INT_SAMPLER_3D /usr/share/onyx/core/js/webgl.onyx /^INT_SAMPLER_3D :: 0x8DCB$/
+INT_SAMPLER_CUBE /usr/share/onyx/core/js/webgl.onyx /^INT_SAMPLER_CUBE :: 0x8DCC$/
+INT_VEC2 /usr/share/onyx/core/js/webgl.onyx /^INT_VEC2 :: 0x8B53$/
+INT_VEC3 /usr/share/onyx/core/js/webgl.onyx /^INT_VEC3 :: 0x8B54$/
+INT_VEC4 /usr/share/onyx/core/js/webgl.onyx /^INT_VEC4 :: 0x8B55$/
+INVALID_ENUM /usr/share/onyx/core/js/webgl.onyx /^INVALID_ENUM :: 0x0500$/
+INVALID_FRAMEBUFFER_OPERATION /usr/share/onyx/core/js/webgl.onyx /^INVALID_FRAMEBUFFER_OPERATION :: 0x0506$/
+INVALID_INDEX /usr/share/onyx/core/js/webgl.onyx /^INVALID_INDEX :: 0xFFFFFFF$/
+INVALID_OPERATION /usr/share/onyx/core/js/webgl.onyx /^INVALID_OPERATION :: 0x0502$/
+INVALID_VALUE /usr/share/onyx/core/js/webgl.onyx /^INVALID_VALUE :: 0x0501$/
+INVERT /usr/share/onyx/core/js/webgl.onyx /^INVERT :: 0x150A$/
+KEEP /usr/share/onyx/core/js/webgl.onyx /^KEEP :: 0x1E00$/
+KeyboardEvent src/events.onyx /^KeyboardEvent :: struct {$/
+LEQUAL /usr/share/onyx/core/js/webgl.onyx /^LEQUAL :: 0x0203$/
+LESS /usr/share/onyx/core/js/webgl.onyx /^LESS :: 0x0201$/
+LINEAR /usr/share/onyx/core/js/webgl.onyx /^LINEAR :: 0x2601$/
+LINEAR_MIPMAP_LINEAR /usr/share/onyx/core/js/webgl.onyx /^LINEAR_MIPMAP_LINEAR :: 0x2703$/
+LINEAR_MIPMAP_NEAREST /usr/share/onyx/core/js/webgl.onyx /^LINEAR_MIPMAP_NEAREST :: 0x2701$/
+LINES /usr/share/onyx/core/js/webgl.onyx /^LINES :: 0x0001$/
+LINE_LOOP /usr/share/onyx/core/js/webgl.onyx /^LINE_LOOP :: 0x0002$/
+LINE_STRIP /usr/share/onyx/core/js/webgl.onyx /^LINE_STRIP :: 0x0003$/
+LINE_WIDTH /usr/share/onyx/core/js/webgl.onyx /^LINE_WIDTH :: 0x0B21$/
+LINK_STATUS /usr/share/onyx/core/js/webgl.onyx /^LINK_STATUS :: 0x8B82$/
+LOW_FLOAT /usr/share/onyx/core/js/webgl.onyx /^LOW_FLOAT :: 0x8DF0$/
+LOW_INT /usr/share/onyx/core/js/webgl.onyx /^LOW_INT :: 0x8DF3$/
+LUMINANCE /usr/share/onyx/core/js/webgl.onyx /^LUMINANCE :: 0x1909$/
+LUMINANCE_ALPHA /usr/share/onyx/core/js/webgl.onyx /^LUMINANCE_ALPHA :: 0x190A$/
+MAX /usr/share/onyx/core/js/webgl.onyx /^MAX :: 0x8008$/
+MAX_3D_TEXTURE_SIZE /usr/share/onyx/core/js/webgl.onyx /^MAX_3D_TEXTURE_SIZE :: 0x8073$/
+MAX_ARRAY_TEXTURE_LAYERS /usr/share/onyx/core/js/webgl.onyx /^MAX_ARRAY_TEXTURE_LAYERS :: 0x88FF$/
+MAX_CLIENT_WAIT_TIMEOUT_WEBGL /usr/share/onyx/core/js/webgl.onyx /^MAX_CLIENT_WAIT_TIMEOUT_WEBGL :: 0x9247$/
+MAX_COLOR_ATTACHMENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_COLOR_ATTACHMENTS :: 0x8CDF$/
+MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: 0x8A33$/
+MAX_COMBINED_TEXTURE_IMAGE_UNITS /usr/share/onyx/core/js/webgl.onyx /^MAX_COMBINED_TEXTURE_IMAGE_UNITS :: 0x8B4D$/
+MAX_COMBINED_UNIFORM_BLOCKS /usr/share/onyx/core/js/webgl.onyx /^MAX_COMBINED_UNIFORM_BLOCKS :: 0x8A2E$/
+MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: 0x8A31$/
+MAX_CUBE_MAP_TEXTURE_SIZE /usr/share/onyx/core/js/webgl.onyx /^MAX_CUBE_MAP_TEXTURE_SIZE :: 0x851C$/
+MAX_DRAW_BUFFERS /usr/share/onyx/core/js/webgl.onyx /^MAX_DRAW_BUFFERS :: 0x8824$/
+MAX_ELEMENTS_INDICES /usr/share/onyx/core/js/webgl.onyx /^MAX_ELEMENTS_INDICES :: 0x80E9$/
+MAX_ELEMENTS_VERTICES /usr/share/onyx/core/js/webgl.onyx /^MAX_ELEMENTS_VERTICES :: 0x80E8$/
+MAX_ELEMENT_INDEX /usr/share/onyx/core/js/webgl.onyx /^MAX_ELEMENT_INDEX :: 0x8D6B$/
+MAX_EVENTS src/events.onyx /^MAX_EVENTS :: 16$/
+MAX_FRAGMENT_INPUT_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_FRAGMENT_INPUT_COMPONENTS :: 0x9125$/
+MAX_FRAGMENT_UNIFORM_BLOCKS /usr/share/onyx/core/js/webgl.onyx /^MAX_FRAGMENT_UNIFORM_BLOCKS :: 0x8A2D$/
+MAX_FRAGMENT_UNIFORM_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_FRAGMENT_UNIFORM_COMPONENTS :: 0x8B49$/
+MAX_FRAGMENT_UNIFORM_VECTORS /usr/share/onyx/core/js/webgl.onyx /^MAX_FRAGMENT_UNIFORM_VECTORS :: 0x8DFD$/
+MAX_PROGRAM_TEXEL_OFFSET /usr/share/onyx/core/js/webgl.onyx /^MAX_PROGRAM_TEXEL_OFFSET :: 0x8905$/
+MAX_RENDERBUFFER_SIZE /usr/share/onyx/core/js/webgl.onyx /^MAX_RENDERBUFFER_SIZE :: 0x84E8$/
+MAX_SAMPLES /usr/share/onyx/core/js/webgl.onyx /^MAX_SAMPLES :: 0x8D57$/
+MAX_SERVER_WAIT_TIMEOUT /usr/share/onyx/core/js/webgl.onyx /^MAX_SERVER_WAIT_TIMEOUT :: 0x9111$/
+MAX_TEXTURE_IMAGE_UNITS /usr/share/onyx/core/js/webgl.onyx /^MAX_TEXTURE_IMAGE_UNITS :: 0x8872$/
+MAX_TEXTURE_LOD_BIAS /usr/share/onyx/core/js/webgl.onyx /^MAX_TEXTURE_LOD_BIAS :: 0x84FD$/
+MAX_TEXTURE_SIZE /usr/share/onyx/core/js/webgl.onyx /^MAX_TEXTURE_SIZE :: 0x0D33$/
+MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: 0x8C8A$/
+MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS /usr/share/onyx/core/js/webgl.onyx /^MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: 0x8C8B$/
+MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: 0x8C80$/
+MAX_UNIFORM_BLOCK_SIZE /usr/share/onyx/core/js/webgl.onyx /^MAX_UNIFORM_BLOCK_SIZE :: 0x8A30$/
+MAX_UNIFORM_BUFFER_BINDINGS /usr/share/onyx/core/js/webgl.onyx /^MAX_UNIFORM_BUFFER_BINDINGS :: 0x8A2F$/
+MAX_VARYING_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_VARYING_COMPONENTS :: 0x8B4B$/
+MAX_VARYING_VECTORS /usr/share/onyx/core/js/webgl.onyx /^MAX_VARYING_VECTORS :: 0x8DFC$/
+MAX_VERTEX_ATTRIBS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_ATTRIBS :: 0x8869$/
+MAX_VERTEX_OUTPUT_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_OUTPUT_COMPONENTS :: 0x9122$/
+MAX_VERTEX_TEXTURE_IMAGE_UNITS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_TEXTURE_IMAGE_UNITS :: 0x8B4C$/
+MAX_VERTEX_UNIFORM_BLOCKS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_UNIFORM_BLOCKS :: 0x8A2B$/
+MAX_VERTEX_UNIFORM_COMPONENTS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_UNIFORM_COMPONENTS :: 0x8B4A$/
+MAX_VERTEX_UNIFORM_VECTORS /usr/share/onyx/core/js/webgl.onyx /^MAX_VERTEX_UNIFORM_VECTORS :: 0x8DFB$/
+MAX_VIEWPORT_DIMS /usr/share/onyx/core/js/webgl.onyx /^MAX_VIEWPORT_DIMS :: 0x0D3A$/
+MEDIUM_FLOAT /usr/share/onyx/core/js/webgl.onyx /^MEDIUM_FLOAT :: 0x8DF1$/
+MEDIUM_INT /usr/share/onyx/core/js/webgl.onyx /^MEDIUM_INT :: 0x8DF4$/
+MIN /usr/share/onyx/core/js/webgl.onyx /^MIN :: 0x8007$/
+MIN_PROGRAM_TEXEL_OFFSET /usr/share/onyx/core/js/webgl.onyx /^MIN_PROGRAM_TEXEL_OFFSET :: 0x8904$/
+MIRRORED_REPEAT /usr/share/onyx/core/js/webgl.onyx /^MIRRORED_REPEAT :: 0x8370$/
+MouseButton src/events.onyx /^MouseButton :: enum {$/
+MouseEvent src/events.onyx /^MouseEvent :: struct {$/
+NEAREST /usr/share/onyx/core/js/webgl.onyx /^NEAREST :: 0x2600$/
+NEAREST_MIPMAP_LINEAR /usr/share/onyx/core/js/webgl.onyx /^NEAREST_MIPMAP_LINEAR :: 0x2702$/
+NEAREST_MIPMAP_NEAREST /usr/share/onyx/core/js/webgl.onyx /^NEAREST_MIPMAP_NEAREST :: 0x2700$/
+NEVER /usr/share/onyx/core/js/webgl.onyx /^NEVER :: 0x0200$/
+NICEST /usr/share/onyx/core/js/webgl.onyx /^NICEST :: 0x1102$/
+NONE /usr/share/onyx/core/js/webgl.onyx /^NONE :: 0$/
+NOTEQUAL /usr/share/onyx/core/js/webgl.onyx /^NOTEQUAL :: 0x0205$/
+NO_ERROR /usr/share/onyx/core/js/webgl.onyx /^NO_ERROR :: 0$/
+NUM_QUADS src/main.onyx /^NUM_QUADS :: 1000$/
+OBJECT_TYPE /usr/share/onyx/core/js/webgl.onyx /^OBJECT_TYPE :: 0x9112$/
+ONE /usr/share/onyx/core/js/webgl.onyx /^ONE :: 1$/
+ONE_MINUS_CONSTANT_ALPHA /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_CONSTANT_ALPHA :: 0x8004$/
+ONE_MINUS_CONSTANT_COLOR /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_CONSTANT_COLOR :: 0x8002$/
+ONE_MINUS_DST_ALPHA /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_DST_ALPHA :: 0x0305$/
+ONE_MINUS_DST_COLOR /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_DST_COLOR :: 0x0307$/
+ONE_MINUS_SRC_ALPHA /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_SRC_ALPHA :: 0x0303$/
+ONE_MINUS_SRC_COLOR /usr/share/onyx/core/js/webgl.onyx /^ONE_MINUS_SRC_COLOR :: 0x0301$/
+OUT_OF_MEMORY /usr/share/onyx/core/js/webgl.onyx /^OUT_OF_MEMORY :: 0x0505$/
+PACK_ALIGNMENT /usr/share/onyx/core/js/webgl.onyx /^PACK_ALIGNMENT :: 0x0D05$/
+PACK_ROW_LENGTH /usr/share/onyx/core/js/webgl.onyx /^PACK_ROW_LENGTH :: 0x0D02$/
+PACK_SKIP_PIXELS /usr/share/onyx/core/js/webgl.onyx /^PACK_SKIP_PIXELS :: 0x0D04$/
+PACK_SKIP_ROWS /usr/share/onyx/core/js/webgl.onyx /^PACK_SKIP_ROWS :: 0x0D03$/
+PI /usr/share/onyx/core/math.onyx /^PI :: 3.14159265f;$/
+PIXEL_PACK_BUFFER /usr/share/onyx/core/js/webgl.onyx /^PIXEL_PACK_BUFFER :: 0x88EB$/
+PIXEL_PACK_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^PIXEL_PACK_BUFFER_BINDING :: 0x88ED$/
+PIXEL_UNPACK_BUFFER /usr/share/onyx/core/js/webgl.onyx /^PIXEL_UNPACK_BUFFER :: 0x88EC$/
+PIXEL_UNPACK_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^PIXEL_UNPACK_BUFFER_BINDING :: 0x88EF$/
+POINTS /usr/share/onyx/core/js/webgl.onyx /^POINTS :: 0x0000$/
+POLYGON_OFFSET_FACTOR /usr/share/onyx/core/js/webgl.onyx /^POLYGON_OFFSET_FACTOR :: 0x8038$/
+POLYGON_OFFSET_FILL /usr/share/onyx/core/js/webgl.onyx /^POLYGON_OFFSET_FILL :: 0x8037$/
+POLYGON_OFFSET_UNITS /usr/share/onyx/core/js/webgl.onyx /^POLYGON_OFFSET_UNITS :: 0x2A00$/
+PtrMap /usr/share/onyx/core/ptrmap.onyx /^PtrMap :: struct {$/
+PtrMapEntry /usr/share/onyx/core/ptrmap.onyx /^PtrMapEntry :: struct {$/
+PtrMapLookupResult /usr/share/onyx/core/ptrmap.onyx /^PtrMapLookupResult :: struct {$/
+QUERY_RESULT /usr/share/onyx/core/js/webgl.onyx /^QUERY_RESULT :: 0x8866$/
+QUERY_RESULT_AVAILABLE /usr/share/onyx/core/js/webgl.onyx /^QUERY_RESULT_AVAILABLE :: 0x8867$/
+Quad src/gfx/quad_renderer.onyx /^Quad :: struct {$/
+QuadRenderer src/gfx/quad_renderer.onyx /^QuadRenderer :: struct {$/
+R11F_G11F_B10F /usr/share/onyx/core/js/webgl.onyx /^R11F_G11F_B10F :: 0x8C3A$/
+R16F /usr/share/onyx/core/js/webgl.onyx /^R16F :: 0x822D$/
+R16I /usr/share/onyx/core/js/webgl.onyx /^R16I :: 0x8233$/
+R16UI /usr/share/onyx/core/js/webgl.onyx /^R16UI :: 0x8234$/
+R32F /usr/share/onyx/core/js/webgl.onyx /^R32F :: 0x822E$/
+R32I /usr/share/onyx/core/js/webgl.onyx /^R32I :: 0x8235$/
+R32UI /usr/share/onyx/core/js/webgl.onyx /^R32UI :: 0x8236$/
+R8 /usr/share/onyx/core/js/webgl.onyx /^R8 :: 0x8229$/
+R8I /usr/share/onyx/core/js/webgl.onyx /^R8I :: 0x8231$/
+R8UI /usr/share/onyx/core/js/webgl.onyx /^R8UI :: 0x8232$/
+R8_SNORM /usr/share/onyx/core/js/webgl.onyx /^R8_SNORM :: 0x8F94$/
+RASTERIZER_DISCARD /usr/share/onyx/core/js/webgl.onyx /^RASTERIZER_DISCARD :: 0x8C89$/
+READ_BUFFER /usr/share/onyx/core/js/webgl.onyx /^READ_BUFFER :: 0x0C02$/
+READ_FRAMEBUFFER /usr/share/onyx/core/js/webgl.onyx /^READ_FRAMEBUFFER :: 0x8CA8$/
+READ_FRAMEBUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^READ_FRAMEBUFFER_BINDING :: 0x8CAA$/
+RED /usr/share/onyx/core/js/webgl.onyx /^RED :: 0x1903$/
+RED_BITS /usr/share/onyx/core/js/webgl.onyx /^RED_BITS :: 0x0D52$/
+RED_INTEGER /usr/share/onyx/core/js/webgl.onyx /^RED_INTEGER :: 0x8D94$/
+RENDERBUFFER /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER :: 0x8D41$/
+RENDERBUFFER_ALPHA_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_ALPHA_SIZE :: 0x8D53$/
+RENDERBUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_BINDING :: 0x8CA7$/
+RENDERBUFFER_BLUE_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_BLUE_SIZE :: 0x8D52$/
+RENDERBUFFER_DEPTH_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_DEPTH_SIZE :: 0x8D54$/
+RENDERBUFFER_GREEN_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_GREEN_SIZE :: 0x8D51$/
+RENDERBUFFER_HEIGHT /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_HEIGHT :: 0x8D43$/
+RENDERBUFFER_INTERNAL_FORMAT /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_INTERNAL_FORMAT :: 0x8D44$/
+RENDERBUFFER_RED_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_RED_SIZE :: 0x8D50$/
+RENDERBUFFER_SAMPLES /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_SAMPLES :: 0x8CAB$/
+RENDERBUFFER_STENCIL_SIZE /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_STENCIL_SIZE :: 0x8D55$/
+RENDERBUFFER_WIDTH /usr/share/onyx/core/js/webgl.onyx /^RENDERBUFFER_WIDTH :: 0x8D42$/
+RENDERER /usr/share/onyx/core/js/webgl.onyx /^RENDERER :: 0x1F01$/
+REPEAT /usr/share/onyx/core/js/webgl.onyx /^REPEAT :: 0x2901$/
+REPLACE /usr/share/onyx/core/js/webgl.onyx /^REPLACE :: 0x1E01$/
+RG /usr/share/onyx/core/js/webgl.onyx /^RG :: 0x8227$/
+RG16F /usr/share/onyx/core/js/webgl.onyx /^RG16F :: 0x822F$/
+RG16I /usr/share/onyx/core/js/webgl.onyx /^RG16I :: 0x8239$/
+RG16UI /usr/share/onyx/core/js/webgl.onyx /^RG16UI :: 0x823A$/
+RG32F /usr/share/onyx/core/js/webgl.onyx /^RG32F :: 0x8230$/
+RG32I /usr/share/onyx/core/js/webgl.onyx /^RG32I :: 0x823B$/
+RG32UI /usr/share/onyx/core/js/webgl.onyx /^RG32UI :: 0x823C$/
+RG8 /usr/share/onyx/core/js/webgl.onyx /^RG8 :: 0x822B$/
+RG8I /usr/share/onyx/core/js/webgl.onyx /^RG8I :: 0x8237$/
+RG8UI /usr/share/onyx/core/js/webgl.onyx /^RG8UI :: 0x8238$/
+RG8_SNORM /usr/share/onyx/core/js/webgl.onyx /^RG8_SNORM :: 0x8F95$/
+RGB /usr/share/onyx/core/js/webgl.onyx /^RGB :: 0x1907$/
+RGB10_A2 /usr/share/onyx/core/js/webgl.onyx /^RGB10_A2 :: 0x8059$/
+RGB10_A2UI /usr/share/onyx/core/js/webgl.onyx /^RGB10_A2UI :: 0x906F$/
+RGB16F /usr/share/onyx/core/js/webgl.onyx /^RGB16F :: 0x881B$/
+RGB16I /usr/share/onyx/core/js/webgl.onyx /^RGB16I :: 0x8D89$/
+RGB16UI /usr/share/onyx/core/js/webgl.onyx /^RGB16UI :: 0x8D77$/
+RGB32F /usr/share/onyx/core/js/webgl.onyx /^RGB32F :: 0x8815$/
+RGB32I /usr/share/onyx/core/js/webgl.onyx /^RGB32I :: 0x8D83$/
+RGB32UI /usr/share/onyx/core/js/webgl.onyx /^RGB32UI :: 0x8D71$/
+RGB565 /usr/share/onyx/core/js/webgl.onyx /^RGB565 :: 0x8D62$/
+RGB5_A1 /usr/share/onyx/core/js/webgl.onyx /^RGB5_A1 :: 0x8057$/
+RGB8 /usr/share/onyx/core/js/webgl.onyx /^RGB8 :: 0x8051$/
+RGB8I /usr/share/onyx/core/js/webgl.onyx /^RGB8I :: 0x8D8F$/
+RGB8UI /usr/share/onyx/core/js/webgl.onyx /^RGB8UI :: 0x8D7D$/
+RGB8_SNORM /usr/share/onyx/core/js/webgl.onyx /^RGB8_SNORM :: 0x8F96$/
+RGB9_E5 /usr/share/onyx/core/js/webgl.onyx /^RGB9_E5 :: 0x8C3D$/
+RGBA /usr/share/onyx/core/js/webgl.onyx /^RGBA :: 0x1908$/
+RGBA16F /usr/share/onyx/core/js/webgl.onyx /^RGBA16F :: 0x881A$/
+RGBA16I /usr/share/onyx/core/js/webgl.onyx /^RGBA16I :: 0x8D88$/
+RGBA16UI /usr/share/onyx/core/js/webgl.onyx /^RGBA16UI :: 0x8D76$/
+RGBA32F /usr/share/onyx/core/js/webgl.onyx /^RGBA32F :: 0x8814$/
+RGBA32I /usr/share/onyx/core/js/webgl.onyx /^RGBA32I :: 0x8D82$/
+RGBA32UI /usr/share/onyx/core/js/webgl.onyx /^RGBA32UI :: 0x8D70$/
+RGBA4 /usr/share/onyx/core/js/webgl.onyx /^RGBA4 :: 0x8056$/
+RGBA8 /usr/share/onyx/core/js/webgl.onyx /^RGBA8 :: 0x8058$/
+RGBA8I /usr/share/onyx/core/js/webgl.onyx /^RGBA8I :: 0x8D8E$/
+RGBA8UI /usr/share/onyx/core/js/webgl.onyx /^RGBA8UI :: 0x8D7C$/
+RGBA8_SNORM /usr/share/onyx/core/js/webgl.onyx /^RGBA8_SNORM :: 0x8F97$/
+RGBA_INTEGER /usr/share/onyx/core/js/webgl.onyx /^RGBA_INTEGER :: 0x8D99$/
+RGB_INTEGER /usr/share/onyx/core/js/webgl.onyx /^RGB_INTEGER :: 0x8D98$/
+RG_INTEGER /usr/share/onyx/core/js/webgl.onyx /^RG_INTEGER :: 0x8228$/
+ResizeEvent src/events.onyx /^ResizeEvent :: struct {$/
+SAMPLER_2D /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_2D :: 0x8B5E$/
+SAMPLER_2D_ARRAY /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_2D_ARRAY :: 0x8DC1$/
+SAMPLER_2D_ARRAY_SHADOW /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_2D_ARRAY_SHADOW :: 0x8DC4$/
+SAMPLER_2D_SHADOW /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_2D_SHADOW :: 0x8B62$/
+SAMPLER_3D /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_3D :: 0x8B5F$/
+SAMPLER_BINDING /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_BINDING :: 0x8919$/
+SAMPLER_CUBE /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_CUBE :: 0x8B60$/
+SAMPLER_CUBE_SHADOW /usr/share/onyx/core/js/webgl.onyx /^SAMPLER_CUBE_SHADOW :: 0x8DC5$/
+SAMPLES /usr/share/onyx/core/js/webgl.onyx /^SAMPLES :: 0x80A9$/
+SAMPLE_ALPHA_TO_COVERAGE /usr/share/onyx/core/js/webgl.onyx /^SAMPLE_ALPHA_TO_COVERAGE :: 0x809E$/
+SAMPLE_BUFFERS /usr/share/onyx/core/js/webgl.onyx /^SAMPLE_BUFFERS :: 0x80A8$/
+SAMPLE_COVERAGE /usr/share/onyx/core/js/webgl.onyx /^SAMPLE_COVERAGE :: 0x80A0$/
+SAMPLE_COVERAGE_INVERT /usr/share/onyx/core/js/webgl.onyx /^SAMPLE_COVERAGE_INVERT :: 0x80AB$/
+SAMPLE_COVERAGE_VALUE /usr/share/onyx/core/js/webgl.onyx /^SAMPLE_COVERAGE_VALUE :: 0x80AA$/
+SCISSOR_BOX /usr/share/onyx/core/js/webgl.onyx /^SCISSOR_BOX :: 0x0C10$/
+SCISSOR_TEST /usr/share/onyx/core/js/webgl.onyx /^SCISSOR_TEST :: 0x0C11$/
+SEPARATE_ATTRIBS /usr/share/onyx/core/js/webgl.onyx /^SEPARATE_ATTRIBS :: 0x8C8D$/
+SHADER_TYPE /usr/share/onyx/core/js/webgl.onyx /^SHADER_TYPE :: 0x8B4F$/
+SHADING_LANGUAGE_VERSION /usr/share/onyx/core/js/webgl.onyx /^SHADING_LANGUAGE_VERSION :: 0x8B8C$/
+SHORT /usr/share/onyx/core/js/webgl.onyx /^SHORT :: 0x1402$/
+SIGNALED /usr/share/onyx/core/js/webgl.onyx /^SIGNALED :: 0x9119$/
+SIGNED_NORMALIZED /usr/share/onyx/core/js/webgl.onyx /^SIGNED_NORMALIZED :: 0x8F9C$/
+SRC_ALPHA /usr/share/onyx/core/js/webgl.onyx /^SRC_ALPHA :: 0x0302$/
+SRC_ALPHA_SATURATE /usr/share/onyx/core/js/webgl.onyx /^SRC_ALPHA_SATURATE :: 0x0308$/
+SRC_COLOR /usr/share/onyx/core/js/webgl.onyx /^SRC_COLOR :: 0x0300$/
+SRGB /usr/share/onyx/core/js/webgl.onyx /^SRGB :: 0x8C40$/
+SRGB8 /usr/share/onyx/core/js/webgl.onyx /^SRGB8 :: 0x8C41$/
+SRGB8_ALPHA8 /usr/share/onyx/core/js/webgl.onyx /^SRGB8_ALPHA8 :: 0x8C43$/
+STATIC_COPY /usr/share/onyx/core/js/webgl.onyx /^STATIC_COPY :: 0x88E6$/
+STATIC_DRAW /usr/share/onyx/core/js/webgl.onyx /^STATIC_DRAW :: 0x88E4$/
+STATIC_READ /usr/share/onyx/core/js/webgl.onyx /^STATIC_READ :: 0x88E5$/
+STENCIL /usr/share/onyx/core/js/webgl.onyx /^STENCIL :: 0x1802$/
+STENCIL_ATTACHMENT /usr/share/onyx/core/js/webgl.onyx /^STENCIL_ATTACHMENT :: 0x8D20$/
+STENCIL_BACK_FAIL /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_FAIL :: 0x8801$/
+STENCIL_BACK_FUNC /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_FUNC :: 0x8800$/
+STENCIL_BACK_PASS_DEPTH_FAIL /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_PASS_DEPTH_FAIL :: 0x8802$/
+STENCIL_BACK_PASS_DEPTH_PASS /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_PASS_DEPTH_PASS :: 0x8803$/
+STENCIL_BACK_REF /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_REF :: 0x8CA3$/
+STENCIL_BACK_VALUE_MASK /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_VALUE_MASK :: 0x8CA4$/
+STENCIL_BACK_WRITEMASK /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BACK_WRITEMASK :: 0x8CA5$/
+STENCIL_BITS /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BITS :: 0x0D57$/
+STENCIL_BUFFER_BIT /usr/share/onyx/core/js/webgl.onyx /^STENCIL_BUFFER_BIT :: 0x00000400$/
+STENCIL_CLEAR_VALUE /usr/share/onyx/core/js/webgl.onyx /^STENCIL_CLEAR_VALUE :: 0x0B91$/
+STENCIL_FAIL /usr/share/onyx/core/js/webgl.onyx /^STENCIL_FAIL :: 0x0B94$/
+STENCIL_FUNC /usr/share/onyx/core/js/webgl.onyx /^STENCIL_FUNC :: 0x0B92$/
+STENCIL_INDEX /usr/share/onyx/core/js/webgl.onyx /^STENCIL_INDEX :: 0x1901$/
+STENCIL_INDEX8 /usr/share/onyx/core/js/webgl.onyx /^STENCIL_INDEX8 :: 0x8D48$/
+STENCIL_PASS_DEPTH_FAIL /usr/share/onyx/core/js/webgl.onyx /^STENCIL_PASS_DEPTH_FAIL :: 0x0B95$/
+STENCIL_PASS_DEPTH_PASS /usr/share/onyx/core/js/webgl.onyx /^STENCIL_PASS_DEPTH_PASS :: 0x0B96$/
+STENCIL_REF /usr/share/onyx/core/js/webgl.onyx /^STENCIL_REF :: 0x0B97$/
+STENCIL_TEST /usr/share/onyx/core/js/webgl.onyx /^STENCIL_TEST :: 0x0B90$/
+STENCIL_VALUE_MASK /usr/share/onyx/core/js/webgl.onyx /^STENCIL_VALUE_MASK :: 0x0B93$/
+STENCIL_WRITEMASK /usr/share/onyx/core/js/webgl.onyx /^STENCIL_WRITEMASK :: 0x0B98$/
+STREAM_COPY /usr/share/onyx/core/js/webgl.onyx /^STREAM_COPY :: 0x88E2$/
+STREAM_DRAW /usr/share/onyx/core/js/webgl.onyx /^STREAM_DRAW :: 0x88E0$/
+STREAM_READ /usr/share/onyx/core/js/webgl.onyx /^STREAM_READ :: 0x88E1$/
+SUBPIXEL_BITS /usr/share/onyx/core/js/webgl.onyx /^SUBPIXEL_BITS :: 0x0D50$/
+SYNC_CONDITION /usr/share/onyx/core/js/webgl.onyx /^SYNC_CONDITION :: 0x9113$/
+SYNC_FENCE /usr/share/onyx/core/js/webgl.onyx /^SYNC_FENCE :: 0x9116$/
+SYNC_FLAGS /usr/share/onyx/core/js/webgl.onyx /^SYNC_FLAGS :: 0x9115$/
+SYNC_FLUSH_COMMANDS_BIT /usr/share/onyx/core/js/webgl.onyx /^SYNC_FLUSH_COMMANDS_BIT :: 0x0000001$/
+SYNC_GPU_COMMANDS_COMPLETE /usr/share/onyx/core/js/webgl.onyx /^SYNC_GPU_COMMANDS_COMPLETE :: 0x9117$/
+SYNC_STATUS /usr/share/onyx/core/js/webgl.onyx /^SYNC_STATUS :: 0x9114$/
+ScratchState /usr/share/onyx/core/alloc.onyx /^ScratchState :: struct {$/
+StringBuilder /usr/share/onyx/core/string.onyx /^StringBuilder :: struct {$/
+TAU /usr/share/onyx/core/math.onyx /^TAU :: 6.28318330f;$/
+TEXTURE /usr/share/onyx/core/js/webgl.onyx /^TEXTURE :: 0x1702$/
+TEXTURE0 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE0 :: 0x84C0$/
+TEXTURE1 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE1 :: 0x84C1$/
+TEXTURE10 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE10 :: 0x84CA$/
+TEXTURE11 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE11 :: 0x84CB$/
+TEXTURE12 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE12 :: 0x84CC$/
+TEXTURE13 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE13 :: 0x84CD$/
+TEXTURE14 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE14 :: 0x84CE$/
+TEXTURE15 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE15 :: 0x84CF$/
+TEXTURE16 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE16 :: 0x84D0$/
+TEXTURE17 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE17 :: 0x84D1$/
+TEXTURE18 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE18 :: 0x84D2$/
+TEXTURE19 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE19 :: 0x84D3$/
+TEXTURE2 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE2 :: 0x84C2$/
+TEXTURE20 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE20 :: 0x84D4$/
+TEXTURE21 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE21 :: 0x84D5$/
+TEXTURE22 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE22 :: 0x84D6$/
+TEXTURE23 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE23 :: 0x84D7$/
+TEXTURE24 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE24 :: 0x84D8$/
+TEXTURE25 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE25 :: 0x84D9$/
+TEXTURE26 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE26 :: 0x84DA$/
+TEXTURE27 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE27 :: 0x84DB$/
+TEXTURE28 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE28 :: 0x84DC$/
+TEXTURE29 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE29 :: 0x84DD$/
+TEXTURE3 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE3 :: 0x84C3$/
+TEXTURE30 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE30 :: 0x84DE$/
+TEXTURE31 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE31 :: 0x84DF$/
+TEXTURE4 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE4 :: 0x84C4$/
+TEXTURE5 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE5 :: 0x84C5$/
+TEXTURE6 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE6 :: 0x84C6$/
+TEXTURE7 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE7 :: 0x84C7$/
+TEXTURE8 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE8 :: 0x84C8$/
+TEXTURE9 /usr/share/onyx/core/js/webgl.onyx /^TEXTURE9 :: 0x84C9$/
+TEXTURE_2D /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_2D :: 0x0DE1$/
+TEXTURE_2D_ARRAY /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_2D_ARRAY :: 0x8C1A$/
+TEXTURE_3D /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_3D :: 0x806F$/
+TEXTURE_BASE_LEVEL /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_BASE_LEVEL :: 0x813C$/
+TEXTURE_BINDING_2D /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_BINDING_2D :: 0x8069$/
+TEXTURE_BINDING_2D_ARRAY /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_BINDING_2D_ARRAY :: 0x8C1D$/
+TEXTURE_BINDING_3D /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_BINDING_3D :: 0x806A$/
+TEXTURE_BINDING_CUBE_MAP /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_BINDING_CUBE_MAP :: 0x8514$/
+TEXTURE_COMPARE_FUNC /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_COMPARE_FUNC :: 0x884D$/
+TEXTURE_COMPARE_MODE /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_COMPARE_MODE :: 0x884C$/
+TEXTURE_CUBE_MAP /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP :: 0x8513$/
+TEXTURE_CUBE_MAP_NEGATIVE_X /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_NEGATIVE_X :: 0x8516$/
+TEXTURE_CUBE_MAP_NEGATIVE_Y /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_NEGATIVE_Y :: 0x8518$/
+TEXTURE_CUBE_MAP_NEGATIVE_Z /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_NEGATIVE_Z :: 0x851A$/
+TEXTURE_CUBE_MAP_POSITIVE_X /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_POSITIVE_X :: 0x8515$/
+TEXTURE_CUBE_MAP_POSITIVE_Y /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_POSITIVE_Y :: 0x8517$/
+TEXTURE_CUBE_MAP_POSITIVE_Z /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_CUBE_MAP_POSITIVE_Z :: 0x8519$/
+TEXTURE_IMMUTABLE_FORMAT /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_IMMUTABLE_FORMAT :: 0x912F$/
+TEXTURE_IMMUTABLE_LEVELS /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_IMMUTABLE_LEVELS :: 0x82DF$/
+TEXTURE_MAG_FILTER /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_MAG_FILTER :: 0x2800$/
+TEXTURE_MAX_LEVEL /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_MAX_LEVEL :: 0x813D$/
+TEXTURE_MAX_LOD /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_MAX_LOD :: 0x813B$/
+TEXTURE_MIN_FILTER /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_MIN_FILTER :: 0x2801$/
+TEXTURE_MIN_LOD /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_MIN_LOD :: 0x813A$/
+TEXTURE_WRAP_R /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_WRAP_R :: 0x8072$/
+TEXTURE_WRAP_S /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_WRAP_S :: 0x2802$/
+TEXTURE_WRAP_T /usr/share/onyx/core/js/webgl.onyx /^TEXTURE_WRAP_T :: 0x2803$/
+TIMEOUT_EXPIRED /usr/share/onyx/core/js/webgl.onyx /^TIMEOUT_EXPIRED :: 0x911B$/
+TIMEOUT_IGNORED /usr/share/onyx/core/js/webgl.onyx /^TIMEOUT_IGNORED :: -1$/
+TRANSFORM_FEEDBACK /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK :: 0x8E22$/
+TRANSFORM_FEEDBACK_ACTIVE /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_ACTIVE :: 0x8E24$/
+TRANSFORM_FEEDBACK_BINDING /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BINDING :: 0x8E25$/
+TRANSFORM_FEEDBACK_BUFFER /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BUFFER :: 0x8C8E$/
+TRANSFORM_FEEDBACK_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BUFFER_BINDING :: 0x8C8F$/
+TRANSFORM_FEEDBACK_BUFFER_MODE /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BUFFER_MODE :: 0x8C7F$/
+TRANSFORM_FEEDBACK_BUFFER_SIZE /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BUFFER_SIZE :: 0x8C85$/
+TRANSFORM_FEEDBACK_BUFFER_START /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_BUFFER_START :: 0x8C84$/
+TRANSFORM_FEEDBACK_PAUSED /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_PAUSED :: 0x8E23$/
+TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: 0x8C88$/
+TRANSFORM_FEEDBACK_VARYINGS /usr/share/onyx/core/js/webgl.onyx /^TRANSFORM_FEEDBACK_VARYINGS :: 0x8C83$/
+TRIANGLES /usr/share/onyx/core/js/webgl.onyx /^TRIANGLES :: 0x0004$/
+TRIANGLE_FAN /usr/share/onyx/core/js/webgl.onyx /^TRIANGLE_FAN :: 0x0006$/
+TRIANGLE_STRIP /usr/share/onyx/core/js/webgl.onyx /^TRIANGLE_STRIP :: 0x0005$/
+UNIFORM_ARRAY_STRIDE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_ARRAY_STRIDE :: 0x8A3C$/
+UNIFORM_BLOCK_ACTIVE_UNIFORMS /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_ACTIVE_UNIFORMS :: 0x8A42$/
+UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: 0x8A43$/
+UNIFORM_BLOCK_BINDING /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_BINDING :: 0x8A3F$/
+UNIFORM_BLOCK_DATA_SIZE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_DATA_SIZE :: 0x8A40$/
+UNIFORM_BLOCK_INDEX /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_INDEX :: 0x8A3A$/
+UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: 0x8A46$/
+UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: 0x8A44$/
+UNIFORM_BUFFER /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BUFFER :: 0x8A11$/
+UNIFORM_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BUFFER_BINDING :: 0x8A28$/
+UNIFORM_BUFFER_OFFSET_ALIGNMENT /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BUFFER_OFFSET_ALIGNMENT :: 0x8A34$/
+UNIFORM_BUFFER_SIZE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BUFFER_SIZE :: 0x8A2A$/
+UNIFORM_BUFFER_START /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_BUFFER_START :: 0x8A29$/
+UNIFORM_IS_ROW_MAJOR /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_IS_ROW_MAJOR :: 0x8A3E$/
+UNIFORM_MATRIX_STRIDE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_MATRIX_STRIDE :: 0x8A3D$/
+UNIFORM_OFFSET /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_OFFSET :: 0x8A3B$/
+UNIFORM_SIZE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_SIZE :: 0x8A38$/
+UNIFORM_TYPE /usr/share/onyx/core/js/webgl.onyx /^UNIFORM_TYPE :: 0x8A37$/
+UNPACK_ALIGNMENT /usr/share/onyx/core/js/webgl.onyx /^UNPACK_ALIGNMENT :: 0x0CF5$/
+UNPACK_COLORSPACE_CONVERSION_WEBGL /usr/share/onyx/core/js/webgl.onyx /^UNPACK_COLORSPACE_CONVERSION_WEBGL :: 0x9243$/
+UNPACK_FLIP_Y_WEBGL /usr/share/onyx/core/js/webgl.onyx /^UNPACK_FLIP_Y_WEBGL :: 0x9240$/
+UNPACK_IMAGE_HEIGHT /usr/share/onyx/core/js/webgl.onyx /^UNPACK_IMAGE_HEIGHT :: 0x806E$/
+UNPACK_PREMULTIPLY_ALPHA_WEBGL /usr/share/onyx/core/js/webgl.onyx /^UNPACK_PREMULTIPLY_ALPHA_WEBGL :: 0x9241$/
+UNPACK_ROW_LENGTH /usr/share/onyx/core/js/webgl.onyx /^UNPACK_ROW_LENGTH :: 0x0CF2$/
+UNPACK_SKIP_IMAGES /usr/share/onyx/core/js/webgl.onyx /^UNPACK_SKIP_IMAGES :: 0x806D$/
+UNPACK_SKIP_PIXELS /usr/share/onyx/core/js/webgl.onyx /^UNPACK_SKIP_PIXELS :: 0x0CF4$/
+UNPACK_SKIP_ROWS /usr/share/onyx/core/js/webgl.onyx /^UNPACK_SKIP_ROWS :: 0x0CF3$/
+UNSIGNALED /usr/share/onyx/core/js/webgl.onyx /^UNSIGNALED :: 0x9118$/
+UNSIGNED_BYTE /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_BYTE :: 0x1401$/
+UNSIGNED_INT /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT :: 0x1405$/
+UNSIGNED_INT_10F_11F_11F_REV /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_10F_11F_11F_REV :: 0x8C3B$/
+UNSIGNED_INT_24_8 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_24_8 :: 0x84FA$/
+UNSIGNED_INT_2_10_10_10_REV /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_2_10_10_10_REV :: 0x8368$/
+UNSIGNED_INT_5_9_9_9_REV /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_5_9_9_9_REV :: 0x8C3E$/
+UNSIGNED_INT_SAMPLER_2D /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_SAMPLER_2D :: 0x8DD2$/
+UNSIGNED_INT_SAMPLER_2D_ARRAY /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_SAMPLER_2D_ARRAY :: 0x8DD7$/
+UNSIGNED_INT_SAMPLER_3D /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_SAMPLER_3D :: 0x8DD3$/
+UNSIGNED_INT_SAMPLER_CUBE /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_SAMPLER_CUBE :: 0x8DD4$/
+UNSIGNED_INT_VEC2 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_VEC2 :: 0x8DC6$/
+UNSIGNED_INT_VEC3 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_VEC3 :: 0x8DC7$/
+UNSIGNED_INT_VEC4 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_INT_VEC4 :: 0x8DC8$/
+UNSIGNED_NORMALIZED /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_NORMALIZED :: 0x8C17$/
+UNSIGNED_SHORT /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_SHORT :: 0x1403$/
+UNSIGNED_SHORT_4_4_4_4 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_SHORT_4_4_4_4 :: 0x8033$/
+UNSIGNED_SHORT_5_5_5_1 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_SHORT_5_5_5_1 :: 0x8034$/
+UNSIGNED_SHORT_5_6_5 /usr/share/onyx/core/js/webgl.onyx /^UNSIGNED_SHORT_5_6_5 :: 0x8363$/
+VALIDATE_STATUS /usr/share/onyx/core/js/webgl.onyx /^VALIDATE_STATUS :: 0x8B83$/
+VENDOR /usr/share/onyx/core/js/webgl.onyx /^VENDOR :: 0x1F00$/
+VERSION /usr/share/onyx/core/js/webgl.onyx /^VERSION :: 0x1F02$/
+VERTEX_ARRAY_BINDING /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ARRAY_BINDING :: 0x85B5$/
+VERTEX_ATTRIB_ARRAY_BUFFER_BINDING /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: 0x889F$/
+VERTEX_ATTRIB_ARRAY_DIVISOR /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_DIVISOR :: 0x88FE$/
+VERTEX_ATTRIB_ARRAY_ENABLED /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_ENABLED :: 0x8622$/
+VERTEX_ATTRIB_ARRAY_INTEGER /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_INTEGER :: 0x88FD$/
+VERTEX_ATTRIB_ARRAY_NORMALIZED /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_NORMALIZED :: 0x886A$/
+VERTEX_ATTRIB_ARRAY_POINTER /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_POINTER :: 0x8645$/
+VERTEX_ATTRIB_ARRAY_SIZE /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_SIZE :: 0x8623$/
+VERTEX_ATTRIB_ARRAY_STRIDE /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_STRIDE :: 0x8624$/
+VERTEX_ATTRIB_ARRAY_TYPE /usr/share/onyx/core/js/webgl.onyx /^VERTEX_ATTRIB_ARRAY_TYPE :: 0x8625$/
+VERTEX_SHADER /usr/share/onyx/core/js/webgl.onyx /^VERTEX_SHADER :: 0x8B31$/
+VIEWPORT /usr/share/onyx/core/js/webgl.onyx /^VIEWPORT :: 0x0BA2$/
+Vec2 src/gfx/quad_renderer.onyx /^Vec2 :: struct {$/
+WAIT_FAILED /usr/share/onyx/core/js/webgl.onyx /^WAIT_FAILED :: 0x911D$/
+ZERO /usr/share/onyx/core/js/webgl.onyx /^ZERO :: 0$/
+abs_f32 /usr/share/onyx/core/intrinsics.onyx /^abs_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+abs_f64 /usr/share/onyx/core/intrinsics.onyx /^abs_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+activeTexture /usr/share/onyx/core/js/webgl.onyx /^activeTexture :: proc (texture: GLenum) #foreign "gl" "activeTexture" ---$/
+alloc /usr/share/onyx/core/builtin.onyx /^alloc :: proc (use a: Allocator, size: u32) -> rawptr {$/
+allocator_proc /usr/share/onyx/core/builtin.onyx /^allocator_proc :: #type proc (rawptr, AllocAction, u32, u32, rawptr) -> rawptr;$/
+and_i32 /usr/share/onyx/core/intrinsics.onyx /^and_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+and_i64 /usr/share/onyx/core/intrinsics.onyx /^and_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+array_average /usr/share/onyx/core/array.onyx /^array_average :: proc (arr: ^[..] $T) -> T {$/
+array_clear /usr/share/onyx/core/array.onyx /^array_clear :: proc (arr: ^[..] $T) {$/
+array_contains /usr/share/onyx/core/array.onyx /^array_contains :: proc (arr: ^[..] $T, x: T) -> bool {$/
+array_delete /usr/share/onyx/core/array.onyx /^array_delete :: proc (arr: ^[..] $T, idx: u32) {$/
+array_ensure_capacity /usr/share/onyx/core/array.onyx /^array_ensure_capacity :: proc (arr: ^[..] $T, cap: u32) {$/
+array_fast_delete /usr/share/onyx/core/array.onyx /^array_fast_delete :: proc (arr: ^[..] $T, idx: u32) {$/
+array_fold /usr/share/onyx/core/array.onyx /^array_fold :: proc (arr: ^[..] $T, init: $R, f: proc (T, R) -> R) -> R {$/
+array_free /usr/share/onyx/core/array.onyx /^array_free :: proc (arr: ^[..] $T) {$/
+array_init /usr/share/onyx/core/array.onyx /^array_init :: proc (arr: ^[..] $T, initial_cap := 4) {$/
+array_insert /usr/share/onyx/core/array.onyx /^array_insert :: proc (arr: ^[..] $T, idx: u32, x: T) {$/
+array_map /usr/share/onyx/core/array.onyx /^array_map :: proc (arr: ^[..] $T, f: proc (T) -> T) {$/
+array_pop /usr/share/onyx/core/array.onyx /^array_pop :: proc (arr: ^[..] $T) -> T {$/
+array_push /usr/share/onyx/core/array.onyx /^array_push :: proc (arr: ^[..] $T, x: T) {$/
+array_remove /usr/share/onyx/core/array.onyx /^array_remove :: proc (arr: ^[..] $T, elem: T) {$/
+array_sort /usr/share/onyx/core/array.onyx /^array_sort :: proc (arr: ^[..] $T, cmp: proc (T, T) -> i32) {$/
+array_to_slice /usr/share/onyx/core/array.onyx /^array_to_slice :: proc (arr: ^[..] $T) -> [] T {$/
+attachShader /usr/share/onyx/core/js/webgl.onyx /^attachShader :: proc (program: GLProgram, shader: GLShader) -> GLProgram #foreign "gl" "attachShader" ---$/
+bindAttribLocation /usr/share/onyx/core/js/webgl.onyx /^bindAttribLocation :: proc (program: GLProgram, index: GLuint, name: string) #foreign "gl" "bindAttribLocation" ---$/
+bindBuffer /usr/share/onyx/core/js/webgl.onyx /^bindBuffer :: proc (target: GLenum, buffer: GLBuffer) #foreign "gl" "bindBuffer" ---$/
+bindFramebuffer /usr/share/onyx/core/js/webgl.onyx /^bindFramebuffer :: proc (target: GLenum, framebuffer: GLFramebuffer) #foreign "gl" "bindFramebuffer" ---$/
+bindRenderbuffer /usr/share/onyx/core/js/webgl.onyx /^bindRenderbuffer :: proc (target: GLenum, renderbuffer: GLRenderbuffer) #foreign "gl" "bindRenderbuffer" ---$/
+bindTexture /usr/share/onyx/core/js/webgl.onyx /^bindTexture :: proc (target: GLenum, texture: GLTexture) #foreign "gl" "bindTexture" ---$/
+bindVertexArray /usr/share/onyx/core/js/webgl.onyx /^bindVertexArray :: proc (vertexArray: GLVertexArrayObject) #foreign "gl" "bindVertexArray" ---$/
+blendColor /usr/share/onyx/core/js/webgl.onyx /^blendColor :: proc (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) #foreign "gl" "blendColor" ---$/
+blendEquation /usr/share/onyx/core/js/webgl.onyx /^blendEquation :: proc (mode: GLenum) #foreign "gl" "blendEquation" ---$/
+blendEquationSeparate /usr/share/onyx/core/js/webgl.onyx /^blendEquationSeparate :: proc (modeRGB: GLenum, modeAlpha: GLenum) #foreign "gl" "blendEquationSeparate" ---$/
+blendFunc /usr/share/onyx/core/js/webgl.onyx /^blendFunc :: proc (sfactor: GLenum, dfactor: GLenum) #foreign "gl" "blendFunc" ---$/
+blendFuncSeparate /usr/share/onyx/core/js/webgl.onyx /^blendFuncSeparate :: proc (srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) #foreign "gl" "blendFuncSeparate" ---$/
+blitFramebuffer /usr/share/onyx/core/js/webgl.onyx /^blitFramebuffer :: proc (sx0: GLint, sy0: GLint, sx1: GLint, sy1: GLint, dx0: GLint, dy0: GLint, dx1: GLint, dy1: GLint, mask: GLbitfield, filter: GLenum) #foreign "gl" "blitFramebuffer" ---$/
+bufferData /usr/share/onyx/core/js/webgl.onyx /^bufferData :: proc #overloaded { bufferDataWithData, bufferDataNoData }$/
+bufferDataNoData /usr/share/onyx/core/js/webgl.onyx /^bufferDataNoData :: proc (target: GLenum, size: GLsizeiptr, usage: GLenum) #foreign "gl" "bufferDataNoData" ---$/
+bufferDataWithData /usr/share/onyx/core/js/webgl.onyx /^bufferDataWithData :: proc (target: GLenum, buffer: Buffer, usage: GLenum) #foreign "gl" "bufferDataWithData" ---$/
+bufferSubData /usr/share/onyx/core/js/webgl.onyx /^bufferSubData :: proc (target: GLenum, offset: GLsizei, data: Buffer) #foreign "gl" "bufferSubData" ---$/
+calloc /usr/share/onyx/core/builtin.onyx /^calloc :: proc (size: u32) -> rawptr do return alloc(context.allocator, size);$/
+ceil_f32 /usr/share/onyx/core/intrinsics.onyx /^ceil_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+ceil_f64 /usr/share/onyx/core/intrinsics.onyx /^ceil_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+cfree /usr/share/onyx/core/builtin.onyx /^cfree :: proc (ptr: rawptr) do free(context.allocator, ptr);$/
+checkFrameBufferStatus /usr/share/onyx/core/js/webgl.onyx /^checkFrameBufferStatus :: proc (target: GLenum) -> GLenum #foreign "gl" "checkFrameBufferStatus" ---$/
+clear /usr/share/onyx/core/js/webgl.onyx /^clear :: proc (mask: GLbitfield) #foreign "gl" "clear" ---$/
+clearColor /usr/share/onyx/core/js/webgl.onyx /^clearColor :: proc (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) #foreign "gl" "clearColor" ---$/
+clearDepth /usr/share/onyx/core/js/webgl.onyx /^clearDepth :: proc (depth: GLclampf) #foreign "gl" "clearDepth" ---$/
+clearStencil /usr/share/onyx/core/js/webgl.onyx /^clearStencil :: proc (s: GLint) #foreign "gl" "clearStencil" ---$/
+clear_event src/events.onyx /^clear_event :: proc (ev: ^Event) {$/
+clz_i32 /usr/share/onyx/core/intrinsics.onyx /^clz_i32 :: proc (val: i32) -> i32 #intrinsic ---$/
+clz_i64 /usr/share/onyx/core/intrinsics.onyx /^clz_i64 :: proc (val: i64) -> i64 #intrinsic ---$/
+cmp_asc /usr/share/onyx/core/builtin.onyx /^cmp_asc :: proc (a: $T, b: T) -> i32 do return cast(i32) (a - b);$/
+cmp_dec /usr/share/onyx/core/builtin.onyx /^cmp_dec :: proc (a: $T, b: T) -> i32 do return cast(i32) (b - a);$/
+colorMask /usr/share/onyx/core/js/webgl.onyx /^colorMask :: proc (red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) #foreign "gl" "colorMask" ---$/
+compileShader /usr/share/onyx/core/js/webgl.onyx /^compileShader :: proc (shader: GLShader) #foreign "gl" "compileShader" ---$/
+compile_shader src/utils/gl.onyx /^compile_shader :: proc (shader_type: gl.GLenum, source: cstring) -> gl.GLShader {$/
+compressedTexImage2D /usr/share/onyx/core/js/webgl.onyx /^compressedTexImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: string) #foreign "gl" "compressedTexImage2D" ---$/
+compressedTexSubImage2D /usr/share/onyx/core/js/webgl.onyx /^compressedTexSubImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: string) #foreign "gl" "compressedTexSubImage2D" ---$/
+context /usr/share/onyx/core/builtin.onyx /^context : struct {$/
+copyBufferSubData /usr/share/onyx/core/js/webgl.onyx /^copyBufferSubData :: proc (readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) #foreign "gl" "copyBufferSubData" ---$/
+copyTexImage2D /usr/share/onyx/core/js/webgl.onyx /^copyTexImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) #foreign "gl" "copyTexImage2D" ---$/
+copyTexSubImage2D /usr/share/onyx/core/js/webgl.onyx /^copyTexSubImage2D :: proc (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "copyTexSubImage2D" ---$/
+copysign_f32 /usr/share/onyx/core/intrinsics.onyx /^copysign_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic ---$/
+copysign_f64 /usr/share/onyx/core/intrinsics.onyx /^copysign_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic ---$/
+cos /usr/share/onyx/core/math.onyx /^cos :: proc (t_: f32) -> f32 {$/
+createBuffer /usr/share/onyx/core/js/webgl.onyx /^createBuffer :: proc -> GLBuffer #foreign "gl" "createBuffer" ---$/
+createFramebuffer /usr/share/onyx/core/js/webgl.onyx /^createFramebuffer :: proc -> GLFramebuffer #foreign "gl" "createFramebuffer" ---$/
+createProgram /usr/share/onyx/core/js/webgl.onyx /^createProgram :: proc -> GLProgram #foreign "gl" "createProgram" ---$/
+createRenderbuffer /usr/share/onyx/core/js/webgl.onyx /^createRenderbuffer :: proc -> GLRenderbuffer #foreign "gl" "createRenderbuffer" ---$/
+createShader /usr/share/onyx/core/js/webgl.onyx /^createShader :: proc (type: GLenum) -> GLShader #foreign "gl" "createShader" ---$/
+createTexture /usr/share/onyx/core/js/webgl.onyx /^createTexture :: proc -> GLTexture #foreign "gl" "createTexture" ---$/
+createVertexArray /usr/share/onyx/core/js/webgl.onyx /^createVertexArray :: proc -> GLVertexArrayObject #foreign "gl" "createVertexArray" ---$/
+cresize /usr/share/onyx/core/builtin.onyx /^cresize :: proc (ptr: rawptr, size: u32) -> rawptr do return resize(context.allocator, ptr, size);$/
+cstring /usr/share/onyx/core/builtin.onyx /^cstring :: #type ^u8;$/
+ctz_i32 /usr/share/onyx/core/intrinsics.onyx /^ctz_i32 :: proc (val: i32) -> i32 #intrinsic ---$/
+ctz_i64 /usr/share/onyx/core/intrinsics.onyx /^ctz_i64 :: proc (val: i64) -> i64 #intrinsic ---$/
+cullFace /usr/share/onyx/core/js/webgl.onyx /^cullFace :: proc (mode: GLenum) #foreign "gl" "cullFace" ---$/
+deleteBuffer /usr/share/onyx/core/js/webgl.onyx /^deleteBuffer :: proc (buffer: GLBuffer) #foreign "gl" "deleteBuffer" ---$/
+deleteFramebuffer /usr/share/onyx/core/js/webgl.onyx /^deleteFramebuffer :: proc (framebuffer: GLFramebuffer) #foreign "gl" "deleteFramebuffer" ---$/
+deleteProgram /usr/share/onyx/core/js/webgl.onyx /^deleteProgram :: proc (program: GLProgram) #foreign "gl" "deleteProgram" ---$/
+deleteRenderbuffer /usr/share/onyx/core/js/webgl.onyx /^deleteRenderbuffer :: proc (renderbuffer: GLRenderbuffer) #foreign "gl" "deleteRenderbuffer" ---$/
+deleteShader /usr/share/onyx/core/js/webgl.onyx /^deleteShader :: proc (shader: GLShader) #foreign "gl" "deleteShader" ---$/
+deleteTexture /usr/share/onyx/core/js/webgl.onyx /^deleteTexture :: proc (texture: GLTexture) #foreign "gl" "deleteTexture" ---$/
+deleteVertexArray /usr/share/onyx/core/js/webgl.onyx /^deleteVertexArray :: proc (vertexArray: GLVertexArrayObject) #foreign "gl" "deleteVertexArray" ---$/
+depthFunc /usr/share/onyx/core/js/webgl.onyx /^depthFunc :: proc (func: GLenum) #foreign "gl" "depthFunc" ---$/
+depthMask /usr/share/onyx/core/js/webgl.onyx /^depthMask :: proc (flag: GLboolean) #foreign "gl" "depthMask" ---$/
+depthRange /usr/share/onyx/core/js/webgl.onyx /^depthRange :: proc (zNear: GLclampf, zFar: GLclampf) #foreign "gl" "depthRange" ---$/
+detachShader /usr/share/onyx/core/js/webgl.onyx /^detachShader :: proc (program: GLProgram, shader: GLShader) #foreign "gl" "detachShader" ---$/
+disable /usr/share/onyx/core/js/webgl.onyx /^disable :: proc (cap: GLenum) #foreign "gl" "disable" ---$/
+disableVertexAttribArray /usr/share/onyx/core/js/webgl.onyx /^disableVertexAttribArray :: proc (index: GLuint) #foreign "gl" "disableVertexAttribArray" ---$/
+draw src/main.onyx /^draw :: proc (use gs: ^GameState) {$/
+drawArrays /usr/share/onyx/core/js/webgl.onyx /^drawArrays :: proc (mode: GLenum, first: GLint, count: GLsizei) #foreign "gl" "drawArrays" ---$/
+drawArraysInstanced /usr/share/onyx/core/js/webgl.onyx /^drawArraysInstanced :: proc (mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) #foreign "gl" "drawArraysInstanced" ---$/
+drawElements /usr/share/onyx/core/js/webgl.onyx /^drawElements :: proc (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint) #foreign "gl" "drawElements" ---$/
+drawElementsInstanced /usr/share/onyx/core/js/webgl.onyx /^drawElementsInstanced :: proc (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint, instanceCount: GLsizei) #foreign "gl" "drawElementsInstanced" ---$/
+enable /usr/share/onyx/core/js/webgl.onyx /^enable :: proc (cap: GLenum) #foreign "gl" "enable" ---$/
+enableVertexAttribArray /usr/share/onyx/core/js/webgl.onyx /^enableVertexAttribArray :: proc (index: GLuint) #foreign "gl" "enableVertexAttribArray" ---$/
+event_setup src/events.onyx /^#private event_setup :: proc (event_storage: ^EventStorage, event_size: u32) #foreign "event" "setup" ---$/
+event_storage src/events.onyx /^#private event_storage : EventStorage;$/
+finish /usr/share/onyx/core/js/webgl.onyx /^finish :: proc #foreign "gl" "finish" ---$/
+floor_f32 /usr/share/onyx/core/intrinsics.onyx /^floor_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+floor_f64 /usr/share/onyx/core/intrinsics.onyx /^floor_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+flush /usr/share/onyx/core/js/webgl.onyx /^flush :: proc #foreign "gl" "flush" ---$/
+framebufferRenderbuffer /usr/share/onyx/core/js/webgl.onyx /^framebufferRenderbuffer :: proc (target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLRenderbuffer) #foreign "gl" "framebufferRenderbuffer" ---$/
+framebufferTexture2D /usr/share/onyx/core/js/webgl.onyx /^framebufferTexture2D :: proc (target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLTexture, level: GLint) #foreign "gl" "framebufferTexture2D" ---$/
+framebufferTextureLayer /usr/share/onyx/core/js/webgl.onyx /^framebufferTextureLayer :: proc (target: GLenum, attachment: GLenum, texture: GLTexture, level: GLint, layer: GLint) #foreign "gl" "framebufferTextureLayer" ---$/
+free /usr/share/onyx/core/builtin.onyx /^free :: proc (use a: Allocator, ptr: rawptr) {$/
+frontFace /usr/share/onyx/core/js/webgl.onyx /^frontFace :: proc (mode: GLenum) #foreign "gl" "frontFace" ---$/
+game_launch src/main.onyx /^game_launch :: proc (gs: ^GameState) #foreign "game" "launch" ---$/
+generateMipmap /usr/share/onyx/core/js/webgl.onyx /^generateMipmap :: proc (target: GLenum) #foreign "gl" "generateMipmap" ---$/
+getActiveAttrib /usr/share/onyx/core/js/webgl.onyx /^getActiveAttrib :: proc (program: GLProgram, index: GLuint, out: ^GLActiveInfo) #foreign "gl" "getActiveAttrib" ---$/
+getActiveUniform /usr/share/onyx/core/js/webgl.onyx /^getActiveUniform :: proc (program: GLProgram, index: GLuint, out: ^GLActiveInfo) #foreign "gl" "getActiveUniform" ---$/
+getAttribLocation /usr/share/onyx/core/js/webgl.onyx /^getAttribLocation :: proc (program: GLProgram, name: string) -> GLint #foreign "gl" "getAttribLocation" ---$/
+getBufferSubData /usr/share/onyx/core/js/webgl.onyx /^getBufferSubData :: proc (target: GLenum, srcByteOffset: GLintptr, dstBuffer: string, dstOffset: GLuint, length: GLuint) #foreign "gl" "getBufferSubData" ---$/
+getError /usr/share/onyx/core/js/webgl.onyx /^getError :: proc -> GLenum #foreign "gl" "getError" ---$/
+getInternalformatParameter /usr/share/onyx/core/js/webgl.onyx /^getInternalformatParameter :: proc (target: GLenum, internalFormat: GLenum, pname: GLenum) -> GLenum #foreign "gl" "getInternalformatParameter" ---$/
+getProgramParameter /usr/share/onyx/core/js/webgl.onyx /^getProgramParameter :: proc (program: GLProgram, pname: GLenum) -> GLenum #foreign "gl" "getProgramParameter" ---$/
+getShaderParameter /usr/share/onyx/core/js/webgl.onyx /^getShaderParameter :: proc (shader: GLShader, pname: GLenum) -> GLenum #foreign "gl" "getShaderParameter" ---$/
+getUniformLocation /usr/share/onyx/core/js/webgl.onyx /^getUniformLocation :: proc (program: GLProgram, name: string) -> GLUniformLocation #foreign "gl" "getUniformLocation" ---$/
+getVertexAttribOffset /usr/share/onyx/core/js/webgl.onyx /^getVertexAttribOffset :: proc (index: GLuint, pname: GLenum) #foreign "gl" "getVertexAttribOffset" ---$/
+heap_alloc /usr/share/onyx/core/alloc.onyx /^heap_alloc :: proc (size_: u32, align: u32) -> rawptr {$/
+heap_alloc_proc /usr/share/onyx/core/alloc.onyx /^heap_alloc_proc :: proc (data: rawptr, aa: AllocAction, size: u32, align: u32, oldptr: rawptr) -> rawptr {$/
+heap_allocator /usr/share/onyx/core/alloc.onyx /^heap_allocator : Allocator;$/
+heap_block /usr/share/onyx/core/alloc.onyx /^heap_block :: struct {$/
+heap_free /usr/share/onyx/core/alloc.onyx /^heap_free :: proc (ptr: rawptr) {$/
+heap_init /usr/share/onyx/core/alloc.onyx /^heap_init :: proc {$/
+heap_resize /usr/share/onyx/core/alloc.onyx /^heap_resize :: proc (ptr: rawptr, new_size: u32, align: u32) -> rawptr {$/
+heap_state /usr/share/onyx/core/alloc.onyx /^heap_state : struct {$/
+hint /usr/share/onyx/core/js/webgl.onyx /^hint :: proc (target: GLenum, mode: GLenum) #foreign "gl" "hint" ---$/
+i64_to_string /usr/share/onyx/core/string.onyx /^i64_to_string :: proc (n_: i64, base: u64, buf: Buffer) -> string {$/
+init src/events.onyx /^init :: proc {$/
+init /usr/share/onyx/core/js/webgl.onyx /^init :: proc (canvasname: string) -> GLboolean #foreign "gl" "init" ---$/
+invalidateFramebuffer /usr/share/onyx/core/js/webgl.onyx /^invalidateFramebuffer :: proc (target: GLenum, attachments: string) #foreign "gl" "invalidateFramebuffer" ---$/
+invalidateSubFramebuffer /usr/share/onyx/core/js/webgl.onyx /^invalidateSubFramebuffer :: proc (target: GLenum, attachments: string, x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "invalidateSubFramebuffer" ---$/
+isEnabled /usr/share/onyx/core/js/webgl.onyx /^isEnabled :: proc (cap: GLenum) -> GLboolean #foreign "gl" "isEnabled" ---$/
+lineWidth /usr/share/onyx/core/js/webgl.onyx /^lineWidth :: proc (width: GLfloat) #foreign "gl" "lineWidth" ---$/
+linkProgram /usr/share/onyx/core/js/webgl.onyx /^linkProgram :: proc (program: GLProgram) #foreign "gl" "linkProgram" ---$/
+link_program src/utils/gl.onyx /^link_program :: proc (vertex_shader: gl.GLShader, frag_shader: gl.GLShader) -> gl.GLProgram {$/
+main src/main.onyx /^main :: proc (args: [] cstring) {$/
+max_f32 /usr/share/onyx/core/intrinsics.onyx /^max_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic ---$/
+max_f64 /usr/share/onyx/core/intrinsics.onyx /^max_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic ---$/
+memory_copy /usr/share/onyx/core/memory.onyx /^memory_copy :: proc (dst_: rawptr, src_: rawptr, len: u32) {$/
+memory_grow /usr/share/onyx/core/intrinsics.onyx /^memory_grow :: proc (val: i32) -> i32 #intrinsic ---$/
+memory_init /usr/share/onyx/core/alloc.onyx /^memory_init :: proc {$/
+memory_size /usr/share/onyx/core/intrinsics.onyx /^memory_size :: proc -> i32 #intrinsic ---$/
+min_f32 /usr/share/onyx/core/intrinsics.onyx /^min_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic ---$/
+min_f64 /usr/share/onyx/core/intrinsics.onyx /^min_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic ---$/
+nearest_f32 /usr/share/onyx/core/intrinsics.onyx /^nearest_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+nearest_f64 /usr/share/onyx/core/intrinsics.onyx /^nearest_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+new_frame_callback src/main.onyx /^new_frame_callback :: proc (gs: ^GameState) #export {$/
+null /usr/share/onyx/core/builtin.onyx /^null :: cast(rawptr) 0;$/
+or_i32 /usr/share/onyx/core/intrinsics.onyx /^or_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+or_i64 /usr/share/onyx/core/intrinsics.onyx /^or_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+output_string /usr/share/onyx/core/sys/js.onyx /^output_string :: proc (s: string) -> u32 #foreign "host" "print_str" ---$/
+pixelStorei /usr/share/onyx/core/js/webgl.onyx /^pixelStorei :: proc (pname: GLenum, param: GLenum) #foreign "gl" "pixelStorei" ---$/
+poll src/events.onyx /^poll :: proc (ev: ^Event) -> bool {$/
+poll_events src/main.onyx /^poll_events :: proc (use gs: ^GameState) {$/
+polygonOffset /usr/share/onyx/core/js/webgl.onyx /^polygonOffset :: proc (factor: GLfloat, units: GLfloat) #foreign "gl" "polygonOffset" ---$/
+popcnt_i32 /usr/share/onyx/core/intrinsics.onyx /^popcnt_i32 :: proc (val: i32) -> i32 #intrinsic ---$/
+popcnt_i64 /usr/share/onyx/core/intrinsics.onyx /^popcnt_i64 :: proc (val: i64) -> i64 #intrinsic ---$/
+print /usr/share/onyx/core/stdio.onyx /^print :: proc #overloaded {$/
+printProgramInfoLog /usr/share/onyx/core/js/webgl.onyx /^printProgramInfoLog :: proc (program: GLProgram) #foreign "gl" "printProgramInfoLog" ---$/
+printShaderInfoLog /usr/share/onyx/core/js/webgl.onyx /^printShaderInfoLog :: proc (shader: GLShader) #foreign "gl" "printShaderInfoLog" ---$/
+print_array /usr/share/onyx/core/stdio.onyx /^print_array :: proc (arr: $T, sep := " ") {$/
+print_bool /usr/share/onyx/core/stdio.onyx /^print_bool :: proc (b: bool) do string_builder_append(^print_buffer, b);$/
+print_buffer /usr/share/onyx/core/stdio.onyx /^print_buffer : StringBuilder;$/
+print_buffer_flush /usr/share/onyx/core/stdio.onyx /^print_buffer_flush :: proc {$/
+print_cstring /usr/share/onyx/core/stdio.onyx /^print_cstring :: proc (s: cstring) do string_builder_append(^print_buffer, s);$/
+print_i32 /usr/share/onyx/core/stdio.onyx /^print_i32 :: proc (n: i32, base := 10) do string_builder_append(^print_buffer, cast(i64) n, cast(u64) base);$/
+print_i64 /usr/share/onyx/core/stdio.onyx /^print_i64 :: proc (n: i64, base := 10l) do string_builder_append(^print_buffer, n, base);$/
+print_ptr /usr/share/onyx/core/stdio.onyx /^print_ptr :: proc (p: ^void) do string_builder_append(^print_buffer, cast(i64) p, 16l);$/
+print_range /usr/share/onyx/core/stdio.onyx /^print_range :: proc (r: range, sep := " ") {$/
+print_string /usr/share/onyx/core/stdio.onyx /^print_string :: proc (s: string) {$/
+ptrmap_clear /usr/share/onyx/core/ptrmap.onyx /^ptrmap_clear :: proc (use pmap: ^PtrMap) {$/
+ptrmap_delete /usr/share/onyx/core/ptrmap.onyx /^ptrmap_delete :: proc (use pmap: ^PtrMap, key: rawptr) {$/
+ptrmap_free /usr/share/onyx/core/ptrmap.onyx /^ptrmap_free :: proc (use pmap: ^PtrMap) {$/
+ptrmap_get /usr/share/onyx/core/ptrmap.onyx /^ptrmap_get :: proc (use pmap: ^PtrMap, key: rawptr) -> rawptr {$/
+ptrmap_has /usr/share/onyx/core/ptrmap.onyx /^ptrmap_has :: proc (use pmap: ^PtrMap, key: rawptr) -> bool {$/
+ptrmap_init /usr/share/onyx/core/ptrmap.onyx /^ptrmap_init :: proc (use pmap: ^PtrMap, hash_count: i32 = 16) {$/
+ptrmap_lookup /usr/share/onyx/core/ptrmap.onyx /^ptrmap_lookup :: proc (use pmap: ^PtrMap, key: rawptr) -> PtrMapLookupResult {$/
+ptrmap_put /usr/share/onyx/core/ptrmap.onyx /^ptrmap_put :: proc (use pmap: ^PtrMap, key: rawptr, value: rawptr) {$/
+quad_rebuffer_data src/gfx/quad_renderer.onyx /^quad_rebuffer_data :: proc (use qr: ^QuadRenderer) {$/
+quad_renderer_draw src/gfx/quad_renderer.onyx /^quad_renderer_draw :: proc (use qr: ^QuadRenderer) {$/
+quad_renderer_init src/gfx/quad_renderer.onyx /^quad_renderer_init :: proc (use qr: ^QuadRenderer, initial_quads := 10) {$/
+quad_update_at_index src/gfx/quad_renderer.onyx /^quad_update_at_index :: proc (use qr: ^QuadRenderer, idx: i32, quad: Quad) {$/
+random /usr/share/onyx/core/random.onyx /^random :: proc (s := ^seed) -> u32 {$/
+random_between /usr/share/onyx/core/random.onyx /^random_between :: proc (lo: i32, hi: i32) -> i32 do return random() % (hi + 1 - lo) + lo;$/
+random_float /usr/share/onyx/core/random.onyx /^random_float :: proc (lo := 0.0f, hi := 1.0f) -> f32 {$/
+random_seed /usr/share/onyx/core/random.onyx /^random_seed :: proc (s: u32) do seed = s;$/
+range /usr/share/onyx/core/builtin.onyx /^range :: struct {$/
+readBuffer /usr/share/onyx/core/js/webgl.onyx /^readBuffer :: proc (src: GLenum) #foreign "gl" "readBuffer" ---$/
+readPixels /usr/share/onyx/core/js/webgl.onyx /^readPixels :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: string) #foreign "gl" "readPixels" ---$/
+renderbufferStorageMultisample /usr/share/onyx/core/js/webgl.onyx /^renderbufferStorageMultisample :: proc (target: GLenum, samples: GLsizei, internalforamt: GLenum, width: GLsizei, height: GLsizei) #foreign "gl" "renderbufferStorageMultisample" ---$/
+resize /usr/share/onyx/core/builtin.onyx /^resize :: proc (use a: Allocator, ptr: rawptr, size: u32) -> rawptr {$/
+rotl_i32 /usr/share/onyx/core/intrinsics.onyx /^rotl_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+rotl_i64 /usr/share/onyx/core/intrinsics.onyx /^rotl_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+rotr_i32 /usr/share/onyx/core/intrinsics.onyx /^rotr_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+rotr_i64 /usr/share/onyx/core/intrinsics.onyx /^rotr_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+sampleCoverage /usr/share/onyx/core/js/webgl.onyx /^sampleCoverage :: proc (value: GLclampf, invert: GLboolean) #foreign "gl" "sampleCoverage" ---$/
+sar_i32 /usr/share/onyx/core/intrinsics.onyx /^sar_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+sar_i64 /usr/share/onyx/core/intrinsics.onyx /^sar_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+scissor /usr/share/onyx/core/js/webgl.onyx /^scissor :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "scissor" ---$/
+scratch_alloc_init /usr/share/onyx/core/alloc.onyx /^scratch_alloc_init :: proc (a: ^Allocator, ss: ^ScratchState) {$/
+scratch_alloc_proc /usr/share/onyx/core/alloc.onyx /^scratch_alloc_proc :: proc (data: rawptr, aa: AllocAction, size: u32, align: u32, oldptr: rawptr) -> rawptr {$/
+scratch_state_init /usr/share/onyx/core/alloc.onyx /^scratch_state_init :: proc (use ss: ^ScratchState, buffer: rawptr, length: u32) {$/
+seed /usr/share/onyx/core/random.onyx /^seed := 8675309$/
+shaderSource /usr/share/onyx/core/js/webgl.onyx /^shaderSource :: proc (shader: GLShader, source: string) #foreign "gl" "shaderSource" ---$/
+shl_i32 /usr/share/onyx/core/intrinsics.onyx /^shl_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+shl_i64 /usr/share/onyx/core/intrinsics.onyx /^shl_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+sin /usr/share/onyx/core/math.onyx /^sin :: proc (t_: f32) -> f32 {$/
+slr_i32 /usr/share/onyx/core/intrinsics.onyx /^slr_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+slr_i64 /usr/share/onyx/core/intrinsics.onyx /^slr_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+sqrt_f32 /usr/share/onyx/core/intrinsics.onyx /^sqrt_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+sqrt_f64 /usr/share/onyx/core/intrinsics.onyx /^sqrt_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+stdio_init /usr/share/onyx/core/stdio.onyx /^stdio_init :: proc {$/
+stencilFunc /usr/share/onyx/core/js/webgl.onyx /^stencilFunc :: proc (func: GLenum, ref: GLint, mask: GLuint) #foreign "gl" "stencilFunc" ---$/
+stencilFuncSeparate /usr/share/onyx/core/js/webgl.onyx /^stencilFuncSeparate :: proc (face: GLenum, func: GLenum, ref: GLint, mask: GLuint) #foreign "gl" "stencilFuncSeparate" ---$/
+stencilMask /usr/share/onyx/core/js/webgl.onyx /^stencilMask :: proc (mask: GLuint) #foreign "gl" "stencilMask" ---$/
+stencilMaskSeparate /usr/share/onyx/core/js/webgl.onyx /^stencilMaskSeparate :: proc (face: GLenum, mask: GLenum) #foreign "gl" "stencilMaskSeparate" ---$/
+stencilOp /usr/share/onyx/core/js/webgl.onyx /^stencilOp :: proc (fail: GLenum, zfail: GLenum, zpass: GLenum) #foreign "gl" "stencilOp" ---$/
+stencilOpSeparate /usr/share/onyx/core/js/webgl.onyx /^stencilOpSeparate :: proc (face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) #foreign "gl" "stencilOpSeparate" ---$/
+string /usr/share/onyx/core/builtin.onyx /^string :: #type []u8;$/
+string_advance_line /usr/share/onyx/core/string.onyx /^string_advance_line :: proc (str: ^string) {$/
+string_builder_add_bool /usr/share/onyx/core/string.onyx /^string_builder_add_bool :: proc (use sb: ^StringBuilder, b: bool) -> ^StringBuilder {$/
+string_builder_add_cstring /usr/share/onyx/core/string.onyx /^string_builder_add_cstring :: proc (use sb: ^StringBuilder, cstr: cstring) -> ^StringBuilder {$/
+string_builder_add_i64 /usr/share/onyx/core/string.onyx /^string_builder_add_i64 :: proc (use sb: ^StringBuilder, n: i64, base := 10l) -> ^StringBuilder {$/
+string_builder_add_string /usr/share/onyx/core/string.onyx /^string_builder_add_string :: proc (use sb: ^StringBuilder, str: string) -> ^StringBuilder {$/
+string_builder_append /usr/share/onyx/core/string.onyx /^string_builder_append :: proc #overloaded {$/
+string_builder_clear /usr/share/onyx/core/string.onyx /^string_builder_clear :: proc (use sb: ^StringBuilder) -> ^StringBuilder {$/
+string_builder_make /usr/share/onyx/core/string.onyx /^string_builder_make :: proc (initial_cap: u32) -> StringBuilder {$/
+string_builder_to_string /usr/share/onyx/core/string.onyx /^string_builder_to_string :: proc (use sb: ^StringBuilder) -> string {$/
+string_concat /usr/share/onyx/core/string.onyx /^string_concat :: proc (s1: string, s2: string) -> string {$/
+string_contains /usr/share/onyx/core/string.onyx /^string_contains :: proc (str: string, c: u8) -> bool {$/
+string_free /usr/share/onyx/core/string.onyx /^string_free :: proc (s: string) do cfree(s.data);$/
+string_length /usr/share/onyx/core/string.onyx /^string_length :: proc #overloaded {$/
+string_make /usr/share/onyx/core/string.onyx /^string_make :: proc #overloaded { string_make_from_cstring }$/
+string_make_from_cstring /usr/share/onyx/core/string.onyx /^string_make_from_cstring :: proc (s: cstring) -> string {$/
+string_read /usr/share/onyx/core/string.onyx /^string_read :: proc #overloaded {$/
+string_read_char /usr/share/onyx/core/string.onyx /^string_read_char :: proc (str: ^string, out: ^u8) {$/
+string_read_line /usr/share/onyx/core/string.onyx /^string_read_line :: proc (str: ^string, out: ^string) {$/
+string_read_u32 /usr/share/onyx/core/string.onyx /^string_read_u32 :: proc (str: ^string, out: ^u32) {$/
+string_split /usr/share/onyx/core/string.onyx /^string_split :: proc (str: string, delim: u8) -> []string {$/
+string_strip_leading_whitespace /usr/share/onyx/core/string.onyx /^string_strip_leading_whitespace :: proc (str: ^string) {$/
+string_strip_trailing_whitespace /usr/share/onyx/core/string.onyx /^string_strip_trailing_whitespace :: proc (str: ^string) {$/
+string_substr /usr/share/onyx/core/string.onyx /^string_substr :: proc (str: string, sub: string) -> string {$/
+texImage2D /usr/share/onyx/core/js/webgl.onyx /^texImage2D :: proc (target: GLenum, level: GLint, internalFormat: GLenum, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: string) #foreign "gl" "texImage2D" ---$/
+texParameterf /usr/share/onyx/core/js/webgl.onyx /^texParameterf :: proc (target: GLenum, pname: GLenum, param: GLfloat) #foreign "gl" "texParameterf" ---$/
+texParameteri /usr/share/onyx/core/js/webgl.onyx /^texParameteri :: proc (target: GLenum, pname: GLenum, param: GLint) #foreign "gl" "texParameteri" ---$/
+texSubImage2D /usr/share/onyx/core/js/webgl.onyx /^texSubImage2D :: proc (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: string) #foreign "gl" "texSubImage2D" ---$/
+trunc_f32 /usr/share/onyx/core/intrinsics.onyx /^trunc_f32 :: proc (val: f32) -> f32 #intrinsic ---$/
+trunc_f64 /usr/share/onyx/core/intrinsics.onyx /^trunc_f64 :: proc (val: f64) -> f64 #intrinsic ---$/
+uniform1f /usr/share/onyx/core/js/webgl.onyx /^uniform1f :: proc (loc: GLUniformLocation, x: GLfloat) #foreign "gl" "uniform1f" ---$/
+uniform1i /usr/share/onyx/core/js/webgl.onyx /^uniform1i :: proc (loc: GLUniformLocation, x: GLint) #foreign "gl" "uniform1i" ---$/
+uniform2f /usr/share/onyx/core/js/webgl.onyx /^uniform2f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat) #foreign "gl" "uniform2f" ---$/
+uniform2i /usr/share/onyx/core/js/webgl.onyx /^uniform2i :: proc (loc: GLUniformLocation, x: GLint, y: GLint) #foreign "gl" "uniform2i" ---$/
+uniform3f /usr/share/onyx/core/js/webgl.onyx /^uniform3f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat) #foreign "gl" "uniform3f" ---$/
+uniform3i /usr/share/onyx/core/js/webgl.onyx /^uniform3i :: proc (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint) #foreign "gl" "uniform3i" ---$/
+uniform4f /usr/share/onyx/core/js/webgl.onyx /^uniform4f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) #foreign "gl" "uniform4f" ---$/
+uniform4i /usr/share/onyx/core/js/webgl.onyx /^uniform4i :: proc (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint) #foreign "gl" "uniform4i" ---$/
+uniformMatrix2 /usr/share/onyx/core/js/webgl.onyx /^uniformMatrix2 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat2) #foreign "gl" "uniformMatrix2" ---$/
+uniformMatrix3 /usr/share/onyx/core/js/webgl.onyx /^uniformMatrix3 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat3) #foreign "gl" "uniformMatrix3" ---$/
+uniformMatrix4 /usr/share/onyx/core/js/webgl.onyx /^uniformMatrix4 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat4) #foreign "gl" "uniformMatrix4" ---$/
+update src/main.onyx /^update :: proc (use gs: ^GameState) {$/
+useProgram /usr/share/onyx/core/js/webgl.onyx /^useProgram :: proc (program: GLProgram) #foreign "gl" "useProgram" ---$/
+validateProgram /usr/share/onyx/core/js/webgl.onyx /^validateProgram :: proc (program: GLProgram) #foreign "gl" "validateProgram" ---$/
+vertexAttrib1f /usr/share/onyx/core/js/webgl.onyx /^vertexAttrib1f :: proc (idx: GLuint, x: GLfloat) #foreign "gl" "vertexAttrib1f" ---$/
+vertexAttrib2f /usr/share/onyx/core/js/webgl.onyx /^vertexAttrib2f :: proc (idx: GLuint, x: GLfloat, y: GLfloat) #foreign "gl" "vertexAttrib2f" ---$/
+vertexAttrib3f /usr/share/onyx/core/js/webgl.onyx /^vertexAttrib3f :: proc (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) #foreign "gl" "vertexAttrib3f" ---$/
+vertexAttrib4f /usr/share/onyx/core/js/webgl.onyx /^vertexAttrib4f :: proc (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) #foreign "gl" "vertexAttrib4f" ---$/
+vertexAttribDivisor /usr/share/onyx/core/js/webgl.onyx /^vertexAttribDivisor :: proc (idx: GLuint, divisor: GLuint) #foreign "gl" "vertexAttribDivisor" ---$/
+vertexAttribPointer /usr/share/onyx/core/js/webgl.onyx /^vertexAttribPointer :: proc (idx: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLint) #foreign "gl" "vertexAttribPointer" ---$/
+viewport /usr/share/onyx/core/js/webgl.onyx /^viewport :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "viewport" --- $/
+xor_i32 /usr/share/onyx/core/intrinsics.onyx /^xor_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic ---$/
+xor_i64 /usr/share/onyx/core/intrinsics.onyx /^xor_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic ---$/
+++ /dev/null
-WebGl_Wasm = {
- init(name, namelen) {
- const decoder = new TextDecoder();
- const str = new Uint8Array(WASM_MEMORY.buffer, name, namelen);
- const canvasname = decoder.decode(str);
-
- this.programs = [];
- this.shaders = [];
- this.buffers = [];
- this.framebuffers = [];
- this.renderbuffers = [];
- this.textures = [];
- this.uniformlocs = [];
- this.vertexArrays = [];
-
- this.canvas = document.getElementById(canvasname);
- if (this.canvas == null) return 0;
-
- this.gl = this.canvas.getContext("webgl2");
- if (this.gl == null) return 0;
-
- return 1;
- },
-
- activeTexture(texture) { this.gl.activeTexture(texture); },
- attachShader(program, shader) { this.gl.attachShader(this.programs[program], this.shaders[shader]); return this.programs[program]; },
- bindAttribLocation(program, index, name, namelen) { console.log("NOT IMPLEMENTED!"); },
- bindBuffer(target, buffer) {
- if (buffer == -1) {
- this.gl.bindBuffer(target, null);
- } else {
- this.gl.bindBuffer(target, this.buffers[buffer]);
- }
- },
- bindFramebuffer(target, framebuffer) { this.gl.bindFramebuffer(target, this.framebuffers[framebuffer]); },
- bindRenderbuffer(target, renderbuffer) { this.gl.bindRenderbuffer(target, this.renderbuffers[renderbuffer]); },
- bindTexture(target, texture) { this.gl.bindTexture(target, this.textures[texture]); },
- bindVertexArray(vertexArray) { this.gl.bindVertexArray(this.vertexArrays[vertexArray]); },
-
- blendColor(red, green, blue, alpha) { this.gl.blendColor(red, green, blue, alpha); },
- blendEquation(mode) { this.gl.blendEquation(mode); },
- blendEquationSeparate(modeRGB, modeAlpha) { this.gl.blendEquationSeparate(modeRGB, modeAlpha); },
- blendFunc(sfactor, dfactor) { this.gl.blendFunc(sfactor, dfactor); },
- blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha) { this.gl.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); },
-
- blitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1, mask, filter) {
- this.gl.blitFramebuffer(sx0, sy0, sx1, sy1, dx0, dy0, dx1, dy1, mask, filter);
- },
-
- bufferDataWithData(target, bufferdata, bufferlen, usage) {
- const data = new DataView(WASM_MEMORY.buffer, bufferdata, bufferlen);
- this.gl.bufferData(target, data, usage);
- },
-
- bufferDataNoData(target, size, usage) { this.gl.bufferData(target, size, usage); },
- bufferSubData(target, offset, bufferdata, bufferlen) {
- const data = new DataView(WASM_MEMORY.buffer, bufferdata, bufferlen);
- this.gl.bufferSubData(target, offset, data);
- },
- checkFrameBufferStatus(target) { return this.gl.checkFrameBufferStatus(target); },
- clear(bit) { this.gl.clear(bit); },
- clearColor(r, g, b, a) { this.gl.clearColor(r, g, b, a); },
- clearDepth(depth) { this.gl.clearDepth(depth); },
- clearStencil(stencil) { this.gl.clearStencil(stencil); },
- colorMask(r, g, b, a) { this.gl.colorMask(r, g, b, a); },
- compileShader(shader) { this.gl.compileShader(this.shaders[shader]); },
- compressedTexImage2D(target, level, internalformat, width, height, border, data, datalen) {
- const pixels = new DataView(WASM_MEMORY.buffer, data, datalen);
- this.gl.compressedTexImage2D(target, level, internalformat, width, height, border, pixels);
- },
- compressedTexSubImage2D(target, level, internalformat, xoff, yoff, width, height, format, data, datalen) {
- const pixels = new DataView(WASM_MEMORY.buffer, data, datalen);
- this.gl.compressedSubTexImage2D(target, level, internalformat, xoff, yoff, width, height, format, pixels);
- },
- copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) { this.gl.copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); },
- copyTexImage2D(target, level, internalforamt, x, y, width, height, border) {
- this.gl.copyTexImage2D(target, level, internalforamt, x, y, width, height, border);
- },
- copyTexSubImage2D(target, level, xoff, yoff, x, y, width, height) {
- this.gl.copyTexSubImage2D(target, level, xoff, yoff, x, y, width, height);
- },
- createBuffer() {
- const buf = this.gl.createBuffer();
- if (buf == null) return -1;
-
- this.buffers.push(buf);
- return this.buffers.length - 1;
- },
- createFramebuffer() {
- const buf = this.gl.createFramebuffer();
- if (buf == null) return -1;
-
- this.framebuffers.push(buf);
- return this.framebuffers.length - 1;
- },
- createProgram() {
- const prog = this.gl.createProgram();
- if (prog == null) return -1;
-
- this.programs.push(prog);
- return this.programs.length - 1;
- },
- createRenderbuffer() {
- const buf = this.gl.createRenderbuffer();
- if (buf == null) return -1;
-
- this.renderbuffers.push(buf);
- return this.renderbuffers.length - 1;
- },
- createShader(type) {
- const shader = this.gl.createShader(type);
- if (shader == null) return -1;
-
- this.shaders.push(shader);
- return this.shaders.length - 1;
- },
- createTexture() {
- const texture = this.gl.createTexture();
- if (texture == null) return -1;
-
- this.textures.push(texture);
- return this.textures.length - 1;
- },
- createVertexArray() {
- const vao = this.gl.createVertexArray();
- if (vao == null) return -1;
-
- this.vertexArrays.push(vao);
- return this.vertexArrays.length - 1;
- },
- cullFace(mode) { this.gl.cullFace(mode); },
- deleteBuffer(buffer) { this.gl.deleteBuffer(this.buffers[buffer]); },
- deleteFramebuffer(framebuffer) { this.gl.deleteFramebuffer(this.framebuffers[framebuffer]); },
- deleteProgram(program) { this.gl.deleteProgram(this.programs[program]); },
- deleteRenderbuffer(renderbuffer) { this.gl.deleteRenderbuffer(this.renderbuffers[renderbuffer]); },
- deleteShader(shader) { this.gl.deleteShader(this.shaders[shader]); },
- deleteTexture(texture) { this.gl.deleteTexture(this.textures[texture]); },
- deleteVertexArray(vertexArray) { this.gl.deleteVertexArray(this.vertexArrays[vertexArray]); },
- depthFunc(func) { this.gl.depthFunc(func); },
- depthMask(flag) { this.gl.depthMask(flag); },
- depthRange(znear, zfar) { this.gl.depthRange(znear, zfar); },
- detachShader(program, shader) { this.gl.detachShader(this.programs[program], this.shaders[shader]); },
- disable(cap) { this.gl.disable(cap); },
- disableVertexAttribArray(index) { this.gl.disableVertexAttribArray(index); },
- drawArrays(mode, first, count) { this.gl.drawArrays(mode, first, count); },
- drawArraysInstanced(mode, first, count, instanceCount) { this.gl.drawArraysInstanced(mode, first, count, instanceCount); },
- drawElements(mode, count, type, offset) { this.gl.drawElements(mode, count, type, offset); },
- drawElementsInstanced(mode, count, type, offset, instanceCount) { this.gl.drawElementsInstanced(mode, count, type, offset, instanceCount); },
- enable(cap) { this.gl.enable(cap); },
- enableVertexAttribArray(index) { this.gl.enableVertexAttribArray(index); },
- finish() { this.gl.finish(); },
- flush() { this.gl.flush(); },
- framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) {
- this.gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, this.renderbuffers[renderbuffer]);
- },
- framebufferTexture2D(target, attachment, texttarget, texture, level) {
- this.gl.framebufferTexture2D(target, attachment, texttarget, this.textures[texture], level);
- },
- framebufferTextureLayer(target, attachment, texture, level, layer) { this.gl.framebufferTextureLayer(target, attachment, this.textures[texture], level, layer); },
- frontFace(mode) { this.gl.frontFace(mode); },
- generateMipmap(target) { this.gl.generateMipmap(target); },
- getActiveAttrib(program, index, out) {
- const loc = this.gl.getActiveAttrib(this.programs[program], index);
- const data = new Int32Array(WASM_MEMORY.buffer, out, 2);
- data[0] = loc.size;
- data[1] = loc.type;
- },
- getActiveUniform(program, index, out) {
- const loc = this.gl.getActiveUniform(this.programs[program], index);
- const data = new Int32Array(WASM_MEMORY.buffer, out, 2);
- data[0] = loc.size;
- data[1] = loc.type;
- },
- // getAttachedShaders() { console.log("NOT IMPLEMENTED!"); },
- getAttribLocation(program, name, namelen) {
- const decoder = new TextDecoder();
- const str = new Uint8Array(WASM_MEMORY.buffer, name, namelen);
- const attribname = decoder.decode(str);
-
- return this.gl.getAttribLocation(this.programs[program], attribname);
- },
- // getBufferParameter() { console.log("NOT IMPLEMENTED!"); },
- getBufferSubData(target, srcbyteoffset, dstbufferdata, dstbufferlen, dstoffset, length) {
- const dst = new DataView(WASM_MEMORY.buffer, dstbufferdata, dstbufferlen);
- this.gl.getBufferSubData(target, srcbyteoffset, dst, dstoffset, length);
- },
- getError() { return this.gl.getError(); },
- getInternalformatParameter(target, internalformat, pname) { return this.gl.getInternalformatParameter(target, internalformat, pname); },
- // many of the 'gets() { console.log("NOT IMPLEMENTED!"); },
- getShaderParameter(shader, param) { return this.gl.getShaderParameter(this.shaders[shader], param); },
- getProgramParameter(program, param) { return this.gl.getProgramParameter(this.programs[program], param); },
- getUniformLocation(program, name, namelen) {
- const decoder = new TextDecoder();
- const str = new Int8Array(WASM_MEMORY.buffer, name, namelen);
- const uniname = decoder.decode(str);
-
- this.uniformlocs.push(this.gl.getUniformLocation(this.programs[program], uniname));
- return this.uniformlocs.length - 1;
- },
- getVertexAttribOffset(index, pname) { return this.gl.getVertexAttribOffset(index, pname); },
- hint(target, mode) { this.gl.hint(target, mode); },
- isEnabled(cap) { return this.gl.isEnabled(cap); },
- invalidateFramebuffer(target, attachdata, attachlen) {
- const attachments = new Int32Array(WASM_MEMORY.buffer, attachdata, attachlen);
- this.gl.invalidateFramebuffer(target, attacements);
- },
- invalidateSubFramebuffer(target, attachdata, attachlen, x, y, width, height) {
- const attachments = new Int32Array(WASM_MEMORY.buffer, attachdata, attachlen);
- this.gl.invalidateFramebuffer(target, attacements, x, y, width, height);
- },
- lineWidth(width) { this.gl.lineWidth(width); },
- linkProgram(program) { this.gl.linkProgram(this.programs[program]); },
- pixelStorei(pname, param) { this.gl.pixelStorei(pname, param); },
- polygonOffset(factor, units) { this.gl.polygonOffset(factor, units); },
- printProgramInfoLog(program) { console.log(this.gl.getProgramInfoLog(this.programs[program])); },
- printShaderInfoLog(shader) { console.log(this.gl.getShaderInfoLog(this.shaders[shader])); },
- readPixels(x, y, width, height, format, type, pixels, pixelslen) {
- const pixeldata = new Uint8Array(WASM_MEMORY.buffer, pixels, pixelslen);
- this.gl.readPixels(x, y, width, height, format, type, pixeldata);
- },
- readBuffer(src) { this.gl.readBuffer(src); },
- renderbufferStorageMultisample(target, samples, internalforamt, width, height) {
- this.gl.renderbufferStorageMultisample(target, samples, internalforamt, width, height);
- },
- sampleCoverage(value, invert) { this.gl.sampleCoverage(value, invert); },
- scissor(x, y, width, height) { this.gl.scissor(x, y, width, height); },
- shaderSource(shader, source, sourcelen) {
- const decoder = new TextDecoder();
- const str = new Int8Array(WASM_MEMORY.buffer, source, sourcelen);
- const sourcedata = decoder.decode(str);
-
- this.gl.shaderSource(this.shaders[shader], sourcedata);
- },
- stencilFunc(func, ref, mask) { this.gl.stencilFunc(func, ref, mask); },
- stencilFuncSeparate(face, func, ref, mask) { this.gl.stencilFuncSeparate(face, func, ref, mask); },
- stencilMask(mask) { this.gl.stencilMask(mask); },
- stencilMaskSeparate(face, mask) { this.gl.stencilMaskSeparate(face, mask); },
- stencilOp(fail, zfail, mask) { this.gl.stencilOp(fail, zfail, mask); },
- stencilOpSeparate(face, fail, zfail, zpass) { this.gl.stencilOpSeparate(face, fail, zfail, zpass); },
- texImage2D(target, level, internalforamt, width, height, border, format, type, pixels, pixelslen) {
- const data = new DataView(WASM_MEMORY.buffer, pixels, pixelslen);
- this.gl.texImage2D(target, level, internalforamt, width, height, border, format, type, data);
- },
- texParameterf(target, pname, param) { this.gl.texParameterf(target, pname, param); },
- texParameteri(target, pname, param) { this.gl.texParameteri(target, pname, param); },
- texSubImage2D(target, level, xoff, yoff, width, height, format, type, pixels, pixelslen) {
- const data = new Uint8Array(WASM_MEMORY.buffer, pixels, pixelslen);
- this.gl.texSubImage2D(target, level, xoff, yoff, width, height, format, type, data);
- },
- uniform1f(loc, x) { this.gl.uniform1f(this.uniformlocs[loc], x); },
- uniform1i(loc, x) { this.gl.uniform1i(this.uniformlocs[loc], x); },
- uniform2f(loc, x, y) { this.gl.uniform2f(this.uniformlocs[loc], x, y); },
- uniform2i(loc, x, y) { this.gl.uniform2i(this.uniformlocs[loc], x, y); },
- uniform3f(loc, x, y, z) { this.gl.uniform3f(this.uniformlocs[loc], x, y, z); },
- uniform3i(loc, x, y, z) { this.gl.uniform3i(this.uniformlocs[loc], x, y, z); },
- uniform4f(loc, x, y, z, w) { this.gl.uniform4f(this.uniformlocs[loc], x, y, z, w); },
- uniform4i(loc, x, y, z, w) { this.gl.uniform4i(this.uniformlocs[loc], x, y, z, w); },
- uniformMatrix2(loc, transpose, valueptr) {
- const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 4);
- this.gl.uniformMatrix2fv(this.uniformlocs[loc], transpose, data);
- },
- uniformMatrix3(loc, transpose, valueptr) {
- const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 9);
- this.gl.uniformMatrix3fv(this.uniformlocs[loc], transpose, data);
- },
- uniformMatrix4(loc, transpose, valueptr) {
- const data = new Float32Array(WASM_MEMORY.buffer, valueptr, 16);
- this.gl.uniformMatrix4fv(this.uniformlocs[loc], transpose, data);
- },
- useProgram(program) { this.gl.useProgram(this.programs[program]); },
- validateProgram(program) { this.gl.validateProgram(this.program[program]); },
- vertexAttrib1f(idx, x) { this.gl.vertexAttrib1f(idx, x); },
- vertexAttrib2f(idx, x, y) { this.gl.vertexAttrib2f(idx, x, y); },
- vertexAttrib3f(idx, x, y, z) { this.gl.vertexAttrib3f(idx, x, y, z); },
- vertexAttrib4f(idx, x, y, z, w) { this.gl.vertexAttrib4f(idx, x, y, z, w); },
- vertexAttribPointer(idx, size, type, normalized, stride, offset) { this.gl.vertexAttribPointer(idx, size, type, normalized, stride, offset); },
- vertexAttribDivisor(idx, divisor) { this.gl.vertexAttribDivisor(idx, divisor); },
- viewport(x, y, width, height) { this.gl.viewport(x, y, width, height); },
-
-};