added multi-view support on full object texture

This commit is contained in:
ykcheungab
2026-09-28 10:47:00 +08:00
parent dd6eaefdf6
commit 88922f21ef
15 changed files with 345423 additions and 6 deletions
+30
View File
@@ -50,6 +50,36 @@ texture_patch:
thickness_px: 3
color: [1.0, 0.0, 0.0, 1.0] # red reference cross
# Multi-view production textures (`orisys-design texture-views`). STEP 1 ONLY: each pair
# writes its own independent PNG/SVG/PDF. There is no ownership partition, no seam handling
# and no merge, so the two layouts may cover the same surface region and that overlap is
# deliberately left unresolved.
#
# The PATTERN is grounded on the sensing camera, not on the production views. `uv_1` and
# `uv_2` are two different *parameterisations* of the one surface pattern that
# `texture_compute` carries, so the printed marker stays a single pattern across the whole
# surface. `cam_uv_1` / `cam_uv_2` are the AUTHORING cameras used in Blender (Project from
# View (Bounds)) to create those layouts — they are not pattern sources. Passing cam_sensor
# as the projection camera with uv_1 / uv_2 as the interpolated layers is exactly what
# patch_projection.build_patch_geometry already supports.
#
# Rendering settings (page size, grid, palette, seed) come from `texture_patch` above,
# because they are decisions about the printed page rather than about a particular layout.
# `produce`/`compute` and `orisys-design texture` are untouched.
#
# Scope note: `uv_1`/`uv_2` are related by roughly a 90 degree rotation with a flip — no
# rigid or affine transform maps one onto the other, because each is a different projection
# of a curved surface. Resolving the overlap therefore has to happen in surface space and is
# a later step; see src/orisys_sensor_design/texture_views.py.
texture_patch_views:
enabled: true
pattern_camera: cam_sensor # same pattern source as `compute`
pairs:
- id: uv_1 # layout authored from cam_uv_1
uv_map: uv_1
- id: uv_2 # layout authored from cam_uv_2
uv_map: uv_2
# Post-generation printability inspection (`orisys-design inspect`). Advisory
# only: it reports a verdict but never blocks generation or changes exit codes.
# Millimetres are measured on the vector page declared above.