bprentice wrote: April 30th, 2021, 8:35 am
Problems with the Rule: namespace pages have been mentioned before:
viewtopic.php?f=3&t=1622&p=103608#p103608
This is an important issue and key questions about the rule definitions database need to be addressed:
- What is its purpose?
- What should it contain?
- How should it be formatted?
- Who owns it?
- Where should it be placed?
- How should it be managed?
So far all I've seen is waffling!
This should be easy to clear up, since I'm not aware of any waffling.
What is its purpose?
The Rules namespace provides a central repository of Golly rule tables that are relevant to the conwaylife community.
What should it contain?
The Rules namespace, like the rest of the LifeWiki, is community maintained, so anyone is free to add rule definitions that are "common use" -- e.g., that have patterns posted in a forum thread that make use of that named rule.
Obviously if anyone adds a rule table definition to the LifeWiki that doesn't match that rule name's current "common use", or edits an existing rule to be incompatible, that edit will probably get reverted as soon as anyone notices the problem. Again, this is the exact same kind of collaborative maintenance that happens everywhere else on the LifeWiki.
How should it be formatted?
Create a new rule page in LifeWiki by searching for "Rule:{rulename}", or edit an existing one. Paste in a valid Golly rule table definition -- no changes to the standard format are needed. Hit Save. Everything will be fine -- LifeViewer will then be able to use that rule definition.
There are a few additional nice-to-haves. It's a very good idea to have the comments at the top of the rule definition include a link to the forum message where the rule was originally posted -- if there is any such link. And if a @TREE definition is included in parallel with the @TABLE definition, LifeViewer will be able to run simulations a good bit faster. But @TABLE-only is a good starting point, if that's all that is available.
Who owns it?
The Rules namespace is community-maintained -- see above.
Where should it be placed?
The LifeWiki Rules namespace seems like a fine place to keep this data, since it allows for easy community maintenance.
How should it be managed?
The current users of LifeViewer seem to be reasonably happy with the way things are being managed right now. LifeViewer usually "Just Works", and if it doesn't, someone can easily dig up any missing rule table definitions and add them to the Rules namespace -- with a little practice, of course!
TL;DR:
The LifeWiki Rules namespace is absolutely just a kludgey workaround, that allows our existing community members to use the same editing functionality used for other LifeWiki articles, to collaboratively maintain a Rules database. Everyone involved freely admits this. The disadvantage of somewhat mysterious editing methods is offset by the advantages of simplicity and easy of use for people familiar with the system.
That said... as kludgey workarounds go, the Rules namespace actually a pretty darn good kludgey workaround! So it seems unlikely to change any time soon unless somebody volunteers to do a lot of work to set up a whole new system. Honestly, though, it's hard to see how a new system could really be significantly better than what we have already!
Here are some additional questions from the linked post:
I don't know of an easy way to do that from the Main Page. Anyone who wants to add a "Rules namespace" article to the LifeWiki is free to do so, and then that link would be a good thing to include in that article. Probably a disambiguation section could also be added to "Cellular automaton", which is the article that the term "Rules" currently redirects to.
bprentice wrote: September 7th, 2020, 8:19 amWhy doesn't Golly use the list of rule definitions?
Golly uses a different design model from LifeViewer. If you're using LifeViewer, you're probably online, so it makes sense for LifeViewer to look for rule definitions in the LifeWiki rules database.
Golly is a desktop application, and it uses its own Rules folders to run patterns. The user maintains control over those Rules folders, so there's never any unexpected behavior where a random definition from the Internet is suddenly mysteriously used to run a pattern.
Of course we could change that. We could add a new feature where Golly looks at the LifeWiki Rules namespace to figure out an unknown rule definition. That might be a good new feature. But Golly is also community-maintained to a large degree... and it so happens that nobody has tackled that particular maintenance job yet.
The LifeWiki Rules namespace is actually quite a new addition, as these things go, so uses of it are still getting worked out, and will continue to evolve.
bprentice wrote: September 7th, 2020, 8:19 am
I tried to get the rule table for the following rule in order to run it in Golly yesterday.
viewtopic.php?f=11&t=4699#p103544
I was successful, but it was challenging and confusing. It would be useful if the Pattern Viewer Help described the rule definition list and how to use it.
This is probably more of a LifeViewer feature request than a website feature request, but it's certainly a good idea.
Click "Show in Viewer" on any sample pattern using the Morse rule, click inside the LifeViewer window, and hit Ctrl+J. LifeViewer does the lookup of "Morse" in the LifeWiki Rules namespace for you, and sends it to the clipboard in the correct format.
If you really want to look at the rule on LifeWiki, you can certainly use a URL like this:
https://www.conwaylife.com/w/index.php?title=Rule:Morse&action=edit. That's not the easiest way to copy out a rule definition, but it's still fairly easy (once you know the rule about hitting the "Edit" or "View source" button on the article before trying to copy).