1.0 definition of done

Reference surfaceCompleted coverage
Scenario configurations27 / 27 detailed chapters
Terrain maps24 / 24 catalogued, including all three intentional reuses
Campaign unit files14 / 14 exact stat and source catalogue
Utility files6 / 6 catalogued
Campaign-local images154 non-localized filenames
Direct scenario/story audio27 unique references
Custom-unit inherited audio45 expanded filenames
Custom-unit macro closure31 resolved symbols; zero unresolved
Campaign state33 lifecycle records plus object/recruit-state patterns
Maintenance supportOffline search, generated consistency checks, pinned source provenance, and two reusable Python tools

Deliberate boundaries

Not included as a campaign-specific catalogueReason
Every ordinary core unit recruitable in every scenarioThose definitions belong to the core Wesnoth unit reference; the guide documents campaign roster use and all custom types.
Localized copies under image l10n directoriesThe manifest deliberately counts source artwork, not language-specific render variants.
Engine C++ implementation internalsThe guide’s scope is campaign authoring, WML/Lua behavior, assets, state, and maintenance.
Runtime animation winner predictionThe audio closure conservatively records syntactic dependencies; exact animation arbitration belongs to the engine and current unit state.
A frozen copy of upstream GPL sourceThe archive records commit-pinned links and hashes instead of duplicating upstream files.

Reproducible maintenance tools

ToolPurpose
tools/trow_unit_dependency_audit.pyRegenerates campaign-unit base inheritance, transitive macro resolution, and expanded audio from a local Wesnoth checkout.
tools/validate_reference.pyChecks local links, unique titles, search-index parity, external runtime dependencies, and required machine-readable artifacts.

Release status

Release 1.0 is a complete developer reference within its stated scope. Future releases should be driven by upstream source changes, factual corrections, or genuinely new maintainer needs—not by adding pages for the sake of a larger page count.

The source baseline for the final closure is commit 6ab3fc1. To refresh after upstream changes, run the two bundled tools, update the pinned snapshot, review the generated diffs, and rebuild the search and audit data.