2ff87ed6
Add text coverage variant helpers
a73x 2026-04-09 07:58
diff --git a/src/renderer.zig b/src/renderer.zig index 4726717..eacb89e 100644 --- a/src/renderer.zig +++ b/src/renderer.zig @@ -313,6 +313,22 @@ fn nextInstanceCapacity(current: u32, needed: u32) u32 { return capacity; } pub const CoverageVariant = enum(u32) { baseline, mild, medium, crisp, }; fn coverageVariantParams(variant: CoverageVariant) [2]f32 { return switch (variant) { .baseline => .{ 1.0, 0.0 }, .mild => .{ 1.15, 0.0 }, .medium => .{ 1.3, 0.0 }, .crisp => .{ 1.55, -0.08 }, }; } const InstanceUploadRequest = struct { current_capacity: u32, offset_instances: u32, @@ -1468,6 +1484,22 @@ test "swapchainNeedsRebuild flags suboptimal result" { try std.testing.expect(!swapchainNeedsRebuild(.success)); } test "coverageVariantParams returns baseline values" { try std.testing.expectEqualDeep([2]f32{ 1.0, 0.0 }, coverageVariantParams(.baseline)); } test "coverageVariantParams steepens progressively" { const mild = coverageVariantParams(.mild); const medium = coverageVariantParams(.medium); const crisp = coverageVariantParams(.crisp); try std.testing.expect(mild[0] < medium[0]); try std.testing.expect(medium[0] < crisp[0]); try std.testing.expectEqual(@as(f32, 0.0), mild[1]); try std.testing.expectEqual(@as(f32, 0.0), medium[1]); try std.testing.expectEqual(@as(f32, -0.08), crisp[1]); } test "range upload falls back to full upload when capacity must grow" { const decision = planInstanceUpload(.{ .current_capacity = 8,