You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
apply_theme_scaling(ruleset, layer) (dndwright) — folds a ThemeScalingLayer's
mechanical overrides onto a ruleset so the same computation graph yields
setting-appropriate values (modern warfare, sci-fi, steampunk, …). lookup_overrides
deep-merge into the ruleset's lookup tables (creating tables/keys, preserving the rest); input_overrides re-baseline a node's default_value (eval precedence stays explicit
input > themed default > original default, so a theme sets the world's baseline without
clobbering a value a character explicitly carries). flavor_renames are display-only and
ignored here. Pure (the base ruleset is untouched) and composes with compose(). Raises KeyError on an input_overrides id that names no node, to catch authored-layer typos.
This makes the previously inert ThemeScalingLayer / PREDEFINED_THEME_SCALING data a
working feature. New tests/test_theme_scaling.py.