CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-gl

Creates a WebGL context without a window for headless rendering and server-side graphics

Overall
score

96%

Overview
Eval results
Files

task.mdevals/scenario-8/

WebGL State Manager

A utility module for managing WebGL rendering state configurations. This module helps toggle and track the enabled/disabled state of various WebGL capabilities.

Capabilities

Enable and disable WebGL capabilities

  • Given a WebGL context and capability constant, enabling the capability makes it active @test
  • Given a WebGL context and capability constant, disabling the capability makes it inactive @test

Check capability status

  • After enabling a capability, checking its status returns true @test
  • After disabling a capability, checking its status returns false @test

Handle multiple capabilities

  • Multiple different capabilities can be enabled independently @test
  • Disabling one capability does not affect the state of other enabled capabilities @test

Implementation

@generates

API

/**
 * Enables a WebGL capability.
 *
 * @param {WebGLRenderingContext} gl - The WebGL context
 * @param {number} capability - The capability constant (e.g., gl.BLEND, gl.DEPTH_TEST)
 */
function enableCapability(gl, capability) {
  // IMPLEMENTATION HERE
}

/**
 * Disables a WebGL capability.
 *
 * @param {WebGLRenderingContext} gl - The WebGL context
 * @param {number} capability - The capability constant (e.g., gl.BLEND, gl.DEPTH_TEST)
 */
function disableCapability(gl, capability) {
  // IMPLEMENTATION HERE
}

/**
 * Checks if a WebGL capability is enabled.
 *
 * @param {WebGLRenderingContext} gl - The WebGL context
 * @param {number} capability - The capability constant (e.g., gl.BLEND, gl.DEPTH_TEST)
 * @returns {boolean} True if the capability is enabled, false otherwise
 */
function isCapabilityEnabled(gl, capability) {
  // IMPLEMENTATION HERE
}

module.exports = {
  enableCapability,
  disableCapability,
  isCapabilityEnabled
};

Dependencies { .dependencies }

gl { .dependency }

Provides headless WebGL rendering context for testing and state management.

@satisfied-by

Install with Tessl CLI

npx tessl i tessl/npm-gl

tile.json