@@ -1,42 +1,12 @@
11/- *astrolabe
2−/+ *astrolabe, *search, *mip, naive, default-agent, dbug, agentio
2+/+ *astrolabe, *search, slib=state
3+/+ *mip, naive, default-agent, dbug, agentio
34/$ udon-to-docu %udon %docu
45|%
5−+$ versioned-state
6− $% state-0
7− state-1
8− state-2
9− state-3
10− ==
11−+$ state-0
12− $: %0
13− spa=spawned
14− ==
15−+$ state-1
16− $: %1
17− fropoints-1
18− ==
19−+$ state-2
20− $: %2
21− spam=spawn-mip
22− fropoints-1
23− ==
24−+$ state-3
25− $: %3
26− prev-spo=(map ship ship) :: so we know who the old sponsor was when sponsor changes
27− spam=spawn-mip
28− fropoints-1
29− ==
30−::
31−+$ fropoints-1
32− $: fopoints=opoints :: forward ordered points
33− ropoints=opoints :: reversed ordered points, e.g. .~palnet-sampel
34− ==
35−+$ spawned (jug ship ship)
366+$ card card:agent:gall
377--
388%- agent:dbug
39−=| state-3
9+=| state-latest
4010=* state -
4111^- agent:gall
4212=<
@@ -55,15 +25,15 @@
5525 |= old-state=vase
5626 ^- (quip card _this)
5727 =/ old !<(versioned-state old-state)
58− =^ cards-01 old
59− ?. ?=(?(%0 %1 %2) -.old) `old
28+ =/ [cards-01=(list card) new=state-latest]
29+ ?. ?=(?(%0 %1 %2 %3) -.old) `old
6030 (on-naive-state:hc get-nas:hc)
61− ?> ?=(%3 -.old)
31+ ?> ?=(%4 -.new)
6232 =/ cards=(list card)
6333 =/ ug-vase !>([/astrolabe '/apps/astrolabe/#'])
6434 [%pass /monkey-ug %agent [our.bowl %monkey] %poke [%bind-ug ug-vase]]~
6535 =. cards (weld cards-01 cards)
66− [cards this(state old)]
36+ [cards this(state new)]
6737++ on-poke on-poke:def
6838++ on-watch on-watch:def
6939++ on-leave on-leave:def
@@ -72,11 +42,14 @@
7242 |= =path
7343 ^- (unit (unit cage))
7444 ?+ path (on-peek:def path)
45+ [%x %nop ~]
46+ ``noun+!>(~)
7547 [%x %point @ ~]
7648 ``astrolabe-point+!>((get-point:hc &3.path))
7749 [%x %point @ %spawned ?(~ [spawned-filter ~])]
7850 =/ =ship `@p`(slav %p &3.path)
79− =/ arg ?~(t.t.t.t.path %all i.t.t.t.t.path)
51+ =/ filter t.t.t.t.path
52+ =/ arg ?~(filter %all -.filter)
8053 ``astrolabe-point-set+!>((get-spawned-points:hc ship arg))
8154 [%x %search %patp @ ?(~ [%narrow ~])]
8255 =/ =search-text (trip &4.path)
@@ -158,32 +131,7 @@
158131 |= [child=ship nas=^state:naive]
159132 ^- _state
160133 =/ =npoint (get-npoint-from-nas child nas)
161− =/ parent (^sein:title child)
162− ?: =(parent child) state
163− ?: (is-npoint-locked npoint) state
164− =/ pdata (pdata:smel (pmeta:smel child npoint) ~)
165− =* spo sponsor.net.npoint
166− =/ spo-not-par &(has.spo !=(parent who.spo))
167− =? state spo-not-par
168− =/ prev (~(get by prev-spo) child)
169− =? spam &(?=(^ prev) !=(u.prev who.spo))
170− (~(del bi spam) u.prev child)
171− =. prev-spo
172− %+ ~(put by prev-spo)
173− child
174− who.spo
175− =. spam
176− %^ ~(put bi-meta spam)
177− who.spo
178− child
179− pdata
180− state
181− =. spam
182− %^ ~(put bi-meta spam)
183− parent
184− child
185− pdata
186− state
134+ (put-in-spawn-mip:slib child npoint state)
187135::
188136++ on-naive-state
189137 |= nas=^state:naive