added optics test (undergoing)

This commit is contained in:
ykcheungab
2026-09-23 10:01:08 +08:00
parent f9662df08c
commit bc5a928852
11 changed files with 2099 additions and 9 deletions
+24
View File
@@ -63,6 +63,30 @@ printability:
max_sliver_ratio: 4.0 # longest edge / minimum width
min_patch_area_mm2: 1.0e-4 # area above which a polygon is a material feature
# Optical stack above the markers, ordered from the camera inward.
# The markers sit on the sensing surface underneath these layers, so their image
# is displaced relative to the straight-line pinhole model.
#
# ior values are LITERATURE ASSUMPTIONS, not measurements - that is what
# ior_source records, so an assumed index can never pass for a measured one.
# Replace them with measured values when available; nothing else needs to change.
optics:
marker_surface: sensing_surface
layers:
# Solids, not surface pairs: `shell` and `rubber-1` are each one closed mesh,
# so the ray enters and leaves the same object.
# Stack: camera > shell > rubber-1 > sensing_surface > rubber-2.
# rubber-2 is BEHIND the markers, so it does not refract camera light and is
# deliberately not a layer.
- name: plastic_shell
solid: shell
ior: 1.59
ior_source: assumed_pc_literature
- name: clear_rubber
solid: rubber-1
ior: 1.43
ior_source: assumed_silicone_literature
collections:
frames: FRAMES
export_compute: EXPORT_COMPUTE
@@ -11,6 +11,10 @@ artifacts:
- housing.npz
- camera_intrinsics.npz
- world_to_cam.npy
# Refracting interfaces for the optical stack, so the SDK's rectification stage
# can account for refraction (workflow §7). Additive; absent when no stack is
# declared in design.yaml.
- optics.npz
# Measured unroll maps stay in SDK (not overwritten by nominal export).
runtime_owned_by_sdk:
Binary file not shown.