summaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorkboz <kutayboz@gmail.com>2026-04-19 01:50:32 +0200
committerkboz <kutayboz@gmail.com>2026-04-19 01:50:32 +0200
commitacbf6d6bd6d63ab0e9f7c4e119827f76e0382aac (patch)
tree9d2f74608ae4b910a480648c7bd95fdf6c403389 /readme.md
parent8cc70dfee2049772a2da9cfdeb15f64452bc390b (diff)
downloadhaul-acbf6d6bd6d63ab0e9f7c4e119827f76e0382aac.tar.gz
feat(backend): unify boot process and refactor route properties
- Added scripts/haul.sh, setup_auth.py, and setup_eve_data.py for simplified SSO and CSV data bootstrapping. - Refactored `Ship` and `RouteStep` properties across route planning modules to utilize dictionaries instead of strict dataclass attributes. - Re-aligned route limits, reducing upfront capital risk values in `arbitrage.py` and updating ship metrics in `manager.py`. - Updated `.gitignore`, `.env.example`, and created AI-assistant prompt configuration. - Added comprehensive "Getting Started" guides to the README and initialized CHANGELOG.md.
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md73
1 files changed, 72 insertions, 1 deletions
diff --git a/readme.md b/readme.md
index 65d9501..b145239 100644
--- a/readme.md
+++ b/readme.md
@@ -75,6 +75,38 @@ The project comprises:
* * * * *
+**Algorithm Criteria & Limits**
+-------------------------------
+
+The route planning and arbitrage algorithms evaluate the profitability and safety of moving items using the following constraints:
+
+1. **Ship & Financial Limits**
+ - **Cargo Capacity**: Hard limit of 600m³. Orders that don't fit are ignored.
+ - **Maximum Route Capital**: Caps the up-front item purchase cost at 100,000,000 ISK when compounding multiple items in a route.
+ - **Profit Threshold**: A single trade must yield a minimum gross profit of 100,000 ISK to be considered.
+
+2. **Time & Navigational Costs**
+ - **Ship Speed**: Calculations factor in `max_warp_speed = 8.22 AU/s` and `max_subwarp_speed = 216.5 m/s`.
+ - **Stargate Delay**: Each jump is assigned a fixed 9.0-second delay.
+ - **In-system Warp**: Calculates exact 3D geometry for acceleration and deceleration.
+ - **Player Time Cost**: The algorithm assigns a real-life time value of ~4,166 ISK per second (`15_000_000 / 3600`) to punish overly long routes.
+
+3. **Risk & Safety Penalties**
+ - **Gank Zones**: Hardcoded danger zones (e.g., Ahbazon) multiply the risk penalty heavily.
+ - **Security Status**: High-sec space carries virtually no penalty, low-sec applies a 0.005 penalty, and null-sec adds a massive 0.5 risk penalty.
+ - **Value at Risk**: The calculated risk percentage is multiplied against a theoretical 60m ISK penalty + the 50m ship value + the cargo value.
+
+4. **Trade Execution & Filtering Strategy**
+ - **Market Tax**: Accounts for an 8% transaction tax on all trades automatically.
+ - **Arbitrage Capital Limits**: Rejects individual items exceeding 20,000,000 ISK up-front capital during initial data processing but allows up to 100,000,000 ISK when compounding multiple items continuously.
+ - **Same-Region Filtering**: Ensures that pickup and dropoff stations for a single item are within the same region.
+ - **Evaluation Limit**: Limits pathfinding to the top 20,000 trades to conserve CPU overhead.
+ - **Snipe Feature Execution**: Background polling monitors loop regions actively for single trades that boast >20,000,000 ISK gross profit. If triggered, it executes an automatic ESI API call to forcefully open your in-game client's market window to intercept the trade instantly.
+ - **ESI Error Limits**: Pauses backend routines entirely if the X-Esi-Error-Limit-Remain headers fall below 50.
+ - **The Final Metric**: The route chosen is the one that produces the highest `profit_rate` (which is `net_profit = total_profit - risk * capital` divided by `transport_time`).
+
+* * * * *
+
**Project Structure**
---------------------
@@ -88,4 +120,43 @@ The project comprises:
├── rust_backend/ # Experimental Rust rewrite
│ ├── src/ # Rust codebase
│ └── Cargo.toml # Rust dependencies
-``` \ No newline at end of file
+├── scripts/ # Setup and run scripts
+│ └── haul.sh # Unified script for data/auth setup and app runtime
+```
+
+* * * * *
+
+**Getting Started**
+-------------------
+
+HAUL uses a unified shell script to handle setup, data fetching, authorization, and running the application.
+
+1. **Check Environment**:
+ Verify what prerequisites are missing by running:
+ ```bash
+ ./scripts/haul.sh check
+ ```
+
+2. **Fetch Static Data**:
+ HAUL requires EVE Online CSV dumps. Download and extract them automatically:
+ ```bash
+ ./scripts/haul.sh setup-data
+ ```
+
+3. **Authenticate**:
+ Set up your EVE SSO credentials and generate the auth cache:
+ ```bash
+ ./scripts/haul.sh setup-auth
+ ```
+
+4. **Run the Application**:
+ Start both the Python backend and React frontend concurrently:
+ ```bash
+ ./scripts/haul.sh up
+ ```
+
+ Alternatively, run them separately:
+ ```bash
+ ./scripts/haul.sh backend
+ ./scripts/haul.sh frontend
+ ``` \ No newline at end of file