q0idmation // draw, rig, animate, export .q0s log inregister

visible rope attachments

The body artwork and its link must share attachment positions on each rendered frame. Solver poses alone are not enough: sparse baked object keys interpolate between poses while links have a drawing on every frame. Live script overrides and animated scale/skew can also move artwork away from a raw solver endpoint.

q0physics::attachment_point maps the original collider attachment into the artwork's local space, then through the displayed affine transform. The shared links::fit_link_lines deforms each connected run along arc length and fixes its endpoints exactly. It accepts explicit attachment flags, so a cut or broken end is never joined back to the body. Rope, chain and spring looks are generated from the fitted path; the physics rest length and break forces are unchanged.

The editor records per-frame run attachment flags during simulation. Its bake samples the final body keys through the standard timeline evaluator, including sparse tweens and authored blank cells, before fitting each link drawing. Active cells and tween destinations are indexed rather than repeatedly scanning the whole timeline. The physics preview uses this same bake path. Existing baked drawings require another bake; exported movies require another export.

The player fits live links against the runtime scene's displayed affine before generating strokes. Cutting and breakage use the same connected ranges as the raw physics geometry.

Validation: cargo check --locked -p q0editor -p q0player -p q0physics and cargo build --release --locked -p q0editor -p q0player succeeded. No tests were added or run. The reported visual scenario has not been exercised in a native window in this environment.