@@ -54,9 +54,10 @@
5454 ?+ path (on-peek:def path)
5555 [%x %point @ ~]
5656 ``astrolabe-point+!>((get-point:hc &3.path))
57− [%x %point @ %spawned ~]
57+ [%x %point @ %spawned ?(~ [spawned-filter ~])]
5858 =/ =ship `@p`(slav %p &3.path)
59− ``astrolabe-point-set+!>((get-spawned-points:hc ship))
59+ =/ arg ?~(t.t.t.t.path %all i.t.t.t.t.path)
60+ ``astrolabe-point-set+!>((get-spawned-points:hc ship arg))
6061 [%x %search @ ?(~ [%narrow ~])]
6162 =/ =search-text (trip &3.path)
6263 =/ expand-search =(t.t.t.path ~)
@@ -64,6 +65,8 @@
6465 [%x %peers ~]
6566 =/ peers .^((map ship ?(%alien %known)) %ax (scrio:hc %$ /peers))
6667 ``astrolabe-point-set+!>((turn ~(tap in peers) head))
68+ [%x %chart-data ~]
69+ ``astrolabe-chart-data+!>(get-chart-data:hc)
6770 [%x %doc ^]
6871 =/ doc-path=^path t.t.path
6972 =/ doc (read-doc:hc doc-path)
@@ -180,12 +183,13 @@
180183 ==
181184::
182185++ run-spawned-points
183− |* [agg=mold targ=ship]
184− |= f=$-([agg ship] agg)
186+ |* [agg=mold targ=ship nas=^state:naive filter=spawned-filter]
187+ |= f=$-([agg [ship npoint]] agg)
185188 ^- agg
186− =/ nas get-nas
189+ =| =agg
190+ ?. ?=(?(%czar %king) (clan:title targ))
191+ agg
187192 =+ points=points.nas
188− =| agg=agg
189193 |-
190194 ^- _agg
191195 ?~ points
@@ -196,69 +200,28 @@
196200 $(points r.points)
197201 =? agg =(targ (end (add 2 (xeb (met 3 targ))) n))
198202 $(points r.points)
199− =? agg =(targ (^sein:title n))
200− (f agg n)
203+ =/ should-agg
204+ ?& =(targ (^sein:title n))
205+ ?| =(filter %all)
206+ .= =(filter %locked) (is-npoint-locked +.n.points)
207+ ==
208+ ==
209+ =? agg should-agg
210+ (f agg n.points)
201211 $(points l.points)
202212++ get-spawned-points
203− |= targ=ship
204− %- (run-spawned-points (list ship) targ)
205− |= [agg=(list ship) spawn=ship]
213+ |= [targ=ship filter=spawned-filter]
214+ =/ nas get-nas
215+ %- (run-spawned-points (list ship) targ nas filter)
216+ |= [agg=(list ship) [spawn=ship *]]
206217 [spawn agg]
207218::
208219++ spa-count
209220 |= targ=ship
210− %- (run-spawned-points @ud targ)
211− |= [agg=@ud spawn=ship]
221+ %- (run-spawned-points @ud targ get-nas %all)
222+ |= [agg=@ud [spawn=ship *]]
212223 +(agg)
213224::
214−++ run-wildcard-search
215− |* [agg=mold search=search-full points=opoints =page-info]
216− |= [res=[count=@ =agg] f=$-([agg @q] agg)]
217− ^- [count=@ =agg]
218− =/ s-syls search-syls.search
219− :: ~& s-syls
220− =/ s-opts search-opts.search
221− =+ [llb=.~zod rrb=`@q`(sub (bex 32) 1)]
222− :: =< +
223− |-
224− ^- _res
225− ?~ points
226− :: ~& "nothing here, going up"
227− res
228− :: ?: (gth count.res 1.000) ~|(%search-too-broad !!)
229− =/ n=@q `@`-.n.points
230− =/ lrb=@q ?: (gth n 0) (sub-d n 1) .~zod
231− =/ rlb=@q (add-d n 1)
232− =/ left-view (range-contains-search llb lrb s-opts)
233− :: ~& "arrived at {<n>}"
234− :: ~& "left side: {<?:(contains.left-view 'Y' 'N')>} {<llb>} - {<lrb>}"
235− =/ right-view (range-contains-search rlb rrb s-opts)
236− =? res contains.left-view
237− $(points l.points, rrb lrb, s-opts opts.left-view)
238− =? res (matches-search s-syls n)
239− =/ fits (fits-on-page count.res page-info)
240− =. count.res +(count.res)
241− =? agg.res fits (f agg.res n)
242− res
243− :: ~& "right side: {<?:(contains.right-view 'Y' 'N')>} {<rlb>} - {<rrb>}"
244− =? res contains.right-view
245− $(points r.points, llb rlb, s-opts opts.right-view)
246− res
247−::
248−++ run-mr-search
249− |= [search=mr-search res=[count=@ agg=opoints]]
250− ^- _res
251− =/ points ?: reversed.search ropoints fopoints
252− =. res
253− %+ (run-wildcard-search _agg.res search-full.search points [0 0])
254− res
255− |= [agg=_agg.res result=@q]
256− =? result reversed.search
257− (switch-words result)
258− =. result (to-p result)
259− (put:((on @ @) gte) agg result ~)
260− :: ~& "returning {<~(wyt by agg.res)>} of {<count.res>} results"
261− res
262225++ search-opoints
263226 |= [=search-text expand-search=?]
264227 ^- (list ship)
@@ -273,7 +236,7 @@
273236 ?~ mr-searches ~|(%search-predicted-too-broad !!)
274237 =/ res
275238 %+ roll `(list mr-search)`mr-searches
276− run-mr-search
239+ (run-mr-search fopoints ropoints)
277240 :: ~& "search for {<search-text>}".
278241 :: " returning {<~(wyt by agg.res)>}".
279242 :: " of {<count.res>} results"
@@ -301,6 +264,38 @@
301264 =/ parent-point (get-unpoint parent)
302265 $(ship parent, unpoint parent-point)
303266::
267+++ get-chart-data
268+ ^- chart-data
269+ =/ nas get-nas
270+ :: =/ galaxies (gulf 0 15) :: todo remove
271+ %+ turn galaxies
272+ |= =ship
273+ =/ point (need (get:orm:naive points.nas ship))
274+ (get-point-chart-data nas ship point)
275+::
276+++ get-point-chart-data
277+ |= [nas=^state:naive =ship =npoint]
278+ ^- point-chart-data
279+ =, sponsor.net.npoint
280+ =/ desc-has
281+ ?. has %none
282+ ?: =(who (^sein:title ship))
283+ %same
284+ %diff
285+ :- :* ship
286+ dominion.npoint
287+ [desc-has who]
288+ ==
289+ (get-spawned-chart-data nas ship)
290+::
291+++ get-spawned-chart-data
292+ |= [nas=^state:naive =ship]
293+ ^- chart-data
294+ :: [*point-meta ~]~
295+ %- (run-spawned-points chart-data ship nas %all)
296+ |= [agg=chart-data [spawn=^ship spawn-point=npoint]]
297+ :_ agg
298+ (get-point-chart-data nas spawn spawn-point)
304299++ read-doc
305300 |= =path
306301 =/ doc-path=^path :(weld /doc/usr path /udon)