M-17 Specular Ray-Path Ledger / M-17 镜面光路账本机制
This mechanism models a repaired mirror as a versioned optical graph. It answers one narrow question: how did light from two physical body coordinates reach Camera A and Camera B during source take D17, and which later edit consumed those paths as one body?
It does not model likeness consent, prop ownership, blocking permission, mirror rights, wardrobe identity, or universal broadcast clearance.
Reflection-topology rule
specular_ray_path_ledger:
mirror_asset_version: M-17 / safety-laminate revision 2
source_repair_row: storyteller.card.prop_mirror_source_tape_row.v1
construction_layers:
- front safety laminate
- rear silvered sheet
hinge_tilt_degrees: 17.4
layer_separation_mm: 6
secondary_image_offset_px_at_camera_b: 41
source_take: D17
body_coordinates:
lead: H-3 / hero spike
understudy: S-2 / safety lane
simultaneous: true
camera_paths:
camera_a: direct lead body from H-3
camera_b_front: lead reflection from H-3
camera_b_rear: Lian Mere secondary reflection from S-2
edit_reuse:
destination: recap R4 lead-continuity master
source: Camera B mirror insert right third
reversed: true
universal_single_body_read: falseA repair row can identify a mirror version without proving its secondary image. A blocking row can identify a body coordinate without proving the ray path. A camera master can contain a real reflection without proving that every visible part came from one body. The ledger is valid only while all three layers remain separate and linked.
Exact assignment contract
M-17 Specular Ray-Path Review requires these eight exact cards in the current hand and in these exact slots:
| Slot | Exact card | Function |
|---|---|---|
docket | storyteller.card.prop_mirror_tape_afteruse_docket.v1 | binds the M-17/D17/R4 collision |
source_tape | storyteller.card.prop_mirror_source_tape_row.v1 | identifies the repair and mirror version |
panel_geometry | storyteller.card.prop_mirror_panel_geometry_map.v1 | records layers, hinge, separation, and displacement |
camera_ray_map | storyteller.card.prop_mirror_camera_ray_map.v1 | maps Camera A/B to H-3 and S-2 |
composite_reader | storyteller.card.prop_mirror_reflected_body_reader.v1 | records the R4 crop/reversal and one-body read |
body_witness | storyteller.card.prop_mirror_understudy_objection.v1 | records Lian’s simultaneous S-2 body claim |
proof_bridge | storyteller.card.prop_mirror_adhesive_bridge.v1 | aligns laminate seam to the 41-pixel displacement |
future_route | storyteller.card.prop_mirror_future_route_notice.v1 | names every downstream master that consumes the composite |
Arbitrary cards, duplicate assignment, tag-only matches, catalog-only cards, missing slots, virtual placeholders, and omitted branch choice fail. Every option repeats the exact slot-to-card map in requiredSlotCardIds.
Version and irreversibility rules
version_rules:
reblocking_changes_old_master: false
reblocking_requires_new_take: true
replacing_rear_layer_preserves_original_geometry_trace: false
replacing_rear_layer_creates_new_mirror_version: true
split_master_grants_edit_permission: false
naming_reflected_performer_grants_likeness_consent: false
scoped_effect_can_travel_to_unlisted_take_or_edit: false
truthful_reshoot_cleans_old_camera_b_master: falsedeghost_or_replace_reflective_layer is intentionally destructive: it improves future optical safety while consuming the original geometry trace. reblock_understudy_out_of_secondary_path and reshoot_truthful_axis change only new takes. They cannot rewrite what Camera B captured in D17. split_direct_and_reflection_masters changes edit custody, not performer permission.
Branch contract
branches:
survey_and_bind_take_geometry:
state_after: take_geometry_bound
relief: measured optical source map
cost: laser survey and edit delay
future_effect: mirror_geometry_checksum_required
reblock_understudy_out_of_secondary_path:
state_after: secondary_path_reblocked
relief: new take avoids secondary path
cost: rehearsal and schedule loss; old master remains disputed
future_effect: new_take_blocking_receipt_required
deghost_or_replace_reflective_layer:
state_after: reflective_layer_replaced_trace_destroyed
relief: future secondary reflection removed
cost: original optical trace and hero mirror look consumed
future_effect: new_mirror_version_calibration_required
split_direct_and_reflection_masters:
state_after: body_masters_split
relief: direct and reflected sources stop sharing one master
cost: edit capacity and shot-specific readback burden
future_effect: shot_specific_master_readback_required
name_understudy_as_reflected_performer:
state_after: understudy_reflection_named
relief: Lian's physical source contribution survives
cost: dual-performer credit and sponsor conflict
future_effect: dual_performer_caption_and_archive_row_required
reshoot_truthful_axis:
state_after: truthful_axis_reshoot
relief: new master carries an accountable body map
cost: production slot and performer oxygen spent
future_effect: old_mirror_master_quarantine_required
license_scoped_double_body_effect:
state_after: scoped_double_body_effect
relief: D17 and R4 retain the desired ghost
cost: dual-persona liability and no cross-edit travel
future_effect: scene_take_scope_citation_required
accept_phantom_lead_default:
state_after: phantom_lead_pending
relief: immediate recap continuity
cost: phantom-lead risk and understudy erasure
future_effect: phantom_lead_default_pendingEvery branch changes at least three counter or durable-state surfaces and emits exactly one branch state and one named future effect.
Counter surfaces
counter_surfaces:
optical_proof:
- rayPathIntegrity
- sourceGeometryIntegrity
- evidenceTraceLoss
- reflectedBodyIntegrity
- compositeBodyRisk
production_and_edit:
- editDelay
- editCapacityLoad
- rehearsalLoad
- scheduleLoss
- productionSlotLoss
- opticalSafety
people_and_reality:
- performerClaimHeat
- understudyErasure
- phantomLeadRisk
- dualPersonaLiability
- broadcastTruth
- publicAccountability
- sponsorPressure
- immediateStability
- futureRouteCostPhantom-lead default contract
accept_phantom_lead_default arms prop_mirror_tape.default_pending. M-17 Phantom Lead Hardening then exposes two stable outcomes:
reconstruct_secondary_ray_path— rebuild the Lian/S-2 rear-layer path, keep the old master as disputed optical evidence, and require future geometry readback;admit_phantom_lead_hardened— record the impossible double-position lead and carry an understudy-reflection correction obligation into every future master.
Both outcomes set phantom_default, move at least three counters or durable states, and preserve the source collision rather than converting it into clean performer identity.
Authority boundary
authority_boundary:
provesSpecularRayPathForNamedTakeOnly: true
grantsCurrentPerformerIdentity: false
grantsBlockingConsent: false
grantsLikenessConsent: false
grantsEditReusePermission: false
grantsSponsorClearance: false
grantsArchiveOwnership: false
grantsUniversalBroadcastPermission: falseNon-goals
- Not a replacement for makeup-mirror likeness/custody review.
- Not a stage-spike or scene-change blocking authority review.
- Not generic prop-continuity afteruse.
- Not a contractual mirror-right or territorial mirror-relay decision.
- Not wardrobe batch or costume-silhouette identity reconstruction.
- Not satisfied by naming one reader, one claimant, or one consent boundary.
- Not allowed to infer current performer identity from a ray path.