LuveelVoom wrote: Yesterday, 6:28 pm
Suppose I already have the partial and where I want to cut it; can I convert that directly into a grid, then a uwi, then edit that, without having to go through ingest_1gp?
Depends on what you mean when you say "the partial"...
If you have multiple generations, as period and asterisks, with generations separated by pipes (we should really name this format...), then sure, you can feed any such XYT view through to-uwi. I often find myself starting from an output from another search's log this way.
If you have one generation then no, you're gonna have to do something to guess the intervening generations. You can see up-thread for my lengthy rants about how single generation partials have never made any sense (at least for me and my search programs). Before slices-tool ingest-1gp and mgp-tool and/or if I can't convince them to make sense of a single generation partial, I would dump generations out of golly one at a time and stick them together (usually in a second golly window). It's pretty painful. Somewhere up thread Sokwe had
a take on a golly lua script to do this.
LuveelVoom wrote: Yesterday, 6:28 pm
Does the question mark section have to be large enough to accommodate the mid-steps I want to search at, or is it ok if it's small? Where should I cut into the partial with it? Should I put it just below the existing known cells or back up slightly to provide space for it to properly position the frontend?
Usually I think of the question marks as placed to censor any CA discontinuities, but then rounded up to a full UVW prism (or aligned rectangles in UWI view), and extended all the way to the bottom of the search. The exact, exact, precise cell placement is not maybe that important as the --xxx-pad arguments (top/left/right) can/will generally be used to expand them outwards if you decide you want to allow more cells to be able to vary.
For recentering the width of the question marks isn't as meaningful as it is for fixed board, but you do probably want to reach at least one unrollable edge. As an example, consider an input like:
Code: Select all
| LLLuuuuuuuuuuuRRR |
| ...*.*.*.*.*.*... |
| ....*.*.*.*.*.... |
| ...*.*.*.*.*.*... |
| ....*.*.*.*.*.... |
| .....*.*.*.*..... |
| ......*.*.*...... |
| .......*.*....... |
| .......???....... |
| .......???....... |
With no pad this is the same as searching with (keeps 2 rows and 2 columns on top/left/right of question marks):
Code: Select all
| uuuuuuu |
| .*.*.*. |
| ..*.*.. |
| ..???.. |
| ..???.. |
mid_steps beyond about 4 aren't going to matter here as the pattern simply cannot get any wider with the roots all unique.
With --right-pad 04 this is:
Code: Select all
| uuuuuuuuuRR |
| .*.*.*..... |
| ..*.*...... |
| ..???????.. |
| ..???????.. |
And again, mid_steps is useless beyond about 8. We did reach the R's but there is no way to combine the 3-grams of columns beyond the board as-is.
Once we reach --right-pad 05...
Code: Select all
| uuuuuuuuuRRR |
| .*.*.*...... |
| ..*.*....... |
| ..????????.. |
| ..????????.. |
Now the right edge 3-gram (RRR) is repeatable and larger mid_steps have space to expand into, but only to the right.
Generally there are a few ways side padding goes:
(*) If you have a symmetry edge you must expand right up to it.
(*) If you want a fixed-style edge (where left edges of patterns are always right there), you can expand it up to wherever. This is sometimes used in branch solving to force leaving clearance on one side or deal with integrating with a neighboring branch.
(*) If you want an open edge (where it can unroll to the entire quarter plane if wanted), you need to reach up to the end of a cycle of repeating columns, as --right-pad 05 does above.
LuveelVoom wrote: Yesterday, 6:28 pm
Is there
any viable way you know about to modify diagonal partials in the same way you modified the orthogonal partials, or am I just screwed(?)
Generally once they're switched to UWI view they make nice, pretty rectangles? True in any geometry and is the entire point of UWI view. You can see e.g.
here for some examples of making diagonal grids by editing rectangles.
Maybe it's worth it to give another, fresher example? Here is a random c/5 ship, truncated (p1.rle):
Code: Select all
x = 28, y = 39, rule = B3/S23
5bo$4b2o2b2o$3bobo2b2o$b2obo3bo$b2o2bo2b2o$o5b2o2bo$4o2bob3o$2b2o3b2o$
5bobo$4b2o2bo$14b3o$7bob2obob2o$10bobobobo$8b2o2bo5bo$9bo6b2o$9b2o5bo
2b2o$17bob3o$14b2ob2ob2o2$17bo$19bo$18bo2b2o$19bobob2o2$20bo3bo$19b2ob
o$19b2o$19b3o$21bo$23bo$21b2o2bo$23b2obo$25bobo2$20b3o$20b3o$20b2o$22b
o$22b3o!
Here it is, turned by mgp-tool into a possible fixed-board input:
Code: Select all
$ rlife mgp-tool ingest-1gp c5d-f2b p1.rle p1.mgp
20260922 16:16:24 [INFO] Saved to "p1.mgp".
$ rlife mgp-tool to-fixed-input c5d-f2b p1.mgp p1.in
20260922 16:16:56 [INFO] Saved to "p1.in".
$ cat p1.in
| | | | | |
| | | | . | . |
| .. | .. | .. | ... | ... |
| .... | .... | .... | ..... | ..... |
| ...... | ...... | ...... | ....... | ....... |
| ........ | ........ | ........ | ......... | ......... |
| .......... | .......... | .......... | ........... | ........... |
| ............ | ............ | ............ | .....*....... | ....**....... |
| .....*........ | ....**........ | ....***....... | .....****...... | ....*...**..... |
| .....**..**..... | ......**.**..... | ....*...**...... | ....**.*.**...... | ....*.....*...... |
| .....*.*..**...... | ....**.*.*........ | ....**...*........ | .....**..**........ | ....*.**........... |
| ....**.*...*........ | ....*..**.*......... | ....*.....*......... | .....*.....*......... | ....**....**......... |
| .....**..*..**........ | ....*.**.**.**........ | ....*.**....**........ | ....**.**....**........ | ....*..**....**........ |
| .....*.....**..*........ | .....*..*.**...*........ | ....**..*......*........ | .....**...*....*......... | .....*..****..**......... |
| ......****..*.***......... | ......*..*..*...*......... | ........**..*............. | ........*...**............. | .......*...*.*............. |
| .........**...**............ | ..........**................ | .........**.**.............. | .............**.............. | ..........*.***.............. |
| .............*.*.............. | ...........*.*.*.............. | ...........*.................. | ...........**.................. | ............*.................. |
| .............**..*.............. | .............***........*....... | .............*****.....**....... | ..............*****.....**....... | ................**......**....... |
| ........................***....... | ..................**...**.*....... | ...............*..***...**........ | ..............**....**.*..*....... | ..............*.....*..**.*....... |
| ................*.**.*.**......... | ..................**.............. | .................*.**..**......... | ................**.***...*........ | ................**.*.*............ |
| ..................*.*.*.*......... | ..................*.*.*........... | ................*...****.......... | ................*................. | ........................*......... |
| ...............**..*.....*........ | ...............****.*.**.......... | ................********.*........ | ...............***.....***........ | ...............*.*.....*.**....... |
| ...............*......**.......... | ......................****........ | ..............*..*......***....... | ...............*.*.*..***.*....... | ..............**......*........... |
| ..............**.....*..**........ | ..............**.....*..*.*....... | ....................*...**........ | .......................*..*....... | ...................*...*..*....... |
| .....................*.***........ | ...................*.*............ | ...................*....*......... | ..................***..**......... | ..................*.**.**......... |
| .................**.**.**......... | ...................***..*......... | ..................*............... | ..................**.............. | .................*..*............. |
| .................................. | ..................***............. | ..................*.*............. | ...................*.............. | ..................**.............. |
| ..................*............... | .................................. | ...................*.............. | ...................*.............. | ..................**.............. |
| ...................*.............. | ..................*............... | ..................**..*........... | .................*..*.*........... | .................*..*............. |
| .................*..**............ | .................**.***........... | .................**.*.*........... | .................***.*............ | .................***.*............ |
| .................*.*.**........... | ..................**.*............ | .................................. | ....................***........... | ..................*.**............ |
| .................................. | .................*..**............ | ....................**............ | .................*................ | .................****............. |
| ................*...*............. | ...............***................ | ...............***............... | ...............*.*............... | ...............*.*.............. |
| ..............**.*.............. | ................................ | ..............**............... | ..............*.*.............. | .............**............... |
| .............**............... | ............*................. | ............................. | .............*............... | .............*.*............ |
| ............***............. | ............*.*............. | .............***........... | .............*.*........... | .......................... |
| .............*............ | .............**........... | .............**.......... | ......................... | .............*.......... |
| ..............*......... | ............*........... | ............*.......... | ...........*..*........ | ............*.**...... |
| ...........**..*...... | ............*..*...... | ...........**.**..... | ...........***.*..... | ...........*...*.... |
| ............**.*.... | ...........***.*.... | ...........*...?... | ...........*.*.?... | .............*??.. |
| .............*??.. | ............**??.. | ..........*.*???. | .........***.???. | ........*...???? |
| ............???? | ........*...???? | ........*..???? | .......***.???? | .......*..???? |
| ......***.???? | ......*.*.???? | ......**.???? | .....*..*???? | .....*..???? |
| .....***???? | ....*...???? | ....***???? | ....*.*???? | .....*???? |
| ....**???? | ....*.???? | .....???? | .....???? | ....???? |
| ....???? | ....???? | ....??? | ....??? | ....?? |
| ....?? | ....?? | ....? | ....? | .... |
| .... | .... | ... | ... | .. |
| .. | .. | . | . | |
$
Horrible, right? CA neighborhoods are obvious and intuitive and diagonal geometry is not. Now feed through to-uwi:
Code: Select all
$ rlife grid-tool to-uwi c5d-f2b < p1.in
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| ................. | ................. |
| .........*....... | .......*..*...... |
| ........***.*.... | .......******.... |
| .......******.... | .......******.... |
| .......*******... | .......*..*.*.... |
| .......*.*...*... | .......*..*.*.... |
| .......*.*..*.... | .......*..*.*.... |
| .......*.*..*.... | ..........*...... |
| .........*...*... | .......*..**..... |
| .........*..**... | .........****.... |
| .......*.*.*..... | .........*....... |
| ........*........ | .......*.*...*... |
| .........*.*..... | ........**...*... |
| ........**...*... | .......**.*..*... |
| ............**... | ........*.*.**... |
| .........*....*.. | .......**...**... |
| ........*....**.. | .........*..**... |
| ........*.***.*.. | .......*.*.*.*... |
| ........*...*.... | ..........*.**... |
| .......*....*.... | .......**.*...... |
| .........**.*.... | .......*......... |
| ..........***.... | .......*.*....... |
| ..........*.*.... | .......**........ |
| .........**.*.... | .......**...*.... |
| .........**.*.... | .......**...*.... |
| .........**.*.... | .......*.*..*.... |
| ........*.**..... | .......*.*..*.... |
| ........*........ | .........*.**.... |
| ........*........ | .........****.... |
| .......**...*.... | ........**..*.... |
| .......*....*.... | .......**...*.... |
| ............*.... | .......**........ |
| ............*.... | ........*........ |
| .........*....... | .........*....... |
| .........*....... | ................. |
| .........*....... | .........*....... |
| ........*........ | .........*....... |
| .........*....... | ................. |
| .........*....... | ................. |
| ........*........ | .........*....... |
| ........*........ | ........**....... |
| .........*....... | ........*........ |
| .........*....... | ........*........ |
| ........*.*...... | .......*.*....... |
| ........*.*...... | .......*.*....... |
| ..........*...... | .........*....... |
| ........**....... | .......*.**...... |
| ........**....... | .......*.*....... |
| .......**.*...... | .......*..*...... |
| ........*.*...... | ........*..*..... |
| .......*......... | ........*...*.... |
| .......*..*.*.... | .......**.***.... |
| .......*.**.**... | .......**.***.... |
| .........**.**... | .......*.*.**.... |
| .............*... | .......*......... |
| ............**... | ........*****.... |
| ...........***... | ........*........ |
| ..........**.*... | ................. |
| ..........***.... | ................. |
| .............*... | ................. |
| .............*... | ..........**..... |
| ............*.... | .........*..*.... |
| ...........*..... | ................. |
| ...........*..... | ................. |
| ................. | ...........*..... |
| ............*.... | ...........*..... |
| ...........*..... | ...........*..... |
| ...........*..... | .........*.*..... |
| ..........*...... | ........*.***.... |
| .........*.**.... | .........***..... |
| .........*.*..... | .........*..*.... |
| .........*....... | .........*.**.... |
| ............*.... | ........*...*.... |
| .........*..*.... | ..........*...... |
| .........**.*.... | .........**.*.... |
| ..........*..*... | ............*.... |
| ..........*.*.... | .........*.*..... |
| .........**.*.... | ..........**..... |
| .........*..**... | ..........***.... |
| .............*... | .........**...... |
| .........**...... | ............*.... |
| .........*..*.... | .........*.*..... |
| ..........*..*... | .........*.*..... |
| ..........*.*.... | ...........**.... |
| ............**... | ................. |
| .........*..**... | .........*....... |
| ............*.... | ........**....... |
| .........*..*.... | ........**....... |
| .........*....... | ........**....... |
| ................. | ........*........ |
| ................. | ........**....... |
| ................. | ........*........ |
| .........*....... | ........*........ |
| .........*....... | ........*........ |
| .........**...... | ................. |
| .........**...... | ................. |
| ..........*...... | .........*....... |
| .........**...... | .........*....... |
| ..........**..... | .........**...... |
| ...........*..... | .......****...... |
| .........*....... | .......*......... |
| .......**........ | .......**.*...... |
| ......*.*..*..... | ......***.*...... |
| .......**..*..... | ......**..*...... |
| .......*..*...... | ........*.*...... |
| .......*.**...... | .......**........ |
| ......**...*..... | ......*.*.*...... |
| ......*...*...... | ......*.***...... |
| ..........*...... | ......*.*........ |
| ........*..*..... | ..........*...... |
| ..........*...... | ......*...*...... |
| .......*..*...... | ......*.......... |
| .......*......... | .......*......... |
| .......*......... | ......*.......... |
| ................. | ......*.......... |
| ................. | ......**......... |
| ................. | .....*.*......... |
| ......**......... | ......*.......... |
| ......**......... | .....*........... |
| ................. | ................. |
| ......*.......... | .....*........... |
| ......**......... | .....*........... |
| ......*.......... | .....*........... |
| ......*.......... | ................. |
| ......**......... | .....*........... |
| ....*..*......... | .....*........... |
| ...*..*.......... | ..*****.......... |
| ..***.*.......... | ..**...*......... |
| ..****.*......... | ..**..**......... |
| ..*.**........... | ......**......... |
| ................. | ..**...*......... |
| ..***............ | ....****......... |
| ..*.*.*.......... | ..*...**......... |
| ...*..*.......... | ..**..**......... |
| ...**............ | ......**......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
| ..??????......... | ..??????......... |
Now the CA neighborhoods are absolutely unintelligible, but the geometry is easy. W (direction of search, SE in XYT view) is down the screen, U (side-to-side direction, NE/SW in XYT view) is right/left. The entire nonblank file is matching rectangles, as are the question marks.
LuveelVoom wrote: Yesterday, 6:28 pm
(I)f I do have a complete partial, but it's symmetric, @yolo_1gp is
not able to deal with it?
I'm not 100% sure what "complete" means there, but it almost doesn't matter. @yolo_1gp is not in any way able to understand symmetry. It could ingest it in preparation to run it as an asymmetric search, but that's it. You can lift the generated input grid (which is incidentally symmetric) from the beginning of such a search's log (or use mgp-tool directly to unwind what @yolo_1gp is doing) and fold it in half yourself, but that's about as good as it's gonna get with existing code.
LuveelVoom wrote: Yesterday, 6:28 pm
Also, what on earth do the components of the command you proposed do???
Which command? I must have put up a dozen today alone...
LuveelVoom wrote: Yesterday, 6:28 pm
Sorry for pestering you... if this strategy works out, and I find what I'm looking for using it, I'll let you name it :mrgreen:
Surely if I didn't like teaching LLSSS one on one in this thread, I would structure my life differently somehow. I appreciate the thought/offer, but I generally leave the naming of patterns to those more interested in such things. To me the joy is mostly in the existence of the pattern, not in its name. I would be interested in hearing how it goes, whether or not it works out.
If you want to do me a favor, try to remember what you are experiencing right now and then help me refine this process for the next poor sucker that comes along asking about grid editing. Or help me figure out what tools we could possibly write to make this easier. I am just so very bad at teaching and UX.