systems rework: buffs, prestige graph, research, modular architecture

Decouples core systems from centralized globals in favor of catalogue-based architecture and data-driven content.

   Key changes:
   - Prestige: node-based buff tech tree, graph panel, progress bar
   - Research: multi-worker system, per-generator research, xp generation
   - Ascension: meta-currency layer via multi-currency prestige resets
   - Buffs: refactored as generator-independent via catalogues
   - UI: currency panel, edge-scrolling camera + zoom, current-goal panel
   - Alchemy Tower: crafting building with recipe/cost system
   - Testing: 7 test suites (ascension, prestige, research, goals)
   - Content: migrated from hardcoded idles/ to gym format (tiny_sword)
This commit was merged in pull request #1.
This commit is contained in:
2026-05-07 20:36:21 +00:00
parent 2743fd314a
commit 81a4058b04
242 changed files with 11226 additions and 2242 deletions

37
scripts/check_syntax.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/bash
# Godot Syntax Checker
# Usage: ./scripts/check_syntax.sh <script_path>
# Example: ./scripts/check_syntax.sh res://tests/test_gold_mine_click.gd
SCRIPT="$1"
GODOT_BIN="${GODOT_BIN:-godot}"
if [ -z "$SCRIPT" ]; then
echo "Usage: $0 <script_path>"
echo "Example: $0 res://tests/test_gold_mine_click.gd"
exit 1
fi
if [ ! -f "$SCRIPT" ]; then
echo "Error: Script not found: $SCRIPT"
exit 1
fi
echo "=========================================="
echo "Checking syntax: $SCRIPT"
echo "=========================================="
echo ""
"$GODOT_BIN" --headless --path . --check-only --script "$SCRIPT"
EXIT_CODE=$?
echo ""
echo "=========================================="
if [ $EXIT_CODE -eq 0 ]; then
echo "✓ Syntax valid"
else
echo "✗ Syntax errors found"
fi
echo "=========================================="
exit $EXIT_CODE

26
scripts/run_all.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Godot Test Runner - All Tests
# Usage: ./scripts/run_all.sh
set -e
GODOT_BIN="${GODOT_BIN:-godot}"
echo "=========================================="
echo "Running All Tests"
echo "=========================================="
echo ""
"$GODOT_BIN" --headless --path . -s res://tests/test_runner.gd
EXIT_CODE=$?
echo ""
echo "=========================================="
if [ $EXIT_CODE -eq 0 ]; then
echo "✓ All tests passed"
else
echo "✗ Some tests failed"
fi
echo "=========================================="
exit $EXIT_CODE

39
scripts/run_test.sh Executable file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
# Godot Test Runner - Single Test
# Usage: ./scripts/run_test.sh <test_script_path>
# Example: ./scripts/run_test.sh res://tests/test_gold_mine_click.gd
set -e
TEST_SCRIPT="$1"
GODOT_BIN="${GODOT_BIN:-godot}"
if [ -z "$TEST_SCRIPT" ]; then
echo "Usage: $0 <test_script_path>"
echo "Example: $0 res://tests/test_gold_mine_click.gd"
exit 1
fi
if [ ! -f "$TEST_SCRIPT" ]; then
echo "Error: Test script not found: $TEST_SCRIPT"
exit 1
fi
echo "=========================================="
echo "Running test: $TEST_SCRIPT"
echo "=========================================="
echo ""
"$GODOT_BIN" --headless --path . -s "$TEST_SCRIPT"
EXIT_CODE=$?
echo ""
echo "=========================================="
if [ $EXIT_CODE -eq 0 ]; then
echo "✓ Test passed"
else
echo "✗ Test failed with exit code: $EXIT_CODE"
fi
echo "=========================================="
exit $EXIT_CODE