Add Model Card, requirements.txt, frameworks_db.json, and usage instructions
Browse files- README.md +47 -5
- frameworks_db.json +737 -0
- requirements.txt +1 -0
- run_ultimate_pipeline.py +3 -1
README.md
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# Language-U WebGL Inference Engine
|
| 2 |
|
| 3 |
"The impossible is just code waiting to be written, physics waiting to be rewritten, math a work in progress, and truth waiting to be discovered."
|
| 4 |
|
| 5 |
-
This repository contains the optimized binary transport representations and cross-language range decoders for the **Language-U Semantic Communication Protocol** (Language-U-Browser specification) run on the 49 WebGL database configurations.
|
| 6 |
|
| 7 |
## Mathematical Architecture: Rank-2 SVD Factorization
|
| 8 |
|
|
@@ -23,6 +36,8 @@ This optimizes the coordinate payload size to just **110 Bytes** total for all b
|
|
| 23 |
├── VerifyLanguageU.java # Cross-language Java range decoder
|
| 24 |
├── verify_language_u.rs # Cross-language Rust range decoder
|
| 25 |
├── verify_language_u.lua # Cross-language Lua range decoder
|
|
|
|
|
|
|
| 26 |
└── Language-U-Browser/
|
| 27 |
├── Language-U-Browser.LLM # Level 6 compressed capsule (364 bytes)
|
| 28 |
├── frameworks_metadata.json # SVD matrix bounds, singular values, and hashes
|
|
@@ -39,31 +54,58 @@ This optimizes the coordinate payload size to just **110 Bytes** total for all b
|
|
| 39 |
|
| 40 |
---
|
| 41 |
|
| 42 |
-
##
|
| 43 |
|
| 44 |
-
|
| 45 |
|
| 46 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
```bash
|
| 48 |
rustc verify_language_u.rs -o verify_language_u
|
| 49 |
./verify_language_u
|
| 50 |
```
|
| 51 |
Output:
|
| 52 |
```text
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
[1] Rust Vocab Decompression: SUCCESS (49 names restored).
|
| 54 |
[2] Rust Yang Range Decoder execution: SUCCESS.
|
|
|
|
| 55 |
[SUCCESS] Rust range-decoder verification: 100% MATCH!
|
| 56 |
```
|
| 57 |
|
| 58 |
-
### Java Decoder
|
| 59 |
```bash
|
| 60 |
javac VerifyLanguageU.java
|
| 61 |
java VerifyLanguageU
|
| 62 |
```
|
| 63 |
Output:
|
| 64 |
```text
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
[1] Java Vocab Decompression: SUCCESS (49 names restored).
|
| 66 |
[2] Java Yang Range Decoder execution: SUCCESS.
|
|
|
|
| 67 |
[SUCCESS] Java range-decoder verification: 100% MATCH!
|
| 68 |
```
|
| 69 |
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language: en
|
| 3 |
+
license: mit
|
| 4 |
+
tags:
|
| 5 |
+
- webgl
|
| 6 |
+
- compression
|
| 7 |
+
- semantic-protocol
|
| 8 |
+
- range-coder
|
| 9 |
+
- dimensionality-reduction
|
| 10 |
+
- svd
|
| 11 |
+
pretty_name: Language-U WebGL Inference Engine
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
# Language-U WebGL Inference Engine
|
| 15 |
|
| 16 |
"The impossible is just code waiting to be written, physics waiting to be rewritten, math a work in progress, and truth waiting to be discovered."
|
| 17 |
|
| 18 |
+
This repository contains the optimized binary transport representations, the source database, and cross-language range decoders for the **Language-U Semantic Communication Protocol** (Language-U-Browser specification) run on the 49 WebGL database configurations.
|
| 19 |
|
| 20 |
## Mathematical Architecture: Rank-2 SVD Factorization
|
| 21 |
|
|
|
|
| 36 |
├── VerifyLanguageU.java # Cross-language Java range decoder
|
| 37 |
├── verify_language_u.rs # Cross-language Rust range decoder
|
| 38 |
├── verify_language_u.lua # Cross-language Lua range decoder
|
| 39 |
+
├── frameworks_db.json # Raw database of 49 WebGL configurations
|
| 40 |
+
├── requirements.txt # Python dependencies (numpy)
|
| 41 |
└── Language-U-Browser/
|
| 42 |
├── Language-U-Browser.LLM # Level 6 compressed capsule (364 bytes)
|
| 43 |
├── frameworks_metadata.json # SVD matrix bounds, singular values, and hashes
|
|
|
|
| 54 |
|
| 55 |
---
|
| 56 |
|
| 57 |
+
## Installation & Running Instructions
|
| 58 |
|
| 59 |
+
To test the code locally, ensure you have Python 3 installed.
|
| 60 |
|
| 61 |
+
### 1. Install Dependencies
|
| 62 |
+
```bash
|
| 63 |
+
pip install -r requirements.txt
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
### 2. Run the Ingestion & Compression Pipeline
|
| 67 |
+
Running the ultimate pipeline script regenerates the binary coordinates, executes the 7-level semantic compression pipeline, and validates XOR-FEC packet healing:
|
| 68 |
+
```bash
|
| 69 |
+
python run_ultimate_pipeline.py
|
| 70 |
+
```
|
| 71 |
+
|
| 72 |
+
---
|
| 73 |
+
|
| 74 |
+
## Testing & Cross-Language Verification
|
| 75 |
+
|
| 76 |
+
You can verify the mathematical soundness of the range decoders and confirm they produce 100% identical outputs:
|
| 77 |
+
|
| 78 |
+
### Rust Decoder (Requires rustc)
|
| 79 |
```bash
|
| 80 |
rustc verify_language_u.rs -o verify_language_u
|
| 81 |
./verify_language_u
|
| 82 |
```
|
| 83 |
Output:
|
| 84 |
```text
|
| 85 |
+
======================================================================
|
| 86 |
+
ZYMATICA | Cross-Language Rust Decompressor & Range-Decoder
|
| 87 |
+
======================================================================
|
| 88 |
+
|
| 89 |
[1] Rust Vocab Decompression: SUCCESS (49 names restored).
|
| 90 |
[2] Rust Yang Range Decoder execution: SUCCESS.
|
| 91 |
+
|
| 92 |
[SUCCESS] Rust range-decoder verification: 100% MATCH!
|
| 93 |
```
|
| 94 |
|
| 95 |
+
### Java Decoder (Requires JDK)
|
| 96 |
```bash
|
| 97 |
javac VerifyLanguageU.java
|
| 98 |
java VerifyLanguageU
|
| 99 |
```
|
| 100 |
Output:
|
| 101 |
```text
|
| 102 |
+
======================================================================
|
| 103 |
+
ZYMATICA | Cross-Language Java Decompressor & Range-Decoder
|
| 104 |
+
======================================================================
|
| 105 |
+
|
| 106 |
[1] Java Vocab Decompression: SUCCESS (49 names restored).
|
| 107 |
[2] Java Yang Range Decoder execution: SUCCESS.
|
| 108 |
+
|
| 109 |
[SUCCESS] Java range-decoder verification: 100% MATCH!
|
| 110 |
```
|
| 111 |
|
frameworks_db.json
ADDED
|
@@ -0,0 +1,737 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"name": "three.js",
|
| 4 |
+
"url": "https://github.com/mrdoob/three.js",
|
| 5 |
+
"attributes": {
|
| 6 |
+
"Primary Dimension": "3D (with 2D capabilities)",
|
| 7 |
+
"Philosophy": "Monolithic, High-Level Engine",
|
| 8 |
+
"Rendering Model": "3D Scene Graph (`Scene` / `Object3D`)",
|
| 9 |
+
"Ease of Use": "High (handles lighting, materials, loaders)",
|
| 10 |
+
"Control Level": "Medium (abstractions mask WebGL state)",
|
| 11 |
+
"Performance (2D)": "Moderate (via orthographic camera & planes)",
|
| 12 |
+
"Performance (3D)": "High (highly optimized rendering pipelines)",
|
| 13 |
+
"Importing Models": "Out-of-the-box (glTF, OBJ, FBX loaders)",
|
| 14 |
+
"Ecosystem Status": "Dominant, actively maintained"
|
| 15 |
+
}
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"name": "stack.gl",
|
| 19 |
+
"url": "https://stack.gl/",
|
| 20 |
+
"attributes": {
|
| 21 |
+
"Primary Dimension": "N/A (Direct WebGL/Shader level)",
|
| 22 |
+
"Philosophy": "Modular, Unix-like npm components",
|
| 23 |
+
"Rendering Model": "Direct Buffer & Shader binding",
|
| 24 |
+
"Ease of Use": "Low (requires math & GLSL expertise)",
|
| 25 |
+
"Control Level": "High (full access to WebGL context)",
|
| 26 |
+
"Performance (2D)": "High (developer optimized)",
|
| 27 |
+
"Performance (3D)": "Extremely High (zero overhead)",
|
| 28 |
+
"Importing Models": "Manual parsing required",
|
| 29 |
+
"Ecosystem Status": "Legacy / Fragmented, highly educational"
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"name": "PixiJS",
|
| 34 |
+
"url": "https://github.com/pixijs/pixijs",
|
| 35 |
+
"attributes": {
|
| 36 |
+
"Primary Dimension": "2D (with WebGL acceleration)",
|
| 37 |
+
"Philosophy": "Monolithic 2D Display List Engine",
|
| 38 |
+
"Rendering Model": "2D Display List (`Container` / `Sprite`)",
|
| 39 |
+
"Ease of Use": "High (intuitive for 2D animations/games)",
|
| 40 |
+
"Control Level": "Medium (abstractions for sprites & filters)",
|
| 41 |
+
"Performance (2D)": "Extremely High (auto-batching, sprite pools)",
|
| 42 |
+
"Performance (3D)": "N/A (not natively supported)",
|
| 43 |
+
"Importing Models": "N/A",
|
| 44 |
+
"Ecosystem Status": "Dominant for 2D, actively maintained"
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"name": "Pex",
|
| 49 |
+
"url": "https://github.com/pex-gl/pex",
|
| 50 |
+
"attributes": {
|
| 51 |
+
"Primary Dimension": "3D (Modular core)",
|
| 52 |
+
"Philosophy": "Semi-Modular, Creative Coding",
|
| 53 |
+
"Rendering Model": "Command-Based GPU Context (`pex-context`)",
|
| 54 |
+
"Ease of Use": "Medium (requires custom pipeline assembly)",
|
| 55 |
+
"Control Level": "High (explicit state wrapping & GPU commands)",
|
| 56 |
+
"Performance (2D)": "Moderate",
|
| 57 |
+
"Performance (3D)": "High (low overhead API wrapper)",
|
| 58 |
+
"Importing Models": "Modular loaders (e.g., `pex-gltf`)",
|
| 59 |
+
"Ecosystem Status": "Active in creative coding / multimedia"
|
| 60 |
+
}
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"name": "Babylon.js",
|
| 64 |
+
"url": "https://github.com/BabylonJS/Babylon.js",
|
| 65 |
+
"attributes": {
|
| 66 |
+
"Primary Dimension": "3D (Game-focused Engine)",
|
| 67 |
+
"Philosophy": "Comprehensive Monolithic Engine",
|
| 68 |
+
"Rendering Model": "3D Entity-Component-like Scene Graph",
|
| 69 |
+
"Ease of Use": "Very High (rich editor tools, physics integration)",
|
| 70 |
+
"Control Level": "Medium (heavy engine wrapper)",
|
| 71 |
+
"Performance (2D)": "Moderate (via orthographic viewports)",
|
| 72 |
+
"Performance (3D)": "Extremely High (rich performance debuggers & WebGPU)",
|
| 73 |
+
"Importing Models": "Out-of-the-box (industry standard loaders + sandbox)",
|
| 74 |
+
"Ecosystem Status": "Active, robust (backed by Microsoft)"
|
| 75 |
+
}
|
| 76 |
+
},
|
| 77 |
+
{
|
| 78 |
+
"name": "Filament",
|
| 79 |
+
"url": "https://github.com/google/filament/",
|
| 80 |
+
"attributes": {
|
| 81 |
+
"Primary Dimension": "3D (PBR specialist)",
|
| 82 |
+
"Philosophy": "Native PBR Engine (WASM-based)",
|
| 83 |
+
"Rendering Model": "Entity-Component-System (ECS) & View-based",
|
| 84 |
+
"Ease of Use": "Low-Medium (strict material compiles, C++/WASM API)",
|
| 85 |
+
"Control Level": "High (direct memory control, raw material files)",
|
| 86 |
+
"Performance (2D)": "N/A (not optimized for 2D sprites)",
|
| 87 |
+
"Performance (3D)": "Outstanding (C++ backend compiled to WebAssembly)",
|
| 88 |
+
"Importing Models": "Native glTF parser (`gltfio` library bindings)",
|
| 89 |
+
"Ecosystem Status": "Active (developed & backed by Google)"
|
| 90 |
+
}
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"name": "SceneJS",
|
| 94 |
+
"url": "https://github.com/xeolabs/scenejs",
|
| 95 |
+
"attributes": {
|
| 96 |
+
"Primary Dimension": "3D (Engineering/Detail visualization)",
|
| 97 |
+
"Philosophy": "Declarative Scene Graph (JSON-driven)",
|
| 98 |
+
"Rendering Model": "Declarative JSON State Nodes Tree",
|
| 99 |
+
"Ease of Use": "High (JSON configuration, simple state tree)",
|
| 100 |
+
"Control Level": "Medium (driven strictly by JSON nodes)",
|
| 101 |
+
"Performance (2D)": "Low (not built for 2D sprites)",
|
| 102 |
+
"Performance (3D)": "Moderate (older optimization patterns, high CPU overhead)",
|
| 103 |
+
"Importing Models": "JSON geometry structures",
|
| 104 |
+
"Ecosystem Status": "Legacy / Archived (historically significant)"
|
| 105 |
+
}
|
| 106 |
+
},
|
| 107 |
+
{
|
| 108 |
+
"name": "Blend4Web",
|
| 109 |
+
"url": "https://github.com/TriumphLLC/Blend4Web",
|
| 110 |
+
"attributes": {
|
| 111 |
+
"Primary Dimension": "3D (Interactive visualization)",
|
| 112 |
+
"Philosophy": "Blender-driven Content pipeline",
|
| 113 |
+
"Rendering Model": "Blender-matching hierarchy & shaders",
|
| 114 |
+
"Ease of Use": "Very High (for artists exporting directly from Blender)",
|
| 115 |
+
"Control Level": "Low-Medium (controlled via Blender config and exports)",
|
| 116 |
+
"Performance (2D)": "N/A (not optimized for 2D sprites)",
|
| 117 |
+
"Performance (3D)": "Moderate (heavy engine wrapper, runs logic & physics engines)",
|
| 118 |
+
"Importing Models": "Native Blender scene export (.json + .bin)",
|
| 119 |
+
"Ecosystem Status": "Legacy / Archived (company closed down)"
|
| 120 |
+
}
|
| 121 |
+
},
|
| 122 |
+
{
|
| 123 |
+
"name": "ClayGL",
|
| 124 |
+
"url": "https://github.com/pissang/claygl",
|
| 125 |
+
"attributes": {
|
| 126 |
+
"Primary Dimension": "3D (Data Visualization & Scalable Web3D)",
|
| 127 |
+
"Philosophy": "Scalable, Modern & High-Performance",
|
| 128 |
+
"Rendering Model": "3D Scene Graph (`Scene` / `Node`)",
|
| 129 |
+
"Ease of Use": "High (intuitive Application abstraction)",
|
| 130 |
+
"Control Level": "Medium-High (modular with direct shader/geometry APIs)",
|
| 131 |
+
"Performance (2D)": "Moderate",
|
| 132 |
+
"Performance (3D)": "High (highly optimized shader pipeline, built for WebGL 2)",
|
| 133 |
+
"Importing Models": "Out-of-the-box glTF support",
|
| 134 |
+
"Ecosystem Status": "Active/Stable (used heavily in Apache ECharts 3D)"
|
| 135 |
+
}
|
| 136 |
+
},
|
| 137 |
+
{
|
| 138 |
+
"name": "AwayJS",
|
| 139 |
+
"url": "https://github.com/awayjs/awayjs-full",
|
| 140 |
+
"attributes": {
|
| 141 |
+
"Primary Dimension": "3D & 2D (Flash migration)",
|
| 142 |
+
"Philosophy": "Flash/Stage3D emulation in JS/TS",
|
| 143 |
+
"Rendering Model": "Stage3D-like Display Hierarchy",
|
| 144 |
+
"Ease of Use": "Medium (intuitive for legacy Flash developers)",
|
| 145 |
+
"Control Level": "Medium (wrapped around Stage3D/DisplayObject state)",
|
| 146 |
+
"Performance (2D)": "High (optimized Flash Display List recreation)",
|
| 147 |
+
"Performance (3D)": "Moderate-High (similar to native Stage3D limits)",
|
| 148 |
+
"Importing Models": "AWD, OBJ, MD5, and Flash SWF vector assets",
|
| 149 |
+
"Ecosystem Status": "Active/Legacy (mainly used for legacy Flash/Stage3D migration)"
|
| 150 |
+
}
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"name": "PlayCanvas",
|
| 154 |
+
"url": "https://github.com/playcanvas/engine",
|
| 155 |
+
"attributes": {
|
| 156 |
+
"Primary Dimension": "3D (High-performance web games)",
|
| 157 |
+
"Philosophy": "Cloud-collaborative, Lightweight ECS",
|
| 158 |
+
"Rendering Model": "Entity-Component System (ECS)",
|
| 159 |
+
"Ease of Use": "Very High (with cloud editor interface, clean scripts)",
|
| 160 |
+
"Control Level": "Medium-High (flexible script extensions)",
|
| 161 |
+
"Performance (2D)": "High (dedicated screen-space UI layouts)",
|
| 162 |
+
"Performance (3D)": "Outstanding (lightweight runtime, WebGPU support)",
|
| 163 |
+
"Importing Models": "Native glTF loaders & editor asset converter",
|
| 164 |
+
"Ecosystem Status": "Dominant in web games, actively maintained"
|
| 165 |
+
}
|
| 166 |
+
},
|
| 167 |
+
{
|
| 168 |
+
"name": "Turbulenz",
|
| 169 |
+
"url": "https://github.com/turbulenz/turbulenz_engine",
|
| 170 |
+
"attributes": {
|
| 171 |
+
"Primary Dimension": "3D & 2D (Scalable Game Engine)",
|
| 172 |
+
"Philosophy": "Ultra-performance, Modular TS/JS",
|
| 173 |
+
"Rendering Model": "Device/Viewport low-level Renderer",
|
| 174 |
+
"Ease of Use": "Low-Medium (highly technical, custom compilation tooling)",
|
| 175 |
+
"Control Level": "High (direct access to custom WebGL device caches)",
|
| 176 |
+
"Performance (2D)": "High (includes custom 2D canvas draw devices)",
|
| 177 |
+
"Performance (3D)": "Outstanding (hardware-squeezing optimizations)",
|
| 178 |
+
"Importing Models": "JSON engine geometry & asset pipelines",
|
| 179 |
+
"Ecosystem Status": "Legacy / Archived (historically important)"
|
| 180 |
+
}
|
| 181 |
+
},
|
| 182 |
+
{
|
| 183 |
+
"name": "Hilo3d",
|
| 184 |
+
"url": "https://github.com/hiloteam/Hilo3d",
|
| 185 |
+
"attributes": {
|
| 186 |
+
"Primary Dimension": "3D (Mobile WebGL campaigns)",
|
| 187 |
+
"Philosophy": "Mobile-First, High-Performance, Compact",
|
| 188 |
+
"Rendering Model": "3D Scene Graph (`Stage` / `Node`)",
|
| 189 |
+
"Ease of Use": "High (clean API)",
|
| 190 |
+
"Control Level": "Medium (clean stage wrapper)",
|
| 191 |
+
"Performance (2D)": "Moderate",
|
| 192 |
+
"Performance (3D)": "High (tailored for low-latency rendering on mobile GPUs)",
|
| 193 |
+
"Importing Models": "Robust glTF and asset parser tools",
|
| 194 |
+
"Ecosystem Status": "Stable (backed and used heavily in mobile apps at Alibaba)"
|
| 195 |
+
}
|
| 196 |
+
},
|
| 197 |
+
{
|
| 198 |
+
"name": "litescene.js",
|
| 199 |
+
"url": "https://github.com/jagenjo/litescene.js",
|
| 200 |
+
"attributes": {
|
| 201 |
+
"Primary Dimension": "3D (Editor-integrated Graphics)",
|
| 202 |
+
"Philosophy": "Component-Based WYSIWYG Engine",
|
| 203 |
+
"Rendering Model": "Component-based Scene Graph (`SceneNode`)",
|
| 204 |
+
"Ease of Use": "Very High (when paired with WebGLStudio UI editor)",
|
| 205 |
+
"Control Level": "Medium-High (extensible node components + script nodes)",
|
| 206 |
+
"Performance (2D)": "N/A",
|
| 207 |
+
"Performance (3D)": "High (supports deferred shading, light pre-passes)",
|
| 208 |
+
"Importing Models": "Native DAE (Collada), OBJ parsing, serializer",
|
| 209 |
+
"Ecosystem Status": "Legacy / Archived (historically significant)"
|
| 210 |
+
}
|
| 211 |
+
},
|
| 212 |
+
{
|
| 213 |
+
"name": "regl",
|
| 214 |
+
"url": "https://github.com/regl-project/regl",
|
| 215 |
+
"attributes": {
|
| 216 |
+
"Primary Dimension": "N/A (Functional WebGL wrapper)",
|
| 217 |
+
"Philosophy": "Functional, Declarative, Minimal",
|
| 218 |
+
"Rendering Model": "Declarative functional GPU draw commands",
|
| 219 |
+
"Ease of Use": "Medium-Low (requires GPU/GLSL knowledge, removes boilerplates)",
|
| 220 |
+
"Control Level": "Extremely High (exposes full WebGL state keys)",
|
| 221 |
+
"Performance (2D)": "Extremely High (zero overhead wrapper)",
|
| 222 |
+
"Performance (3D)": "Extremely High (zero-overhead caching of WebGL states)",
|
| 223 |
+
"Importing Models": "Manual parsing required",
|
| 224 |
+
"Ecosystem Status": "Stable, widely used in data-vis & shader art"
|
| 225 |
+
}
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"name": "TWGL",
|
| 229 |
+
"url": "https://github.com/greggman/twgl.js",
|
| 230 |
+
"attributes": {
|
| 231 |
+
"Primary Dimension": "N/A (Tiny WebGL helper)",
|
| 232 |
+
"Philosophy": "Direct Raw WebGL helper",
|
| 233 |
+
"Rendering Model": "Raw WebGL API (enhanced helper abstractions)",
|
| 234 |
+
"Ease of Use": "Medium-High (makes raw WebGL easy, retains raw control)",
|
| 235 |
+
"Control Level": "Max (you are writing raw WebGL with shortcuts)",
|
| 236 |
+
"Performance (2D)": "Extremely High (native calls compiled directly)",
|
| 237 |
+
"Performance (3D)": "Extremely High (native calls compiled directly)",
|
| 238 |
+
"Importing Models": "Manual parsing required (creates buffer arrays easily)",
|
| 239 |
+
"Ecosystem Status": "Stable, widely used in custom graphics engines & shaders"
|
| 240 |
+
}
|
| 241 |
+
},
|
| 242 |
+
{
|
| 243 |
+
"name": "Four",
|
| 244 |
+
"url": "https://github.com/allotrop3/four",
|
| 245 |
+
"attributes": {
|
| 246 |
+
"Primary Dimension": "3D (Low-level wrapper)",
|
| 247 |
+
"Philosophy": "Intermediate WebGL wrapper",
|
| 248 |
+
"Rendering Model": "Command-free custom buffer bindings",
|
| 249 |
+
"Ease of Use": "Medium (reduces WebGL 1.0 boilerplate code)",
|
| 250 |
+
"Control Level": "High (provides lightweight rendering pipelines)",
|
| 251 |
+
"Performance (2D)": "Moderate",
|
| 252 |
+
"Performance (3D)": "High (lightweight wrapper, direct compilation)",
|
| 253 |
+
"Importing Models": "Manual parsing required",
|
| 254 |
+
"Ecosystem Status": "Legacy / Archived (WebGL 1.0 era)"
|
| 255 |
+
}
|
| 256 |
+
},
|
| 257 |
+
{
|
| 258 |
+
"name": "TDL",
|
| 259 |
+
"url": "https://github.com/greggman/tdl",
|
| 260 |
+
"attributes": {
|
| 261 |
+
"Primary Dimension": "N/A (Low-level WebGL helper)",
|
| 262 |
+
"Philosophy": "WebGL helper (precursor to TWGL)",
|
| 263 |
+
"Rendering Model": "Raw WebGL API (light program/buffer helper)",
|
| 264 |
+
"Ease of Use": "Low-Medium (heavy boilerplate compared to TWGL)",
|
| 265 |
+
"Control Level": "Max (direct raw WebGL execution wrapper)",
|
| 266 |
+
"Performance (2D)": "Extremely High",
|
| 267 |
+
"Performance (3D)": "Extremely High",
|
| 268 |
+
"Importing Models": "Manual parsing required",
|
| 269 |
+
"Ecosystem Status": "Legacy / Archived (completely superseded by TWGL)"
|
| 270 |
+
}
|
| 271 |
+
},
|
| 272 |
+
{
|
| 273 |
+
"name": "KickJS",
|
| 274 |
+
"url": "https://github.com/mortennobel/KickJS",
|
| 275 |
+
"attributes": {
|
| 276 |
+
"Primary Dimension": "3D (Extensible Game Engine)",
|
| 277 |
+
"Philosophy": "Component-Based WebGL Engine",
|
| 278 |
+
"Rendering Model": "Entity-Component Game Object structure",
|
| 279 |
+
"Ease of Use": "Medium-High (intuitive Unity-like component APIs)",
|
| 280 |
+
"Control Level": "Medium (driven through game objects and renderer nodes)",
|
| 281 |
+
"Performance (2D)": "Moderate",
|
| 282 |
+
"Performance (3D)": "High (supports shadow maps, skeletal animations)",
|
| 283 |
+
"Importing Models": "Custom JSON mesh serializer and shader files",
|
| 284 |
+
"Ecosystem Status": "Legacy / Archived (WebGL 1.0 era game engine)"
|
| 285 |
+
}
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"name": "nanogl",
|
| 289 |
+
"url": "https://github.com/plepers/nanogl",
|
| 290 |
+
"attributes": {
|
| 291 |
+
"Primary Dimension": "N/A (WebGL micro-framework)",
|
| 292 |
+
"Philosophy": "Modular, Un-opinionated Micro-helpers",
|
| 293 |
+
"Rendering Model": "Raw WebGL API (lightweight class wrappers)",
|
| 294 |
+
"Ease of Use": "Medium (simplifies buffers/textures/VAOs, keeps raw WebGL)",
|
| 295 |
+
"Control Level": "Extremely High (raw WebGL access through wrappers)",
|
| 296 |
+
"Performance (2D)": "Extremely High (zero framework overhead)",
|
| 297 |
+
"Performance (3D)": "Extremely High (optimized and extremely lightweight)",
|
| 298 |
+
"Importing Models": "Manual parsing required (integrates with custom loaders)",
|
| 299 |
+
"Ecosystem Status": "Active/Stable (heavily used in portfolios)"
|
| 300 |
+
}
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"name": "Alfrid",
|
| 304 |
+
"url": "https://github.com/yiwenl/Alfrid",
|
| 305 |
+
"attributes": {
|
| 306 |
+
"Primary Dimension": "N/A (WebGL 2 tool set)",
|
| 307 |
+
"Philosophy": "WebGL 2 wrappers for shader art",
|
| 308 |
+
"Rendering Model": "Raw WebGL 2 API (thin wrapper classes)",
|
| 309 |
+
"Ease of Use": "Medium (thin shortcuts for shaders, FBOs, and meshes)",
|
| 310 |
+
"Control Level": "Extremely High (wraps raw WebGL 2 context directly)",
|
| 311 |
+
"Performance (2D)": "Extremely High",
|
| 312 |
+
"Performance (3D)": "Extremely High (zero framework overhead, WebGL 2 optimized)",
|
| 313 |
+
"Importing Models": "Manual parsing required",
|
| 314 |
+
"Ecosystem Status": "Active/Stable (hugely popular in experimental creative coding)"
|
| 315 |
+
}
|
| 316 |
+
},
|
| 317 |
+
{
|
| 318 |
+
"name": "Medium",
|
| 319 |
+
"url": "https://github.com/davidpaulrosser/medium",
|
| 320 |
+
"attributes": {
|
| 321 |
+
"Primary Dimension": "N/A (WebGL 2 tool set)",
|
| 322 |
+
"Philosophy": "Progressive WebGL 2 toolkit",
|
| 323 |
+
"Rendering Model": "Raw WebGL 2 API (thin ES6 wrappers)",
|
| 324 |
+
"Ease of Use": "Medium (clean TS wrappers for attributes and pipelines)",
|
| 325 |
+
"Control Level": "Extremely High (wraps WebGL 2 context directly)",
|
| 326 |
+
"Performance (2D)": "Extremely High",
|
| 327 |
+
"Performance (3D)": "Extremely High (optimized wrappers, TS compiled)",
|
| 328 |
+
"Importing Models": "Manual parsing required",
|
| 329 |
+
"Ecosystem Status": "Legacy / Archived (historically interesting WebGL 2 wrapper)"
|
| 330 |
+
}
|
| 331 |
+
},
|
| 332 |
+
{
|
| 333 |
+
"name": "PicoGL.js",
|
| 334 |
+
"url": "https://github.com/tsherif/picogl.js",
|
| 335 |
+
"attributes": {
|
| 336 |
+
"Primary Dimension": "N/A (WebGL 2 only library)",
|
| 337 |
+
"Philosophy": "Minimal, WebGL 2 GPGPU-focused",
|
| 338 |
+
"Rendering Model": "Direct WebGL 2 draw calls & feedbacks",
|
| 339 |
+
"Ease of Use": "Medium-High (cleans up WebGL 2 entity bindings)",
|
| 340 |
+
"Control Level": "Extremely High (unlocked WebGL 2 context + GPGPU)",
|
| 341 |
+
"Performance (2D)": "Extremely High",
|
| 342 |
+
"Performance (3D)": "Extremely High (highly efficient WebGL 2 mapping)",
|
| 343 |
+
"Importing Models": "Manual parsing required",
|
| 344 |
+
"Ecosystem Status": "Active/Stable (popular for custom WebGL 2 / GPGPU render pipelines)"
|
| 345 |
+
}
|
| 346 |
+
},
|
| 347 |
+
{
|
| 348 |
+
"name": "mini-webgl",
|
| 349 |
+
"url": "https://github.com/jsantell/mini-webgl",
|
| 350 |
+
"attributes": {
|
| 351 |
+
"Primary Dimension": "3D (with 2D capabilities)",
|
| 352 |
+
"Philosophy": "Educational / Three.js-inspired toy",
|
| 353 |
+
"Rendering Model": "3D Scene Graph (Scene / Model / Camera)",
|
| 354 |
+
"Ease of Use": "High (extremely simple Three.js-like API)",
|
| 355 |
+
"Control Level": "High (unoptimized, direct code execution)",
|
| 356 |
+
"Performance (2D)": "Moderate",
|
| 357 |
+
"Performance (3D)": "Low-Moderate (strictly educational, unoptimized)",
|
| 358 |
+
"Importing Models": "Manual parsing required (provides Basic shapes)",
|
| 359 |
+
"Ecosystem Status": "Legacy / Educational (inactive)"
|
| 360 |
+
}
|
| 361 |
+
},
|
| 362 |
+
{
|
| 363 |
+
"name": "phenomenon-px",
|
| 364 |
+
"url": "https://github.com/vaneenige/phenomenon-px",
|
| 365 |
+
"attributes": {
|
| 366 |
+
"Primary Dimension": "N/A (Pixel shaders only)",
|
| 367 |
+
"Philosophy": "Minimalist pixel shader runner (~2kB)",
|
| 368 |
+
"Rendering Model": "Fullscreen quad frag shading (render callback)",
|
| 369 |
+
"Ease of Use": "Very High (simplest way to run pixel shaders)",
|
| 370 |
+
"Control Level": "High (direct GLSL fragment shader editing)",
|
| 371 |
+
"Performance (2D)": "Extremely High (screenspace pixel rendering)",
|
| 372 |
+
"Performance (3D)": "N/A",
|
| 373 |
+
"Importing Models": "N/A",
|
| 374 |
+
"Ecosystem Status": "Stable / Niche (archived/inactive)"
|
| 375 |
+
}
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"name": "zen-3d",
|
| 379 |
+
"url": "https://github.com/shawn0326/zen-3d",
|
| 380 |
+
"attributes": {
|
| 381 |
+
"Primary Dimension": "3D (with 2D capabilities)",
|
| 382 |
+
"Philosophy": "Lightweight, performance-oriented three.js alternative",
|
| 383 |
+
"Rendering Model": "3D Scene Graph (Scene / Node / Camera)",
|
| 384 |
+
"Ease of Use": "High (clean API, lightweight)",
|
| 385 |
+
"Control Level": "Medium-High (lightweight wrappers, easy custom passes)",
|
| 386 |
+
"Performance (2D)": "High",
|
| 387 |
+
"Performance (3D)": "High (lightweight engine, minimal CPU state overhead)",
|
| 388 |
+
"Importing Models": "Out-of-the-box (gltf, obj loaders in extensions)",
|
| 389 |
+
"Ecosystem Status": "Active (widely known as `t3d.js` in modern dev)"
|
| 390 |
+
}
|
| 391 |
+
},
|
| 392 |
+
{
|
| 393 |
+
"name": "GLOW",
|
| 394 |
+
"url": "https://github.com/empaempa/GLOW",
|
| 395 |
+
"attributes": {
|
| 396 |
+
"Primary Dimension": "N/A (WebGL/Shader wrapper)",
|
| 397 |
+
"Philosophy": "Object-oriented shader and context wrapper",
|
| 398 |
+
"Rendering Model": "Direct shaders & context wrapper",
|
| 399 |
+
"Ease of Use": "Medium (requires shader expertise, simplifies program linking)",
|
| 400 |
+
"Control Level": "Extremely High (direct GPU shader inputs control)",
|
| 401 |
+
"Performance (2D)": "Extremely High (zero framework overhead)",
|
| 402 |
+
"Performance (3D)": "Extremely High",
|
| 403 |
+
"Importing Models": "Manual parsing required",
|
| 404 |
+
"Ecosystem Status": "Legacy / Archived (historical WebGL 1.0 helper)"
|
| 405 |
+
}
|
| 406 |
+
},
|
| 407 |
+
{
|
| 408 |
+
"name": "helixjs",
|
| 409 |
+
"url": "https://github.com/DerSchmale/helixjs",
|
| 410 |
+
"attributes": {
|
| 411 |
+
"Primary Dimension": "3D (Game Engine)",
|
| 412 |
+
"Philosophy": "Modular ECS game engine with strict materials",
|
| 413 |
+
"Rendering Model": "Entity-Component-System (ECS) & HDR Pipeline",
|
| 414 |
+
"Ease of Use": "Medium (strict material design & ECS system setup)",
|
| 415 |
+
"Control Level": "Medium (abstracted pipelines/post-processing)",
|
| 416 |
+
"Performance (2D)": "Moderate",
|
| 417 |
+
"Performance (3D)": "High (optimized WebGL 2 HDR renderer)",
|
| 418 |
+
"Importing Models": "Out-of-the-box (`helix-io` loaders)",
|
| 419 |
+
"Ecosystem Status": "Legacy / Inactive (archived personal project)"
|
| 420 |
+
}
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"name": "GrimoireJS",
|
| 424 |
+
"url": "https://github.com/GrimoireGL/GrimoireJS",
|
| 425 |
+
"attributes": {
|
| 426 |
+
"Primary Dimension": "3D (Web-oriented)",
|
| 427 |
+
"Philosophy": "XML/GOML-driven DOM-like 3D rendering",
|
| 428 |
+
"Rendering Model": "Component-oriented scene tree via GOML XML",
|
| 429 |
+
"Ease of Use": "Very High (familiar XML markup for web developers)",
|
| 430 |
+
"Control Level": "Low-Medium (XML abstracted; requires custom JS component writing)",
|
| 431 |
+
"Performance (2D)": "Moderate",
|
| 432 |
+
"Performance (3D)": "High (optimized node-state cache compiler)",
|
| 433 |
+
"Importing Models": "Out-of-the-box (via `grimoirejs-gltf` plugins)",
|
| 434 |
+
"Ecosystem Status": "Legacy / Inactive"
|
| 435 |
+
}
|
| 436 |
+
},
|
| 437 |
+
{
|
| 438 |
+
"name": "litegl.js",
|
| 439 |
+
"url": "https://github.com/jagenjo/litegl.js",
|
| 440 |
+
"attributes": {
|
| 441 |
+
"Primary Dimension": "3D (with 2D capabilities)",
|
| 442 |
+
"Philosophy": "Direct OOP GPU buffer/shader wrapper",
|
| 443 |
+
"Rendering Model": "Direct WebGL entity abstraction classes (Mesh, Shader)",
|
| 444 |
+
"Ease of Use": "Medium-High (easy OOP wrappers, requires GL context knowledge)",
|
| 445 |
+
"Control Level": "Extremely High (thin direct buffers and shader program manipulation)",
|
| 446 |
+
"Performance (2D)": "Extremely High (direct buffer manipulation)",
|
| 447 |
+
"Performance (3D)": "Extremely High",
|
| 448 |
+
"Importing Models": "Modular (helper parsers for OBJ files)",
|
| 449 |
+
"Ecosystem Status": "Active / Stable (underpins WebGLStudio & Rendeer)"
|
| 450 |
+
}
|
| 451 |
+
},
|
| 452 |
+
{
|
| 453 |
+
"name": "CraZyPG",
|
| 454 |
+
"url": "https://github.com/PrincessGod/CraZyPG",
|
| 455 |
+
"attributes": {
|
| 456 |
+
"Primary Dimension": "N/A (WebGL 2.0 helper wrapper)",
|
| 457 |
+
"Philosophy": "Low-level WebGL 2.0 helper/loader",
|
| 458 |
+
"Rendering Model": "Raw WebGL 2.0 context with loader adapters",
|
| 459 |
+
"Ease of Use": "Low-Medium (low-level helpers)",
|
| 460 |
+
"Control Level": "Extremely High (close to raw WebGL 2.0)",
|
| 461 |
+
"Performance (2D)": "High",
|
| 462 |
+
"Performance (3D)": "High (direct WebGL 2 execution)",
|
| 463 |
+
"Importing Models": "Out-of-the-box (built-in GLTFLoader.js for WebGL 2)",
|
| 464 |
+
"Ecosystem Status": "Legacy / Inactive"
|
| 465 |
+
}
|
| 466 |
+
},
|
| 467 |
+
{
|
| 468 |
+
"name": "GLBoost",
|
| 469 |
+
"url": "https://github.com/emadurandal/GLBoost",
|
| 470 |
+
"attributes": {
|
| 471 |
+
"Primary Dimension": "3D (Render pipeline library)",
|
| 472 |
+
"Philosophy": "Balance high-level usability & low-level control",
|
| 473 |
+
"Rendering Model": "Scene Graph and Custom Render Pass / Expression",
|
| 474 |
+
"Ease of Use": "High (classic material helpers, convenient loops)",
|
| 475 |
+
"Control Level": "Medium-High (can override custom shaders cleanly)",
|
| 476 |
+
"Performance (2D)": "Moderate-High",
|
| 477 |
+
"Performance (3D)": "High",
|
| 478 |
+
"Importing Models": "Out-of-the-box (glTF 1.0/2.0 and OBJ loaders)",
|
| 479 |
+
"Ecosystem Status": "Legacy / Deprecated (superseded by new standards)"
|
| 480 |
+
}
|
| 481 |
+
},
|
| 482 |
+
{
|
| 483 |
+
"name": "redcube",
|
| 484 |
+
"url": "https://github.com/Reon90/redcube",
|
| 485 |
+
"attributes": {
|
| 486 |
+
"Primary Dimension": "3D (glTF 2.0 specialized viewer)",
|
| 487 |
+
"Philosophy": "Minimalist glTF 2.0 WebGL2/WebGPU renderer",
|
| 488 |
+
"Rendering Model": "Direct glTF 2.0 model rendering",
|
| 489 |
+
"Ease of Use": "Very High (load glTF and point to canvas)",
|
| 490 |
+
"Control Level": "Low-Medium (focuses on parsing/rendering glTF scene graph)",
|
| 491 |
+
"Performance (2D)": "N/A",
|
| 492 |
+
"Performance (3D)": "Extremely High (optimized glTF drawing & WebGL2/WebGPU)",
|
| 493 |
+
"Importing Models": "Out-of-the-box (purpose-built glTF 2.0 viewer)",
|
| 494 |
+
"Ecosystem Status": "Active (supports WebGL2 & modern WebGPU)"
|
| 495 |
+
}
|
| 496 |
+
},
|
| 497 |
+
{
|
| 498 |
+
"name": "RedGL2",
|
| 499 |
+
"url": "https://github.com/redcamel/RedGL2",
|
| 500 |
+
"attributes": {
|
| 501 |
+
"Primary Dimension": "3D (with GPGPU capabilities)",
|
| 502 |
+
"Philosophy": "High-performance comprehensive WebGL 3D library",
|
| 503 |
+
"Rendering Model": "View / Scene / Camera controller hierarchy",
|
| 504 |
+
"Ease of Use": "High (intuitive API and factory-style creation)",
|
| 505 |
+
"Control Level": "Medium-High (rich engine framework with context tools)",
|
| 506 |
+
"Performance (2D)": "High (high optimized draw arrays calls)",
|
| 507 |
+
"Performance (3D)": "Extremely High (PBR/glTF optimizations, state cachers)",
|
| 508 |
+
"Importing Models": "Out-of-the-box (comprehensive glTF loader)",
|
| 509 |
+
"Ecosystem Status": "Active / Stable (highly popular Korean WebGL engine)"
|
| 510 |
+
}
|
| 511 |
+
},
|
| 512 |
+
{
|
| 513 |
+
"name": "lightgl.js",
|
| 514 |
+
"url": "https://github.com/evanw/lightgl.js",
|
| 515 |
+
"attributes": {
|
| 516 |
+
"Primary Dimension": "3D",
|
| 517 |
+
"Philosophy": "Minimal OOP WebGL micro-helper wrapper",
|
| 518 |
+
"Rendering Model": "Direct OOP buffers & shaders (Mesh, Shader, Matrix)",
|
| 519 |
+
"Ease of Use": "Medium-High (easy OOP shapes/matrices)",
|
| 520 |
+
"Control Level": "Extremely High (direct GPU resource adapters)",
|
| 521 |
+
"Performance (2D)": "Extremely High",
|
| 522 |
+
"Performance (3D)": "Extremely High",
|
| 523 |
+
"Importing Models": "Manual parsing",
|
| 524 |
+
"Ecosystem Status": "Legacy / Archived (Evan Wallace's classic helper)"
|
| 525 |
+
}
|
| 526 |
+
},
|
| 527 |
+
{
|
| 528 |
+
"name": "p5.js",
|
| 529 |
+
"url": "https://github.com/processing/p5.js",
|
| 530 |
+
"attributes": {
|
| 531 |
+
"Primary Dimension": "2D & 3D (via WEBGL canvas option)",
|
| 532 |
+
"Philosophy": "Drawing canvas for artists & beginner coders",
|
| 533 |
+
"Rendering Model": "Immediate-mode canvas context draw commands",
|
| 534 |
+
"Ease of Use": "Extremely High (intuitive immediate drawing)",
|
| 535 |
+
"Control Level": "Low-Medium (hides context, exposes light sketch commands)",
|
| 536 |
+
"Performance (2D)": "High",
|
| 537 |
+
"Performance (3D)": "Moderate-High (for simple geometry sketching)",
|
| 538 |
+
"Importing Models": "Out-of-the-box (supports OBJ files)",
|
| 539 |
+
"Ecosystem Status": "Dominant in creative coding, actively maintained"
|
| 540 |
+
}
|
| 541 |
+
},
|
| 542 |
+
{
|
| 543 |
+
"name": "O-GL",
|
| 544 |
+
"url": "https://github.com/oframe/ogl",
|
| 545 |
+
"attributes": {
|
| 546 |
+
"Primary Dimension": "3D (with 2D capabilities)",
|
| 547 |
+
"Philosophy": "Modern, lightweight ES6 boilerplate reducer",
|
| 548 |
+
"Rendering Model": "Minimal Scene Graph (Transform / Mesh / Program)",
|
| 549 |
+
"Ease of Use": "High (very clean, light API)",
|
| 550 |
+
"Control Level": "Extremely High (unlocked context access)",
|
| 551 |
+
"Performance (2D)": "Extremely High",
|
| 552 |
+
"Performance (3D)": "Extremely High (minimal CPU frame graph)",
|
| 553 |
+
"Importing Models": "Modular (has GLTFLoader modules)",
|
| 554 |
+
"Ecosystem Status": "Active / Stable (widely popular in web agencies)"
|
| 555 |
+
}
|
| 556 |
+
},
|
| 557 |
+
{
|
| 558 |
+
"name": "WhitestormJS",
|
| 559 |
+
"url": "https://github.com/WhitestormJS/whitestorm.js",
|
| 560 |
+
"attributes": {
|
| 561 |
+
"Primary Dimension": "3D",
|
| 562 |
+
"Philosophy": "Component-oriented game engine on Three.js",
|
| 563 |
+
"Rendering Model": "Component Scene Graph with integrated Ammo.js physics",
|
| 564 |
+
"Ease of Use": "Very High (modular components, built-in physics)",
|
| 565 |
+
"Control Level": "Medium (wrapped around Three.js engine)",
|
| 566 |
+
"Performance (2D)": "Moderate",
|
| 567 |
+
"Performance (3D)": "High (Three.js optimized)",
|
| 568 |
+
"Importing Models": "Out-of-the-box (uses Three.js file loader backend)",
|
| 569 |
+
"Ecosystem Status": "Legacy / Archived"
|
| 570 |
+
}
|
| 571 |
+
},
|
| 572 |
+
{
|
| 573 |
+
"name": "Phaser",
|
| 574 |
+
"url": "https://github.com/photonstorm/phaser",
|
| 575 |
+
"attributes": {
|
| 576 |
+
"Primary Dimension": "2D (with WebGL acceleration)",
|
| 577 |
+
"Philosophy": "Fast, fun 2D game framework",
|
| 578 |
+
"Rendering Model": "2D Display List via WebGL sprite batcher",
|
| 579 |
+
"Ease of Use": "Very High (rich game-making features out-of-the-box)",
|
| 580 |
+
"Control Level": "Medium-Low (abstractions for sprites & physics systems)",
|
| 581 |
+
"Performance (2D)": "Extremely High (highly optimized sprite batch overlays)",
|
| 582 |
+
"Performance (3D)": "N/A (strictly 2D)",
|
| 583 |
+
"Importing Models": "Out-of-the-box (image and sprite maps loaders)",
|
| 584 |
+
"Ecosystem Status": "Dominant, actively maintained (HTML5 2D industry standard)"
|
| 585 |
+
}
|
| 586 |
+
},
|
| 587 |
+
{
|
| 588 |
+
"name": "OSG.js",
|
| 589 |
+
"url": "https://github.com/cedricpinson/osgjs",
|
| 590 |
+
"attributes": {
|
| 591 |
+
"Primary Dimension": "3D",
|
| 592 |
+
"Philosophy": "High-fidelity tree graphs (OpenSceneGraph port)",
|
| 593 |
+
"Rendering Model": "Node Scene Graph with culling and StateSets",
|
| 594 |
+
"Ease of Use": "Medium-Low (requires familiarity with C++ OSG syntax)",
|
| 595 |
+
"Control Level": "High (explicit state sets, culling control)",
|
| 596 |
+
"Performance (2D)": "Moderate",
|
| 597 |
+
"Performance (3D)": "Extremely High (culling/state optimization tree)",
|
| 598 |
+
"Importing Models": "Out-of-the-box (osgjs json parsing loaders)",
|
| 599 |
+
"Ecosystem Status": "Legacy / Archived"
|
| 600 |
+
}
|
| 601 |
+
},
|
| 602 |
+
{
|
| 603 |
+
"name": "Ammo.js",
|
| 604 |
+
"url": "https://github.com/kripken/ammo.js/",
|
| 605 |
+
"attributes": {
|
| 606 |
+
"Primary Dimension": "N/A (Physics Engine wrapper)",
|
| 607 |
+
"Philosophy": "Physics engine bindings via Emscripten",
|
| 608 |
+
"Rendering Model": "N/A (rigid-body solver matrices)",
|
| 609 |
+
"Ease of Use": "Low (direct Bullet port with raw pointers)",
|
| 610 |
+
"Control Level": "Extremely High (full physics calculations parameter details)",
|
| 611 |
+
"Performance (2D)": "N/A",
|
| 612 |
+
"Performance (3D)": "Outstanding (WASM physics loop solver)",
|
| 613 |
+
"Importing Models": "N/A",
|
| 614 |
+
"Ecosystem Status": "Active / Stable (foundational WebGL physics port)"
|
| 615 |
+
}
|
| 616 |
+
},
|
| 617 |
+
{
|
| 618 |
+
"name": "gl-engine",
|
| 619 |
+
"url": "https://github.com/gl-engine/gl-engine",
|
| 620 |
+
"attributes": {
|
| 621 |
+
"Primary Dimension": "3D",
|
| 622 |
+
"Philosophy": "Experimental modular ECS built on stack.gl",
|
| 623 |
+
"Rendering Model": "stack.gl modular bindings within ES6 classes",
|
| 624 |
+
"Ease of Use": "Medium (undocumented modular ES6 setup)",
|
| 625 |
+
"Control Level": "High (exposes stack.gl bindings)",
|
| 626 |
+
"Performance (2D)": "Moderate-High",
|
| 627 |
+
"Performance (3D)": "High (caches stack.gl buffers)",
|
| 628 |
+
"Importing Models": "Manual parsing (OBJ loading)",
|
| 629 |
+
"Ecosystem Status": "Legacy / Archived"
|
| 630 |
+
}
|
| 631 |
+
},
|
| 632 |
+
{
|
| 633 |
+
"name": "GLAM",
|
| 634 |
+
"url": "https://github.com/tparisi/glam",
|
| 635 |
+
"attributes": {
|
| 636 |
+
"Primary Dimension": "3D (Markup-driven)",
|
| 637 |
+
"Philosophy": "Declarative HTML/CSS style 3D document structure",
|
| 638 |
+
"Rendering Model": "Component markup trees parsed into Three.js nodes",
|
| 639 |
+
"Ease of Use": "Extremely High (familiar HTML/CSS styles)",
|
| 640 |
+
"Control Level": "Low (declarative styling maps)",
|
| 641 |
+
"Performance (2D)": "Moderate",
|
| 642 |
+
"Performance (3D)": "High (three.js compiled backend)",
|
| 643 |
+
"Importing Models": "Out-of-the-box (gltf, obj tags)",
|
| 644 |
+
"Ecosystem Status": "Legacy / Archived"
|
| 645 |
+
}
|
| 646 |
+
},
|
| 647 |
+
{
|
| 648 |
+
"name": "Deck.gl",
|
| 649 |
+
"url": "https://github.com/uber/deck.gl",
|
| 650 |
+
"attributes": {
|
| 651 |
+
"Primary Dimension": "2D & 3D (Geospatial overlays)",
|
| 652 |
+
"Philosophy": "WebGL2-powered layers for massive visual datasets",
|
| 653 |
+
"Rendering Model": "Custom layer pipelines rendering instanced geometries",
|
| 654 |
+
"Ease of Use": "High (layer configurations, integrated maps)",
|
| 655 |
+
"Control Level": "Medium (highly structured layer draw configurations)",
|
| 656 |
+
"Performance (2D)": "Extremely High (GPU aggregated scatterplot projections)",
|
| 657 |
+
"Performance (3D)": "Extremely High (renders millions of points on the GPU)",
|
| 658 |
+
"Importing Models": "Out-of-the-box (loaders.gl GeoJSON / 3D Tiles)",
|
| 659 |
+
"Ecosystem Status": "Dominant in geospatial visual analytics, active"
|
| 660 |
+
}
|
| 661 |
+
},
|
| 662 |
+
{
|
| 663 |
+
"name": "LumaGL",
|
| 664 |
+
"url": "https://github.com/uber/luma.gl",
|
| 665 |
+
"attributes": {
|
| 666 |
+
"Primary Dimension": "N/A (WebGL2/WebGPU wrapper)",
|
| 667 |
+
"Philosophy": "Performance-first context caching data-vis backend",
|
| 668 |
+
"Rendering Model": "Device models compiling attributes & device states",
|
| 669 |
+
"Ease of Use": "Medium (GPU device logic, shader hooks)",
|
| 670 |
+
"Control Level": "Extremely High (low-level GPU devices control)",
|
| 671 |
+
"Performance (2D)": "Extremely High",
|
| 672 |
+
"Performance (3D)": "Extremely High (optimizes WebGL2/WebGPU buffers)",
|
| 673 |
+
"Importing Models": "N/A (uses loaders.gl integration)",
|
| 674 |
+
"Ecosystem Status": "Active / Stable (underpins the vis.gl suite)"
|
| 675 |
+
}
|
| 676 |
+
},
|
| 677 |
+
{
|
| 678 |
+
"name": "Cesium",
|
| 679 |
+
"url": "http://cesiumjs.org/",
|
| 680 |
+
"attributes": {
|
| 681 |
+
"Primary Dimension": "3D (Geospatial Globe mapping)",
|
| 682 |
+
"Philosophy": "Professional virtual globes & GIS streaming terrain",
|
| 683 |
+
"Rendering Model": "Dynamic level-of-detail ellipsoidal tile trees",
|
| 684 |
+
"Ease of Use": "High (easy entities tracking, globe mapping)",
|
| 685 |
+
"Control Level": "Medium-High (viewer handles ellipsoidal matrix math)",
|
| 686 |
+
"Performance (2D)": "Extremely High",
|
| 687 |
+
"Performance (3D)": "Outstanding (streaming terrain tiles and 3D Tiles models)",
|
| 688 |
+
"Importing Models": "Out-of-the-box (industry standard glTF and 3D Tiles streaming)",
|
| 689 |
+
"Ecosystem Status": "Dominant in virtual globe Mapping, active"
|
| 690 |
+
}
|
| 691 |
+
},
|
| 692 |
+
{
|
| 693 |
+
"name": "xeogl",
|
| 694 |
+
"url": "https://github.com/xeolabs/xeogl",
|
| 695 |
+
"attributes": {
|
| 696 |
+
"Primary Dimension": "3D (Data-driven CAD visualizations)",
|
| 697 |
+
"Philosophy": "CAD/BIM friendly entity component visuals",
|
| 698 |
+
"Rendering Model": "Declarative data component CAD hierarchy",
|
| 699 |
+
"Ease of Use": "High (CAD/BIM assembly configurations)",
|
| 700 |
+
"Control Level": "Medium-High (CAD metadata and visual mappings control)",
|
| 701 |
+
"Performance (2D)": "Moderate",
|
| 702 |
+
"Performance (3D)": "Extremely High (optimized CAD hierarchy culling)",
|
| 703 |
+
"Importing Models": "Out-of-the-box (obj, gltf data components loaders)",
|
| 704 |
+
"Ecosystem Status": "Legacy / Stable (superseded by xeokit)"
|
| 705 |
+
}
|
| 706 |
+
},
|
| 707 |
+
{
|
| 708 |
+
"name": "PhiloGL",
|
| 709 |
+
"url": "https://github.com/senchalabs/philogl",
|
| 710 |
+
"attributes": {
|
| 711 |
+
"Primary Dimension": "3D (with data visualization layers)",
|
| 712 |
+
"Philosophy": "WebGL framework for visual charts & animation",
|
| 713 |
+
"Rendering Model": "Scene compilation with array shader options",
|
| 714 |
+
"Ease of Use": "High (simplifies setups, good animations)",
|
| 715 |
+
"Control Level": "High (granular shader compiles)",
|
| 716 |
+
"Performance (2D)": "High",
|
| 717 |
+
"Performance (3D)": "High (minimal wrapper)",
|
| 718 |
+
"Importing Models": "Manual parsing",
|
| 719 |
+
"Ecosystem Status": "Legacy / Archived"
|
| 720 |
+
}
|
| 721 |
+
},
|
| 722 |
+
{
|
| 723 |
+
"name": "A-Frame",
|
| 724 |
+
"url": "https://github.com/aframevr/aframe/",
|
| 725 |
+
"attributes": {
|
| 726 |
+
"Primary Dimension": "3D & VR",
|
| 727 |
+
"Philosophy": "DOM-driven Entity-Component-System VR layout",
|
| 728 |
+
"Rendering Model": "Three.js Scene Graph compiled from DOM elements",
|
| 729 |
+
"Ease of Use": "Extremely High (VR scenes via inline HTML tags)",
|
| 730 |
+
"Control Level": "Low-Medium (controlled via components; customizable in Three.js)",
|
| 731 |
+
"Performance (2D)": "Moderate",
|
| 732 |
+
"Performance (3D)": "Outstanding (Three.js WebXR pipelines optimized)",
|
| 733 |
+
"Importing Models": "Out-of-the-box (native gltf-model and obj-model nodes)",
|
| 734 |
+
"Ecosystem Status": "Dominant in WebXR/VR experiences, active"
|
| 735 |
+
}
|
| 736 |
+
}
|
| 737 |
+
]
|
requirements.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
numpy>=1.20.0
|
run_ultimate_pipeline.py
CHANGED
|
@@ -449,7 +449,9 @@ def run_ultimate_pipeline():
|
|
| 449 |
# LEVEL 1: RAW INGESTION & STRUCTURAL UPGRADE GATE
|
| 450 |
# --------------------------------------------------------------------------
|
| 451 |
print("\n[Level 1: Raw Ingestion & Improvement Gate] Loading and Upgrading 49 WebGL Frameworks...")
|
| 452 |
-
db_path =
|
|
|
|
|
|
|
| 453 |
if not os.path.exists(db_path):
|
| 454 |
print(f"[!] Error: {db_path} not found.")
|
| 455 |
return
|
|
|
|
| 449 |
# LEVEL 1: RAW INGESTION & STRUCTURAL UPGRADE GATE
|
| 450 |
# --------------------------------------------------------------------------
|
| 451 |
print("\n[Level 1: Raw Ingestion & Improvement Gate] Loading and Upgrading 49 WebGL Frameworks...")
|
| 452 |
+
db_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "frameworks_db.json")
|
| 453 |
+
if not os.path.exists(db_path):
|
| 454 |
+
db_path = "frameworks_db.json"
|
| 455 |
if not os.path.exists(db_path):
|
| 456 |
print(f"[!] Error: {db_path} not found.")
|
| 457 |
return
|