fast-layer 0.1.1

WIP: A fast WebAssembly-based layer for high-performance MapLibre/Mapbox
Documentation
pub const VERTEX_SOURCE: &str = r#"#version 300 es
#define PI 3.14159265359

in vec3 a_position;
in vec3 a_normal;
in vec2 a_uv;
uniform mat4 u_matrix;
uniform mat4 u_model_matrix;
out vec2 v_uv;
out vec3 v_normal;
void main() {
    v_uv = a_uv;
    v_normal = a_normal;

    mat4 projection_matrix = mat4(
        1.0, 0.0, 0.0, 0.0,
        0.0, 1.0, 0.0, 0.0,
        0.0, 0.0, -1.0, 0.0,
        0.0, 0.0, 0.0, 1.0
    );
    
    mat4 move_back = mat4(
        1.0, 0.0, 0.0, 0.0,
        0.0, 1.0, 0.0, 0.0,
        0.0, 0.0, 1.0, 0.0,
        0.0, 0.0, 0.0, 1.0
    );
    gl_Position = u_matrix * u_model_matrix * vec4(a_position, 1.0);
}
"#;

pub const FRAGMENT_SOURCE: &str = r#"#version 300 es
precision highp float;
in vec2 v_uv;
in vec3 v_normal;
out highp vec4 fragColor;
void main() {
    // Visualize UVs as color for now (r = u, g = v)
    fragColor = vec4(v_normal, 1.0);
}
"#;