solvcon / modmesh

Toolkit for solving partial differential equations
BSD 3-Clause "New" or "Revised" License
40 stars 43 forks source link

Change the "viewer" to use an official name #400

Open yungyuc opened 3 months ago

yungyuc commented 3 months ago

The "viewer" GUI app was named like that because "viewer" is a placeholder name. After fixing the Mac app icon (PR #398), we can start to give the GUI app an official name.

It could take a while. This issue is created to track the progress of naming.

tigercosmos commented 3 months ago

How about "MeshView"?

yungyuc commented 3 months ago

How about "MeshView"?

It's too specific. The GUI app also houses solvers and a lot of other computation like the time-series analysis.

tigercosmos commented 3 months ago

How about "MeshView"?

It's too specific. The GUI app also houses solvers and a lot of other computation like the time-series analysis.

Then how about SolverView?

yungyuc commented 3 months ago

"View" probably should not be in the name because viewing is only a fraction of the features.

Tucchhaa commented 2 months ago

All the interaction of the user with modmesh happens through viewer, right? Then, how about just call it "modmesh"?

tigercosmos commented 2 months ago

Maybe "Mesh" is even better, because "mod" means "module".

yungyuc commented 2 months ago

All the interaction of the user with modmesh happens through viewer, right? Then, how about just call it "modmesh"?

The project contains both non-GUI and GUI parts. If the project name is used to refer the GUI part, it will be hard to refer to the non-GUI part.

Assuming the GUI part is named as "modmesh", the sentence "the non-GUI part of modmesh" becomes illogical.

Maybe "Mesh" is even better, because "mod" means "module".

It is truthful that by "mod" I meant "module", but I am surprised that you know it, @tigercosmos. Did I mention it to you before?

"Mesh" sounds good to me too! It has another concern: how do we refer to a mesh shown in the "Mesh" GUI? It reads a little bit misleading to write a sentence like "Create 3 meshes in Mesh".

Tucchhaa commented 2 months ago

The project contains both non-GUI and GUI parts. If the project name is used to refer the GUI part, it will be hard to refer to the non-GUI part.

I tried to think like a user. If I installed a project named 'modmesh', then there should be an '.exe' or '.app' (in case of macos) that I can execute with the name 'modmesh'.

If the only entry point to use modmesh, is the viewer, then imho it's the most user-friendly name.

If it's not, then what do you think about 'modmesh-gui'?

And I have a question, how can I use modmesh without viewer?

tigercosmos commented 2 months ago

Did I mention it to you before?

@yungyuc Nope, but it's straightforward.

"Create 3 meshes in Mesh"

@yungyuc I don't think it's an issue, though. Many projects are using super simple words as well.

And I have a question, how can I use modmesh without viewer?

@Tucchhaa modmesh can function as a library. See how the pytests and gtests work.

I can execute with the name 'modmesh'.

@Tucchhaa modmesh is just a temporary name, we will give the project an official name later.

Overall, I propose that the GUI be called "Mesh", and the library be called "modmesh" (maybe "libmesh" or "pymesh" is better).

yungyuc commented 2 months ago

The project contains both non-GUI and GUI parts. If the project name is used to refer the GUI part, it will be hard to refer to the non-GUI part.

I tried to think like a user. If I installed a project named 'modmesh', then there should be an '.exe' or '.app' (in case of macos) that I can execute with the name 'modmesh'.

If the only entry point to use modmesh, is the viewer, then imho it's the most user-friendly name.

No, it should also be allowed to launch modmesh from a standard Python interpreter, with or without Qt support.

If it's not, then what do you think about 'modmesh-gui'?

I don't like it. *-gui does not sound right to me. But if you can show me a cool application that is named like that, I can reevaluate.


Did I mention it to you before?

@yungyuc Nope, but it's straightforward.

I can't say you are wrong.

"Create 3 meshes in Mesh"

@yungyuc I don't think it's an issue, though. Many projects are using super simple words as well.

You convinced me. It does not read ambiguously when I read it again.

And I have a question, how can I use modmesh without viewer?

@Tucchhaa modmesh can function as a library. See how the pytests and gtests work.

In addition, all GUI code is in modmesh.viewer. If you set BUILD_QT cmake option off, no Qt code is built.

Part of modmesh C++ code can be built standalone, e.g., the buffer: contrib/standalone_buffer/Makefile. It is exercised in Github Actions.

I can execute with the name 'modmesh'.

@Tucchhaa modmesh is just a temporary name, we will give the project an official name later.

Overall, I propose that the GUI be called "Mesh", and the library be called "modmesh" (maybe "libmesh" or "pymesh" is better).

But Mesh has another issue. We currently use "viewer" as the binary name and the sub-module name (modmesh.viewer). After using a new name for the binary, it should also be used as the sub-module name. Then modmesh.mesh is confusing:

from modmesh import mesh
# It does not look like something for GUI.
mesh.run()
tigercosmos commented 2 months ago

But Mesh has another issue. We currently use "viewer" as the binary name and the sub-module name (modmesh.viewer). After using a new name for the binary, it should also be used as the sub-module name. Then modmesh.mesh is confusing:

We might want to reconsider how the project is organized. It seems odd to me that a GUI app is placed within a module library, as it's typically the other way around.

yungyuc commented 2 months ago

But Mesh has another issue. We currently use "viewer" as the binary name and the sub-module name (modmesh.viewer). After using a new name for the binary, it should also be used as the sub-module name. Then modmesh.mesh is confusing:

We might want to reconsider how the project is organized. It seems odd to me that a GUI app is placed within a module library, as it's typically the other way around.

Please create a separate thread for discussing the code organization. In this issue, we can focus on naming.