Discussion:
[brlcad-devel] MGED command removals
Christopher Sean Morrison
2017-02-16 06:33:41 UTC
Permalink
Continuing with a previously announced effort to eliminate features and tools from BRL-CAD that are infrequently used, we have identified the MGED commands listed below as candidates for removal. As with the earlier listing of command line tools we want to provide plenty of advance notice and opportunity for user input, so please don't hesitate to provide feedback (pro or con) concerning their removal.

Here's the list of some of the commands identified so far for outright elimination:

?devel - list development commands
?lib - list library commands
aproposdevel - search development commands
aproposlib - search library commands
% - escape to interactive shell
animate - tool for building animation scripts
db_glob - find objects matching glob, covered by commands like search and ls
debugbu - set libbu debugging flags
debugdir - print in-memory directory
debuglib - set librt debugging flags
debugmem - print librt memory map
debugnmg - set libnmg debugging flags
expand - find objects matching pattern, covered by commands like search and ls
loadtk - manually initialize tk (developer command)
match - find objects matching name, covered by commands like search and ls
memprint - print memory maps (developer command)
preview - preview animation script
regdebug - toggle display manager debugging
regdef - change defaults, covered by commands like attr
rmats - load views from 'savekey' file
rrt - invoke remote rt
savekey - save keyframe in file
shaded_mode - get/set shaded mode, covered by draw -m#
sync - forces filesystem sync

Part of our plan is to reduce and consolidate many of the remaining commands into a smaller set of top-level commands with options. (For example, bot_smooth and bot_decimate will become "smooth" and "decimate" subcommands to a new top-level "bot" command.) The goal is to present to users a much smaller, more discoverable command set that increases the usability and convenience of working with BRL-CAD geometry.

There are more details and an evolving roadmap evolving for anyone interested in helping accelerate progress. Send me an e-mail if you want to get involved.

Cheers!
Sean
Daniel Roßberg
2017-02-26 18:45:22 UTC
Permalink
No objections. I talked with a colleague, who uses mged frequently, about
it and he won't miss these commands.

Daniel
Post by Christopher Sean Morrison
Continuing with a previously announced effort to eliminate features and
tools from BRL-CAD that are infrequently used, we have identified the MGED
commands listed below as candidates for removal. As with the earlier
listing of command line tools we want to provide plenty of advance notice
and opportunity for user input, so please don't hesitate to provide
feedback (pro or con) concerning their removal.
?devel - list development commands
?lib - list library commands
aproposdevel - search development commands
aproposlib - search library commands
% - escape to interactive shell
animate - tool for building animation scripts
db_glob - find objects matching glob, covered by commands like
search and ls
debugbu - set libbu debugging flags
debugdir - print in-memory directory
debuglib - set librt debugging flags
debugmem - print librt memory map
debugnmg - set libnmg debugging flags
expand - find objects matching pattern, covered by commands like
search and ls
loadtk - manually initialize tk (developer command)
match - find objects matching name, covered by commands like
search and ls
memprint - print memory maps (developer command)
preview - preview animation script
regdebug - toggle display manager debugging
regdef - change defaults, covered by commands like attr
rmats - load views from 'savekey' file
rrt - invoke remote rt
savekey - save keyframe in file
shaded_mode - get/set shaded mode, covered by draw -m#
sync - forces filesystem sync
Part of our plan is to reduce and consolidate many of the remaining
commands into a smaller set of top-level commands with options. (For
example, bot_smooth and bot_decimate will become "smooth" and "decimate"
subcommands to a new top-level "bot" command.) The goal is to present to
users a much smaller, more discoverable command set that increases the
usability and convenience of working with BRL-CAD geometry.
There are more details and an evolving roadmap evolving for anyone
interested in helping accelerate progress. Send me an e-mail if you want
to get involved.
Cheers!
Sean
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Developer mailing list
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Benson Chepkwony
2017-03-01 00:15:10 UTC
Permalink
Hi Sean,
I came across this MGED Command removals and I would like to participate
with the process.
Also is it possible to create a set of add on or a Plugin which can be
used to add this commands by users themselves.

Thanks.

From,
Benson Chepkwony
Post by Christopher Sean Morrison
Continuing with a previously announced effort to eliminate features and tools from BRL-CAD that are infrequently used, we have identified the MGED commands listed below as candidates for removal. As with the earlier listing of command line tools we want to provide plenty of advance notice and opportunity for user input, so please don't hesitate to provide feedback (pro or con) concerning their removal.
?devel - list development commands
?lib - list library commands
aproposdevel - search development commands
aproposlib - search library commands
% - escape to interactive shell
animate - tool for building animation scripts
db_glob - find objects matching glob, covered by commands like search and ls
debugbu - set libbu debugging flags
debugdir - print in-memory directory
debuglib - set librt debugging flags
debugmem - print librt memory map
debugnmg - set libnmg debugging flags
expand - find objects matching pattern, covered by commands like search and ls
loadtk - manually initialize tk (developer command)
match - find objects matching name, covered by commands like search and ls
memprint - print memory maps (developer command)
preview - preview animation script
regdebug - toggle display manager debugging
regdef - change defaults, covered by commands like attr
rmats - load views from 'savekey' file
rrt - invoke remote rt
savekey - save keyframe in file
shaded_mode - get/set shaded mode, covered by draw -m#
sync - forces filesystem sync
Part of our plan is to reduce and consolidate many of the remaining commands into a smaller set of top-level commands with options. (For example, bot_smooth and bot_decimate will become "smooth" and "decimate" subcommands to a new top-level "bot" command.) The goal is to present to users a much smaller, more discoverable command set that increases the usability and convenience of working with BRL-CAD geometry.
There are more details and an evolving roadmap evolving for anyone interested in helping accelerate progress. Send me an e-mail if you want to get involved.
Cheers!
Sean
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Developer mailing list
https://lists.sourceforge.net/lists/listinfo/brlcad-devel
Christopher Sean Morrison
2017-03-01 00:56:06 UTC
Permalink
Post by Benson Chepkwony
Hi Sean,
I came across this MGED Command removals and I would like to participate
with the process.
Also is it possible to create a set of add on or a Plugin which can be
used to add this commands by users themselves.
Benson,

That’s great to hear, thanks for speaking up!

While it has always been in the plan for LIBGED commands to be modular with most loadable at runtime, there is currently no code or system in place that does this. All commands are basically run via a main-style argc/argv global function. Perhaps that’s a place where you could start?

One thought is to create a command registration system where each “plugin” declares a set of commands that it will be registering and their respective callbacks. You can see a start of this in the ‘zoom' and more recent ‘help/apropos/info/?’ commands. It’s not done, not great, nor set in stone by any stretch, but the basic gist is to simply register a command with all it’s code and docs in one src/libged subdir.

This implies moving all the doc/docbook/system/ manual pages into those respective subdirs eventually. It also implies rewriting the src/tclscripts/help*.tcl logic to utilize registered help instead of having command implementations spread throughout the source tree. EVERYTHING for a command should be in its subdir. Maybe see if you can figure out a pattern that gets us towards that?

Cheers!
Sean

p.s. Note that we must follow the CHANGES policy for actually removing those commands.
Loading...