← Back to MSX
Tests — Debug Build

No test data.

0 passed
0 failed
roundtrip_audio_def_file_refok
roundtrip_audio_def_embeddedok
polygon_decodes_as_closed_polyline_not_as_polygon_variantok
roundtrip_circleok
roundtrip_ellipseok
roundtrip_conic_gradient_fieldsok
roundtrip_animation_timelineok
roundtrip_group_with_transformok
roundtrip_image_embeddedok
roundtrip_lineok
roundtrip_linear_gradientok
roundtrip_nested_groupsok
roundtrip_layer_blend_and_clipok
roundtrip_opacity_zero_elementok
roundtrip_path_arcok
roundtrip_parametric_circlesok
roundtrip_path_cubic_bezierok
roundtrip_path_triangleok
roundtrip_polygonok
roundtrip_radial_gradientok
roundtrip_polylineok
roundtrip_rect_roundedok
roundtrip_quickfunc_badgeok
roundtrip_sdf_smooth_union_variadicok
roundtrip_shader_def_fieldsok
roundtrip_splatok
roundtrip_sdf_subtractok
roundtrip_stroke_dasharrayok
roundtrip_textok
roundtrip_use_elementok
roundtrip_many_elements_compression_ratiook
tests::element_with_no_matching_track_is_untouchedok
tests::animated_translate_adds_onto_existing_static_translateok
tests::group_containing_sdf_and_splat_children_animate_independently_of_the_groupok
tests::identity_matrix_check_sanityok
tests::image_opacity_and_transform_animate_like_other_elementsok
tests::layer_opacity_field_is_multiplied_directlyok
tests::loop_mode_wraps_time_before_evaluating_tracksok
tests::layer_z_index_field_is_overridden_not_composedok
tests::layer_z_index_is_untouched_without_a_trackok
tests::mixed_scene_animates_sdf_and_splat_independentlyok
tests::opacity_track_multiplies_existing_style_opacityok
tests::rotate_delta_pivots_the_whole_statically_positioned_element_around_the_parent_originok
tests::scene_with_no_tracks_is_returned_unchangedok
tests::tracks_recurse_into_group_childrenok
tests::sdf_transform_animates_like_other_elementsok
tests::splat_fields_are_updated_directly_since_it_has_no_transformok
tests::translate_track_composes_onto_absent_static_transformok
animation::tests::animated_property_byte_roundtripok
animation::tests::ease_in_out_is_continuous_at_the_midpointok
animation::tests::easing_byte_roundtripok
animation::tests::easing_curves_are_monotonic_increasingok
animation::tests::easing_boundaries_are_exact_for_every_curveok
animation::tests::evaluate_applies_the_destination_keyframes_easingok
animation::tests::evaluate_empty_track_returns_noneok
animation::tests::evaluate_exact_keyframe_time_returns_its_exact_valueok
animation::tests::evaluate_ignores_out_of_order_keyframe_inputok
animation::tests::evaluate_single_keyframe_is_constant_everywhereok
animation::tests::evaluate_holds_before_first_and_after_last_keyframeok
animation::tests::evaluate_linear_midpoint_is_the_averageok
animation::tests::loop_mode_byte_roundtripok
animation::tests::max_time_finds_the_latest_keyframeok
animation::tests::scale_and_opacity_identity_is_one_everything_else_is_zerook
animation::tests::loop_wraps_back_to_zero_each_cycleok
animation::tests::once_clamps_at_the_end_instead_of_wrappingok
animation::tests::ping_pong_alternates_forward_and_backward_each_cycleok
animation::tests::z_index_parse_and_dixscript_str_roundtripok
animation::tests::zero_duration_always_resolves_to_zerook
canvas::tests::explicit_duration_with_no_tracks_is_not_animatedok
canvas::tests::new_scene_has_no_animation_by_defaultok
canvas::tests::tracks_with_explicit_duration_are_animatedok
canvas::tests::tracks_without_explicit_duration_infer_it_from_keyframesok
color::tests::bytesok
color::tests::hex3ok
color::tests::hex6ok
gradient::tests::shader_def_id_and_svg_fallbackok
color::tests::rgba_fok
color::tests::url_preservedok
gradient::tests::stop_roundtripok
layer::layer_reorder_tests::equal_z_index_keeps_original_document_orderok
layer::layer_reorder_tests::non_layer_elements_keep_their_exact_slotsok
layer::layer_reorder_tests::two_layers_reorder_by_z_index_regardless_of_document_orderok
layer::layer_reorder_tests::zero_or_one_layer_is_returned_unchangedok
media::tests::anchor_byte_roundtripok
media::tests::anchor_dixscript_str_roundtripok
media::tests::bottom_right_anchor_offsets_by_full_extentok
media::tests::center_anchor_offsets_by_half_extentok
media::tests::garbage_sniffs_as_noneok
media::tests::jpeg_signature_sniffs_as_jpegok
media::tests::id3_tagged_mp3_sniffs_as_mp3ok
media::tests::ogg_signature_sniffs_as_oggok
media::tests::png_signature_sniffs_as_pngok
media::tests::short_input_does_not_panicok
media::tests::top_left_anchor_is_the_identityok
media::tests::unrecognized_anchor_string_falls_back_to_top_leftok
media::tests::wav_signature_sniffs_as_wavok
path::tests::arc_flagsok
path::tests::d_string_roundtripok
path::tests::triangleok
primitives::tests::bbox_expandok
primitives::tests::distanceok
primitives::tests::fmt_stripsok
primitives::tests::viewbox_rtok
sdf::tests::sdf_tree_constructsok
media::tests::bare_mp3_frame_sync_sniffs_as_noneok
sdf::tests::smooth_union_preserves_kok
splat::tests::center_is_oneok
splat::tests::effective_radius_rangeok
splat::tests::falls_off_at_sigmaok
style::tests::fillrule_rtok
sdf::tests::subtract_chainingok
style::tests::flags_fill_onlyok
path::tests::relative_preservedok
style::tests::fw_normal_omittedok
style::tests::linecap_allok
style::tests::opacity_1_omittedok
style::tests::opacity_half_presentok
style::tests::ta_start_omittedok
transform::tests::identity_concatok
transform::tests::parse_translateok
transform::tests::matrix_bytesok
transform::tests::rotate_90ok
transform::tests::svg_attr_rtok
compiler::tests::compile_elem_count_in_headerok
compiler::tests::compile_header_dimensionsok
compiler::tests::compile_produces_valid_header_magicok
compiler::tests::compile_uncompressed_no_compress_flagok
compiler::tests::explicit_duration_and_loop_mode_survive_with_no_tracksok
compiler::tests::compile_compressed_sets_flagok
compiler::tests::audio_def_roundtripsok
compiler::tests::animation_tracks_survive_roundtripok
compiler::tests::image_element_with_embedded_source_roundtripsok
compiler::tests::rect_ry_none_does_not_inherit_rxok
compiler::tests::path_d_raw_survives_roundtrip_byte_for_byteok
compiler::tests::image_element_with_file_ref_source_roundtripsok
compiler::tests::scene_without_animation_is_unaffectedok
decoder::tests::font_weight_none_roundtrips_as_noneok
decoder::tests::paint_color_roundtripok
decoder::tests::paint_currentcolor_rtok
decoder::tests::paint_none_roundtripok
decoder::tests::paint_ref_roundtripok
decoder::tests::string_pool_roundtripok
decoder::tests::style_roundtripok
decoder::tests::text_anchor_none_roundtrips_as_noneok
decoder::tests::transform_rotate_with_center_roundtripok
decoder::tests::transform_translate_roundtripok
effect_codec::tests::blur_roundtripok
effect_codec::tests::drop_shadow_roundtripok
effect_codec::tests::outer_glow_roundtripok
encoder::tests::intern_string_deduplicatesok
encoder::tests::write_paint_colorok
encoder::tests::write_paint_none_is_single_byteok
encoder::tests::write_u16_leok
header::tests::animations_flag_roundtripsok
header::tests::bad_magic_rejectedok
header::tests::bad_version_rejectedok
header::tests::serialize_parse_roundtripok
path_codec::tests::arc_roundtripok
path_codec::tests::binary_roundtripok
sdf_codec::tests::circle_roundtripok
sdf_codec::tests::nested_subtract_roundtripok
sdf_codec::tests::smooth_union_roundtripok
compiler::tests::splat_fill_roundtrips_both_present_and_absentok
compiler::tests::sdf_splat_layer_roundtripok
compiler::tests::many_repeated_small_subpaths_survive_compressed_roundtripok
shader_def_survives_binary_roundtrip_uncompressedok
shader_def_survives_alongside_gradients_and_elementsok
shader_def_with_no_uniforms_roundtripsok
tests::animations_match_accepts_f32_roundtrip_noiseok
tests::animations_match_catches_a_real_differenceok
tests::animations_match_catches_loop_mode_and_durationok
tests::animations_match_catches_easing_differenceok
tests::extract_media_errors_on_unknown_idok
tests::extract_media_writes_embedded_audio_with_detected_extensionok
tests::load_scene_bytes_rejects_invalid_inputok
tests::extract_media_honors_explicit_output_pathok
tests::load_scene_bytes_detects_binaryok
tests::load_scene_bytes_detects_dixscript_sourceok
tests::audio_def_parses_via_the_same_media_source_machineryok
tests::animations_default_to_empty_and_onceok
tests::animation_track_rejects_unknown_propertyok
tests::animation_tracks_duration_and_loop_modeok
tests::audio_def_with_embedded_data_decodes_base64ok
tests::audio_def_with_embedded_data_that_does_not_sniff_as_audio_still_parsesok
tests::basic_rect_and_circleok
tests::image_element_rejects_data_that_does_not_sniff_as_a_known_image_formatok
tests::image_element_with_source_ref_does_not_touch_base64_at_allok
tests::image_element_requires_exactly_one_of_data_or_source_refok
tests::linear_gradient_defok
tests::shader_def_defaults_entry_point_and_uniformsok
tests::image_element_with_embedded_data_parses_and_decodesok
tests::sdf_splat_and_layerok
tests::shader_def_requires_fallback_colorok
tests::shader_def_with_uniformsok
tests::shader_uniform_rejects_wrong_arityok
tests::transform_object_formok
tests::transform_string_formok
blend::tests::divide_by_zero_saturates_to_whiteok
blend::tests::overlay_matches_hardlight_with_swapped_argsok
blend::tests::multiply_with_black_backdrop_yields_blackok
blend::tests::normal_blend_opaque_source_replaces_backdropok
blend::tests::multiply_with_white_backdrop_keeps_sourceok
blend::tests::screen_is_brighter_than_either_inputok
blend::tests::zero_alpha_source_leaves_backdrop_untouchedok
color::tests::opaque_over_anything_replaces_itok
color::tests::straight_alpha_roundtripok
color::tests::transparent_over_anything_is_a_no_opok
tile::tests::fill_sets_every_pixelok
tile::tests::set_and_get_pixel_roundtripok
tile::tests::new_target_is_zeroedok
tile::tests::out_of_bounds_set_is_ignored_not_panickingok
tile::tests::tile_rows_covers_full_height_without_overlapok
effects::tests::blur_with_zero_sigma_is_a_no_opok
composite::tests::layer_at_full_opacity_normal_blend_matches_direct_drawok
composite::tests::zero_opacity_layer_leaves_backdrop_untouchedok
geom::tests::identity_round_tripsok
geom::tests::rotate_then_invert_cancels_outok
geom::tests::singular_matrix_has_no_inverseok
geom::tests::translate_then_invert_cancels_outok
image::tests::center_anchor_positions_the_image_around_its_own_midpointok
image::tests::embedded_png_renders_opaque_pixels_at_the_expected_positionok
image::tests::garbage_bytes_do_not_panic_and_paint_nothingok
image::tests::missing_file_ref_does_not_panic_and_paints_nothingok
image::tests::opacity_scales_the_composited_alphaok
image::tests::transparent_source_pixels_leave_backdrop_untouchedok
pixel::tests::roundtrip_through_bytesok
rasterizer::tests::arc_degenerate_same_point_does_not_panicok
rasterizer::tests::arc_semicircle_builds_a_valid_pathok
rasterizer::tests::circle_path_bounds_match_diameterok
rasterizer::tests::combine_with_no_local_transform_returns_parent_unchangedok
rasterizer::tests::ellipse_path_is_well_formedok
rasterizer::tests::rounded_rect_keeps_the_same_overall_extentok
rasterizer::tests::sharp_rect_produces_a_pathok
sdf_raster::tests::antialias_is_opaque_well_inside_and_transparent_well_outsideok
sdf_raster::tests::bounds_cover_a_simple_circleok
sdf_raster::tests::circle_inside_evaluates_negativeok
sdf_raster::tests::union_bounds_cover_both_childrenok
splat_raster::tests::opaque_splat_paints_pixels_near_centerok
splat_raster::tests::splat_far_outside_canvas_is_a_no_opok
effects::tests::blur_softens_a_hard_edgeok
splat_raster::tests::splat_fill_overrides_the_plain_color_fieldok
effects::tests::drop_shadow_extends_alpha_beyond_the_original_shapeok
tests::equal_z_index_falls_back_to_plain_document_orderok
tests::z_index_flips_which_overlapping_layer_wins_the_pixelok
effects::tests::inner_glow_stays_within_the_original_silhouetteok
rect_filled_with_shader_ref_paints_fallback_colorok
unresolvable_ref_paints_nothing_rather_than_panickingok
sdf_stroke_and_fill_resolve_independently_against_different_defsok
sdf_gradient_ref_still_works_after_the_defs_threading_fixok
sdf_filled_with_shader_ref_paints_fallback_colorok
effects::tests::blur_params_matches_wgsl_std_layout_sizeok
effects::tests::kernel_is_symmetric_and_peaks_at_centerok
effects::tests::kernel_never_empty_even_at_zero_radiusok
effects::tests::kernel_normalizes_to_unit_massok
effects::tests::kernel_respects_max_taps_capok
image::tests::image_params_matches_the_wgsl_struct_sizeok
image::tests::top_left_image_no_transform_maps_to_the_four_canvas_corners_of_its_own_footprintok
image::tests::quad_indices_form_two_triangles_covering_all_four_cornersok
layer::tests::blend_params_matches_the_wgsl_struct_sizeok
effects::tests::kernel_has_no_nan_or_negative_weightsok
layer::tests::composite_params_matches_the_wgsl_struct_sizeok
layer::tests::group_contains_layer_does_not_need_to_look_inside_a_found_layers_childrenok
layer::tests::group_contains_layer_true_through_nested_groupok
layer::tests::group_contains_layer_false_with_no_layer_anywhereok
layer::tests::group_contains_layer_true_for_direct_layer_childok
layer::tests::paint_order_leaves_a_layer_free_group_inside_one_runok
layer::tests::paint_order_recurses_into_a_group_split_for_its_own_local_orderingok
layer::tests::paint_order_splits_a_layer_containing_group_out_of_its_runok
layer::tests::paint_order_still_reorders_top_level_layers_by_z_index_alongside_a_group_splitok
layer::tests::wgsl_blend_port_matches_real_rust_referenceok
layer::tests::wgsl_formula_would_still_be_correct_for_normal_if_ever_routed_hereok
layer::tests::wgsl_full_composite_formula_matches_referenceok
sdf::tests::flatten_circle_produces_one_opok
sdf::tests::collect_sdf_nodes_skips_layer_childrenok
sdf::tests::collect_sdf_nodes_still_recurses_through_groupsok
sdf::tests::flatten_subtract_pushes_a_then_b_then_opok
sdf::tests::mask_params_force_opaque_white_fill_and_disable_strokeok
sdf::tests::node_bounding_quad_returns_four_vertices_and_six_indices_for_a_circleok
shader::tests::pack_uniforms_matches_plasma_wgsl_layout_by_handok
sdf::tests::node_bounding_quad_returns_none_for_a_non_invertible_transformok
shader::tests::pack_uniforms_vec3_then_scalar_does_not_over_padok
shader::tests::pack_uniforms_with_no_declared_uniforms_is_just_timeok
splat::tests::collect_splats_recurses_through_groupsok
splat::tests::collect_splats_skips_layer_childrenok
splat::tests::effective_radius_grows_with_sigmaok
splat::tests::resolve_shader_def_finds_a_shader_ref_on_a_splats_fillok
splat::tests::to_instance_resolves_a_gradient_fill_instead_of_the_plain_color_fieldok
splat::tests::to_instance_bakes_opacity_into_alphaok
sdf::tests::flatten_smooth_union_reverses_child_push_orderok
tests::layer_shader_fill_executes_for_a_vector_shape_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::layer_shader_fill_executes_for_a_splat_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::layer_blur_effect_bleeds_color_across_a_hard_edge_if_a_gpu_adapter_is_availableok
tests::darken_blend_mode_at_half_opacity_only_partially_darkens_if_a_gpu_adapter_is_availableok
tests::multiply_blend_mode_actually_multiplies_if_a_gpu_adapter_is_availableok
tests::renders_a_filled_rect_if_a_gpu_adapter_is_availableok
tests::renders_a_layer_at_half_opacity_if_a_gpu_adapter_is_availableok
vector::shader_routing_tests::flat_filled_rect_is_unaffected_by_shader_routingok
vector::shader_routing_tests::gradient_ref_is_not_mistaken_for_a_shader_refok
vector::shader_routing_tests::plain_tessellate_scene_still_flat_fills_shader_refs_no_collector_availableok
vector::shader_routing_tests::shader_filled_rect_is_routed_to_the_shader_collector_not_the_flat_batchok
vector::shader_routing_tests::tessellate_elements_with_shaders_diverts_a_shader_ref_into_the_collectorok
tests::renders_a_splat_if_a_gpu_adapter_is_availableok
tests::layer_shader_fill_executes_for_an_sdf_node_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::renders_an_sdf_circle_if_a_gpu_adapter_is_availableok
tests::embedded_image_renders_as_data_uri_with_correct_mime_and_anchor_offsetok
tests::file_ref_image_renders_href_as_plain_path_not_a_data_uriok
tests::layer_emits_blend_mode_css_and_filterok
tests::polygon_and_polyline_share_closed_flag_dispatchok
tests::sdf_falls_back_to_commentok
tests::renders_basic_shapes_with_expected_attrsok
tests::renders_gradient_defsok
tests::shader_def_emits_a_documented_comment_not_a_paint_serverok
tests::shape_referencing_a_shader_def_still_gets_its_url_fill_attributeok
tests::splat_generates_radial_gradient_fallbackok
tests::splat_fill_overrides_color_in_the_svg_fallback_gradientok
tests::splat_fill_resolves_correctly_even_nested_inside_a_groupok
tests::z_index_reorders_emitted_g_elements_not_just_dataok
field::tests::composed_field_matches_free_function_callok
field::tests::smooth_union_struct_softens_the_seam_between_separate_shapesok
field::tests::subtract_struct_carves_a_holeok
ops::tests::intersect_requires_bothok
ops::tests::smooth_subtract_zero_k_matches_hard_subtractok
ops::tests::smooth_union_blends_below_hard_minimumok
ops::tests::smooth_union_zero_k_matches_hard_unionok
ops::tests::subtract_excludes_b_regionok
shapes::tests::arc_within_range_behaves_like_ringok
ops::tests::union_picks_closer_surfaceok
shapes::tests::arc_outside_range_distances_to_nearest_capok
shapes::tests::circle_signsok
shapes::tests::ring_inside_band_is_negativeok
shapes::tests::rounded_box_zero_radius_matches_sharp_boxok
shapes::tests::segment_distance_at_midpoint_is_zerook
compositor::tests::single_full_alpha_contribution_replaces_backgroundok
gaussian::tests::effective_radius_matches_f64_referenceok
gaussian::tests::matches_f64_reference_at_centerok
gaussian::tests::matches_f64_reference_off_centerok
gaussian::tests::opacity_scales_peak_valueok
input::tests::dropped_file_ignores_other_eventsok
input::tests::dropped_file_extracts_the_pathok
playback::tests::frame_interval_is_roughly_60hzok
playback::tests::loop_never_settlesok
playback::tests::once_stops_at_or_past_durationok
playback::tests::once_keeps_playing_before_durationok
playback::tests::once_with_zero_duration_never_playsok
playback::tests::ping_pong_never_settlesok
renderer::tests::load_scene_bytes_detects_binaryok
renderer::tests::load_scene_bytes_rejects_invalid_inputok
renderer::tests::load_scene_bytes_detects_dixscript_sourceok
Tests — Release Build

