Mechanical refactor: GroupKey was a private nested record struct on WbDrawDispatcher. The upcoming EntityClassificationCache (ISSUE #53) needs to store GroupKey inside CachedBatch records, so it must be visible to both the dispatcher and the cache. Promoting to internal at file scope is the smallest change that achieves this. No behavior change. 1688 tests pass; 8 pre-existing failures unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 lines
748 B
C#
20 lines
748 B
C#
using AcDream.Core.Meshing;
|
|
|
|
namespace AcDream.App.Rendering.Wb;
|
|
|
|
/// <summary>
|
|
/// Bucket identity for <see cref="WbDrawDispatcher"/>'s per-frame group dictionary.
|
|
/// Two (entity, batch) pairs that share the same <see cref="GroupKey"/> render
|
|
/// in a single <c>glMultiDrawElementsIndirect</c> draw command. Promoted to
|
|
/// <c>internal</c> at file scope (was a private nested type) so
|
|
/// <see cref="EntityClassificationCache"/> can store it inside <see cref="CachedBatch"/>
|
|
/// without depending on dispatcher internals.
|
|
/// </summary>
|
|
internal readonly record struct GroupKey(
|
|
uint Ibo,
|
|
uint FirstIndex,
|
|
int BaseVertex,
|
|
int IndexCount,
|
|
ulong BindlessTextureHandle,
|
|
uint TextureLayer,
|
|
TranslucencyKind Translucency);
|