magicciv/scripts/run/common.sh
Natalie 629fd05c67 fix(macos): Fix GDExtension loading and class_name resolution for fresh macOS checkouts
- Add scripts/dev-setup/osx.sh for one-command macOS dev environment setup
- Add .godot/extension_list.cfg creation to enable GDExtension discovery
- Fix .gdextension to include macos.debug and macos.arm64 library entries
- Replace bare class_name self-references (e.g. BiomeModel.new()) with new()
  in static methods — fixes compilation on cold boots without import cache
- Replace bare class_name type annotations (GameMap, Unit) with RefCounted/Variant
  in pathfinder.gd, ai_turn_bridge.gd, simple_heuristic_ai.gd, rust_fauna_bridge.gd
- Add headless boot check (step 7) to ./run verify pipeline
- Add offscreen screenshot tool via SubViewport
- Wire ./run setup to dispatch to platform-specific scripts
- Source ~/.cargo/env in common.sh for Rust toolchain discovery
- Allow clippy::result_large_err in api-gdext (godot-rust macro generates large Results)
- Update .npmrc registry from Verdaccio to Forgejo and regenerate pnpm-lock.yaml

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 12:55:33 -07:00

20 lines
549 B
Bash

#!/usr/bin/env bash
# Shared constants and helpers for all run scripts
# Ensure cargo is in PATH (rustup installs to ~/.cargo/bin)
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
DIM='\033[2m'
NC='\033[0m'
case "$(uname -s)" in
Darwin) GODOT_BIN="godot" ;;
*) GODOT_BIN="flatpak run --user org.godotengine.Godot" ;;
esac
GAME_DIR="$REPO_ROOT/src/game"
SIMULATOR_DIR="$REPO_ROOT/src/simulator"
GUIDE_DIR="$REPO_ROOT/public/games/age-of-dwarves/guide"