This is the first release of modmesh. It is still experimental.
What's Changed
- Add 1D grid code by @yungyuc in #1
- Add a simple profiler by @yungyuc in #2
- Clean up makefile a bit by @yungyuc in #3
- Take code from libst by @yungyuc in #4
- Enable clang-tidy by @yungyuc in #6
- Add a primitive setup.py for installing the package by @yungyuc in #7
- Update compiler warning options by @yungyuc in #8
- Fix github action failure on mac caused by mac image update by @yungyuc in #9
- It seems pytest requires setuptools and need it to be installed beforehand by @yungyuc in #10
- Fix CI failures by @yungyuc in #12
- Enable external ownership of ConcreteBuffer by @yungyuc in #13
- Correct include syntax by @yungyuc in #15
- Provide a workaround of macos SIP in the build system by @yungyuc in #16
- Change code to remove the clang-tidy warning of init list by @yungyuc in #17
- Upgrade github action Linux ubuntu-20.04, mac to macos-11. by @yungyuc in #18
- Add a couple of more lines to test constructing SimpleArray from ndarray by @yungyuc in #19
- Allow negative value for the ghost index in the first dimension of SimpleArray by @yungyuc in #21
- Enhance StaticGrid1d to use SimpleArray by @yungyuc in #23
- Refactor Python wrapper by @yungyuc in #24
- [refactor] Add helpers to wrap member SimpleArray by @yungyuc in #25
- Turn off scheduled Github Actions in forked repository by @yungyuc in #26
- Refactor SimpleArray by @yungyuc in #29
- Upgrade from C++14 to C++17 by @yungyuc in #30
- Add basic code to support multi-dimensional (2/3D) unstructured mesh by @yungyuc in #31
- Add mesh.hpp to house code of unstructured mesh by @yungyuc in #32
- Add code to build the data for 2D unstructured mesh object by @yungyuc in #33
- Create a new directory include/modmesh/mesh/ for unstructured-mesh code by @yungyuc in #40
- Refactor build_faces_from_cells() to save some lines of code by @yungyuc in #41
- Refactor calc_metric() by @yungyuc in #42
- Organize code build_faces_from_cells() to helper class FaceBuilder by @yungyuc in #43
- Make inclusion more complete by @yungyuc in #44
- Add the minimal code for unstructured mesh by @yungyuc in #45
- Use clang-format to control coding style by @yungyuc in #46
- [Refactor] Create StaticMesh class template by @yungyuc in #47
- Add the stub of drawing a simple 2D mesh using Qt by @yungyuc in #48
- Sync latest work from project/ustmesh by @yungyuc in #49
- Add tests for SimpleArray by @oiu850714 in #51
- Embed Python to viewer by @yungyuc in #50
- Merge from project/ustmesh by @yungyuc in #54
- Properly handles R3DWidget resize event by @yungyuc in #55
- Move the example mesh from C++ to Python by @yungyuc in #56
- Fix viewer CMakeLists.txt by @yanagiragi in #61
- fix: Clear scene before assign new mesh by @yanagiragi in #63
- Correct the wrong deletion of the controller of scene by @yungyuc in #64
- Add a single tetrahedron mesh for testing 3D mesh code by @yungyuc in #65
- Make StaticMesh a class instead of a template by @yungyuc in #71
- Refactor to improve file organization by @yungyuc in #72
- Refactor the embedded view Python extension by @yungyuc in #73
- Refactor the viewer code by @yungyuc in #74
- Add a simple axis marker in the view widget by @yungyuc in #77
- ci(viewer): init CI run for viewer binary by @tai271828 in #76
- Add a helper to convert QByteArray to SimpleArray by @yungyuc in #79
- Rename githuba action names by @yungyuc in #80
- Add Ubuntu 22.04 and macos 12 to pytest build job by @yungyuc in #81
- Fix the bug that mesh is not drawn in the viewer by @yungyuc in #82
- Add arrow heads to the lines of the axis markers by @yungyuc in #83
- Add text labels next to the axis marking lines by @yungyuc in #86
- Take the pixmap from the 3D window by @yungyuc in #87
- Prototype feature toggle by @yungyuc in #88
- feat: Support menubar by @yanagiragi in #89
- Do not add "exit" menu item when it is macos by @yungyuc in #90
- Ignore the setting directory of JetBrains CLion by @yungyuc in #91
- Support custom icon and title of the window by @yanagiragi in #92
- Remove duplicated edges when drawing the wireframe of a mesh by @yungyuc in #94
- Refactor: Embed the base Python extension module to the viewer executable by @yungyuc in #95
- bump pybind11 from 2.6.1 to 2.9.2 by @tigercosmos in #97
- Refactor: Drop the unnecessary Python module preload by @yungyuc in #98
- SimpleArray: support copy data from ndarray using ellipsis by @tigercosmos in #96
- Import the turgon code base to modmesh by @yungyuc in #99
- Add application code in Python by @yungyuc in #101
- Fix viewer crash with linear_wave app loaded by @yungyuc in #102
- Create a new Python module
modmesh.apputil
to manage app environment by @yungyuc in #105 - Refactor spacetime and view by @yungyuc in #108
- Create a new option to animate the linear solver plot by @yungyuc in #109
- SimpleArray: setitem parser & broadcast array by slices by @tigercosmos in #107
- update to C++14 syntax: remove_reference_t by @tigercosmos in #113
- Add code to build with Apple Metal by @yungyuc in #114
- feat: Use FPSCamera to improve control by @yanagiragi in #112
- Add macos build test to modmesh_viewer.yml by @minchuncho in #117
- setup docker environment by @dboyliao in #121
- Port to windows and Add windows build test to modmesh_viewer CI workflow by @tychuang1211 in #122
- Fix errors reported by clang-tidy v15 and maintain the gha workflows by @yungyuc in #124
- Create a placeholder for the 1D Euler solver by @yungyuc in #125
- (Re-)fix clang-tidy errors that show up with v15 by @yungyuc in #126
- refactor wrapper of SimpleArray by @tigercosmos in #123
- Create Python middle layer for the 1D Euler solver by @yungyuc in #128
- Update nouse_install.yml to disable automatic rootdir determination by @yungyuc in #129
- Add README by @yungyuc in #130
- Add code for drawing schematics for 1D CESE by @yungyuc in #131
- Add code for the analytical solution of the shock tube problem by @yungyuc in #134
- Make the viewer binary a multi-purpose binary by @yungyuc in #136
- Add a new --mode=python by using the standard Python interpreter entry point by @yungyuc in #138
- Enable clang-tidy on the viewer by @yungyuc in #139
- Move (macos) metal device initialization code by @yungyuc in #141
- Fix Python version to 3.10 on mac by @yungyuc in #143
- WIP: fix Windows build warning by @tigercosmos in #140
- Add an interactive Python command console by @yungyuc in #145
- Remove the Python text box at the right-hand side by @yungyuc in #146
- Move code setting up main window to Python by @yungyuc in #147
- Refactor: consolidate code for binary and Python extension module by @yungyuc in #151
- Improve the test case test_toggle:CommandLineInfoTC.test_populated by @yungyuc in #152
- Limit the number of anonymous environments in modmesh.apputil by @yungyuc in #153
- Console stdout stderr by @tigercosmos in #148
- Add a whitespace after the ">>>" prompt in the console history by @yungyuc in #154
- Use a runtime switch to turn off Python console redirect by @yungyuc in #157
- add error message if cannot find QT6 by @tigercosmos in #156
- Add MDI support to viewer by @yungyuc in #158
- fix backgrond color and command edit text color by @j8xixo12 in #160
- Integrate PySide to modmesh aid (viewer) by @yungyuc in #161
- Fix the Linux crash due to a bug using wrong type of argument to QApplication constructor by @yungyuc in #163
- Fix a bug of wrong dtype of the numpy.ndarray created from ConcreteBuffer on aarch64 by @yungyuc in #164
- Fix qt geometry render issue by modified vertex size by @j8xixo12 in #167
- Output stack trace to std::cerr when Python exception is thrown from viewer by @tychuang1211 in #168
- Revert fa21d6e by @yungyuc in #170
- Add google-test version 1.12.1 and make extension initializer cleaner by @yungyuc in #178
- build(Makefile): make python3-config protable by @tai271828 in #177
- Refactor to combine RApplication and RMainWindow by @yungyuc in #174
- Fix execvp permission denied error by @yungyuc in #180
- Add a sample Makefile to extract buffer and make a standalone build by @yungyuc in #181
- Correct cmake support version of gtests by @tai271828 in #183
- fix Windows CI: add python version in ci by @tigercosmos in #184
- build(Makefile): rm _modmesh${PYEXTSUFFIX} copied by cmake by @tai271828 in #191
- feat(profiling): integrate scoped-based timer to onedim core by @tai271828 in #190
- docs(ci): explain why we need libgl1-mesa-dev on Ubuntu by @tai271828 in #192
- Add aggregate functions to SimpleArray by @yungyuc in #196
- add workaround fix viewer crash by @j8xixo12 in #195
- Shocktube add legend by @j8xixo12 in #197
- fix nouse_install macos fail by @j8xixo12 in #199
- Avoid Qt API qputenv which is hard for refactoring to non-Qt code by @yungyuc in #204
- Upgrade clang-format to v16 on Github Actions by @yungyuc in #205
- Add dynamic feature toggle by @yungyuc in #206
- Remove macos v11 release build from CI to speed up the PR process by @yungyuc in #207
- Add support for hierarchical feature toggle by @yungyuc in #208
- Serialize toggle data to json (through Python dict as intermediate) by @yungyuc in #211
- add plot manager and several physics parameters calculation by @j8xixo12 in #210
- fix ci nouse_install fail by @j8xixo12 in #214
- change pyside api visibility to default by @j8xixo12 in #215
- add Qt main window module level handler in view module by @j8xixo12 in #216
- Add information for the 3 types of toggles: solid, fixed, and dynamic by @yungyuc in #218
- Remove modmesh use pyside by @j8xixo12 in #221
- fix pip building error by @terrychan999 in #222
- Add a simple, demonstrative json schema in the unit tests for the toggle system by @yungyuc in #223
- move pyside6 module init flow to pybind11 by @j8xixo12 in #217
- Use toggle for python_redirect by @yungyuc in #225
- Label the executed commands with serial number by @yungyuc in #226
- Fix windows ci by @j8xixo12 in #227
- Remove ubuntu-20.04 and macos-11 from nouse_install.yml by @yungyuc in #228
- enhance github workflow and add explain comment by @j8xixo12 in #229
- Improve the way to list all fixed toggles by @yungyuc in #230
- Fix 1d cell type nface return value by @j8xixo12 in #232
- add Gmsh mesh file parser by @j8xixo12 in #233
- Fix mesh by @j8xixo12 in #234
- Add prototype code for sampling Bezier curves and showing them in the viewer by @yungyuc in #239
- Fix camera menu by @tychuang1211 in #240
- euler1d app gui enhancement by @j8xixo12 in #242
- Feature/parameter: Add parameter dialog by @buganini in #246
- [hotfix] reopen brew update by @terrychan999 in #248
- move Parameters QAction into file menu by @buganini in #251
- add euler1d app control button by @j8xixo12 in #250
- radix tree prototype for profiler by @q40603 in #245
- Refactor the experimental RadixTree code by @yungyuc in #252
- Button cb enhance by @j8xixo12 in #253
- [CI] Force mac use Python 3.11 from homebrew by @yungyuc in #254
- add sanitizer in CI by @tigercosmos in #256
- By pass address sanitizer for BadEuler1DSolver member function by @j8xixo12 in #261
- Implement CallProfiler by @tigercosmos in #259
- upgrade to pybind11 2.11.1 by @tigercosmos in #264
- Fix cmake warning issued by pybind11 FindPythonLibsNew.cmake due to CMP0148 by @yungyuc in #268
- Add example of triangular and quadrilateral mixed mesh by @yungyuc in #269
- update minimum cmake version to 3.27 due to CMP0148 by @j8xixo12 in #270
- fix Windows build data type warning issue by @tigercosmos in #272
- Add example of 3D mixed-element mesh by @yungyuc in #274
- Fix the rootdir in the nouse_install.yml by @ThreeMonth03 in #273
- [CI] enable macOS-14 runner by @terrychan999 in #275
- [CI] Fixing PySide6 Import Error by @terrychan999 in #278
- The node order of the second face of prism is wrong by @yungyuc in #279
- The new euler1d app GUI layout, created by PUI by @j8xixo12 in #271
- add SimpleArray caster by @tigercosmos in #266
- Add new menu to draw a mesh by @YenPeiChen07 in #282
- temporarily disable testhelper by @tigercosmos in #288
- fixed "testhelper" module loading issue by @tigercosmos in #290
- fix macos-13 CI by @tigercosmos in #293
- implement constructors for SimpleArrayPlex by @tigercosmos in #291
- Improve comments to arguments for buffer protocol by @yungyuc in #294
- rename macro by @tigercosmos in #295
- Add mesh example of 2D quadrilateral-based icon by @Yu-Rou-Weng in #285
- improve data type by @tigercosmos in #297
- refactor RadixTree by @tigercosmos in #298
- define buffer for simple array plex wrapper and other refactoring by @tigercosmos in #299
- fix macos-14 ci by @terrychan999 in #301
- implement more properties for Python SimpleArray by @tigercosmos in #300
- First chunk of code for array-compatible collecting container by @yungyuc in #304
- Fix Github Actions mac failure by @yungyuc in #309
- euler1d gui and plotting area user experience enhancement by @j8xixo12 in #308
- arrayplex setitem & refactoring by @tigercosmos in #303
- use modern C++ std::add_pointer_t in
cpp/modmesh/python/common.hpp
by @tigercosmos in #311 - remove DEBUG_BUILD_OPTIMIZATION_ONE by @tigercosmos in #310
- implement remaining methods in the wrapper array by @tigercosmos in #313
- [CI] add qt action to all platform by @terrychan999 in #292
BufferExpander::m_end
is used before initialization by @yungyuc in #316- add missing cancel() for CallProfiler by @tigercosmos in #318
- support array broadcast with list/tuple by @tigercosmos in #317
- Add a basic drawer for the NACA 4-digit airfoil by @yungyuc in #319
- Implement the third set of NRBC treatment for 1D Euler solver by @yungyuc in #326
- add NASA plot3d mesh format loader by @j8xixo12 in #333
- Prototype JSON serializer for
CallProfiler
by @ThreeMonth03 in #323 - add missing function in BufferExpander by @tigercosmos in #349
- improve the comment in gtests by @tigercosmos in #352
- Reorder menu bar by @yungyuc in #356
- add gtest for ConcreteBuffer, SimpleArray and BufferExpander by @tigercosmos in #358
- Fix euler1d not responding on Windows by @tychuang1211 in #359
- Add items under "mesh" menu by @yungyuc in #360
- Implement
BufferBase
for the common part betweenConcreteBuffer
andBufferExpander
by @tigercosmos in #363 - [hotfix] Improve CI Qt download stability by @terrychan999 in #368
- fix the incorrect constructor initialization by @tigercosmos in #367
- Viewer Windows Nightly Build by @terrychan999 in #370
- Add Python wrap to
CallProfiler
by @q40603 in #315 - add json serialization by @tigercosmos in #372
- Add Reset within View menu by @YenPeiChen07 in #375
- use systematic way to locate third-party lib by @j8xixo12 in #364
- SerializableItem: implement JSON from string by @tigercosmos in #377
- Add the statistic function in the profiler by @ThreeMonth03 in #376
- add clone for SimpleArray by @tigercosmos in #386
- Check the version of pybind11 in cmake by @ThreeMonth03 in #387
- support std::unordered_map for JSON Serializable by @tigercosmos in #388
- Add download description for Windows nightly build by @terrychan999 in #381
- Add README content: make it explicit modmesh is modules using meshes by @yungyuc in #392
- Add the directive for the direct download link by @yungyuc in #393
- use custom meta path finder to import 3rd library by @j8xixo12 in #390
- Add STYLE.rst for coding style guide by @yungyuc in #394
- Camera: use WASD+EQ and arrows+Page Up/Down for movement by @Tucchhaa in #385
- Fix the missing application icon under macos by @yungyuc in #398
New Contributors
- @yungyuc made their first contribution in #1
- @oiu850714 made their first contribution in #51
- @yanagiragi made their first contribution in #61
- @tai271828 made their first contribution in #76
- @tigercosmos made their first contribution in #97
- @minchuncho made their first contribution in #117
- @dboyliao made their first contribution in #121
- @tychuang1211 made their first contribution in #122
- @j8xixo12 made their first contribution in #160
- @terrychan999 made their first contribution in #222
- @buganini made their first contribution in #246
- @q40603 made their first contribution in #245
- @ThreeMonth03 made their first contribution in #273
- @YenPeiChen07 made their first contribution in #282
- @Yu-Rou-Weng made their first contribution in #285
- @Tucchhaa made their first contribution in #385
Full Changelog: https://github.com/solvcon/modmesh/commits/v0.0.1