def resolve_eva_layer_index(layer_id, depth=24): presets = { '25%': 0.25, 'quarter': 0.25, '50%': 0.50, 'middle': 0.50, '75%': 0.75, 'three_quarter': 0.75, } if isinstance(layer_id, str) and layer_id in presets: return max(0, min(depth - 1, int(depth * presets[layer_id]) - 1)) if isinstance(layer_id, str) and layer_id.startswith('block'): return int(layer_id.replace('block', '')) return int(layer_id)