godot-nim / .github

0 stars 1 forks source link

naming discussion #1

Closed insomniacUNDERSCORElemon closed 3 months ago

insomniacUNDERSCORElemon commented 3 months ago

Reply to @panno8M in https://github.com/godot-nim/godotcore/issues/12

I actually think minister and coronation work with each other in context. The small peculiarities with naming are more external, non-usage factors (aside from ability to having an actual nimble package, that is kind of a usage factor).

I don't know what is best here, but I think you should probably just centralize most of the needed information on the top-level overview. Use an index if needed, or switch over to a wiki format. Either way will probably make info easier to find and less prone to breakage.

I might not want to type nim4godot every time

Is this an issue? I would just type nim4 and then tab for autocomplete. Currently it's mini then autocomplete (same number).

install, template (future), and uninstall? Is there anything more commonly used that I'm missing? Is script management or hotreloading more likely done through minister than direct integration?

but minister is a bit difficult. I was thinking of it as a command line tool to assist the project, like systemctl for systemd, but is there a better name? (I might not want to type nim4godot every time)

Maybe just rename minister to assistant? I think that'd be more clear. Or use the name wizard* as that has a clear meaning in computing. I could see this being used for other projects, too.

That and change import godot to import godot4

assistant install godot4. assistant g4proj tilemap_test

*= I had the idea for using that as a name scheme (cast godot4, summon projectname, brew some_secret_third_thing), but that is less intuitive

panno8M commented 3 months ago

Project Overview

I made a diagram based on the suggestions so far. Would it look something like this?

It would certainly be easier to understand. Personally, I would consider it sufficient, but I wonder if there are any improvements that can be made from here

panno8M commented 3 months ago

About the functionality that minister would have

Not a common feature, but one that I am currently considering is:

I was also trying to automate some of the other complications that would arise when synchronizing nim and godot (though I can't be more specific as I am still new to godot development). I think it would be better to develop an Editor Plugin for this, but in any case, it would have the functionality to introduce it into the project.

insomniacUNDERSCORElemon commented 3 months ago

Name stuff looks good. First thought is godot4 doesn't autocomplete until godot4... wizard4godot autocompletes at wiz for me. Another reason I prefer that type of name is that it is the most important bit first. Though I also like the idea of emphasis on Nim, though I admit this might be more trouble than it's worth (I thought nimzard at one point, though yeah maybe not so great).

Yeah, if you can get contributors they would be better input. Unfortunately the only place I posted on is permanently 50x and I didn't have much luck talking about nim-lang even when it was up.

Although should the core repo have 4 in its name? godotcore is required portability that it can be used from any version or is core working for 5.X or perhaps even 3.X unlikely?

watch, script2nim, compilation cost

Have you thought about nimscript? (see project Enu (that is 3.X) by dsrw). Hotreloading works better with that and it'd be good enough for prototyping most of the time. Though I don't know enough to know if using a DSL is any leverage there for nimscript.

Aside from that, compilers can make a difference here too. Back when I used Nim in 3.X I did a benchmark and found that Clang with opt:size compiled faster than GCC yet was still fairly performant (read: best value, fine™). A tangent from that, in 3.X era (Bellard's) TCC was fastest compile (yet slowest performance, threads:off) so good first test option but it broke at some point and Araq said TCC is not officially supported.

(sidenote: Geekrelief did some hotreloading for 3.X)

panno8M commented 3 months ago

Name stuff looks good. First thought is ...

Indeed. But that doesn't mean I can't come up with another correct name, and maybe we should compromise here. Or maybe gdextension?

Although should the core repo have ...

I put it there because I felt that when the specification is changed to 5.X, a replacement for gdextension will be released again. In that light, since this project targets gdextension and not godot4, it may be a good idea to change the name to gdextension.

Have you thought about nimscript? ...

Come to think of it, I have heard that Nim4UE also uses nimscript. I have some concerns about nimscript because of its inadequate memory emulation, but I will look into whether I can use it successfully.

insomniacUNDERSCORElemon commented 3 months ago

I was thinking there might be some merit to using your old repo as a mirror (and it might make more sense to rename there).

My reasoning being that it has 77 stars and seems to have even gotten one recently. I don't know the timing with this, but I would guess that it's not great to have an organization as a landing page and that the stars will be divided between the repos.

For some context I had your old repo bookmarked for a while and only looked into it after seeing dodgethecreeps because it meant there was an obvious starting point.