diff --git a/sensors/finger-xynova/r01/design.yaml b/sensors/finger-xynova/r01/design.yaml index 18943ce..c2f8a6c 100644 --- a/sensors/finger-xynova/r01/design.yaml +++ b/sensors/finger-xynova/r01/design.yaml @@ -6,23 +6,60 @@ status: draft authoring_unit: mm meters_per_source_unit: 0.001 -source_blend: source/assembly.blend +source_blend: source/geometry.blend # Expected sensing surface topology for r01 (from shipped 30fps-0703 runtime). +# First exports from geometry.blend may differ until topology is locked. expected: - sensing_vertices: 1032 - sensing_triangles: 1974 + sensing_vertices: 2595 + sensing_triangles: 5005 frames: - world: world - camera: camera + sensor: origin_sensor + +objects: + sensing_surface: sensing_surface + cam_sensor: cam_sensor + origin_sensor: origin_sensor + +# Headless colored-patch texture generation (`orisys-design texture`). +# UV unwrapping is still done in the Blender GUI: the headless run consumes the +# UV maps already stored in source_blend and never creates or unwraps one. +# One PNG/SVG/PDF set is written per UV map below. All maps and formats share +# the settings and patch colours, so they differ only by UV layout. +# These are the revision defaults; CLI flags override every value. +texture_patch: + mesh: sensing_surface + camera: cam_sensor + uv_outputs: + produce: patch_texture_produce.png # hardware production layout + compute: patch_texture_compute.png # compute/runtime layout + width: 3700 # 1850*2 + height: 3280 # 1640*2 + # Camera frame is square (1000x1000), so equal counts make camera-space + # elements square. The original 80x45 grid was copied from a 16:9 camera. + nx: 80 + ny: 80 + color_r: 0.05 + edge_sample_grid: 5 + seed: 7 # fixed so PNG/SVG/PDF share one reproducible colour set + vector: + width_mm: 18.5 # editable SVG/PDF production page width + height_mm: 16.4 # editable SVG/PDF production page height + cross: + enabled: true + length_px: 40 + thickness_px: 3 + color: [1.0, 0.0, 0.0, 1.0] # red reference cross collections: - sensing_surface: SENSOR_SURFACE - housing: SENSOR_HOUSING - marker_pattern: MARKER_PATTERN - camera_rig: CAMERA_RIG + frames: FRAMES + export_compute: EXPORT_COMPUTE + assembly: ASSEMBLY + design_sim: DESIGN_SIM + exclude: EXCLUDE notes: | - Legacy bootstrap blend is vtbs-blender/thumb.blend copied to source/assembly.blend. - Split into sensing-surface.blend + housing.blend when two people edit geometry. + Canonical source is geometry.blend with named collections and objects. + Compute export uses sensing_surface + cam_sensor relative to origin_sensor. + Studio observation cameras are derived from mesh bounds; no cam_viz required. diff --git a/sensors/finger-xynova/r01/source/geometry.blend b/sensors/finger-xynova/r01/source/geometry.blend new file mode 100644 index 0000000..8324365 Binary files /dev/null and b/sensors/finger-xynova/r01/source/geometry.blend differ diff --git a/sensors/finger/r01/design.yaml b/sensors/finger/r01/design.yaml index 19eed2e..aa1d08b 100644 --- a/sensors/finger/r01/design.yaml +++ b/sensors/finger/r01/design.yaml @@ -1,6 +1,6 @@ sensor: finger revision: r01 -status: draft +status: experimental # Authoring unit in Blender (mm). Export converts using meters_per_source_unit. authoring_unit: mm