chore: checkpoint web Blender feature-gap work, docs and tests
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

- update native web_engine sources and rebuilt wasm artifacts
- add task cards, status notes and tooling scripts
- add web e2e specs, tutorial UI sources and tutorial assets
- sync golden task manifests and audit records

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-11 10:46:55 +08:00
parent f3e21c6b98
commit d1e6b63d54
665 changed files with 59149 additions and 39194 deletions

View File

@@ -11,6 +11,13 @@ const nodeSockets = (type: ShaderNodeType): ShaderSocketIR[] => {
if (type === "PRINCIPLED") return [input("Base Color", "Base Color", "COLOR", [0.8, 0.8, 0.8, 1]), input("Metallic", "Metallic", "VALUE", 0), input("Roughness", "Roughness", "VALUE", 0.4), output("BSDF", "BSDF", "SHADER")];
if (type === "MATERIAL_OUTPUT") return [input("Surface", "Surface", "SHADER")];
if (type === "IMAGE_TEXTURE") return [input("Vector", "Vector", "VECTOR", [0, 0, 0]), output("Color", "Color", "COLOR")];
if (type === "MAPPING") return [input("Vector", "Vector", "VECTOR", [0, 0, 0]), input("Location", "Location", "VECTOR", [0, 0, 0]), input("Rotation", "Rotation", "VECTOR", [0, 0, 0]), input("Scale", "Scale", "VECTOR", [1, 1, 1]), output("Vector", "Vector", "VECTOR")];
if (type === "TEX_COORD") return ["Generated", "Normal", "UV", "Object", "Camera", "Window", "Reflection"].map((name) => output(name, name, "VECTOR"));
if (type === "UV_MAP") return [output("UV", "UV", "VECTOR")];
if (type === "BUMP") return [input("Strength", "Strength", "VALUE", 1), input("Distance", "Distance", "VALUE", 1), input("Height", "Height", "VALUE", 1), input("Normal", "Normal", "VECTOR", [0, 0, 0]), output("Normal", "Normal", "VECTOR")];
if (type === "SEPARATE_COLOR") return [input("Color", "Color", "COLOR", [0, 0, 0, 1]), output("Red", "Red", "VALUE"), output("Green", "Green", "VALUE"), output("Blue", "Blue", "VALUE")];
if (type === "OBJECT_INFO") return [output("Location", "Location", "VECTOR"), output("Color", "Color", "COLOR"), output("Alpha", "Alpha", "VALUE"), output("Object Index", "Object Index", "VALUE"), output("Material Index", "Material Index", "VALUE"), output("Random", "Random", "VALUE")];
if (type === "MIX") return [input("Factor_Float", "Factor", "VALUE", 0.5), input("A_Float", "A", "VALUE", 0), input("B_Float", "B", "VALUE", 0), output("Result_Float", "Result", "VALUE")];
return [];
};