No test data.

0 passed
0 failed
polygon_decodes_as_closed_polyline_not_as_polygon_variantok
roundtrip_audio_def_embeddedok
roundtrip_animation_timelineok
roundtrip_audio_def_file_refok
roundtrip_circleok
roundtrip_ellipseok
roundtrip_conic_gradient_fieldsok
roundtrip_image_embeddedok
roundtrip_lineok
roundtrip_group_with_transformok
roundtrip_layer_blend_and_clipok
roundtrip_linear_gradientok
roundtrip_nested_groupsok
roundtrip_opacity_zero_elementok
roundtrip_path_arcok
roundtrip_parametric_circlesok
roundtrip_path_cubic_bezierok
roundtrip_path_triangleok
roundtrip_polygonok
roundtrip_polylineok
roundtrip_rect_roundedok
roundtrip_quickfunc_badgeok
roundtrip_radial_gradientok
roundtrip_sdf_subtractok
roundtrip_sdf_smooth_union_variadicok
roundtrip_shader_def_fieldsok
roundtrip_splatok
roundtrip_stroke_dasharrayok
roundtrip_textok
roundtrip_use_elementok
roundtrip_many_elements_compression_ratiook
tests::element_with_no_matching_track_is_untouchedok
tests::animated_translate_adds_onto_existing_static_translateok
tests::group_containing_sdf_and_splat_children_animate_independently_of_the_groupok
tests::identity_matrix_check_sanityok
tests::layer_z_index_field_is_overridden_not_composedok
tests::image_opacity_and_transform_animate_like_other_elementsok
tests::layer_z_index_is_untouched_without_a_trackok
tests::layer_opacity_field_is_multiplied_directlyok
tests::loop_mode_wraps_time_before_evaluating_tracksok
tests::mixed_scene_animates_sdf_and_splat_independentlyok
tests::opacity_track_multiplies_existing_style_opacityok
tests::rotate_delta_pivots_the_whole_statically_positioned_element_around_the_parent_originok
tests::scene_with_no_tracks_is_returned_unchangedok
tests::sdf_transform_animates_like_other_elementsok
tests::splat_fields_are_updated_directly_since_it_has_no_transformok
tests::tracks_recurse_into_group_childrenok
tests::translate_track_composes_onto_absent_static_transformok
animation::tests::animated_property_byte_roundtripok
animation::tests::ease_in_out_is_continuous_at_the_midpointok
animation::tests::easing_boundaries_are_exact_for_every_curveok
animation::tests::easing_curves_are_monotonic_increasingok
animation::tests::evaluate_applies_the_destination_keyframes_easingok
animation::tests::easing_byte_roundtripok
animation::tests::evaluate_exact_keyframe_time_returns_its_exact_valueok
animation::tests::evaluate_empty_track_returns_noneok
animation::tests::evaluate_holds_before_first_and_after_last_keyframeok
animation::tests::evaluate_ignores_out_of_order_keyframe_inputok
animation::tests::evaluate_linear_midpoint_is_the_averageok
animation::tests::evaluate_single_keyframe_is_constant_everywhereok
animation::tests::loop_mode_byte_roundtripok
animation::tests::loop_wraps_back_to_zero_each_cycleok
animation::tests::max_time_finds_the_latest_keyframeok
animation::tests::once_clamps_at_the_end_instead_of_wrappingok
animation::tests::scale_and_opacity_identity_is_one_everything_else_is_zerook
canvas::tests::explicit_duration_with_no_tracks_is_not_animatedok
animation::tests::ping_pong_alternates_forward_and_backward_each_cycleok
animation::tests::z_index_parse_and_dixscript_str_roundtripok
animation::tests::zero_duration_always_resolves_to_zerook
canvas::tests::new_scene_has_no_animation_by_defaultok
canvas::tests::tracks_with_explicit_duration_are_animatedok
color::tests::bytesok
canvas::tests::tracks_without_explicit_duration_infer_it_from_keyframesok
color::tests::hex3ok
color::tests::url_preservedok
color::tests::hex6ok
color::tests::rgba_fok
gradient::tests::shader_def_id_and_svg_fallbackok
gradient::tests::stop_roundtripok
layer::layer_reorder_tests::equal_z_index_keeps_original_document_orderok
layer::layer_reorder_tests::non_layer_elements_keep_their_exact_slotsok
layer::layer_reorder_tests::zero_or_one_layer_is_returned_unchangedok
media::tests::anchor_byte_roundtripok
media::tests::anchor_dixscript_str_roundtripok
media::tests::center_anchor_offsets_by_half_extentok
media::tests::bottom_right_anchor_offsets_by_full_extentok
media::tests::garbage_sniffs_as_noneok
media::tests::bare_mp3_frame_sync_sniffs_as_noneok
media::tests::id3_tagged_mp3_sniffs_as_mp3ok
media::tests::jpeg_signature_sniffs_as_jpegok
media::tests::ogg_signature_sniffs_as_oggok
media::tests::short_input_does_not_panicok
media::tests::png_signature_sniffs_as_pngok
media::tests::top_left_anchor_is_the_identityok
media::tests::unrecognized_anchor_string_falls_back_to_top_leftok
media::tests::wav_signature_sniffs_as_wavok
path::tests::arc_flagsok
path::tests::relative_preservedok
path::tests::d_string_roundtripok
path::tests::triangleok
primitives::tests::bbox_expandok
layer::layer_reorder_tests::two_layers_reorder_by_z_index_regardless_of_document_orderok
primitives::tests::distanceok
primitives::tests::viewbox_rtok
sdf::tests::sdf_tree_constructsok
sdf::tests::smooth_union_preserves_kok
sdf::tests::subtract_chainingok
primitives::tests::fmt_stripsok
splat::tests::center_is_oneok
splat::tests::falls_off_at_sigmaok
splat::tests::effective_radius_rangeok
style::tests::fillrule_rtok
style::tests::fw_normal_omittedok
style::tests::flags_fill_onlyok
style::tests::ta_start_omittedok
style::tests::linecap_allok
style::tests::opacity_1_omittedok
style::tests::opacity_half_presentok
transform::tests::rotate_90ok
transform::tests::matrix_bytesok
transform::tests::identity_concatok
transform::tests::parse_translateok
transform::tests::svg_attr_rtok
compiler::tests::compile_elem_count_in_headerok
compiler::tests::compile_header_dimensionsok
compiler::tests::compile_produces_valid_header_magicok
compiler::tests::compile_compressed_sets_flagok
compiler::tests::compile_uncompressed_no_compress_flagok
compiler::tests::animation_tracks_survive_roundtripok
compiler::tests::explicit_duration_and_loop_mode_survive_with_no_tracksok
compiler::tests::audio_def_roundtripsok
compiler::tests::path_d_raw_survives_roundtrip_byte_for_byteok
compiler::tests::image_element_with_embedded_source_roundtripsok
compiler::tests::rect_ry_none_does_not_inherit_rxok
compiler::tests::scene_without_animation_is_unaffectedok
compiler::tests::splat_fill_roundtrips_both_present_and_absentok
decoder::tests::font_weight_none_roundtrips_as_noneok
decoder::tests::paint_color_roundtripok
compiler::tests::sdf_splat_layer_roundtripok
decoder::tests::paint_currentcolor_rtok
decoder::tests::paint_none_roundtripok
decoder::tests::paint_ref_roundtripok
decoder::tests::string_pool_roundtripok
decoder::tests::style_roundtripok
decoder::tests::text_anchor_none_roundtrips_as_noneok
compiler::tests::image_element_with_file_ref_source_roundtripsok
decoder::tests::transform_translate_roundtripok
decoder::tests::transform_rotate_with_center_roundtripok
effect_codec::tests::outer_glow_roundtripok
encoder::tests::intern_string_deduplicatesok
encoder::tests::write_paint_colorok
encoder::tests::write_paint_none_is_single_byteok
encoder::tests::write_u16_leok
header::tests::animations_flag_roundtripsok
header::tests::bad_magic_rejectedok
header::tests::bad_version_rejectedok
header::tests::serialize_parse_roundtripok
path_codec::tests::arc_roundtripok
path_codec::tests::binary_roundtripok
sdf_codec::tests::circle_roundtripok
sdf_codec::tests::nested_subtract_roundtripok
effect_codec::tests::blur_roundtripok
sdf_codec::tests::smooth_union_roundtripok
effect_codec::tests::drop_shadow_roundtripok
compiler::tests::many_repeated_small_subpaths_survive_compressed_roundtripok
shader_def_survives_binary_roundtrip_uncompressedok
shader_def_survives_alongside_gradients_and_elementsok
shader_def_with_no_uniforms_roundtripsok
tests::animations_match_accepts_f32_roundtrip_noiseok
tests::animations_match_catches_a_real_differenceok
tests::animations_match_catches_easing_differenceok
tests::animations_match_catches_loop_mode_and_durationok
tests::extract_media_errors_on_unknown_idok
tests::extract_media_writes_embedded_audio_with_detected_extensionok
tests::extract_media_honors_explicit_output_pathok
tests::load_scene_bytes_detects_binaryok
tests::load_scene_bytes_rejects_invalid_inputok
tests::load_scene_bytes_detects_dixscript_sourceok
tests::animation_track_rejects_unknown_propertyok
tests::animation_tracks_duration_and_loop_modeok
tests::animations_default_to_empty_and_onceok
tests::audio_def_parses_via_the_same_media_source_machineryok
tests::audio_def_with_embedded_data_decodes_base64ok
tests::audio_def_with_embedded_data_that_does_not_sniff_as_audio_still_parsesok
tests::image_element_requires_exactly_one_of_data_or_source_refok
tests::image_element_rejects_data_that_does_not_sniff_as_a_known_image_formatok
tests::basic_rect_and_circleok
tests::image_element_with_embedded_data_parses_and_decodesok
tests::image_element_with_source_ref_does_not_touch_base64_at_allok
tests::shader_def_defaults_entry_point_and_uniformsok
tests::sdf_splat_and_layerok
tests::shader_def_requires_fallback_colorok
tests::linear_gradient_defok
tests::transform_object_formok
tests::shader_uniform_rejects_wrong_arityok
tests::shader_def_with_uniformsok
tests::transform_string_formok
blend::tests::divide_by_zero_saturates_to_whiteok
blend::tests::multiply_with_black_backdrop_yields_blackok
blend::tests::multiply_with_white_backdrop_keeps_sourceok
blend::tests::normal_blend_opaque_source_replaces_backdropok
blend::tests::overlay_matches_hardlight_with_swapped_argsok
blend::tests::screen_is_brighter_than_either_inputok
blend::tests::zero_alpha_source_leaves_backdrop_untouchedok
color::tests::opaque_over_anything_replaces_itok
color::tests::straight_alpha_roundtripok
color::tests::transparent_over_anything_is_a_no_opok
tile::tests::fill_sets_every_pixelok
tile::tests::new_target_is_zeroedok
tile::tests::set_and_get_pixel_roundtripok
tile::tests::tile_rows_covers_full_height_without_overlapok
tile::tests::out_of_bounds_set_is_ignored_not_panickingok
effects::tests::blur_with_zero_sigma_is_a_no_opok
composite::tests::layer_at_full_opacity_normal_blend_matches_direct_drawok
composite::tests::zero_opacity_layer_leaves_backdrop_untouchedok
effects::tests::blur_softens_a_hard_edgeok
geom::tests::identity_round_tripsok
geom::tests::rotate_then_invert_cancels_outok
geom::tests::singular_matrix_has_no_inverseok
geom::tests::translate_then_invert_cancels_outok
effects::tests::inner_glow_stays_within_the_original_silhouetteok
image::tests::embedded_png_renders_opaque_pixels_at_the_expected_positionok
image::tests::center_anchor_positions_the_image_around_its_own_midpointok
effects::tests::drop_shadow_extends_alpha_beyond_the_original_shapeok
image::tests::garbage_bytes_do_not_panic_and_paint_nothingok
image::tests::missing_file_ref_does_not_panic_and_paints_nothingok
image::tests::transparent_source_pixels_leave_backdrop_untouchedok
image::tests::opacity_scales_the_composited_alphaok
pixel::tests::roundtrip_through_bytesok
rasterizer::tests::arc_degenerate_same_point_does_not_panicok
rasterizer::tests::arc_semicircle_builds_a_valid_pathok
rasterizer::tests::rounded_rect_keeps_the_same_overall_extentok
rasterizer::tests::circle_path_bounds_match_diameterok
rasterizer::tests::combine_with_no_local_transform_returns_parent_unchangedok
rasterizer::tests::ellipse_path_is_well_formedok
rasterizer::tests::sharp_rect_produces_a_pathok
sdf_raster::tests::antialias_is_opaque_well_inside_and_transparent_well_outsideok
sdf_raster::tests::bounds_cover_a_simple_circleok
sdf_raster::tests::circle_inside_evaluates_negativeok
sdf_raster::tests::union_bounds_cover_both_childrenok
splat_raster::tests::splat_far_outside_canvas_is_a_no_opok
splat_raster::tests::splat_fill_overrides_the_plain_color_fieldok
tests::z_index_flips_which_overlapping_layer_wins_the_pixelok
tests::equal_z_index_falls_back_to_plain_document_orderok
splat_raster::tests::opaque_splat_paints_pixels_near_centerok
rect_filled_with_shader_ref_paints_fallback_colorok
unresolvable_ref_paints_nothing_rather_than_panickingok
sdf_gradient_ref_still_works_after_the_defs_threading_fixok
sdf_stroke_and_fill_resolve_independently_against_different_defsok
sdf_filled_with_shader_ref_paints_fallback_colorok
effects::tests::blur_params_matches_wgsl_std_layout_sizeok
effects::tests::kernel_has_no_nan_or_negative_weightsok
effects::tests::kernel_is_symmetric_and_peaks_at_centerok
effects::tests::kernel_never_empty_even_at_zero_radiusok
image::tests::quad_indices_form_two_triangles_covering_all_four_cornersok
effects::tests::kernel_normalizes_to_unit_massok
effects::tests::kernel_respects_max_taps_capok
image::tests::image_params_matches_the_wgsl_struct_sizeok
image::tests::top_left_image_no_transform_maps_to_the_four_canvas_corners_of_its_own_footprintok
layer::tests::blend_params_matches_the_wgsl_struct_sizeok
layer::tests::composite_params_matches_the_wgsl_struct_sizeok
layer::tests::group_contains_layer_does_not_need_to_look_inside_a_found_layers_childrenok
layer::tests::group_contains_layer_true_for_direct_layer_childok
layer::tests::paint_order_leaves_a_layer_free_group_inside_one_runok
layer::tests::paint_order_recurses_into_a_group_split_for_its_own_local_orderingok
layer::tests::group_contains_layer_false_with_no_layer_anywhereok
layer::tests::paint_order_splits_a_layer_containing_group_out_of_its_runok
layer::tests::group_contains_layer_true_through_nested_groupok
layer::tests::paint_order_still_reorders_top_level_layers_by_z_index_alongside_a_group_splitok
layer::tests::wgsl_blend_port_matches_real_rust_referenceok
sdf::tests::collect_sdf_nodes_skips_layer_childrenok
layer::tests::wgsl_formula_would_still_be_correct_for_normal_if_ever_routed_hereok
layer::tests::wgsl_full_composite_formula_matches_referenceok
sdf::tests::collect_sdf_nodes_still_recurses_through_groupsok
sdf::tests::flatten_circle_produces_one_opok
sdf::tests::mask_params_force_opaque_white_fill_and_disable_strokeok
sdf::tests::flatten_smooth_union_reverses_child_push_orderok
sdf::tests::flatten_subtract_pushes_a_then_b_then_opok
sdf::tests::node_bounding_quad_returns_four_vertices_and_six_indices_for_a_circleok
shader::tests::pack_uniforms_vec3_then_scalar_does_not_over_padok
sdf::tests::node_bounding_quad_returns_none_for_a_non_invertible_transformok
shader::tests::pack_uniforms_matches_plasma_wgsl_layout_by_handok
splat::tests::effective_radius_grows_with_sigmaok
shader::tests::pack_uniforms_with_no_declared_uniforms_is_just_timeok
splat::tests::collect_splats_recurses_through_groupsok
splat::tests::collect_splats_skips_layer_childrenok
splat::tests::resolve_shader_def_finds_a_shader_ref_on_a_splats_fillok
splat::tests::to_instance_bakes_opacity_into_alphaok
splat::tests::to_instance_resolves_a_gradient_fill_instead_of_the_plain_color_fieldok
tests::layer_shader_fill_executes_for_a_vector_shape_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::layer_blur_effect_bleeds_color_across_a_hard_edge_if_a_gpu_adapter_is_availableok
tests::layer_shader_fill_executes_for_a_splat_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::darken_blend_mode_at_half_opacity_only_partially_darkens_if_a_gpu_adapter_is_availableok
tests::multiply_blend_mode_actually_multiplies_if_a_gpu_adapter_is_availableok
tests::renders_a_filled_rect_if_a_gpu_adapter_is_availableok
tests::renders_a_layer_at_half_opacity_if_a_gpu_adapter_is_availableok
vector::shader_routing_tests::flat_filled_rect_is_unaffected_by_shader_routingok
vector::shader_routing_tests::gradient_ref_is_not_mistaken_for_a_shader_refok
vector::shader_routing_tests::plain_tessellate_scene_still_flat_fills_shader_refs_no_collector_availableok
vector::shader_routing_tests::shader_filled_rect_is_routed_to_the_shader_collector_not_the_flat_batchok
vector::shader_routing_tests::tessellate_elements_with_shaders_diverts_a_shader_ref_into_the_collectorok
tests::renders_a_splat_if_a_gpu_adapter_is_availableok
tests::layer_shader_fill_executes_for_an_sdf_node_inside_a_layer_if_a_gpu_adapter_is_availableok
tests::renders_an_sdf_circle_if_a_gpu_adapter_is_availableok
tests::file_ref_image_renders_href_as_plain_path_not_a_data_uriok
tests::embedded_image_renders_as_data_uri_with_correct_mime_and_anchor_offsetok
tests::layer_emits_blend_mode_css_and_filterok
tests::renders_basic_shapes_with_expected_attrsok
tests::renders_gradient_defsok
tests::sdf_falls_back_to_commentok
tests::polygon_and_polyline_share_closed_flag_dispatchok
tests::shader_def_emits_a_documented_comment_not_a_paint_serverok
tests::shape_referencing_a_shader_def_still_gets_its_url_fill_attributeok
tests::splat_fill_overrides_color_in_the_svg_fallback_gradientok
tests::splat_fill_resolves_correctly_even_nested_inside_a_groupok
tests::splat_generates_radial_gradient_fallbackok
tests::z_index_reorders_emitted_g_elements_not_just_dataok
field::tests::composed_field_matches_free_function_callok
field::tests::smooth_union_struct_softens_the_seam_between_separate_shapesok
field::tests::subtract_struct_carves_a_holeok
ops::tests::intersect_requires_bothok
ops::tests::smooth_subtract_zero_k_matches_hard_subtractok
ops::tests::subtract_excludes_b_regionok
ops::tests::smooth_union_blends_below_hard_minimumok
ops::tests::smooth_union_zero_k_matches_hard_unionok
ops::tests::union_picks_closer_surfaceok
shapes::tests::arc_outside_range_distances_to_nearest_capok
shapes::tests::arc_within_range_behaves_like_ringok
shapes::tests::circle_signsok
shapes::tests::ring_inside_band_is_negativeok
shapes::tests::rounded_box_zero_radius_matches_sharp_boxok
shapes::tests::segment_distance_at_midpoint_is_zerook
compositor::tests::single_full_alpha_contribution_replaces_backgroundok
gaussian::tests::matches_f64_reference_at_centerok
gaussian::tests::effective_radius_matches_f64_referenceok
gaussian::tests::matches_f64_reference_off_centerok
gaussian::tests::opacity_scales_peak_valueok
input::tests::dropped_file_extracts_the_pathok
input::tests::dropped_file_ignores_other_eventsok
playback::tests::loop_never_settlesok
playback::tests::frame_interval_is_roughly_60hzok
playback::tests::once_keeps_playing_before_durationok
playback::tests::once_with_zero_duration_never_playsok
playback::tests::ping_pong_never_settlesok
playback::tests::once_stops_at_or_past_durationok
renderer::tests::load_scene_bytes_rejects_invalid_inputok
renderer::tests::load_scene_bytes_detects_dixscript_sourceok
renderer::tests::load_scene_bytes_detects_binaryok
Encode / Decode / Render Throughput (Criterion) higher = better
ns/iter — lower is better compile/circles_10_mbfa 92,306 ns compile/circles_10_raw 465 ns compile/badges_mbfa 129,461 ns decode/circles_10_mbfa 7,769 ns decode/circles_10_raw 886 ns decode/badges_mbfa 11,675 ns render/msx_circles_10 6,019 ns render/msx_badges 6,201 ns render/svg_build_circles_10 1,086 ns render/svg_build_badges 762 ns decode_render/circles_10_mbfa 17,871 ns decode_render/badges_mbfa 23,778 ns e_render/svg_build_circles_10_baseline 1,089 ns ecode_render/svg_build_badges_baseline 774 ns scale/msx_decode_render/10 15,286 ns scale/svg_build/10 1,075 ns scale/msx_decode_render/50 57,393 ns scale/svg_build/50 5,147 ns scale/msx_decode_render/100 129,568 ns scale/svg_build/100 10,029 ns scale/msx_decode_render/200 190,801 ns scale/svg_build/200 19,854 ns
File Size Comparison — Source vs Binary vs SVG binary is MBFA-compressed MSX · ✓ = roundtrip verified
■ Source ■ Binary (MBFA) ■ SVG export basic_shapes 971B 208B 953B gradients 1263B 204B 1101B image_audio_demo 3893B 683B 1784B layer_shader_fill 5245B 358B 1330B layer_swap_front 3689B 186B 529B layer_z_index_swap 4800B 180B 518B mid-qr-k 20114B 3678B 23387B orbit_pulse 1528B 212B 344B parametric 1401B 362B 1969B path_demo 779B 378B 585B sdf_logo 3865B 367B 3717B sdf_shader_fill 3234B 285B 468B sdf_shapes 2802B 248B 786B sdf_splat_mixed 3051B 377B 4029B sdf_splat_orbit(3) 4339B 295B 1282B shader_checkerboard 1487B 245B 403B shader_orb 1687B 242B 386B shader_placeholder(1) 1338B 189B 402B shader_placeholder 1338B 189B 402B splat_atmosphere 2479B 313B 5108B splat_gradient_fill 1781B 132B 1029B splat_shader_fill 1952B 192B 947B
Example Gallery — MSX Source → SVG Code → Native Render

