Spaces:
Sleeping
Sleeping
Download environment/config.py from ArshPathan/material_forge_env: direct link, hf CLI and curl.
- Browser
- Download file 2.23 kB
-
https://huggingface.co/spaces/ArshPathan/material_forge_env/resolve/main/environment/config.py
- Command line
-
hf download hf://spaces/ArshPathan/material_forge_env/environment/config.py
-
curl -L -o config.py https://huggingface.co/spaces/ArshPathan/material_forge_env/resolve/main/environment/config.py
2.23 kB
| """Constants and configuration for the MaterialForge environment.""" | |
| # Simulation grid dimensions and default episode constraints. | |
| GRID_SIZE = 8 | |
| MAX_STEPS = 50 | |
| COST_BUDGET_DEFAULT = 80 | |
| EMPTY = "." | |
| # Completion requirements: minimal structure size and required crystal quality. | |
| MIN_ATOMS_FOR_COMPLETION = 6 | |
| VALID_COMPLETION_PHASES = {"crystalline", "polycrystalline"} | |
| # The four macro-physical properties the agent is tasked to engineer. | |
| PROPERTY_NAMES = ["hardness", "conductivity", "thermal_resistance", "elasticity"] | |
| # Atom definitions: defines species symbols, their resource costs, and physical contributions. | |
| # Each species is a SPECIALIST in one physical property to force chemical diversity. | |
| ATOM_TYPES = { | |
| "A": { | |
| "name": "metal", | |
| "cost": 8, | |
| "contributions": { | |
| "hardness": 1.00, # Master of Hardness | |
| "conductivity": 0.15, | |
| "thermal_resistance": 0.10, | |
| "elasticity": 0.05, | |
| }, | |
| }, | |
| "B": { | |
| "name": "conductor", | |
| "cost": 6, | |
| "contributions": { | |
| "hardness": 0.10, | |
| "conductivity": 1.00, # Master of Conductivity | |
| "thermal_resistance": 0.10, | |
| "elasticity": 0.20, | |
| }, | |
| }, | |
| "C": { | |
| "name": "ceramic", | |
| "cost": 4, | |
| "contributions": { | |
| "hardness": 0.30, | |
| "conductivity": 0.05, | |
| "thermal_resistance": 1.00, # Master of Thermal Resistance | |
| "elasticity": 0.05, | |
| }, | |
| }, | |
| "P": { | |
| "name": "polymer", | |
| "cost": 2, | |
| "contributions": { | |
| "hardness": 0.05, | |
| "conductivity": 0.15, | |
| "thermal_resistance": 0.15, | |
| "elasticity": 1.00, # Master of Elasticity | |
| }, | |
| }, | |
| } | |
| ATOM_SYMBOLS = list(ATOM_TYPES.keys()) | |
| # Difficulty presets: adjusts matching tolerance and budget for different hackathon scenarios. | |
| DIFFICULTY_PRESETS = { | |
| "easy": {"tolerance": 20, "cost_budget": 120, "max_steps": 64}, | |
| "medium": {"tolerance": 10, "cost_budget": 80, "max_steps": 50}, | |
| "hard": {"tolerance": 5, "cost_budget": 60, "max_steps": 40}, | |
| } | |