Deployment timeline
Discrete event snapshots bridging the released stowed and deployed endpoint states. Dwell periods, motion interpolation spans, and short-event elision are now declared explicitly instead of implying an every-millisecond state history.
Design signature: e7299394ee064c9cc1ae90143c5a37f3f3657daab38c5a3e8f4110b675699929
Render manifest: outputs/deployment_timeline/render_manifest.json · Sequence: outputs/deployment_timeline/sequence.json
Motion report · Sampled states JSON · Element histories JSON · Summary JSON · Event log CSV
Sampling coverage
Policy boundary_event_capture_under_0p5s elides sub-events shorter than 0.500 s and keeps them in the event log plus the nearest boundary sample.
Effective timestep coverage across the full deployment is 3.000 to 11.333 s.
| Interval | Kind | Time span (s) | Samples | Effective dt (s) | Interpolation |
|---|---|---|---|---|---|
| Hold the fully stowed launch stack while the pyro command propagates. | dwell | 0 - 5 | 2 | 5.000 | hold |
| Retract the launch-release actuators and unload the launch-only restraint path. | motion | 5 - 20 | 4 | 5.000 | piecewise_monotonic |
| Release the packed sunshield latch line and allow the first small layer separation. | motion | 20 - 35 | 3 | 7.500 | linear_with_terminal_state_change |
| De-energize the hold-down line and break the membrane stack into deployment travel. | motion | 35 - 44 | 4 | 3.000 | linear_with_boundary_release |
| Sample the long unfurl span with coarse event-driven interpolation rather than dense time marching. | motion | 44 - 180 | 13 | 11.333 | linear_monotonic |
| Carry the last deploy-and-capture approach with coarse samples while the radiator support carriage hits its stops, the leaves complete their hinge rotation, and the final latch event closes the thermal shell. | motion | 180 - 420 | 25 | 10.000 | linear_with_terminal_state_change |
Radiator Deployment Mechanism
Mechanism: radiator_side_dual_leaf_deployment
Driver: radiator_support_link_drive using radiator_mount x 4. Four radiator support links sweep the radiator package away from the bus-side outrigger once the thermal-shell release line is free.
Driver activation events: radiator_support_link_drive_release
Driver-controlled state fields: radiator_drive_fraction, radiator_support_carriage_fraction, radiator_leaf_rotation_fraction, radiator_closeout_extension_fraction
Support carriage: radiator_support_carriage carrying radiator_mount_beam_upper, radiator_mount_beam_lower. The upper and lower mount beams act as the rigid carriage that carries the radiator leaf hinge line and the deployed stop pads.
| State field | Model key |
|---|---|
| drive_fraction | radiator_drive_fraction |
| carriage_fraction | radiator_support_carriage_fraction |
| leaf_rotation_fraction | radiator_leaf_rotation_fraction |
| closeout_extension_fraction | radiator_closeout_extension_fraction |
| Leaf | Hinge | Stowed hinge origin | Deployed hinge origin | Axis unit vector |
|---|---|---|---|---|
| Port radiator leaf | radiator_leaf_port_hinge | [-1.224744871391589, -0.8296896369201714, -2.637] | [-0.08000000000000007, -2.92, -2.874744871391589] | [0.5773502691896257, 0.5773502691896257, 0.5773502691896257] |
| Starboard radiator leaf | radiator_leaf_starboard_hinge | [-1.224744871391589, -0.8296896369201714, -2.603] | [1.1006207261596574, -2.92, -2.874744871391589] | [0.5773502691896257, 0.5773502691896257, 0.5773502691896257] |
Closeouts: Top, bottom, aft, and front closeout panels ride on the support carriage and extend into the final thermal shell as the leaves open.
Deployed capture: radiator_deployed_capture via radiator_mount_beam_upper, radiator_mount_beam_lower. Upper and lower mount-beam stop pads arrest the sweep and the radiator-frame capture tabs seat against them to lock the deployed cold-view geometry.
Event log
| Time (s) | Type | Mechanism | Title |
|---|---|---|---|
| 5 | pyro | launch_restraint_pyros | Fracture launch-restraint pyro locks |
| 20 | actuator | launch_release_actuator | Retract launch release actuators |
| 35 | latch | sunshield_stow_latch | Release packed sunshield latches |
| 44 | electromagnet | sunshield_stack_hold | De-energize sunshield hold-down electromagnets |
| 44 | release | sunshield_hinge_release | Release membrane hinge line into deployment travel |
| 44 | release | radiator_support_link_drive | Release radiator support-link drive into deployment sweep |
| 420 | latch | sunshield_deployed_latch | Capture deployed latch line |
Deployment state screening
46 sampled states track 61 watched components across 30360 watched proxy-pair checks.
Minimum proxy clearance across the sampled deployment is -0.024000 m.
| Family | Peak velocity util | Peak acceleration util | Peak ang velocity util | Peak ang acceleration util | Peak stress util |
|---|---|---|---|---|---|
| detector_thermal_strap | 0.208 | 0.124 | 0.136 | 0.086 | 0.000003 |
| launch_release_actuator | 0.415 | 0.124 | 0.000 | 0.000 | 0.000000 |
| launch_restraint | 0.436 | 0.164 | 0.865 | 0.865 | 0.000001 |
| radiator | 0.894 | 0.706 | 0.533 | 0.121 | 0.000001 |
| radiator_connector | 0.969 | 0.692 | 0.000 | 0.000 | 0.000000 |
| radiator_frame | 0.927 | 0.724 | 0.533 | 0.121 | 0.000001 |
| radiator_harness | 0.388 | 0.231 | 0.934 | 0.576 | 0.000000 |
| radiator_isolator | 0.806 | 0.480 | 0.302 | 0.189 | 0.000000 |
| radiator_mount | 0.285 | 0.170 | 0.982 | 0.136 | 0.000000 |
| radiator_mount_beam | 0.570 | 0.339 | 0.000 | 0.000 | 0.000000 |
| radiator_service_loop | 0.775 | 0.461 | 0.000 | 0.000 | 0.000000 |
| radiator_shroud | 0.966 | 0.858 | 0.000 | 0.000 | 0.000001 |
| sunshield_inner_frame | 0.793 | 0.517 | 0.000 | 0.000 | 0.000000 |
| sunshield_membrane | 0.793 | 0.517 | 0.000 | 0.000 | 0.000000 |
| sunshield_outer_frame | 0.793 | 0.517 | 0.000 | 0.000 | 0.000000 |