Three panes per example: the original .msx DixScript source, the generated SVG export markup, and the actual MSX render — a PNG produced by msx rasterize (msx-render-cpu), not a browser reinterpreting the SVG next to it. A native pixel buffer is MSX's primary output — SVG is one optional export target, not the source of truth for what a file looks like. QuickFuncs are resolved at compile time — the binary contains only the flat scene graph.

Why MSX — DixScript + MBFA co-design

SVG is XML written by hand or generated by tools. MSX source files are DixScript — the same format powering configs, now driving vectors. QuickFuncs become parametric shape generators. MBFA compresses the typed binary stream.

1
DixScript source (.msx)
QuickFuncs define reusable components. Evaluated at compile time — no runtime overhead.
2
DixScript runtime evaluation
Full pipeline: tokenise → parse → semantic analysis → QuickFuncs resolve. Output: flat DixData.
3
Scene AST construction
DixData → typed Scene graph. Elements, defs, canvas, transforms all resolved.
4
Binary encoding + MBFA
Typed element streams: coordinate f32s, opcode bytes, color RGBA, string pool. MBFA fold-1 LZ finds repeating patterns across element boundaries.
5
Native rasterizer / SVG export
msx-render-cpu produces a pixel buffer (primary output). msx-render-svg exports SVG. msx-render-gpu handles real-time display.