Game/VpBuild.cs

Build metadata for the VehicleProto game. Defines a monotonically increasing PublishStamp int, a human-readable PublishStampNote string, and a display Version string used for UI and help overlays.

namespace VehicleProto;

/// <summary>
/// The PUBLISH STAMP: a monotonically increasing build number
/// bumped on EVERY publish so a tester can always say exactly which build they are running. vehicle_prototyping
/// is SINGLE-PLAYER, so there is NO lobby metadata, NO StampLobby,
/// and NO client-side compatibility gate here: the stamp's only job is tester ATTRIBUTION (e.g. Kenny reporting
/// "I'm on build N" against a bug). It is surfaced in the boot log and on the Help overlay, nowhere on the wire.
///
/// RUN <c>tools/bump_publish_stamp.py</c> BEFORE EVERY PUBLISH — it increments <see cref="PublishStamp"/> and
/// dates <see cref="PublishStampNote"/>, then record the build in CHANGELOG.md and republish.
/// </summary>
public static class VpBuild
{
	/// <summary>Monotonically increasing publish counter. Bumped by tools/bump_publish_stamp.py before each
	/// publish. Starts at 1 (the first published build, which predated the stamp).</summary>
	public const int PublishStamp = 10;

	/// <summary>Human note for the current stamp (date + gist). Updated alongside the bump. Keep the
	/// --note gist SHORT — this renders verbatim in the Help overlay footer (design-locked panel);
	/// the full story of each build lives in CHANGELOG.md.</summary>
	public const string PublishStampNote = "2026-07-17 - sound slider, controller binds, sport shift fix (build 10)";

	/// <summary>PUBLIC DISPLAY VERSION — the player-facing "vX.Y.Z" shown beside the build stamp.
	/// Policy: 0.1.0 = the first public release (2026-07-17). Bump MINOR (0.2.0, …) with each content
	/// publish, alongside its CHANGELOG.md entry; bump PATCH (0.1.1, …) for hotfix republishes;
	/// 1.0.0 is reserved for feature-complete. DISPLAY ONLY — it never gates compatibility
	/// (<see cref="PublishStamp"/> keeps that job). Bumps are deliberate manual edits to this line,
	/// never automated: tools/bump_publish_stamp.py touches only the stamp and note lines above.</summary>
	public const string Version = "0.2.0";
}