Ich weiß gerade echt nicht, wo ich die Grenze ziehen soll (nur Code, Code + SDKs, Code + SDKs + Compiler, Code + SDKs + Compiler + OS). Hm.
Was ist denn für alle Beteiligten der geringste Aufwand? Ihr seid ja nur zu Dritt wie du sagst.
Ich würde die Grenze da ziehen wo du wirklich einen Mehrwert erwarten kannst. Wenn du einen Monat beschäftigt bist das umzubauen, dann noch jede Woche drei Stunden mit der Pflege des Systems beschäftigt bist, um nachher 3 Sekunden Geklicke einzusparen, dann hast du nichts gekonnt.
Um das rauszufinden musst du das natürlich erst mal durchtesten, einmal die Zeit investieren. Der berühmte Prototyp. Und da würde ich mir dann auch mal die Meinung deiner Mitbenutzer einholen.
Und du musst da auch an die Zukunft und die Toolchain denken. Selbst das einfachste Script braucht ab und zu Wartung. Und gemein wird es da wo du ein Script von einem Vorgänger übernimmst von dem du nicht weisst was es eigentlich tut. Und selbiges dann den Dienst quittert. Ist mir mit Github Actions passiert. Ich komme immer noch nicht dahinter was ich falsch mache. Und der der mir das eingerichtet hat hat grade keine Zeit sich drum zu kümmern.
Mich beissen die ganzen Tools im Blender Source Code immer wieder tierisch in den Allerwertesten. Genauso diese verdammten Submodule. Die hängen ja an Blender. Also mussten wir das wieder ausbauen damit unsere Sachen da drin bleiben, und uns nicht die Blender Submodule Updates ständig alles zertrümmern. Und haben nun trotzdem ständig Ärger damit.
Bezüglich Toolchain. Die haben in Blender zum Beispiel mehrere Scripte eingebaut das dir automatisch aus einem Iconsheet in einer SVG Datei die ganzen Icons generiert. Mit dem Ergebnis dass du das SVN File benutzen MUSST um Icons zu bauen. Sprich ich habe meine Icons eigentlich fertig als PNG, muss die aber erst mal in ein Vectorformat umwandeln und in das SVG einbauen, damit das dann im Buildprozess in PNG zurückgewandelt wird um dann endlich als dat File abgespeichert zu werden. Das ist tierisch limitierend und nervig. Denn das SVG Iconsheet ist inzwischen so gross dass es kaum noch zu handeln ist. Inkscape braucht ewig zum laden, und kommt an seine Performancegrenze. Und sehr geil: die neueste Version von Inkscape kann ich nicht verwenden weil ein paar Last Minute Änderungen in Version 1 den ganzen Buildprozess durcheinanderwirbelt. Ich hänge jetzt auf Inkscape Version 0.9x fest. Keine Ahnung wie das die Blender Devs hinbekommen, die haben das Script einfach auf Version 1.0 umgeschrieben. Ich habe aber seitdem auch keine neuen Icons in Blender gesehn. Vielleicht wissen die noch gar nichts von ihrem Glück ^^
Und mit Blender 2.80 haben sie da noch eins drauf gesetzt. Nun muss man die Icons für die Toolbar erst mal in 3D modeln. Weil das Script ein blend file mit den 3D Modellen erwartet. Einmal mit Profis halt.
Und ich finde einfach nicht raus wie man ein einfaches dat schreibt und diese irrsinnige Nerd Pipeline umgeht. Weil das alles über zig Files läuft, mit sogenanntem selbsterklärenden Code und so, zigfach verwoben mit dem Core Code, in Cmakefiles verewigt und in den Build Prozess mit eingebaut. Wieso auch immer sie die schon erstellten dat files unter Linux noch mal überschreiben zu meinen müssen, und unter Windows nicht ...
Sorry fürs abschweifen. Trotzdem, think twice ob du da wirklich Tools mit reinbauen willst. Nicht alles was machbar ist ist auch sinnvoll. Jedes zusätzliche Modul verkompliziert die Lage. Und Abhängigkeiten machen vor allem eins: abhängig. Und manchmal ist Handarbeit zwar nervig, aber unter dem Strich die bessere und schnellere Lösung. Hatten wir da nicht unlängst so ein Beispiel im Jammer Thread? Irgendjemand hatte mir geraten ein Script für einen Job zu schreiben, was mich locker nen Tag beschäftigt hätte, mit nach oben offenem Ende. Und von Hand war das in einer halben Stunde gelöst. Ohne Script. Klar, nervig. Aber schneller.
Die Tools mit einzubauen kann eine Verbesserung sein, muss aber nicht. Das kommt immer auf den Einzelfall an. Du kannst zwar einerseits Zeit und Energie einsparen. Aber du kannst dir deine Pipeline mit sowas auch herrlichst verkomplizieren wenn du die Konsequenzen nicht komplett durchdacht hast. Und je mehr du da reinballerst, um so schwerer ist das dann wieder zu trennen falls es doch eine Verschlimmerung der Pipeline ist statt eine Verbesserung.
Meine fünf Gedanken dazu :)