diff --git a/crates/before-fuelscape/dump/atlas.json.gz b/crates/before-fuelscape/dump/atlas.json.gz
index d3a5d1453..f6ea7ed0c 100644
Binary files a/crates/before-fuelscape/dump/atlas.json.gz and b/crates/before-fuelscape/dump/atlas.json.gz differ
diff --git a/crates/before-fuelscape/dump/ceiling_contains.json.gz b/crates/before-fuelscape/dump/ceiling_contains.json.gz
index 1465ea08d..e9a8e88f8 100644
Binary files a/crates/before-fuelscape/dump/ceiling_contains.json.gz and b/crates/before-fuelscape/dump/ceiling_contains.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_decode.json.gz b/crates/before-fuelscape/dump/clock_decode.json.gz
index 8a23e8e42..b382c4a50 100644
Binary files a/crates/before-fuelscape/dump/clock_decode.json.gz and b/crates/before-fuelscape/dump/clock_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_display.json.gz b/crates/before-fuelscape/dump/clock_display.json.gz
index 2fcb989c1..0e8fe6a7f 100644
Binary files a/crates/before-fuelscape/dump/clock_display.json.gz and b/crates/before-fuelscape/dump/clock_display.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_encode.json.gz b/crates/before-fuelscape/dump/clock_encode.json.gz
index 5d90672d4..d9c1fa088 100644
Binary files a/crates/before-fuelscape/dump/clock_encode.json.gz and b/crates/before-fuelscape/dump/clock_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_fork.json.gz b/crates/before-fuelscape/dump/clock_fork.json.gz
index 00ca14a97..52b2ac54e 100644
Binary files a/crates/before-fuelscape/dump/clock_fork.json.gz and b/crates/before-fuelscape/dump/clock_fork.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_forks.json.gz b/crates/before-fuelscape/dump/clock_forks.json.gz
index ada614a83..8a76ae131 100644
Binary files a/crates/before-fuelscape/dump/clock_forks.json.gz and b/crates/before-fuelscape/dump/clock_forks.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_from_parts.json.gz b/crates/before-fuelscape/dump/clock_from_parts.json.gz
index 57daafd4f..4060868c1 100644
Binary files a/crates/before-fuelscape/dump/clock_from_parts.json.gz and b/crates/before-fuelscape/dump/clock_from_parts.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_fromstr.json.gz b/crates/before-fuelscape/dump/clock_fromstr.json.gz
index dc9662394..643a82b40 100644
Binary files a/crates/before-fuelscape/dump/clock_fromstr.json.gz and b/crates/before-fuelscape/dump/clock_fromstr.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_into_parts.json.gz b/crates/before-fuelscape/dump/clock_into_parts.json.gz
index b72cb9644..241a68089 100644
Binary files a/crates/before-fuelscape/dump/clock_into_parts.json.gz and b/crates/before-fuelscape/dump/clock_into_parts.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_join.json.gz b/crates/before-fuelscape/dump/clock_join.json.gz
index 9faa409f3..21beb9640 100644
Binary files a/crates/before-fuelscape/dump/clock_join.json.gz and b/crates/before-fuelscape/dump/clock_join.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_join_all.json.gz b/crates/before-fuelscape/dump/clock_join_all.json.gz
index e876e783e..cc44723e8 100644
Binary files a/crates/before-fuelscape/dump/clock_join_all.json.gz and b/crates/before-fuelscape/dump/clock_join_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_own_version.json.gz b/crates/before-fuelscape/dump/clock_own_version.json.gz
index ce9322f9c..47b416a04 100644
Binary files a/crates/before-fuelscape/dump/clock_own_version.json.gz and b/crates/before-fuelscape/dump/clock_own_version.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_recv.json.gz b/crates/before-fuelscape/dump/clock_recv.json.gz
index 844e8a064..bbed7cfea 100644
Binary files a/crates/before-fuelscape/dump/clock_recv.json.gz and b/crates/before-fuelscape/dump/clock_recv.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_recv_all.json.gz b/crates/before-fuelscape/dump/clock_recv_all.json.gz
index 9a4ed8101..4ba31f6b4 100644
Binary files a/crates/before-fuelscape/dump/clock_recv_all.json.gz and b/crates/before-fuelscape/dump/clock_recv_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_send.json.gz b/crates/before-fuelscape/dump/clock_send.json.gz
index 0272f0426..f25fde167 100644
Binary files a/crates/before-fuelscape/dump/clock_send.json.gz and b/crates/before-fuelscape/dump/clock_send.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_shape.json.gz b/crates/before-fuelscape/dump/clock_shape.json.gz
new file mode 100644
index 000000000..2903ff6c1
Binary files /dev/null and b/crates/before-fuelscape/dump/clock_shape.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_sync.json.gz b/crates/before-fuelscape/dump/clock_sync.json.gz
index 165816a34..41aa50d83 100644
Binary files a/crates/before-fuelscape/dump/clock_sync.json.gz and b/crates/before-fuelscape/dump/clock_sync.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_sync_all.json.gz b/crates/before-fuelscape/dump/clock_sync_all.json.gz
index 8e5202bcd..e261713ea 100644
Binary files a/crates/before-fuelscape/dump/clock_sync_all.json.gz and b/crates/before-fuelscape/dump/clock_sync_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/clock_tick.json.gz b/crates/before-fuelscape/dump/clock_tick.json.gz
index 95ae0d9a0..ac7d1e65e 100644
Binary files a/crates/before-fuelscape/dump/clock_tick.json.gz and b/crates/before-fuelscape/dump/clock_tick.json.gz differ
diff --git a/crates/before-fuelscape/dump/floor_contains.json.gz b/crates/before-fuelscape/dump/floor_contains.json.gz
index 11414e3ab..54f678998 100644
Binary files a/crates/before-fuelscape/dump/floor_contains.json.gz and b/crates/before-fuelscape/dump/floor_contains.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_span_contains.json.gz b/crates/before-fuelscape/dump/own_span_contains.json.gz
index ee9a1500d..7cbea156c 100644
Binary files a/crates/before-fuelscape/dump/own_span_contains.json.gz and b/crates/before-fuelscape/dump/own_span_contains.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_span_dominance.json.gz b/crates/before-fuelscape/dump/own_span_dominance.json.gz
index 786e381fd..2e63d4f7e 100644
Binary files a/crates/before-fuelscape/dump/own_span_dominance.json.gz and b/crates/before-fuelscape/dump/own_span_dominance.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_span_place.json.gz b/crates/before-fuelscape/dump/own_span_place.json.gz
index 827a554b8..a3f02a41f 100644
Binary files a/crates/before-fuelscape/dump/own_span_place.json.gz and b/crates/before-fuelscape/dump/own_span_place.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_span_precedence.json.gz b/crates/before-fuelscape/dump/own_span_precedence.json.gz
index 764ec44ba..a4bd2c493 100644
Binary files a/crates/before-fuelscape/dump/own_span_precedence.json.gz and b/crates/before-fuelscape/dump/own_span_precedence.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_version_cmp.json.gz b/crates/before-fuelscape/dump/own_version_cmp.json.gz
index cff60542f..988139633 100644
Binary files a/crates/before-fuelscape/dump/own_version_cmp.json.gz and b/crates/before-fuelscape/dump/own_version_cmp.json.gz differ
diff --git a/crates/before-fuelscape/dump/own_version_pair_cmp.json.gz b/crates/before-fuelscape/dump/own_version_pair_cmp.json.gz
index 6402e4c22..9b89fef67 100644
Binary files a/crates/before-fuelscape/dump/own_version_pair_cmp.json.gz and b/crates/before-fuelscape/dump/own_version_pair_cmp.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_covers.json.gz b/crates/before-fuelscape/dump/party_covers.json.gz
index b3fc1fa86..c2e151816 100644
Binary files a/crates/before-fuelscape/dump/party_covers.json.gz and b/crates/before-fuelscape/dump/party_covers.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_decode.json.gz b/crates/before-fuelscape/dump/party_decode.json.gz
index 39ac38485..f1e407b66 100644
Binary files a/crates/before-fuelscape/dump/party_decode.json.gz and b/crates/before-fuelscape/dump/party_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_display.json.gz b/crates/before-fuelscape/dump/party_display.json.gz
index 48d7b5293..94cc38672 100644
Binary files a/crates/before-fuelscape/dump/party_display.json.gz and b/crates/before-fuelscape/dump/party_display.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_encode.json.gz b/crates/before-fuelscape/dump/party_encode.json.gz
index 3c486859a..fbbd12ee6 100644
Binary files a/crates/before-fuelscape/dump/party_encode.json.gz and b/crates/before-fuelscape/dump/party_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_fork.json.gz b/crates/before-fuelscape/dump/party_fork.json.gz
index 40a92a68e..af06de248 100644
Binary files a/crates/before-fuelscape/dump/party_fork.json.gz and b/crates/before-fuelscape/dump/party_fork.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_forks.json.gz b/crates/before-fuelscape/dump/party_forks.json.gz
index 6f1c12541..afc776165 100644
Binary files a/crates/before-fuelscape/dump/party_forks.json.gz and b/crates/before-fuelscape/dump/party_forks.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_fromstr.json.gz b/crates/before-fuelscape/dump/party_fromstr.json.gz
index c2779c956..1eae51a39 100644
Binary files a/crates/before-fuelscape/dump/party_fromstr.json.gz and b/crates/before-fuelscape/dump/party_fromstr.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_hash.json.gz b/crates/before-fuelscape/dump/party_hash.json.gz
index 220e4fd3d..86058a48d 100644
Binary files a/crates/before-fuelscape/dump/party_hash.json.gz and b/crates/before-fuelscape/dump/party_hash.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_is_disjoint.json.gz b/crates/before-fuelscape/dump/party_is_disjoint.json.gz
index 34b50fb00..2237d9587 100644
Binary files a/crates/before-fuelscape/dump/party_is_disjoint.json.gz and b/crates/before-fuelscape/dump/party_is_disjoint.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_join.json.gz b/crates/before-fuelscape/dump/party_join.json.gz
index 98f70ca8b..05727551d 100644
Binary files a/crates/before-fuelscape/dump/party_join.json.gz and b/crates/before-fuelscape/dump/party_join.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_join_all.json.gz b/crates/before-fuelscape/dump/party_join_all.json.gz
index 0861693a7..4498efc5b 100644
Binary files a/crates/before-fuelscape/dump/party_join_all.json.gz and b/crates/before-fuelscape/dump/party_join_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_shape.json.gz b/crates/before-fuelscape/dump/party_shape.json.gz
new file mode 100644
index 000000000..ff8991fc2
Binary files /dev/null and b/crates/before-fuelscape/dump/party_shape.json.gz differ
diff --git a/crates/before-fuelscape/dump/party_without.json.gz b/crates/before-fuelscape/dump/party_without.json.gz
index aaa192844..c5957338c 100644
Binary files a/crates/before-fuelscape/dump/party_without.json.gz and b/crates/before-fuelscape/dump/party_without.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_conjoin_bounded_holes.json.gz b/crates/before-fuelscape/dump/query_conjoin_bounded_holes.json.gz
index 19d2da477..524046c95 100644
Binary files a/crates/before-fuelscape/dump/query_conjoin_bounded_holes.json.gz and b/crates/before-fuelscape/dump/query_conjoin_bounded_holes.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_conjoin_ceilings.json.gz b/crates/before-fuelscape/dump/query_conjoin_ceilings.json.gz
index 5a7c079c4..a8df59cea 100644
Binary files a/crates/before-fuelscape/dump/query_conjoin_ceilings.json.gz and b/crates/before-fuelscape/dump/query_conjoin_ceilings.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_conjoin_floors.json.gz b/crates/before-fuelscape/dump/query_conjoin_floors.json.gz
index bc3feb2ba..ab563d915 100644
Binary files a/crates/before-fuelscape/dump/query_conjoin_floors.json.gz and b/crates/before-fuelscape/dump/query_conjoin_floors.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_ceiling.json.gz b/crates/before-fuelscape/dump/query_contains_ceiling.json.gz
index cdb5923fc..b7a8c3e86 100644
Binary files a/crates/before-fuelscape/dump/query_contains_ceiling.json.gz and b/crates/before-fuelscape/dump/query_contains_ceiling.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_ceiling_hole.json.gz b/crates/before-fuelscape/dump/query_contains_ceiling_hole.json.gz
index ffdb57f75..f56916ec0 100644
Binary files a/crates/before-fuelscape/dump/query_contains_ceiling_hole.json.gz and b/crates/before-fuelscape/dump/query_contains_ceiling_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_floor.json.gz b/crates/before-fuelscape/dump/query_contains_floor.json.gz
index d79ffb1e4..d044e6119 100644
Binary files a/crates/before-fuelscape/dump/query_contains_floor.json.gz and b/crates/before-fuelscape/dump/query_contains_floor.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_floor_ceiling.json.gz b/crates/before-fuelscape/dump/query_contains_floor_ceiling.json.gz
index fc61c78bf..7de92d2f5 100644
Binary files a/crates/before-fuelscape/dump/query_contains_floor_ceiling.json.gz and b/crates/before-fuelscape/dump/query_contains_floor_ceiling.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_floor_ceiling_hole.json.gz b/crates/before-fuelscape/dump/query_contains_floor_ceiling_hole.json.gz
index 1c2cc18f7..0b05e17ed 100644
Binary files a/crates/before-fuelscape/dump/query_contains_floor_ceiling_hole.json.gz and b/crates/before-fuelscape/dump/query_contains_floor_ceiling_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_floor_hole.json.gz b/crates/before-fuelscape/dump/query_contains_floor_hole.json.gz
index 140eec7a7..640018857 100644
Binary files a/crates/before-fuelscape/dump/query_contains_floor_hole.json.gz and b/crates/before-fuelscape/dump/query_contains_floor_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_contains_hole.json.gz b/crates/before-fuelscape/dump/query_contains_hole.json.gz
index 219e5f892..59dcb4c62 100644
Binary files a/crates/before-fuelscape/dump/query_contains_hole.json.gz and b/crates/before-fuelscape/dump/query_contains_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_ceiling.json.gz b/crates/before-fuelscape/dump/query_coverage_ceiling.json.gz
index 6a834498b..9b6de28d4 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_ceiling.json.gz and b/crates/before-fuelscape/dump/query_coverage_ceiling.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_ceiling_hole.json.gz b/crates/before-fuelscape/dump/query_coverage_ceiling_hole.json.gz
index af0230071..42fb018a9 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_ceiling_hole.json.gz and b/crates/before-fuelscape/dump/query_coverage_ceiling_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_floor.json.gz b/crates/before-fuelscape/dump/query_coverage_floor.json.gz
index 749143b09..c27da2ab4 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_floor.json.gz and b/crates/before-fuelscape/dump/query_coverage_floor.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_floor_ceiling.json.gz b/crates/before-fuelscape/dump/query_coverage_floor_ceiling.json.gz
index 36d5bcfd7..e6b4f760f 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_floor_ceiling.json.gz and b/crates/before-fuelscape/dump/query_coverage_floor_ceiling.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_floor_ceiling_hole.json.gz b/crates/before-fuelscape/dump/query_coverage_floor_ceiling_hole.json.gz
index f97f943f8..ef1a1f95e 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_floor_ceiling_hole.json.gz and b/crates/before-fuelscape/dump/query_coverage_floor_ceiling_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_floor_hole.json.gz b/crates/before-fuelscape/dump/query_coverage_floor_hole.json.gz
index 1a57db703..216029dda 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_floor_hole.json.gz and b/crates/before-fuelscape/dump/query_coverage_floor_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/query_coverage_hole.json.gz b/crates/before-fuelscape/dump/query_coverage_hole.json.gz
index fa18ae1d5..5d3adf6d2 100644
Binary files a/crates/before-fuelscape/dump/query_coverage_hole.json.gz and b/crates/before-fuelscape/dump/query_coverage_hole.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_add.json.gz b/crates/before-fuelscape/dump/rank_add.json.gz
index 0fc67d4c1..e626fed69 100644
Binary files a/crates/before-fuelscape/dump/rank_add.json.gz and b/crates/before-fuelscape/dump/rank_add.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_checked_sub.json.gz b/crates/before-fuelscape/dump/rank_checked_sub.json.gz
index 8b4aae780..78fe6ccab 100644
Binary files a/crates/before-fuelscape/dump/rank_checked_sub.json.gz and b/crates/before-fuelscape/dump/rank_checked_sub.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_cmp.json.gz b/crates/before-fuelscape/dump/rank_cmp.json.gz
index 2c20922ec..2dfbf9cb4 100644
Binary files a/crates/before-fuelscape/dump/rank_cmp.json.gz and b/crates/before-fuelscape/dump/rank_cmp.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_decode.json.gz b/crates/before-fuelscape/dump/rank_decode.json.gz
index 59db65cf3..6e5f2cade 100644
Binary files a/crates/before-fuelscape/dump/rank_decode.json.gz and b/crates/before-fuelscape/dump/rank_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_display.json.gz b/crates/before-fuelscape/dump/rank_display.json.gz
index 5b6ae6295..68c7b7e3b 100644
Binary files a/crates/before-fuelscape/dump/rank_display.json.gz and b/crates/before-fuelscape/dump/rank_display.json.gz differ
diff --git a/crates/before-fuelscape/dump/rank_encode.json.gz b/crates/before-fuelscape/dump/rank_encode.json.gz
index 00d68f89c..a34a934a8 100644
Binary files a/crates/before-fuelscape/dump/rank_encode.json.gz and b/crates/before-fuelscape/dump/rank_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/ranked_cmp.json.gz b/crates/before-fuelscape/dump/ranked_cmp.json.gz
index a592fa185..c89bd0b64 100644
Binary files a/crates/before-fuelscape/dump/ranked_cmp.json.gz and b/crates/before-fuelscape/dump/ranked_cmp.json.gz differ
diff --git a/crates/before-fuelscape/dump/ranked_decode.json.gz b/crates/before-fuelscape/dump/ranked_decode.json.gz
index be9e979e1..4f8853c4a 100644
Binary files a/crates/before-fuelscape/dump/ranked_decode.json.gz and b/crates/before-fuelscape/dump/ranked_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/ranked_encode.json.gz b/crates/before-fuelscape/dump/ranked_encode.json.gz
index 48c569600..122a0541f 100644
Binary files a/crates/before-fuelscape/dump/ranked_encode.json.gz and b/crates/before-fuelscape/dump/ranked_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/ranked_encode_rank.json.gz b/crates/before-fuelscape/dump/ranked_encode_rank.json.gz
index 6f397a110..4b31f927a 100644
Binary files a/crates/before-fuelscape/dump/ranked_encode_rank.json.gz and b/crates/before-fuelscape/dump/ranked_encode_rank.json.gz differ
diff --git a/crates/before-fuelscape/dump/shape_combine.json.gz b/crates/before-fuelscape/dump/shape_combine.json.gz
new file mode 100644
index 000000000..087c919b6
Binary files /dev/null and b/crates/before-fuelscape/dump/shape_combine.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_contains.json.gz b/crates/before-fuelscape/dump/span_contains.json.gz
index 1f67992d6..a3887baf5 100644
Binary files a/crates/before-fuelscape/dump/span_contains.json.gz and b/crates/before-fuelscape/dump/span_contains.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_decode.json.gz b/crates/before-fuelscape/dump/span_decode.json.gz
index 033bf591d..4dc0cbdb9 100644
Binary files a/crates/before-fuelscape/dump/span_decode.json.gz and b/crates/before-fuelscape/dump/span_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_dominance.json.gz b/crates/before-fuelscape/dump/span_dominance.json.gz
index 7bf3a9579..676f404e4 100644
Binary files a/crates/before-fuelscape/dump/span_dominance.json.gz and b/crates/before-fuelscape/dump/span_dominance.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_encode.json.gz b/crates/before-fuelscape/dump/span_encode.json.gz
index 7bb4d8cd7..c317cf7f1 100644
Binary files a/crates/before-fuelscape/dump/span_encode.json.gz and b/crates/before-fuelscape/dump/span_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_intersect.json.gz b/crates/before-fuelscape/dump/span_intersect.json.gz
index cdf39f66e..900c52aaf 100644
Binary files a/crates/before-fuelscape/dump/span_intersect.json.gz and b/crates/before-fuelscape/dump/span_intersect.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_intersect_all.json.gz b/crates/before-fuelscape/dump/span_intersect_all.json.gz
index 41e791758..65f7f150d 100644
Binary files a/crates/before-fuelscape/dump/span_intersect_all.json.gz and b/crates/before-fuelscape/dump/span_intersect_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_join.json.gz b/crates/before-fuelscape/dump/span_join.json.gz
index 2252d8d7e..a1f1d2389 100644
Binary files a/crates/before-fuelscape/dump/span_join.json.gz and b/crates/before-fuelscape/dump/span_join.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_join_all.json.gz b/crates/before-fuelscape/dump/span_join_all.json.gz
index c7be795bf..27a9c9d1e 100644
Binary files a/crates/before-fuelscape/dump/span_join_all.json.gz and b/crates/before-fuelscape/dump/span_join_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_meet.json.gz b/crates/before-fuelscape/dump/span_meet.json.gz
index a02b9345a..89b5aa4be 100644
Binary files a/crates/before-fuelscape/dump/span_meet.json.gz and b/crates/before-fuelscape/dump/span_meet.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_meet_all.json.gz b/crates/before-fuelscape/dump/span_meet_all.json.gz
index 70a90b8af..ba8f70096 100644
Binary files a/crates/before-fuelscape/dump/span_meet_all.json.gz and b/crates/before-fuelscape/dump/span_meet_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_place.json.gz b/crates/before-fuelscape/dump/span_place.json.gz
index d93f11f72..0135e9d67 100644
Binary files a/crates/before-fuelscape/dump/span_place.json.gz and b/crates/before-fuelscape/dump/span_place.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_precedence.json.gz b/crates/before-fuelscape/dump/span_precedence.json.gz
index 8c53d7acb..fea3de5e3 100644
Binary files a/crates/before-fuelscape/dump/span_precedence.json.gz and b/crates/before-fuelscape/dump/span_precedence.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_project.json.gz b/crates/before-fuelscape/dump/span_project.json.gz
index 3872497d7..ace661ce2 100644
Binary files a/crates/before-fuelscape/dump/span_project.json.gz and b/crates/before-fuelscape/dump/span_project.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_union.json.gz b/crates/before-fuelscape/dump/span_union.json.gz
index 9b935562d..84507cff0 100644
Binary files a/crates/before-fuelscape/dump/span_union.json.gz and b/crates/before-fuelscape/dump/span_union.json.gz differ
diff --git a/crates/before-fuelscape/dump/span_union_all.json.gz b/crates/before-fuelscape/dump/span_union_all.json.gz
index 48d0169b9..93693e395 100644
Binary files a/crates/before-fuelscape/dump/span_union_all.json.gz and b/crates/before-fuelscape/dump/span_union_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_cmp.json.gz b/crates/before-fuelscape/dump/version_cmp.json.gz
index 5c3980bbe..eda45bf1a 100644
Binary files a/crates/before-fuelscape/dump/version_cmp.json.gz and b/crates/before-fuelscape/dump/version_cmp.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_concurrent.json.gz b/crates/before-fuelscape/dump/version_concurrent.json.gz
index 95302668d..a75e9a3a8 100644
Binary files a/crates/before-fuelscape/dump/version_concurrent.json.gz and b/crates/before-fuelscape/dump/version_concurrent.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_decode.json.gz b/crates/before-fuelscape/dump/version_decode.json.gz
index d93492073..fff1e4412 100644
Binary files a/crates/before-fuelscape/dump/version_decode.json.gz and b/crates/before-fuelscape/dump/version_decode.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_display.json.gz b/crates/before-fuelscape/dump/version_display.json.gz
index f6ca255f0..f8ab83a08 100644
Binary files a/crates/before-fuelscape/dump/version_display.json.gz and b/crates/before-fuelscape/dump/version_display.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_distance.json.gz b/crates/before-fuelscape/dump/version_distance.json.gz
index 547fcf7a8..43d379526 100644
Binary files a/crates/before-fuelscape/dump/version_distance.json.gz and b/crates/before-fuelscape/dump/version_distance.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_encode.json.gz b/crates/before-fuelscape/dump/version_encode.json.gz
index 9355a890c..fac31d218 100644
Binary files a/crates/before-fuelscape/dump/version_encode.json.gz and b/crates/before-fuelscape/dump/version_encode.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_eq.json.gz b/crates/before-fuelscape/dump/version_eq.json.gz
index cb45f8448..036ff7795 100644
Binary files a/crates/before-fuelscape/dump/version_eq.json.gz and b/crates/before-fuelscape/dump/version_eq.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_fromstr.json.gz b/crates/before-fuelscape/dump/version_fromstr.json.gz
index 3689e705e..21008549b 100644
Binary files a/crates/before-fuelscape/dump/version_fromstr.json.gz and b/crates/before-fuelscape/dump/version_fromstr.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_hash.json.gz b/crates/before-fuelscape/dump/version_hash.json.gz
index 94f055ec8..1a58fdb5f 100644
Binary files a/crates/before-fuelscape/dump/version_hash.json.gz and b/crates/before-fuelscape/dump/version_hash.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_join.json.gz b/crates/before-fuelscape/dump/version_join.json.gz
index 20382d5bc..851188dbb 100644
Binary files a/crates/before-fuelscape/dump/version_join.json.gz and b/crates/before-fuelscape/dump/version_join.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_join_all.json.gz b/crates/before-fuelscape/dump/version_join_all.json.gz
index cb1d42563..8425b0cea 100644
Binary files a/crates/before-fuelscape/dump/version_join_all.json.gz and b/crates/before-fuelscape/dump/version_join_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_lag.json.gz b/crates/before-fuelscape/dump/version_lag.json.gz
index 669e97e84..27f6d0c73 100644
Binary files a/crates/before-fuelscape/dump/version_lag.json.gz and b/crates/before-fuelscape/dump/version_lag.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_meet.json.gz b/crates/before-fuelscape/dump/version_meet.json.gz
index dd6c48b9f..0eae9b738 100644
Binary files a/crates/before-fuelscape/dump/version_meet.json.gz and b/crates/before-fuelscape/dump/version_meet.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_meet_all.json.gz b/crates/before-fuelscape/dump/version_meet_all.json.gz
index 1391fe6b0..d6c37bfff 100644
Binary files a/crates/before-fuelscape/dump/version_meet_all.json.gz and b/crates/before-fuelscape/dump/version_meet_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_min_ticks.json.gz b/crates/before-fuelscape/dump/version_min_ticks.json.gz
index 16e3ec0d4..6187c2d0a 100644
Binary files a/crates/before-fuelscape/dump/version_min_ticks.json.gz and b/crates/before-fuelscape/dump/version_min_ticks.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_project.json.gz b/crates/before-fuelscape/dump/version_project.json.gz
index 8e367fd0a..95526ff58 100644
Binary files a/crates/before-fuelscape/dump/version_project.json.gz and b/crates/before-fuelscape/dump/version_project.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_rank.json.gz b/crates/before-fuelscape/dump/version_rank.json.gz
index f3ff43701..20da949f0 100644
Binary files a/crates/before-fuelscape/dump/version_rank.json.gz and b/crates/before-fuelscape/dump/version_rank.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_shape.json.gz b/crates/before-fuelscape/dump/version_shape.json.gz
new file mode 100644
index 000000000..bcb85cdc2
Binary files /dev/null and b/crates/before-fuelscape/dump/version_shape.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_span.json.gz b/crates/before-fuelscape/dump/version_span.json.gz
index 0dc58df26..135da639e 100644
Binary files a/crates/before-fuelscape/dump/version_span.json.gz and b/crates/before-fuelscape/dump/version_span.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_span_all.json.gz b/crates/before-fuelscape/dump/version_span_all.json.gz
index 883ffcc5d..4cf1fd860 100644
Binary files a/crates/before-fuelscape/dump/version_span_all.json.gz and b/crates/before-fuelscape/dump/version_span_all.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_tick.json.gz b/crates/before-fuelscape/dump/version_tick.json.gz
index d35a39805..83d6e80a6 100644
Binary files a/crates/before-fuelscape/dump/version_tick.json.gz and b/crates/before-fuelscape/dump/version_tick.json.gz differ
diff --git a/crates/before-fuelscape/dump/version_ticks.json.gz b/crates/before-fuelscape/dump/version_ticks.json.gz
index df5713c70..9611dea16 100644
Binary files a/crates/before-fuelscape/dump/version_ticks.json.gz and b/crates/before-fuelscape/dump/version_ticks.json.gz differ
diff --git a/crates/before-fuelscape/src/bin/fuelscape.rs b/crates/before-fuelscape/src/bin/fuelscape.rs
index 9d46710f2..98f6acfee 100644
--- a/crates/before-fuelscape/src/bin/fuelscape.rs
+++ b/crates/before-fuelscape/src/bin/fuelscape.rs
@@ -61,7 +61,7 @@ static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
use before_fuelscape::ops::ROSTER;
use before_fuelscape::plan::{run_op_with_progress, Plan, Samplers};
-use before_fuelscape::render::{render_gallery, render_op, AtlasData, RenderMeta};
+use before_fuelscape::render::{render_gallery, render_op, AtlasData, RenderMeta, RunParams};
use before_fuelscape::select::{listing, select};
use fuzzfit_harness::wasm::Guest;
use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
@@ -291,17 +291,18 @@ fn main() {
.into_iter()
.map(|slot| slot.expect("every selected row ran"))
.collect();
- let gallery = render_gallery(&rendered, &meta, &out).expect("gallery must render");
+ let gallery =
+ render_gallery(&rendered, &RunParams::from(&meta), &out).expect("gallery must render");
println!("gallery → {}", gallery.display());
}
/// Replay rendering from a dump: no guest, no count tables, no sampling.
fn render_from_dump(dump_path: &Path, out: &Path, font_scale: f64) {
- let (meta, atlases) = dump::read(dump_path).expect("dump must load");
+ let (params, atlases) = dump::read(dump_path).expect("dump must load");
std::fs::create_dir_all(out).expect("output directory must be creatable");
let mut rendered = Vec::new();
- for data in &atlases {
- let path = render_op(data, &meta, out, font_scale).expect("render must succeed");
+ for (meta, data) in &atlases {
+ let path = render_op(data, meta, out, font_scale).expect("render must succeed");
println!(
"{}: {} samples, {} overlay points → {}",
data.op_name,
@@ -311,6 +312,6 @@ fn render_from_dump(dump_path: &Path, out: &Path, font_scale: f64) {
);
rendered.push((data.op_name.clone(), path));
}
- let gallery = render_gallery(&rendered, &meta, out).expect("gallery must render");
+ let gallery = render_gallery(&rendered, ¶ms, out).expect("gallery must render");
println!("gallery → {}", gallery.display());
}
diff --git a/crates/before-fuelscape/src/compact.rs b/crates/before-fuelscape/src/compact.rs
index ceb3b6cf4..70163655f 100644
--- a/crates/before-fuelscape/src/compact.rs
+++ b/crates/before-fuelscape/src/compact.rs
@@ -59,7 +59,7 @@ use std::path::Path;
use serde::{Deserialize, Serialize};
use crate::dump;
-use crate::render::{AtlasData, OverlayData, RenderMeta};
+use crate::render::{AtlasData, OverlayData, RenderMeta, RunParams};
#[cfg(test)]
mod tests;
@@ -74,7 +74,12 @@ const INDEX_FORMAT: &str = "fuelscape-widget-index";
const OP_FORMAT: &str = "fuelscape-widget-data";
/// The compact format version both banners carry.
-const FORMAT_VERSION: u32 = 2;
+///
+/// Version 3 moved the measurement commit from the index into each
+/// operation document, mirroring the dump format: a dataset accretes
+/// across measuring runs, so the index holds only the run parameters
+/// every document must share.
+const FORMAT_VERSION: u32 = 3;
/// Histogram resolution: octaves of fuel per bin.
///
@@ -92,8 +97,9 @@ struct IndexDoc {
format: String,
/// Always [`FORMAT_VERSION`].
version: u32,
- /// The measuring run's provenance, identical in every file.
- meta: RenderMeta,
+ /// The run parameters, identical in every file; each operation
+ /// document carries its own measurement commit.
+ meta: RunParams,
/// Operation names in the dump's order; one `
commit {} · seed {:#x} · {} samples/column (avg; spread-weighted) · fuel: wasmtime instruction metering
\n\ +seed {:#x} · {} samples/column (avg; spread-weighted) · fuel: wasmtime instruction metering · each panel carries its measurement commit
\n\