chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer, web workflow engine and protocol, tooling, docs and task records. Large generated evidence, user-testing archives, build snapshots and imported test assets remain untracked. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
25
web/tests/fixtures/create-mesh-editor-input.py
vendored
Normal file
25
web/tests/fixtures/create-mesh-editor-input.py
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
import bpy
|
||||
import pathlib
|
||||
|
||||
root = pathlib.Path(__file__).resolve().parents[3]
|
||||
bpy.ops.wm.open_mainfile(filepath=str(root / "tests/files/web/basic_scene.blend"))
|
||||
mesh = bpy.data.objects["BasicCube"].data
|
||||
# Reverse one face of the closed cube so normal repair has observable work.
|
||||
vertices = [tuple(vertex.co) for vertex in mesh.vertices]
|
||||
faces = [tuple(polygon.vertices) for polygon in mesh.polygons]
|
||||
faces[0] = tuple(reversed(faces[0]))
|
||||
mesh.clear_geometry()
|
||||
mesh.from_pydata(vertices, [], faces)
|
||||
mesh.update()
|
||||
uv = mesh.uv_layers.active or mesh.uv_layers.new(name="UVMap")
|
||||
for corner in uv.data:
|
||||
corner.uv = (0.125, 0.875)
|
||||
bridge = bpy.data.meshes.new("WebBridgeMesh")
|
||||
bridge.from_pydata([(-1, -1, 0), (1, -1, 0), (1, 1, 0), (-1, 1, 0),
|
||||
(-1, -1, 2), (1, -1, 2), (1, 1, 2), (-1, 1, 2)], [],
|
||||
[(3, 2, 1, 0), (4, 5, 6, 7)])
|
||||
bridge.update()
|
||||
obj = bpy.data.objects.new("WebBridgeObject", bridge)
|
||||
bpy.context.scene.collection.objects.link(obj)
|
||||
obj.location.x = 4
|
||||
bpy.ops.wm.save_as_mainfile(filepath=str(root / "tests/files/web/mesh_editor_scene.blend"), check_existing=False)
|
||||
Reference in New Issue
Block a user