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: false

A 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:

SlotExact cardFunction
docketstoryteller.card.prop_mirror_tape_afteruse_docket.v1binds the M-17/D17/R4 collision
source_tapestoryteller.card.prop_mirror_source_tape_row.v1identifies the repair and mirror version
panel_geometrystoryteller.card.prop_mirror_panel_geometry_map.v1records layers, hinge, separation, and displacement
camera_ray_mapstoryteller.card.prop_mirror_camera_ray_map.v1maps Camera A/B to H-3 and S-2
composite_readerstoryteller.card.prop_mirror_reflected_body_reader.v1records the R4 crop/reversal and one-body read
body_witnessstoryteller.card.prop_mirror_understudy_objection.v1records Lian’s simultaneous S-2 body claim
proof_bridgestoryteller.card.prop_mirror_adhesive_bridge.v1aligns laminate seam to the 41-pixel displacement
future_routestoryteller.card.prop_mirror_future_route_notice.v1names 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: false

deghost_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_pending

Every 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
    - futureRouteCost

Phantom-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: false

Non-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.