Live
Black Hat USADark ReadingBlack Hat AsiaAI BusinessAI & Tech brief: Ireland ascendant - The Washington PostGNews AI EULenovo Legion Go 2 suddenly costs $650 more as RAMageddon lays waste to gaming hardwareThe VergeVultr says its Nvidia-powered AI infrastructure costs 50% to 90% less than hyperscalersThe New StackDeepseek v4 will reportedly run entirely on Huawei chips in a major win for China s AI independence pushThe DecoderHow to Make AI Work When You Don’t Have Big Tech MoneyTowards AIToshiba starts shipping SMR MAMR enterprise hard drives offering up to 34TB of storageTechSpotMIT created duplicate AI workers to tackle thousands of different tasks. The verdict? Most of the time AI is still just minimally sufficientFortune TechAlgorithms of Falsehood: The Challenges of Governing AI-Generated Disinformation - orfonline.orgGoogle News: Generative AIThe Cathedral, the Bazaar, and the Winchester Mystery HouseO'Reilly RadareM Client Adds Generative AI Features - Let's Data ScienceGoogle News: Generative AItrunk/364516d4725fd98c0f2fd2301366409bc54cbc5b: [dtensor][pointwise_ops] removing dead code (#178975)PyTorch ReleasesThe fight on the right over AI - politico.euGNews AI USABlack Hat USADark ReadingBlack Hat AsiaAI BusinessAI & Tech brief: Ireland ascendant - The Washington PostGNews AI EULenovo Legion Go 2 suddenly costs $650 more as RAMageddon lays waste to gaming hardwareThe VergeVultr says its Nvidia-powered AI infrastructure costs 50% to 90% less than hyperscalersThe New StackDeepseek v4 will reportedly run entirely on Huawei chips in a major win for China s AI independence pushThe DecoderHow to Make AI Work When You Don’t Have Big Tech MoneyTowards AIToshiba starts shipping SMR MAMR enterprise hard drives offering up to 34TB of storageTechSpotMIT created duplicate AI workers to tackle thousands of different tasks. The verdict? Most of the time AI is still just minimally sufficientFortune TechAlgorithms of Falsehood: The Challenges of Governing AI-Generated Disinformation - orfonline.orgGoogle News: Generative AIThe Cathedral, the Bazaar, and the Winchester Mystery HouseO'Reilly RadareM Client Adds Generative AI Features - Let's Data ScienceGoogle News: Generative AItrunk/364516d4725fd98c0f2fd2301366409bc54cbc5b: [dtensor][pointwise_ops] removing dead code (#178975)PyTorch ReleasesThe fight on the right over AI - politico.euGNews AI USA
AI NEWS HUBbyEIGENVECTOREigenvector

Promoting late-gameplay BG3 composition contracts in the TD2 SDL port

DEV Communityby Nivando SoaresApril 1, 20262 min read1 views
Source Quiz

<h1> Promoting late-gameplay BG3 composition contracts in the TD2 SDL port </h1> <p>This checkpoint moved one late-gameplay renderer hypothesis out of tooling and into the runtime.</p> <p>The late live-entry bundles at frames <code>3250</code>, <code>3400</code>, and <code>3550</code> already had a strong signal from the cutoff sweep: the missing horizon strip was not explained by missing assets, but by a narrow composition rule. The best candidates were consistent enough to promote:</p> <ul> <li>frame <code>3250</code>: enable <code>BG3</code> in the top <code>79</code> scanlines and keep <code>BG3 > BG2</code> there</li> <li>frame <code>3400</code>: same <code>79</code>-line window</li> <li>frame <code>3550</code>: same rule with a deeper <code>95</code>-line window</li> </ul> <p>The run

Promoting late-gameplay BG3 composition contracts in the TD2 SDL port

This checkpoint moved one late-gameplay renderer hypothesis out of tooling and into the runtime.

The late live-entry bundles at frames 3250, 3400, and 3550 already had a strong signal from the cutoff sweep: the missing horizon strip was not explained by missing assets, but by a narrow composition rule. The best candidates were consistent enough to promote:

  • frame 3250: enable BG3 in the top 79 scanlines and keep BG3 > BG2 there

  • frame 3400: same 79-line window

  • frame 3550: same rule with a deeper 95-line window

The runtime now loads those rules from a versioned contract file instead of a hardcoded late-gameplay lookup:

  • rom_analysis/docs/gameplay_composition_contracts.jsonc

On the implementation side, td2_runtime resolves the matching profile for the loaded design pack, and td2_ppu now applies two concrete knobs in the native SDL render path:

  • bg3_enable_top_scanlines

  • bg3_above_bg2_top_scanlines

That means the late-gameplay top-band BG3 rule is now a first-class part of the native renderer rather than a design-only experiment.

Validation stayed bounded and explicit:

  • make -C port test

  • python3 tools/build_docs_wiki_report.py --manifest rom_analysis/docs/wiki_doc_index.json --output-dir tools/out/docs_wiki --markdown-bundle-dir tools/out/docs_wiki_markdown_bundle

The current smoke matrix passed with:

  • compare lane 3/3

  • scheduler smoke 335 checks

  • input mutation smoke 200 checks

  • live input smoke 21 checks

  • scanline / composition contract smoke 39 checks

For design review, I also regenerated runtime PNGs for the promoted late-entry anchors so the team can judge the native SDL output directly, not only the sweep candidates.

The practical result is modest but important: late gameplay is now narrowed past “maybe BG3 matters here” and into one explicit, versioned composition rule that the runtime consumes. The next question is whether that same family needs more measured state beyond this top-band rule, or whether extending the composition contract to more anchors still pays off.

Was this article helpful?

Sign in to highlight and annotate this article

AI
Ask AI about this article
Powered by Eigenvector · full article context loaded
Ready

Conversation starters

Ask anything about this article…

Daily AI Digest

Get the top 5 AI stories delivered to your inbox every morning.

Knowledge Map

Knowledge Map
TopicsEntitiesSource
Promoting l…versionanalysisreportreviewDEV Communi…

Connected Articles — Knowledge Graph

This article is connected to other articles through shared AI topics and tags.

Knowledge Graph100 articles · 155 connections
Scroll to zoom · drag to pan · click to open

Discussion

Sign in to join the discussion

No comments yet — be the first to share your thoughts!