Skip to main content
Version: 0.0.2

rayquiro.engine

rayquiro.engine in 0.0.2 is an official installable native module for scenes, entities, rendering, lighting, assets, input, and engine-oriented workflows.

Install it with:

rqio install rayquiro.engine

or locally:

rqio install rayquiro.engine --local

Import

import rayquiro.engine as engine;

The alias raytolfas.engine is also accepted.

What It Covers

rayquiro.engine in 0.0.2 includes:

  • backend selection
  • window lifecycle
  • frame lifecycle
  • scene-oriented workflow
  • entities and resources
  • mesh, texture, and material APIs
  • camera and input helpers
  • lighting helpers
  • post-processing style controls
  • scene save/load/watch/reload
  • immediate draw helpers

Window And Backend API

engine.init(width, height, title)

engine.window(width, height, title)

engine.shutdown()

engine.should_close()

engine.backend(name)

engine.backend_name()

engine.backend_info()

engine.vsync(enabled?)

engine.msaa(samples?)

engine.target_fps(fps)

engine.frame_time()

raylib is the more stable renderer path today. vulkan is broader than before but still evolving.

Frame Helpers

engine.begin()

engine.end()

engine.frame_begin()

engine.frame_end()

engine.clear(color)

These helpers control frame lifecycle for direct or scene-based rendering.

Camera API

engine.set_camera(position, target, up, fov)

engine.camera(position, target, up, fov)

engine.camera_orbit(yaw, pitch, distance)

engine.camera_fov(fov?)

Scene API

engine.scene(name)

engine.scene_clear()

engine.scene_stats()

engine.scene_draw()

engine.scene_save(path, optionalSceneName)

engine.scene_load(path, optionalSceneName)

engine.scene_watch(path?, optionalSceneName)

engine.scene_reload(path?, optionalSceneName)

Scene files in 0.0.2 use .scene data for scene persistence and editor-style workflows.

Assets API

engine.assets_root(path?)

engine.asset_path(path)

engine.asset_exists(path)

Mesh, Texture, And Material API

engine.mesh(name, kindOrSource, optionalData)

engine.mesh_exists(name)

engine.texture(name, source)

engine.texture_exists(name)

engine.material(name, albedo, roughness, metallic, emissive)

engine.material_exists(name)

engine.material_texture(materialName, textureName)

Entity API

engine.entity(name, kind, position, color)

engine.entity_remove(name)

engine.entity_exists(name)

engine.entity_set_position(name, position)

engine.entity_get_position(name)

engine.entity_set_size(name, size)

engine.entity_set_scale(name, scale)

engine.entity_set_radius(name, radius)

engine.entity_set_color(name, color)

engine.entity_set_visible(name, visible)

engine.entity_mesh(entityName, meshName)

engine.entity_texture(entityName, textureName)

engine.entity_material(entityName, materialName)

Lighting API

engine.light_ambient(color)

engine.light_directional(direction, color, intensity)

Post-Processing Style Controls

engine.exposure(value?)

engine.vignette(value?)

engine.film_grain(value?)

engine.saturation(value?)

engine.contrast(value?)

engine.bloom(value?)

engine.fog(color, near, far, density)

engine.volumetric(value?)

engine.postfx_info()

Input API

engine.key_down(keyCode)

engine.key_pressed(keyCode)

engine.mouse_down(buttonCode)

engine.mouse_pos()

Immediate Draw Helpers

These still exist in 0.0.2:

engine.draw_grid(slices, spacing)

engine.draw_cube(position, size, color)

engine.draw_plane(position, size2d, color)

engine.draw_sphere(position, radius, color)

engine.draw_text(text, x, y, fontSize, color)

engine.draw_fps(x, y)

Example

import rayquiro.engine as engine;

engine.backend("raylib");
engine.window(1280, 720, "RayQuiro Engine");
engine.scene("demo");
engine.camera([6, 4, 8], [0, 1, 0], [0, 1, 0], 60);
engine.light_ambient([22, 28, 42, 255]);
engine.light_directional([0.45, -1, -0.35], [255, 236, 206, 255], 1.0);
engine.entity("ground", "plane", [0, 0, 0], [176, 144, 86, 255]);
engine.entity("hero", "cube", [0, 1, 0], [120, 190, 255, 255]);

while (!engine.should_close()) {
engine.frame_begin();
engine.scene_draw();
engine.frame_end();
}

engine.shutdown();

Notes

  • rayquiro.engine is an official installable module in 0.0.2
  • it is not a built-in system namespace
  • the release path is Windows-first
  • backend maturity still varies by backend
  • raylib is currently the more stable renderer path