acdream/src/AcDream.Content
Erik 15ed57a1e7 fix(rendering): carry retail SetSurface state to detail draws
Resolve exact SetSurface blend, alpha-test, and fog state once during extraction and preserve it through recipe-10 prepared payloads, Wb/EnvCell command data, Vulkan pipelines, push constants, and both ordinary/atmospheric one-pass shaders. Preserve AP-240 Wb pure-Clip immediate opaque/A2C while EnvCell uses retail premultiplied Clip; detail-off routing remains unchanged. Correct AP-232 and register the remaining detail-off state divergence.

Mutation first failures (all restored):
- raw Add->SRCALPHA/ONE: WalkStaticStreamPopulatorTests.ImmediateBuildingDetail_UsesExactResolvedSetSurfaceState line 1278, expected wb-mesh-raw-additive-1x.
- inverse-add->alpha-add: same test line 1278, expected wb-mesh-inverse-additive-1x.
- remove Env inverse: EnvCellAlphaDrawSourceTests.DetailOn_EveryEnvCellFamilyDrawsOnceInPlaceWithAuthoredOpacity line 132, expected envcell-inverse.
- raw IsAdditive precedence: same test line 132, Translucent|Clip|Additive expected envcell-alpha.
- Wb paletted ParamB=0: OrderPreservingSubmitterTests line 333, expected 0.392156869.
- Wb DDS ParamB=0.05: same test line 333, expected 0.784313738.
- disable Alpha+Clip test: WalkStaticStreamPopulatorTests line 1286, expected 0.784313738.
- always fog raw Add: same test line 1287, expected no-fog true.
- disable fog non-Add: same test line 1287, expected no-fog false.
- X=a*qA: RetailDetailTextureContractTests line 261, shared squared-alpha substring absent.
- X includes base alpha: same test line 262, forbidden baseTexel.a present.
- CLIP uses 0.05: EnvCellAlphaDrawSourceTests.ClipShaders_UseGreaterEqualForThePerRangeReference line 367.
- second detail draw: EnvCell detail-on line 131, collection contained 2 draws.
- straight-alpha substitute: Wb immediate line 1278, expected wb-mesh-additive-1x.
- omit ordered detail arm: OrderPreservingSubmitterTests line 318, expected (77,3.5), got (0,0).
- omit atmospheric combine: RetailDetailTextureContractTests line 260, shared include absent.
- drop serialized opacity: ObjectMeshDataSerializerTests line 292, expected opacity bits, got 1.0.
- stale detail arm: atmospheric adjacency line 402, expected slot 0, got 77.
- per-frame surface map: EnvCell warmed allocation line 285, expected 0 B, got 204800 B.
2026-09-05 02:03:13 +02:00
..
CharGen fix(chargen): Campaign CC gate round 1 closeout — Group 2: Skills page four-bucket model 2026-08-16 15:33:39 +02:00
Pak fix(rendering): carry retail SetSurface state to detail draws 2026-09-05 02:03:13 +02:00
Spells feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
Vfx perf(render): bound animation and alpha scratch residency 2026-07-24 16:34:28 +02:00
AcDream.Content.csproj build: make release restore reproducible 2026-08-18 10:29:00 +02:00
BoundedDatObjectCache.cs perf(diag): per-frame history export + checkpoint LOH/cache counters + soak capped mode (2026-07-24 audit review) 2026-07-24 12:00:30 +02:00
CacheStats.cs perf(diag): per-frame history export + checkpoint LOH/cache counters + soak capped mode (2026-07-24 audit review) 2026-07-24 12:00:30 +02:00
ContractTableReader.cs feat(quest): QT5/QT6 — the Journal panel, and the button that was already there 2026-08-21 15:12:05 +02:00
DatCollectionAdapter.cs feat(headless): share immutable process content 2026-07-27 08:37:24 +02:00
DecodedTextureCache.cs perf(diag): per-frame history export + checkpoint LOH/cache counters + soak capped mode (2026-07-24 audit review) 2026-07-24 12:00:30 +02:00
EdgeLineBuilder.cs refactor(pipeline): MP1a - MeshExtractor extracted to AcDream.Content (verbatim move) 2026-07-05 20:19:52 +02:00
FlatCollisionAssetSerializer.cs feat(content): bake and read flat collision assets 2026-07-25 15:22:08 +02:00
IDatReaderWriter.cs perf(content): remove exception-driven setup probes 2026-07-24 15:12:21 +02:00
IPreparedAssetSource.cs feat(launcher): stabilize prepared content updates 2026-08-25 19:17:13 +02:00
IPreparedCollisionSource.cs feat(content): bake and read flat collision assets 2026-07-25 15:22:08 +02:00
LandblockPhysicsContentBuilder.cs feat(render): Campaign OVERHAUL S2 chunk 5 + closeout — registry is the only render membership owner 2026-09-03 01:01:47 +02:00
LayeredPreparedAssetSource.cs feat(launcher): stabilize prepared content updates 2026-08-25 19:17:13 +02:00
MagicCatalog.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MeshExtractor.cs fix(rendering): carry retail SetSurface state to detail draws 2026-09-05 02:03:13 +02:00
ObjectMeshData.cs fix(rendering): carry retail SetSurface state to detail draws 2026-09-05 02:03:13 +02:00
packages.linux-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.win-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
RetailDataIdResolver.cs feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
RuntimeDatCollectionFactory.cs feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
SharedPreparedCollisionCache.cs feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
TextureKey.cs refactor(pipeline): MP1a - lift TextureKey out of the GL atlas class 2026-07-05 20:01:56 +02:00
UploadFormats.cs feat(render): Vulkan campaign V11 step 3 — drop the GL packages and shaders 2026-07-29 02:58:15 +02:00