"""Resolve immutable reader rules from this independent application package."""
import json
from ..paths import root


def load_rule(name):
    if name not in {'map-memory-layout','map-key-layout','character-memory-layout'}:
        raise ValueError('unknown_map_reader_rule')
    return json.loads((root()/'data/arbeit-movement-map.json').read_text(encoding='utf-8'))['reader_rules'][name]
def load_current_layout_rule():
    from ..arbeit_movement import movement_definition
    rule=movement_definition().get('current_map_layout')
    if not rule:
        raise ValueError('current_map_layout_rule_missing')
    return rule

