using AcDream.App.Rendering.Wb; using AcDream.Core.Meshing; using Xunit; namespace AcDream.Core.Tests.Rendering.Wb; /// /// Locks in the N.5 translucency partition contract (spec Decision 2). /// If the partition drifts, the dispatcher's opaque + transparent indirect /// passes will silently render the wrong groups in the wrong pass — visible /// regression that's hard to spot in code review. /// public sealed class WbDrawDispatcherTranslucencyTests { [Theory] [InlineData(TranslucencyKind.Opaque, true)] [InlineData(TranslucencyKind.ClipMap, true)] [InlineData(TranslucencyKind.AlphaBlend, false)] [InlineData(TranslucencyKind.Additive, false)] [InlineData(TranslucencyKind.InvAlpha, false)] public void IsOpaque_PartitionsByKind(TranslucencyKind kind, bool expected) { Assert.Equal(expected, WbDrawDispatcher.IsOpaquePublic(kind)); } }