Many project settings are too complex for their own good, using RegEx or Dictionary for very complex lookups and string manipulation.
Instead it would be good to have a plug-in API that allows the user to implement virtual methods like func _compute_locale(path: String) -> String which could in the end just do a RegEx lookup, but also anything else.
Not sure about the registration mechanism, since it would need to be available as soon as ResourceLoader is ready (during project startup). Maybe refer to plug-in classes by path or by class_name in ProjectSettings?
May depend on godot-rust/gdext#426 OR we implement the interface via GDScript and dynamically instantiate and calls things without Rust typing
Might also be blocked by godotengine/godot#91336 (not sure how early GDScript is ready to be executed)
Many project settings are too complex for their own good, using RegEx or Dictionary for very complex lookups and string manipulation.
Instead it would be good to have a plug-in API that allows the user to implement virtual methods like
func _compute_locale(path: String) -> Stringwhich could in the end just do a RegEx lookup, but also anything else.Not sure about the registration mechanism, since it would need to be available as soon as ResourceLoader is ready (during project startup). Maybe refer to plug-in classes by path or by class_name in ProjectSettings?
May depend on godot-rust/gdext#426 OR we implement the interface via GDScript and dynamically instantiate and calls things without Rust typing
Might also be blocked by godotengine/godot#91336 (not sure how early GDScript is ready to be executed)