6.2 Spec 2: SH4 Math

D3-TUI will use SPECTRE’s SH4 math for vertex transformations:

/* In d3tui_render.c */
void d3tui_render_transform_vertices(d3tui_render_ctx_t *ctx,
                                     d3tui_vertex_t *verts,
                                     size_t count) {
    sh_vec4_t *sh_verts = (sh_vec4_t *)malloc(count * sizeof(sh_vec4_t));
    
    // Convert to SH4 format
    for (size_t i = 0; i < count; i++) {
        sh_verts[i][0] = verts[i].x;
        sh_verts[i][1] = verts[i].y;
        sh_verts[i][2] = verts[i].z;
        sh_verts[i][3] = 1.0f;
    }
    
    // Transform using SPECTRE
    sh_transform_points(sh_verts, sh_verts, count);
    
    // Convert back
    for (size_t i = 0; i < count; i++) {
        verts[i].x = sh_verts[i][0];
        verts[i].y = sh_verts[i][1];
        verts[i].z = sh_verts[i][2];
    }
    
    free(sh_verts);
}