1{{/*2 library — the collection, one row per volume, headlined by the score.34 Every figure is the serving build's: the build a reader would be given. The5 score comes first because it is the only number anything gates on; the6 counts beside it are diagnostics, and the page says so.7*/}}8{{define "title"}}Library{{end}}9{{define "content"}}10<section class="page-head">11 <h1>Library</h1>12 <p class="dim">{{.Dir}} · point table v{{.Table}}</p>13</section>14{{range .Skipped}}<p class="warn">{{.}}</p>{{end}}15{{if .Volumes}}16<p class="dim note">Figures are the serving build's — the one a reader is given. The score is17 the measurement; everything beside it is a diagnostic.</p>18<table>19 <thead><tr>20 <th>volume</th><th class="num">score</th><th class="num">Δ last build</th>21 <th class="num">builds</th><th class="num">features</th><th class="num">described</th>22 <th class="num">shapes</th><th class="num">lenses</th><th class="num">raster</th>23 <th>readings</th>24 </tr></thead>25 <tbody>26 {{range .Volumes}}{{$serving := .Serving}}27 <tr>28 <td><a href="/volume/{{.Slug}}">{{.Title}}</a> <span class="dim">{{.Slug}}</span></td>29 <td class="num score">{{$serving.Total}}</td>30 <td class="num">31 {{with .Movement}}<span class="{{if gt .Delta 0}}delta-up{{else if lt .Delta 0}}delta-down{{else}}delta-flat{{end}}">32 {{if gt .Delta 0}}+{{end}}{{.Delta}}</span>{{else}}<span class="dim">—</span>{{end}}33 </td>34 <td class="num">{{len .Builds}}</td>35 <td class="num">{{$serving.Axes.Features}}</td>36 <td class="num">{{$serving.Axes.Described}} <span class="dim">{{$serving.Axes.DescribedShare}}</span></td>37 <td class="num">{{$serving.Axes.Shapes}}</td>38 <td class="num">{{$serving.Axes.Lenses}}</td>39 <td class="num">{{$serving.Axes.RasterMB}} MB</td>40 <td>{{range .Sources}}<span class="badge">{{.}}</span>{{else}}<span class="dim">—</span>{{end}}</td>41 </tr>42 {{end}}43 </tbody>44</table>45{{else}}46<p class="empty">No bundles in this directory yet. The operations page builds some.</p>47{{end}}48{{end}}