a7b69bd038
Adds worker/src/models.rs (parent-chain blockstate/model resolution, texture-variable substitution reusing Phase 12's atlas keys), routes non-cube blocks through new per-element mesh emission in mesh.rs while leaving full-cube blocks on the existing cube mesher, and threads a per-server ModelContext (vanilla worker-wide + modded per-job) through main.rs. Modded model JSON is stored in a new block_models Postgres table and read alongside the existing (previously write-only) block_registry table. Fixes a pre-existing face-culling bug as a side effect of excluding non-cube voxels from the cube mesher's input. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015tKdPZt78zbPUZMXWzKEKt
9 lines
282 B
SQL
9 lines
282 B
SQL
CREATE TABLE IF NOT EXISTS "block_models" (
|
|
"server_id" uuid NOT NULL REFERENCES "servers"("id") ON DELETE CASCADE,
|
|
"kind" text NOT NULL,
|
|
"name" text NOT NULL,
|
|
"json" text NOT NULL,
|
|
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
PRIMARY KEY ("server_id", "kind", "name")
|
|
);
|