I propose to remove the following items from Contribution Checklist
For all code (classes, functions) for which it makes sense, both AngelScript and Lua bindings should exist. Refer to the existing bindings and the scripting documentation for specific conventions, for example the use of properties in AngelScript instead of setters / getters where possible, or Lua bindings providing both functions and properties.
Unless impossible due to missing bindings (see above) new examples should be implemented in all of C++, AngelScript and Lua.
I know that these rules are (were) important to keep Urho3D API consistent among C++, AS and Lua.
Let’s be honest with ourselves. Everybody hates writing bindings.
For Lua you should locate some files outside the project and add things, for AngelScript you should write binding string properly, and if you are not careful enough, everything will explode. You should either be very attentive or test all bindings manually. Perfectly both.
To make these samples you should recall “foreign” script language and spend x2-x3-x5 time to port your C++ code.
This actually draws Urho into stagnation. It’s much easier for many people to maintain their own diverging forks than to follow these rules and make PRs.
I think that engine developement is more important than script API completeness.
So I suggest to drop these requrements and let code flow.
Of course, existing bindings shall be maintainted.
Of course, it is appreciated to implement script bindings or even port samples.
Script bindings could be implemented in separate PR or requested in issue and implemented on demand, like any other suggestion.
If there is a volunteer who is ready to write bindings, that’s perfect.
- More PRs from people who don’t need bindings and don’t like writing bindings
- Stimulate people who actually need bindings to make PRs and develop the project.
- No time wasted for bindings that nobody actually use.
- Script bindings become a kind of downstream projects behind the head.