nishio: âPutting it closeâ in KJ-method or other methods is a way to ambiguously express ârelationshipsâ that have not yet been clarified, while the function of drawing an arrow is a way to express relationships that have been clarified and will not disappear when âmoved far awayâ. On the other hand, the arrow-drawing function is a method of expressing a relationship that has already been clarified, so that it does not disappear even if it is âmoved far awayâ. If you just use âput it near,â it will break if you move it.
nishio: grouping is a way to make the relationships expressed in âkeep them closeâ less fragile. It can be moved as a single lump, or folded to the same size as a single kozane.
nishio: So maybe we still need an âarrow functionâ. However, thatâs not what many people imagine as âsomething that connects two points. Something that expresses a relationship between multiple things and does not break until explicitly destroyed. A group can be considered a kind of group.
nishio: But then, itâs not as if we can just increase the group implementation. The current group implementation is a tree, so it has one parent. But arrows naturally occur when one element joins multiple arrows. Now the group is a tree, so the enclosures do not intersect, but if the arrows are the start and end enclosures, they will intersect.
nishio: When a group is deleted, its children are also deleted. A group has children. Child elements constitute a group of 0/1 elements. Arrows and enclosures do not âpossessâ child elements. When it is deleted, it does not delete the child elements. It disappears when the child element is deleted and no longer has a reason to exist (if the arrow endpoint is deleted or the enclosure is empty).
nishio: yeah, that doesnât sound bad. Itâs not strange that they are managed separately from the ones that make up the tree, since they have different basic laws and life cycles. (At first I thought it would be a good idea to introduce separate management just for the arrows.) Maybe the braces are part of this.
nishio: in other words, this is what I mean
nishio: So I guess this is âa function that takes one or more elements and uses that information to generate decorations on the topmost layerâ, âno element management is requiredâ, and âelements It is not required to manage elementsâ and âelements may disappearâ. If we break it down like this, we canât have âa kozane stuck to the midpoint of an arrowâ or âan arrow drawn to an arrowâ.
This page is auto-translated from /nishio/çąć°ăŻæçąșăȘéąäżăèĄšçŸăćŁăăȘăăăæčæł using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iâm very happy to spread my thought to non-Japanese readers.