Instruction making rant


RE: Instruction making rant
#57
(2020-05-28, 14:45)N. W. Perry Wrote: Oh yes, I see what you mean now. I agree that it would be nice not to have to re-insert any parts, including the ones that are being moved. My FLOAT method would do that, since it only affects the next line. And it works similarly to your END idea, except that FLOAT automatically lasts for just a single step, unless you specify otherwise with the n parameter.

I think no matter the implementation or how it works, there must be an explicit end to whatever 'store' command is being used. Implicit ends are just too vague and keep too many edge cases open. For example, what *if* you actually want to hide/move all parts placed in multiple previous steps?

I feel like people are overthinking it a bit. What does buffer exchange (or, at least a replacement for it, whatever you wanna call it) need to do?
  • Simply put: it needs to place parts in temporary positions, with the ability to either hide them (arrows, helper parts) or place them in a final position.
What are the major limitations that the current implementation has (without hacking or abusing the system of course)?
  • It doesn't work through multiple steps.
  • It doesn't work through submodels.
  • A part has only two states: start and end (you can't have a part go through multiple positions until final position).
How can this be solved? Simply place both all positions of the part(s) together in the same command and give the command an (optional?) name to call. This takes care of all the above points and is much more robust (assuming good software implementation of course).

Let's make an example. I'm just using semi-random terminology here, probably can be improved, but it's not about the specifics here Wink

Code:
0 BUFFER DEF START "Name"
// parts
0 BUFFER POS
// parts
0 BUFFER POS
// parts
0 BUFFER DEF END

The idea here is, a BUFFER command (I still don't like the name, but I can't come up with a better one) has a required START and END. If there are no POS arguments within the buffer, this means that once the BUFFER is 'retrieved' all parts disappear, e.g. for using arrows or helper parts. The POS commands are used to place bricks in their next or final position. There can be multiple POS commands for various positions. There is also a name for the buffer definition. I guess this can be either an explicit string name, or just an integer ID or even A/B/C... like current buffer exchange.

How to use it further on the model? I can think of various options. For example, simply:

Code:
0 BUFFER "Name" NEXT

This moves the previously defined buffer to its next position (the next POS command, if any).

This takes care of all the above defined points:
  • Parts can be placed in temporary positions, and they can be moved to another positions, or disappear.
  • It works through multiple steps, because there is an explicit start and end and a name to call the buffer.
  • It works through submodels, because there is a name to call the buffer and the next positions are stored within the buffer (no need to rely on any meta-steps within the submodel that then need to be hidden or whatever)
  • A part can have multiple states instead of one or two.
  • And as a bonus, because all positions are defined together, it's very simple (relatively) to edit any of the parts within the buffer because they are grouped together.
Reply
« Next Oldest | Next Newest »



Messages In This Thread
Instruction making rant - by Daniel R - 2020-05-22, 23:30
RE: Instruction making rant - by Daniel R - 2020-05-24, 11:32
RE: Instruction making rant - by Daniel R - 2020-05-24, 12:05
RE: Instruction making rant - by Daniel R - 2020-05-27, 1:01
RE: Instruction making rant - by N. W. Perry - 2020-05-26, 16:53
RE: Instruction making rant - by N. W. Perry - 2020-05-26, 17:49
RE: Instruction making rant - by N. W. Perry - 2020-05-26, 21:03
RE: Instruction making rant - by Daniel R - 2020-05-27, 1:39
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 22:18
RE: Instruction making rant - by Daniel R - 2020-05-27, 1:47
RE: Instruction making rant - by Daniel R - 2020-05-27, 1:33
RE: Instruction making rant - by Daniel R - 2020-05-27, 16:01
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 16:22
RE: Instruction making rant - by Daniel R - 2020-05-27, 16:32
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 16:55
RE: Instruction making rant - by Daniel R - 2020-05-27, 17:38
RE: Instruction making rant - by Daniel R - 2020-05-27, 20:20
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 22:14
RE: Instruction making rant - by Daniel R - 2020-05-28, 13:43
RE: Instruction making rant - by N. W. Perry - 2020-05-28, 16:53
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 22:37
RE: Instruction making rant - by N. W. Perry - 2020-05-28, 15:32
RE: Instruction making rant - by Daniel R - 2020-05-28, 15:53
RE: Instruction making rant - by N. W. Perry - 2020-05-28, 16:37
RE: Instruction making rant - by Daniel R - 2020-05-28, 16:47
RE: Instruction making rant - by N. W. Perry - 2020-05-28, 17:17
RE: Instruction making rant - by N. W. Perry - 2020-05-28, 14:45
RE: Instruction making rant - by Merlijn Wissink - 2020-05-31, 7:45
RE: Instruction making rant - by Daniel R - 2020-05-31, 12:38
RE: Instruction making rant - by Daniel R - 2020-05-31, 13:51
RE: Instruction making rant - by N. W. Perry - 2020-05-31, 19:33
RE: Instruction making rant - by N. W. Perry - 2020-05-31, 19:21
RE: Instruction making rant - by N. W. Perry - 2020-05-31, 18:54
RE: Instruction making rant - by Daniel R - 2020-06-02, 21:26
RE: Instruction making rant - by Daniel R - 2020-06-02, 23:44
RE: Instruction making rant - by N. W. Perry - 2020-07-03, 15:22
RE: Instruction making rant - by Daniel R - 2020-05-27, 15:48
RE: Instruction making rant - by N. W. Perry - 2020-05-27, 16:20
RE: Instruction making rant - by Daniel R - 2020-05-27, 19:59
RE: Instruction making rant - by Daniel R - 2020-05-27, 19:58
RE: Instruction making rant - by Daniel R - 2020-05-27, 18:58

Forum Jump:


Users browsing this thread: 3 Guest(s)