Skip to content
@vectojs

VectoJS

Canvas-native UI runtime with a Virtual Math Tree, semantic accessibility projection, WebGL/WebGPU backends, and agent-drivable controls.

VectoJS 🌲

Canvas-native UI runtime with a Virtual Math Tree, semantic accessibility projection, WebGL/WebGPU backends, and agent-drivable controls.

Welcome to the official GitHub organization of VectoJS. We are building a modern, performant, and accessible canvas-based UI paradigm. By throwing away traditional HTML/CSS rendering overhead and replacing it with a backend-agnostic layout engine, VectoJS delivers high-performance interfaces for creative coding, 3D math arts, simulations, and data dashboards.


🚀 Key Features

  • ⚡ WebGPU & WebGL Native: Seamlessly transitions from high-efficiency Canvas 2D to compute-heavy WebGPU particle simulations.
  • 🌲 Virtual Math Tree (VMT): Core scene-graph architecture managing hierarchical transformations, layout reflows, and transitions.
  • ♿ Semantic DOM Projection: Bridges canvas rendering with screen-readers by dynamically synthesizing and mapping readable semantic accessibility nodes.
  • 🤖 Agent-Friendly Architecture: Specially structured hooks and selectors that allow AI coding assistants (like Gemini and Claude) to inspect, drive, and write UI components natively.

📦 Core Repositories

Repository Description Status
vectojs The core Bun monorepo housing @vectojs/core, @vectojs/ui, @vectojs/three, and @vectojs/video-exporter. Stable (v1.0.0)
vectojs-website The official documentation site and reference guides, powered by Astro. Live (vectojs.org)
vectojs-gallery The VectoJS Native community showcase site. A full Full-Canvas app. Live (gallery.vectojs.org)
vectojs-skills System prompts, coding patterns, and agentic workflows to pair-program VectoJS. Active

🛠️ Quick Start

Initialize a new VectoJS Canvas Scene in seconds:

# Install core packages
bun add @vectojs/core @vectojs/ui
import { Scene } from '@vectojs/core';
import { Button, Text, Stack } from '@vectojs/ui';

// Initialize full-screen scene
const canvas = document.getElementById('my-canvas') as HTMLCanvasElement;
const scene = new Scene(canvas, { maxFPS: 60 });

// Layout a Stack with text & button
const layout = new Stack({ direction: 'vertical', gap: 16 });
layout.add(new Text('Hello VectoJS!', { font: 'bold 24px sans-serif' }));
layout.add(new Button('Click Me', { onClick: () => console.log('Clicked!') }));

scene.add(layout);
scene.start();

🤝 Join the Show!

We welcome all developers to contribute and submit their creations.

  • To showcase your creative work (animations, math-art, games), submit a Pull Request to vectojs-gallery following the sandboxed contribution guidelines.
  • To improve the runtime or report issues, head over to the vectojs monorepo.

Pinned Loading

  1. vectojs vectojs Public

    Canvas-native UI runtime with a Virtual Math Tree, semantic accessibility projection, WebGL/WebGPU backends, and agent-drivable controls.

    TypeScript 2

Repositories

Showing 10 of 13 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…