Sampled motion evidence
The published deployment movie is sourced from these sampled states rather than only the declared milestone steps. Use the detailed report to inspect per-element pose histories, translational and rotational rates, and adjacent-transition consistency.
Open motion report · Download sampled state ledger · Download per-element histories
Collision screening result: clear.
Checks
| Check | Verdict | Actual |
|---|---|---|
| deployment_step_ids_unique | PASS | [] |
| deployment_step_records_complete | PASS | [] |
| deployment_step_timestamps_monotonic | PASS | [0.0, 5.0, 20.0, 35.0, 44.0, 180.0, 420.0] |
| deployment_event_ids_unique | PASS | [] |
| deployment_event_records_complete | PASS | [] |
| deployment_event_metadata_complete | PASS | [] |
| deployment_event_types_covered | PASS | [] |
| deployment_event_step_references_valid | PASS | {"bad_step_event_refs": [], "invalid_event_refs": []} |
| deployment_camera_coverage_declared | PASS | [] |
| deployment_render_manifest_complete | PASS | {"manifest_signature_match": true, "missing_manifest_pairs": [], "missing_render_files": [], "missing_sample_manifest_pairs": [], "missing_sample_render_files": []} |
| deployment_sampling_policy_declared | PASS | [] |
| deployment_sampling_intervals_cover_step_pairs | PASS | {"actual_coverage": {"effective_timestep_max_s": 11.333334, "effective_timestep_min_s": 3.0, "end_s": 420.0, "interval_count": 6, "start_s": 0.0}, "coverage_mismatch": [], "coverage_span_matches": true, "missing_interval_pairs": [], "reported_coverage": {"effective_timestep_max_s": 11.333334, "effective_timestep_min_s": 3.0, "end_s": 420.0, "interval_count": 6, "interval_kind_counts": {"dwell": 1, "motion": 5}, "start_s": 0.0, "timeline_duration_s": 420.0, "timeline_sample_times_s": [0.0, 5.0, 10.0, 15.0, 20.0, 27.5, 35.0, 38.0, 41.0, 44.0, 55.333333, 66.666667, 78.0, 89.333333, 100.666667, 112.0, 123.333333, 134.666667, 146.0, 157.333333, 168.666667, 180.0, 190.0, 200.0, 210.0, 220.0, 230.0, 240.0, 250.0, 260.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0, 380.0, 390.0, 400.0, 410.0, 420.0], "unique_sample_time_count": 46}, "sampling_interval_issues": [], "unexpected_interval_pairs": []} |
| deployment_sampling_interval_kinds_covered | PASS | {"missing_interval_kinds": [], "present_interval_kinds": ["dwell", "motion"]} |
| deployment_motion_sampling_rules_complete | PASS | [] |
| deployment_motion_interpolation_contracts_complete | PASS | [] |
| deployment_radiator_mechanism_definition_complete | PASS | [] |
| deployment_motion_event_elision_policy_complete | PASS | [] |
| deployment_sequence_spans_stowed_to_deployed | PASS | {"first_state_name": "stowed_locked", "last_state_name": "deployed", "spacing_end_m": 0.12, "spacing_start_m": 0.035} |
| deployment_endpoint_geometry_valid | PASS | {"deployed": [], "stowed": []} |
| deployment_hardware_inventory_grounded | PASS | [] |
| deployment_element_state_histories_complete | PASS | {"element_count": 61, "interpolated_history_records": 2379, "issues": [], "moment_count": 51} |
| deployment_element_state_transitions_physically_consistent | PASS | {"transition_record_count": 2745, "violations": []} |
| deployment_rigid_hardware_shape_preserved | PASS | {"explicit_non_rigid_families": ["detector_thermal_strap", "radiator_connector", "radiator_harness", "radiator_isolator", "radiator_mount", "radiator_service_loop"], "rigid_families": ["radiator", "radiator_frame", "radiator_mount_beam", "radiator_shroud"], "violation_count": 0, "violations": []} |
| deployment_radiator_endpoint_contact_closed | PASS | {"component_counts": {"carriage_beams": 2, "frames": 2, "isolators": 4, "panels": 2}, "frame_support_paths": [{"contact_count": 2, "expected_contact_count": 2, "frame": "radiator_frame_panel_1", "support_contacts": [{"beam_contacts": [{"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532}], "frame_clearance_m": -0.07484895054858498, "isolator": "radiator_isolator_1"}, {"beam_contacts": [{"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584}], "frame_clearance_m": -0.03498287275827572, "isolator": "radiator_isolator_3"}]}, {"contact_count": 2, "expected_contact_count": 2, "frame": "radiator_frame_panel_2", "support_contacts": [{"beam_contacts": [{"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532}], "frame_clearance_m": -0.07484895054858498, "isolator": "radiator_isolator_2"}, {"beam_contacts": [{"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584}], "frame_clearance_m": -0.03498287275827572, "isolator": "radiator_isolator_4"}]}], "isolator_carriage_clearances": [{"best_beam": {"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532, "passes": true}, "isolator": "radiator_isolator_1"}, {"best_beam": {"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532, "passes": true}, "isolator": "radiator_isolator_2"}, {"best_beam": {"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584, "passes": true}, "isolator": "radiator_isolator_3"}, {"best_beam": {"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584, "passes": true}, "isolator": "radiator_isolator_4"}], "issues": [], "panel_frame_clearances": [{"clearance_m": -0.009999999999999787, "frame": "radiator_frame_panel_1", "panel": "radiator_panel_1", "passes": true}, {"clearance_m": -0.009999999999999787, "frame": "radiator_frame_panel_2", "panel": "radiator_panel_2", "passes": true}], "step_id": "deployed_and_captured"} |
| deployment_sampled_state_kinematics_within_limits | PASS | {"peak_acceleration_utilization": 0.8582400009537771, "peak_angular_acceleration_utilization": 0.8649050976135999, "peak_angular_velocity_utilization": 0.982364298405934, "peak_velocity_utilization": 0.968982698058022, "sample_count": 46, "violations": []} |
| deployment_sampled_state_stress_within_allocation | PASS | {"peak_stress_utilization": 2.7794371243184984e-06, "violations": []} |
| deployment_sampled_state_interference_free | PASS | {"collision_count": 0, "collisions": [], "minimum_clearance_m": -0.02400000000000002} |
Stowed launch-locked configuration
Launch restraints, packed sunshield latches, and hold-down electromagnets keep the deployed hardware in the launch stack while the radiator support links and leaf hinges remain locked in the stowed package.


Launch restraint pyros fired
Pyro release devices fracture the restraint lock path while the actuators still hold the launch stack aligned and the radiator-side drive remains locked out.


Launch restraints retracted
Release actuators retract and remove the launch-only restraint load path before the thermal shell starts to unfold, leaving the radiator support-link drive armed but not yet translating.


Sunshield stow latches released
The packed sunshield latch line is released so the membrane stack can start separating without the launch hold-down hardware fighting the motion; the radiator package is still held at its stowed capture features.


Sunshield membrane stack released
Hold-down electromagnets de-energize and the hinge/release line allows the membrane stack to begin separating into deployment travel while the radiator support carriage starts sweeping outboard under the released support-link drive.


Sunshield mid-deploy snapshot
The thermal shell is partway through the release path; the radiator support carriage is mostly swept outboard, the twin radiator leaves are rotating open on their hinge lines, and the shroud closeouts are extending toward the deployed stop condition.


Deployed and captured
The membrane stack reaches the released spacing and the deployed latch line captures the final thermal-shell geometry after the radiator support carriage hits its hard stops and the frame capture tabs seat in the cold-view position.

