|
| 1 | +```pikchr |
| 2 | +# DEFAULTS |
| 3 | +
|
| 4 | +$step = 0.3 |
| 5 | +linewid = $step |
| 6 | +lineht = $step |
| 7 | +boxwid = 1.2 |
| 8 | +boxht = 0.4 |
| 9 | +
|
| 10 | +define proposer { box thin fill 0xBFBDFE $1 big rad 10px dashed } |
| 11 | +define psc { box thin fill 0xFEFFBF $1 big } |
| 12 | +define implementor { box thin fill 0xFFBDFF $1 big rad 10px } |
| 13 | + |
| 14 | +# MAIN PROCESS |
| 15 | +
|
| 16 | +# proposer |
| 17 | +
|
| 18 | +down |
| 19 | +proposer( "cool idea" ) |
| 20 | +arrow |
| 21 | +proposer( "take it to p5p" ) |
| 22 | +right |
| 23 | +arrow |
| 24 | +proposer( "popular" big "support?" ) |
| 25 | +arrow "no" big below |
| 26 | +proposer( "give up" ) |
| 27 | +down |
| 28 | +arrow from 2nd last box.s |
| 29 | +proposer( "draft proposal" ) |
| 30 | +arrow <-> |
| 31 | +
|
| 32 | +# psc |
| 33 | +
|
| 34 | +Review: psc( "PSC review" ) |
| 35 | +
|
| 36 | +arrow from 2nd last box.w \ |
| 37 | + left \ |
| 38 | + then down until even with last box \ |
| 39 | + then to last box.w <- |
| 40 | +
|
| 41 | +arrow from last box.s |
| 42 | +psc( "Exploratory" ) |
| 43 | +arrow |
| 44 | +text \ |
| 45 | + "idea subjected to review" small bold rjust \ |
| 46 | + "PSC must approve or reject" small bold rjust \ |
| 47 | + at last arrow.w - ($step / 4,0) |
| 48 | +
|
| 49 | +# implementor |
| 50 | +
|
| 51 | +implementor( "Implementing" ) with .n at last arrow.s |
| 52 | +arrow |
| 53 | +text \ |
| 54 | + "implemented by volunteers" small bold rjust \ |
| 55 | + "PSC must approve or reject" small bold rjust \ |
| 56 | + at last arrow.w - ($step / 4,0) |
| 57 | +
|
| 58 | +arrow from Implementing.s |
| 59 | +implementor( "Testing" ) |
| 60 | +arrow |
| 61 | +text \ |
| 62 | + "implementation tested by volunteers" small bold rjust \ |
| 63 | + "PSC must approve or reject" small bold rjust \ |
| 64 | + at last arrow.w - ($step / 4,0) |
| 65 | +
|
| 66 | +box rad 20px fill 0xBDFFBE "Accepted" big with .n at last arrow.s |
| 67 | +
|
| 68 | +# REJECT |
| 69 | +
|
| 70 | +right |
| 71 | +arrow 200% from Implementing.e |
| 72 | +RoE: [ |
| 73 | + down |
| 74 | + box thin "Rejected" big |
| 75 | + box thin "or" big italic ht 50% |
| 76 | + box thin "Expired" big |
| 77 | +] with .w at last arrow.e |
| 78 | +
|
| 79 | +arrow from Review.s + ( $step, 0 ) to RoE.n - ( $step, 0 ) |
| 80 | +arrow from Exploratory.s + ( $step, 0 ) to RoE.w |
| 81 | +arrow from Testing.n + ( $step, 0 ) to RoE.w |
| 82 | +
|
| 83 | +# LEGEND |
| 84 | +
|
| 85 | +[ down |
| 86 | + boxwid *= 7/8 |
| 87 | + boxht *= 7/8 |
| 88 | + WHO: box thin thin "who is responsible?" small fill white fit |
| 89 | + move $step/4 |
| 90 | + proposer( "proposer" ) |
| 91 | + move $step/4 |
| 92 | + psc( "PSC" ) |
| 93 | + move $step/4 |
| 94 | + implementor( "implementor" big "& PSC" ) |
| 95 | + box thin width last box.wid + $step height last box.ht * 4.25 \ |
| 96 | + with .n at WHO.c behind WHO |
| 97 | +] with .nw at 6th last box.ne + ( linewid * 3.5, $step / 2 ) |
| 98 | +``` |
0 commit comments