Commit Graph

22 Commits

Author SHA1 Message Date
ykcheungab e8d231ec39 改用相机网格生成笔画纹理
统一笔画配置与彩色 patch 的投影网格,替换旧脚本及产物。
已验证 Blender 导出、16 项相关测试、文档与 lint 门禁。
2026-10-06 10:51:56 +08:00
ykcheungab f81418c542 将 Xynova 笔画延长至 50% 黑色覆盖率
沿现有笔画向空白处增长,保留最小线宽和笔画间隙。41 项测试通过,双 UV 矢量图无重叠。
2026-10-05 15:56:01 +08:00
ykcheungab b2c39bd1b5 生成无重叠的 0.2 mm Xynova 笔画图案
在打印页毫米坐标中筛选候选笔画,更新双 UV 产物。38 项测试通过;SVG 检查无交叠。
2026-10-05 14:56:34 +08:00
ykcheungab 30a903a299 Give the stroke pattern one mode and design.yaml tuning
The twelve experimental modes collapse to camera_compensated_width, whose ten
knobs now come from a `stroke_pattern` block, and the PNG-only binary-preview
command goes with them as a strict subset of stroke-texture.

Verified: output is byte-identical at the defaults against the previous code, a
knob change is visible in the artifacts, the suite is green and the doc gate is
clean.
2026-10-04 09:40:17 +08:00
ykcheungab 59f48d6d06 initial version of random angle strokes 2026-10-03 20:41:30 +08:00
ykcheungab e7618faed4 docs: give the multi-view design and geometry facts one home each
Two workspace documents described the multi-view ownership decision by
overlapping each other and had both gone stale: neither matched the shipped
code, and the architecture document was referenced by nothing at all. They are
archived in the workspace, and this repo now carries the parts that belong to
it.

New: docs/geometry-measurements.md. Measured properties of the r01 sensing
surface, the sensing camera, the UV layouts, the printed cell pitch and the
runtime unroll domain - topology (1032 v / 1974 t), 355.77 mm2 area with 38.1%
near-vertical wall, the off-origin centroid, 94.5% inward-facing normals, the
0.516 x 0.714 mm measured pitch against a wrong 0.205 x 0.3556 mm nominal cell,
75.6% runtime coverage, and incidence over that region (p50 55.6 deg, invariant
to adding views). Merge-mode agreement is included, with an explicit note that
these values are camera-specific and expire when a camera moves - the Xynova
surface already needs 70 deg where r01 ships 62 deg.

Wiring:
- README.md points at the measurements and says they expire.
- design-parameters.md section 4 keeps the key semantics and now links to the
  workspace record for rationale and to the measurements for data, instead of
  restating either.
- design.yaml: replace a self-referential comment pointing back at the same
  document with the keys location and the rationale location.

No behaviour change: the YAML edit is a comment, and no source file is touched.
2026-09-30 16:29:39 +08:00
ykcheungab f0454253c2 new grayscale output for testing laser, not working, will change to new design 2026-09-30 16:12:06 +08:00
ykcheungab 37e3e8400b fix algining xynova texture to uv printing fixture. 2026-09-29 16:33:31 +08:00
ykcheungab 267334d543 fix cli redundant images
finger-xynova first design completed
2026-09-28 16:18:17 +08:00
ykcheungab 88922f21ef added multi-view support on full object texture 2026-09-28 10:47:00 +08:00
ykcheungab e7dfd4f90b added ruff for code review 2026-09-27 19:21:03 +08:00
ykcheungab f91ac9d3db added uv unwarp export 2026-09-25 17:10:05 +08:00
ykcheungab c377c14474 1. added blender deformation probe for marker size picking and optimization
2. added unwarp map export in current cli, don't need to generate by precompute in sensor running
2026-09-25 15:44:44 +08:00
ykcheungab bc5a928852 added optics test (undergoing) 2026-09-23 10:01:08 +08:00
ykcheungab f9662df08c added mesh export preview 2026-09-20 13:46:58 +08:00
ykcheungab 39caecbfda added printability report when generating texture 2026-09-20 12:14:51 +08:00
ykcheungab 71c2a29ccb fixed xynova texture generation problem 2026-09-19 21:02:34 +08:00
ykcheungab 55bab861c3 update xynova texture generation yaml 2026-09-19 19:44:04 +08:00
ykcheungab a883288c13 added svg patch output 2026-09-19 15:08:57 +08:00
ykcheungab b1815b15ea adde produce + compute texture export 2026-09-18 11:25:09 +08:00
ykcheungab 026f495f77 migrated texture generation script to cli 2026-09-16 21:34:59 +08:00
ykcheungab a29ca6846c initial commit 2026-09-16 21:04:28 +08:00