View Issue Details

IDProjectCategoryView StatusLast Update
0006473DarkRadiantDesign/Codingpublic28.01.2024 04:35
Reportergreebo Assigned To 
PrioritynormalSeveritynormalReproducibilityN/A
Status suspendedResolutionopen 
Product Version3.8.0 
Summary0006473: Move core algorithms to Python Scripts
DescriptionDo some research to prove the concept of moving core algorithms from C++ to Python scripts.
TagsNo tags attached.

Activities

greebo

greebo

28.01.2024 04:35

administrator   ~0016449

I've had some success in proving that it's possible to declare Python modules which are auto-registering their Callables, so that they can be integrated from the CommandSystem. While this was quite interesting, I stopped the expedition after looking through the existing C++ command targets to see how many candidates there would be - turns out there are not many of them that are pure algorithm. Most are private class methods which are making heavy use of private members, which would be unreachable by Python. Most of the brush and patch algorithms are very hard to port to Python as well. So I decided to shelf this approach, maybe the knowledge that it's possible in principle will be useful later.

Related Changesets

DarkRadiant: python_commands 9ac6de8e

27.01.2024 14:04

greebo


Details Diff
0006473: Some ground work to load script algorithms from builtin/*.py. Add ScriptingSystemInterface skeleton. Refactoring. Affected Issues
0006473
add - install/scripts/builtin/brush.py Diff File
mod - plugins/script/CMakeLists.txt Diff File
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/ScriptModule.cpp Diff File
mod - plugins/script/ScriptingSystem.cpp Diff File
mod - plugins/script/ScriptingSystem.h Diff File
add - plugins/script/interfaces/ScriptingSystemInterface.cpp Diff File
add - plugins/script/interfaces/ScriptingSystemInterface.h Diff File
mod - tools/msvc/script.vcxproj Diff File
mod - tools/msvc/script.vcxproj.filters Diff File

DarkRadiant: python_commands f2dcaa3c

28.01.2024 04:35

greebo


Details Diff
0006473: The WIP state of my investigations - leaving this topic for now Affected Issues
0006473
mod - install/scripts/builtin/brush.py Diff File
add - install/scripts/builtin/internal.py Diff File
mod - plugins/script/PythonModule.cpp Diff File
mod - plugins/script/PythonModule.h Diff File
mod - plugins/script/ScriptingSystem.cpp Diff File
mod - plugins/script/interfaces/ScriptingSystemInterface.cpp Diff File
mod - plugins/script/interfaces/ScriptingSystemInterface.h Diff File

Issue History

Date Modified Username Field Change
27.01.2024 14:03 greebo New Issue
27.01.2024 14:03 greebo Assigned To => greebo
27.01.2024 14:03 greebo Status new => assigned
28.01.2024 04:35 greebo Changeset attached => DarkRadiant python_commands 9ac6de8e
28.01.2024 04:35 greebo Assigned To greebo =>
28.01.2024 04:35 greebo Status assigned => suspended
28.01.2024 04:35 greebo Changeset attached => DarkRadiant python_commands f2dcaa3c
28.01.2024 04:35 greebo Note Added: 0016449