Skip to content

Add macOS ARM64 support and Age of Transformation ruleset - #2288

Draft
tippered1-debug wants to merge 10 commits into
schombert:mainfrom
tippered1-debug:feat/macos-arm64-bootstrap
Draft

Add macOS ARM64 support and Age of Transformation ruleset#2288
tippered1-debug wants to merge 10 commits into
schombert:mainfrom
tippered1-debug:feat/macos-arm64-bootstrap

Conversation

@tippered1-debug

Copy link
Copy Markdown

Summary

This draft PR combines the native macOS ARM64 bootstrap work on the feature
branch with an opt-in Alice: Age of Transformation political-economy
ruleset.

The new ruleset connects production and wages to income, persistent land
ownership, interest-group political power, governing coalitions, legitimacy,
local policy execution, human development, banking stability, trade capacity,
army logistics, and diplomatic-crisis diagnostics. Legacy campaigns retain
their existing behavior when the game rule is disabled.

Why

Project Alice already models population, production, reforms, migration,
administration, and war, but many of those systems behave as parallel
mechanics. This change adds a deliberately bounded and observable causal loop
while preserving compatibility with classic Victoria 2 behavior.

Land ownership is now persistent state under the new ruleset rather than being
restated immediately from the current POP composition. Existing saved province
shares initialize the model without adding new save fields, and rent/RGO income
continues feeding savings and political power.

The branch also contains the native macOS ARM64 build, packaging, rendering,
and platform fixes required to build and run this work on Apple Silicon.

User and developer impact

  • Adds the opt-in Age of Transformation game rule and bundled mod.
  • Adds explainable interest groups, coalitions, legitimacy, reform mandates,
    movement pressure, and policy execution.
  • Connects housing, employment, education, migration, demographic transition,
    banking stress, trade congestion, logistics, and crisis diagnostics.
  • Adds bounded JSONL simulation reporting, comparison/summarization scripts,
    and deterministic regression support.
  • Adds native macOS ARM64 presets, launcher/packaging support, and
    graphics/platform fixes.
  • Keeps the new political-economy effects disabled for classic games.

Validation

  • Debug Alice and tests_project targets build successfully on macOS ARM64.
  • Ownership tests: 19 assertions in 4 test cases pass.
  • Transformation politics tests: 466 assertions in 12 test cases pass.
  • Banking tests: 32 assertions in 6 test cases pass.
  • World trade capacity tests: 54 assertions in 7 test cases pass.
  • Python experiment/report scripts pass py_compile.
  • git diff --check passes.

Known issue

The human-development integration fixture currently reaches a SIGSEGV; its
first six pure/model tests pass. This PR remains a draft while that integration
failure and the broader long-run balance gates are investigated.

@schombert

Copy link
Copy Markdown
Owner

I appreciate the enthusiasm, but you probably need to break down this PR into things that a human being can review. First, you should probably remove changes that are not part of the main features. For example, changing how floats are parsed in the asvg file is orthogonal to the features you want to add; if you really want to make that change it should probably be its own PR. Likewise, adding macos support should be moved to its own PR. I also strongly recommend joining the discord to discuss the features that you want to add. Any code that touches the economics side of things probably needs to be discussed with Peter since he is generally in charge of maintaining that area, especially with such large changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants