inklet 4.0.0.dev7__tar.gz → 4.0.0.dev8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/.github/workflows/publish.yml +2 -2
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/CHANGELOG.md +15 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/PKG-INFO +6 -6
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/README.md +5 -5
- inklet-4.0.0.dev8/docs/assets/guides/layout-editor.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/compatibility.md +1 -1
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/composition-recipes.md +4 -3
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/development-preview.md +31 -11
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/installation.md +3 -3
- inklet-4.0.0.dev8/docs/layout-editor.md +137 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/layout-overrides.md +5 -2
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/roadmap.md +5 -3
- inklet-4.0.0.dev8/examples/layout_editor.py +19 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/mkdocs.yml +1 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/pyproject.toml +1 -1
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/__init__.py +1 -1
- inklet-4.0.0.dev8/src/inklet/experimental/layout_editor/__init__.py +205 -0
- inklet-4.0.0.dev8/src/inklet/experimental/layout_editor/page.html +46 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_docs_site.py +1 -1
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_guides.py +1 -1
- inklet-4.0.0.dev8/tests/test_layout_editor.py +176 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/check_wheel.py +6 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_gallery.json +11 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/.gitattributes +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/.github/workflows/checks.yml +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/.gitignore +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/.readthedocs.yaml +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/CONTRACT.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/CONTRIBUTING.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/LICENSE +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/THIRD_PARTY_NOTICES.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/api.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/brand/inklet-icon.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/brand/inklet-logo-dark.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/brand/inklet-logo-mono.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/brand/inklet-logo.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/brand/inklet-wordmark.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/examples/quickstart.pdf +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/examples/quickstart.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/examples/quickstart.svg +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/axes-and-scales-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/calibrated-volumes-3.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/channels-and-contours-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/composition-recipes-narrow.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/composition-recipes.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/composition-recipes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-anchor.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-annotation.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-bars-histogram.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-branch.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-broken-axis.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-callout.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-clipping.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-creases.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-custom-key.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-cutout.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-dates.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-dense.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-elbows.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-equal-boxes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-facets.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-fit-graph.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-flow-width.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-formula.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-graph.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-halo.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-heatmap.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-hole.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-inline-type.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-inset.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-labels.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-layers.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-letters.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-list.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-matrix.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-page-grid.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-polar.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-protein.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-routes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-scene-overlay.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-scene.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-series-key.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-span.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-sparse-grid.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-swarm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-text-path.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-toon.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-twin-axis.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-unequal-panels.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-violin.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/cookbook-wrapped-card.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/data-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/data-3.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/dense-data-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/diagram-components-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/diagrams-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/layout-3.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/layout-restored.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/layout-restored.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/layout-revised.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/oblique-sections-2.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plot-composition-narrow.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plot-composition.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plot-composition.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plot-quality-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plot-quality-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-band.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-bars.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-boxplot.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-errorbars.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-fill-between.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-fill.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-grouped-bars.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-hist.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-horizontal-bars.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-line-errors.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-line.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-markers.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-matrix.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-polar-curve.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-rose.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-scatter.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-series.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-stackarea.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-stacked-bars.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-step.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-swarm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plots-violin.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plotting-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/plotting-2.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/publication-plots-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/publication-plots-2.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/publication-plots-3.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/publication-plots-4.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/slabs-and-regions-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/three-images-1.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/guides/three-images-2.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/biology.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/clipping-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/clipping-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/clipping-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/clipping-lines-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/clipping-lines-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/comparison.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-marker-shapes-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-marker-shapes.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-markers-display.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-markers-hardware.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-scene-viewer.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-viewer-display.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-viewer-export.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compiled-viewer-study.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compositing-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compositing-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/compositing-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/dense-scatter-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/diagram-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/diagram-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/diagram-review-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/engine-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/engine-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/engine-review-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/fluorescence-biology.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/general-plots-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/general-plots.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/hatch-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/hatch-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/hatch-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/label-intensities-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/label-intensities-native.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/label-intensities.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/lines-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/lines-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/marker-batches.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/marker-index-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/marker-index-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/marker-index-browser-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/marker-index-browser-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/oblique-biology.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/plot-engine-review-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/real-biology.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/render-scene-caption.tex +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/revision.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/scenes-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/scenes-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/slab-biology.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/study.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-culling-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-culling-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-culling-gpu-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-culling-gpu-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-redraw-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-redraw-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-redraw-display.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-redraw-profile.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-window-after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-window-before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/research-preview/viewer-window-display.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/after.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/before.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/browser-quality.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/browser-scatter.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/browser-scatter.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/browser-study.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/contours-streamlines-170mm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/contours-streamlines-masked.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/contours-streamlines.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/contours-streamlines.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/engineering-report-170mm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/engineering-report.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/engineering-report.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/faceted-operations.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/faceted-operations.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/linked-dashboard.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/linked-dashboard.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/linked-selection.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/linked-selection.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/mesh-fields-170mm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/mesh-fields.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/mesh-fields.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/region-shapes.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/region-shapes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/regional-analysis.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/regional-analysis.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/regional-report-160mm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/regional-report.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/regional-report.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/scientific-report-170mm.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/scientific-report.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/scientific-report.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/statistical-views.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/statistical-views.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/table-inputs.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/table-inputs.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/time-series.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/time-series.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/transport-map.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/transport-map.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/visual-overrides.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population-2019.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population-2019.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population-2019.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population-revisions.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population-revisions.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/assets/v4/world-population.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/axes-and-scales.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/bars-and-areas.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/biology-panels.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/blender-scenes.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/brand.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/browser-rendering.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/calibrated-volumes.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/channels-and-contours.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/cli.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/clipping.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/compiled-scenes.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/compiled-viewer.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/complex-scene.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/compositing.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/concepts.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/contours-streamlines.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/cookbook.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/data-revisions.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/data.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/dense-data.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/design/browser-backends.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/design/page_grid.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/design/v2.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/design/v4.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/diagram-components.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/diagram-engine.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/diagrams.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/distributions.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/engineering-report.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/example-library.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/examples.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/export-review.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/fluorescence-biology.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/general-plots.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/geographic-features.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/hatching.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/index.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/interactive-documents.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/javascripts/inklet.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/label-intensities.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/label-measurements.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/layout.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/lines-and-points.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/linked-facets.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/linked-maps.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/linked-plots.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/marker-batches.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/marker-culling.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/matrices.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/mesh-fields.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/microscopy-tiff.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/migration.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/oblique-biology.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/oblique-sections.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/plot-quality.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/plot-recipes.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/plot-types.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/plotting-engine.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/plotting.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/polar-plots.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/presets.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/publication-plots.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/quickstart.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/real-biology.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/architecture-sketch.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/architecture.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/attractor.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/helix.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/interference.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/lattice.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/photonics.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/recipes/wave-packets.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/regional-report.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/release-checks.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/render-jobs.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/rendering-engine.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/research-preview.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/research-revision.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/research-study.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/scene-annotations.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/scene-paths.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/scene-templates.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/scientific-report.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/showcase.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/slab-biology.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/slabs-and-regions.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/statistical-views.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/stress20.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/stylesheets/code.css +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/stylesheets/inklet.css +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/table-inputs.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/three-images.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/time-series.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/troubleshooting.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/uncertainty.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/v2.5.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/v2.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/v3.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/v4-foundations.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/visual-editing.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/docs/world-map.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/cells3d.lock.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/fluorescence.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/organelle.lock.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology/requirements.txt +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/biology_panels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/blender/complex_lab_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/blender/lab_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/blender/occlusion_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/blender/organelle_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/blender/research_lab_views.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/broken_axis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/clipping_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/compiled_marker_shapes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/compiled_scene_viewer.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/compositing_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/composition_recipes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/data/general-plots/benchmark.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/data/general-plots/learning.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/data/general-plots/revenue.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/data/general-plots/sensor.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/dense_scatter_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/diagram_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/engine_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/feature_flow.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/fluorescence_biology.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/gallery.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/general_plots.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/graph.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/hatch_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/hello_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/label_intensities.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/oblique_biology.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/panels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/plot_composition.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/plot_engine_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/plot_quality_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/polar.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/preset_formats.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/presets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/real_biology.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/render_scene_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/render_smoke.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/research_figure_planner.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/research_planner_study.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/research_revision.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/showcase/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/showcase/assets.lock.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/showcase/blender_scenes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/showcase/figures.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/slab_biology.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/state_machine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/stress20.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v25_document.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v2_cases.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v2_document.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_complex_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_render_jobs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_rendering.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_scene_annotations.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_scene_passes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_scene_paths.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v3_scene_templates.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/browser_scatter.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/contours_streamlines.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/data/world-countries.geojson +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/data/world-map-source.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/data/world-population.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/engineering_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/faceted_operations.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/assembly.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/manifest.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/measurement.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/region-shapes.geojson +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/regions.csv +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/regions.geojson +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/fixtures/transport.geojson +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/linked_dashboard.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/linked_selection.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/linked_selection.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/mesh_fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/region_shapes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/regional_analysis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/regional_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/scientific_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/statistical_views.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/table_inputs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/time_series.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/transport_map.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/examples/v4/world_population.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/annot.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/bio3d.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/cartoon.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/chem_data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/chem_fingerprints.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/data/1m17-kinase.pdb +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/data/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/drug_discovery.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/mouse_brain_data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/neural_activity.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/pdbfile.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/showcase_part.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/showcase_process.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/showcase_season.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/structure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/structure_data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/target.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/figures/trial.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/biology-panels.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/chem_fingerprints.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/clipping-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compiled-marker-shapes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compiled-scene-viewer.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compiled-viewer-culling.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compiled-viewer-deep-zoom.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compositing-pdf-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compositing-pdf-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/compositing-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/dense-scatter-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/diagram-labels-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/diagram-labels-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/diagram-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/engine-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/engine-transparency-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/engine-transparency-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/flow.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/fluorescence-biology.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/general-plots-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/general-plots.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/hatch-pdf-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/hatch-pdf-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/hatch-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/hatch-svg-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/label-intensities.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/oblique-biology.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/part.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/plot-axis-after.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/plot-axis-before.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/plot-engine-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/plots.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/polar.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/preset-formats.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/presets.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/process.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/real-biology.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/render-scene-data.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/render-scene-initial.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/render-scene-review.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/research-crossing-revision.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/research-figure-planner.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/research-planner-study.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/research-revision.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/season.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-architecture-sketch.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-architecture.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-attractor.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-helix.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-interference.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-lattice.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-photonics.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/showcase-wave-packets.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/slab-biology.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/stress20.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/structure.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-complex-scene.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-render-jobs.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-rendering.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-scene-annotations.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-scene-passes.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-scene-paths.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/gallery/v3-scene-templates.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/requirements-ci.txt +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/requirements-docs.txt +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/requirements-tables.txt +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/scripts/bench_svg.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/scripts/rasterise.sh +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/scripts/sanity_typeset.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/__main__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/asset.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/cache.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/cutout.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/deps.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/harmonise.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/lineart.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/mask.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/provenance.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/raster.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/sidecar.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/assets/silhouette.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/cli.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/components.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/batch.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/diagram.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/envelope.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/geom.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/prims.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/style.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/trace.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/core/units.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/abut.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/break_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/color.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/cross.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/image.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/key_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/link_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/path_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/plot_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/diagnostics/three_rules.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/compiler.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/composition.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/data_io.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/layout_overrides.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/module.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/presets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/publication.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/document/spec.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/annotate.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/bezier_clip.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/clip.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/coords.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/path.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/place.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/draw/shapes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/_table_adapters.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/compiled.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/compiled.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/drawings.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/editor.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/editor.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/geography.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/grid.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/images.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/overrides.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/page.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/regions.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/runtime.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/series.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/browser/timeaxis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/channels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/contours.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/engineering.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/figure_planner.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/grid.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/measurement.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/measurements.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/planner_geometry.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/regions.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/scene_viewer/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/scene_viewer/controls.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/scene_viewer/page.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/scene_viewer/runtime.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/scene_viewer/spatial.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/sections.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/selection.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/slabs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/temporal.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/tiff.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/experimental/volume.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/fit.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/flow.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/graph.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/graph_force.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/graph_layered.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/graph_tree.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/labels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/layout/sankey.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/links/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/links/curves.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/links/link.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/axis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/breaks.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/categories.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/facets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/inset.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/key.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/marks.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/notes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/panel.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/png.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/polar.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/ramp.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/raster.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/ribbon.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/scale.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/scatter_batch.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/scatter_raster.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/series.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/simplify.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/plot/timescale.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/analysis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/bounds.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/brushes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/bundle.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/composite.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/fontembed.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/glyphs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/hatching.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/outline.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/paint.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/pathdata.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/pdf.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/pdftext.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/preview.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/raster.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/resources.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/revision.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/render/svg.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/themes/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/themes/color.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/themes/palettes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/themes/theme.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/api.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/backend.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/device_worker.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/discover.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/lineart.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/options.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/scene_worker.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/script.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/svgread.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/template_worker.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender/tracing.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/blender_backend.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/camera.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/deps.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/depth.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/devices.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/drill.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/edges.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/hlr.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/linalg.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/mesh.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/occlude.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/order.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/parse.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/place.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/protein.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/quality.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/render_jobs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/scene_annotations.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/scene_pass.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/scene_projection.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/scenes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/shade.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/solids.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/templates.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/three/templates.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/__init__.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/fonts.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/markup.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/onpath.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/outline.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/src/inklet/typeset/shaping.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/assets/mouse.inklet.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/assets/mouse.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/dense_graph.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/draw_probe.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/assets/sem.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/assets/tem.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/cell.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/common.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/imaging.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/kinetics.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/micrograph.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro/system.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/electro_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/fidelity.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/flow.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/hard_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/label_storm.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/mega_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/meshes/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/meshes/brain-lh.obj +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/meshes/spot.obj +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/panels/apparatus.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/panels/graphs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/panels/relations.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/panels/responses.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/panels/sections.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/probes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/stress/three_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_alignment_contract.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_annotate.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_annotate_letters.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_assets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_assets_provenance.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_biology_source.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_blend_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_compiled.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_facets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_geography.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_overrides.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_regions.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_revision.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_scatter.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_series.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_statistics.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_switching.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_browser_time.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_categories.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_channels_contours.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_chem_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_cli.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_clip_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_components.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_compositing_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_composition_recipes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_contrast_and_labels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_cookbook.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_core.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_core_amendments.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_csv_input.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_api.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_artwork.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_break_distorts.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_crossing.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_image_contrast.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_ink.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_keys.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_links.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_paths.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagnostics_plot_box.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_diagram_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_docs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_document.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_document_data.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_document_v25.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_draw_clip.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_draw_path.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_draw_place.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_draw_shapes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_engine_layout.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_engine_rendering.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_engine_scatter.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_engineering_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_export_bundle.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_figure_planner.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_fit.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_grid_fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_hatch_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_label_measurements.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout_graph.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout_graph_fit.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout_origin.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout_overrides.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_layout_sankey.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_links.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_links_avoid.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_links_shapes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_marker_batches.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_mesh_fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_microscopy_tiff.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_neural_activity.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_output_contract.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_paint_program.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_place_labels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_axis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_broken_axis.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_clip.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_facets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_inset.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_key.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_labels.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_legend.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_marks.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_notes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_polar.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_publication.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_quality_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_raster.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_recipes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_ribbon.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_scale.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_swarm.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_plot_time.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_presets.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_publication_limits.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_regional_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_release_adversarial.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_devices.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_embed.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_glyphs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_jobs.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_outline.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_pdf.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_pdf_text.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_quality.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_scene.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_style_fields.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_svg_perf.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_render_v3.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_review_v25.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_round4_plot.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_routing_avoid.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scatter_rendering.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_annotations.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_culling.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_pass.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_projection.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_templates.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scene_viewer.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_scientific_report.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_sections.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_shared_plot_margins.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_showcase_library.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_showcase_round3.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_slabs_regions.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_structure_figure.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_svg.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_table_adapters.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_target_pose.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_temporal_adapters.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_text_markup.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_text_on_path.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_theme_font_style.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_themes.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_anchor_pin.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_api.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_backend_blender.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_blender.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_depth_order.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_drill.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_hlr.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_mesh.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_order_vector.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_overlay.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_parse.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_patches.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_place.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_protein.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_ridges.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_sort.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_sort_budget.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_three_view.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_typeset.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_v4_selection.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_volume.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_watch_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/test_world_map_example.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/README.md +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/categories-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/categories-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/components-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/components-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/dense-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/dense-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/fonts.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/inset-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/inset-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/markers-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/markers-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/renderers.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/type-opacity-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/type-opacity-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-category-subset-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-category-subset-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-dense-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-dense-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-late-inset-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-late-inset-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-shared-scales-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-shared-scales-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-twins-matrix-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-twins-matrix-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-workflow-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v2-workflow-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v25-document-pdf.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/baseline/v25-document-svg.png +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/fixtures.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tests/visual/v2-budgets.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_batches.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_clipping.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_diagrams.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_engine.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_lines.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_marker_index.mjs +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_scene_culling.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_scene_gpu.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_scene_redraw.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_scene_viewer.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_scene_zoom.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_v2.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/benchmark_v4.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/browser_study.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/check_render_wheel.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/dock_ligand.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_previews.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_previews.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_site.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/404.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/card.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/gallery.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/home.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/main.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/docs_theme/plot-gallery.html +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/gen_api.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/make_culling_review.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/plot_catalog.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/prepare_world_map.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/preset_gallery.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/profile_scene_redraw.js +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/showcase_gallery.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/stress20.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/strip_pdb.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/v3_showcase.py +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/v4-budgets.json +0 -0
- {inklet-4.0.0.dev7 → inklet-4.0.0.dev8}/tools/visual_check.py +0 -0
|
@@ -6,7 +6,7 @@ on:
|
|
|
6
6
|
tag:
|
|
7
7
|
description: Published GitHub release tag
|
|
8
8
|
required: true
|
|
9
|
-
default: v4.0.0.
|
|
9
|
+
default: v4.0.0.dev8
|
|
10
10
|
type: string
|
|
11
11
|
dry_run:
|
|
12
12
|
description: Validate release files without uploading to PyPI
|
|
@@ -43,7 +43,7 @@ jobs:
|
|
|
43
43
|
RELEASE_TAG: ${{ inputs.tag }}
|
|
44
44
|
run: |
|
|
45
45
|
[[ "$RELEASE_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(\.dev[0-9]+)?$ ]] || {
|
|
46
|
-
echo 'Expected a stable or development tag such as v3.1.0 or v4.0.0.
|
|
46
|
+
echo 'Expected a stable or development tag such as v3.1.0 or v4.0.0.dev8' >&2
|
|
47
47
|
exit 1
|
|
48
48
|
}
|
|
49
49
|
gh release view "$RELEASE_TAG" --json isDraft,isPrerelease > "$RUNNER_TEMP/release.json"
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 4.0.0.dev8 — 2026-09-12
|
|
6
|
+
|
|
7
|
+
Eighth development preview: local browser layout editing with Python compilation.
|
|
8
|
+
3.1.0 remains the stable release.
|
|
9
|
+
|
|
10
|
+
- Add experimental LayoutEditor with a loopback browser inspector for named
|
|
11
|
+
composition placements and dimensions, using the real Python compiler for
|
|
12
|
+
previews and matching SVG/PDF exports.
|
|
13
|
+
- Add atomic edit/load/reset commands, bounded undo/redo, saved dev7 layout JSON,
|
|
14
|
+
and explicit source refresh with removed-target reconciliation.
|
|
15
|
+
- Preserve the last successful preview/history after errors, reject stale
|
|
16
|
+
revisions and exports, and keep shared nested definitions consistent.
|
|
17
|
+
- Add a runnable mixed-content editor, an illustrated guide, browser/HTTP tests,
|
|
18
|
+
concurrent-client checks and core-only installed-package coverage.
|
|
19
|
+
|
|
5
20
|
## 4.0.0.dev7 — 2026-09-12
|
|
6
21
|
|
|
7
22
|
Seventh development preview: reproducible composition layout choices.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: inklet
|
|
3
|
-
Version: 4.0.0.
|
|
3
|
+
Version: 4.0.0.dev8
|
|
4
4
|
Summary: Scientific figures with live data, measured layout, and consistent vector exports.
|
|
5
5
|
Project-URL: Repository, https://github.com/Mapika/inklet
|
|
6
6
|
Project-URL: Documentation, https://inklet.readthedocs.io/en/latest/
|
|
@@ -81,16 +81,16 @@ their signatures and report schemas may change.
|
|
|
81
81
|
|
|
82
82
|
## 4.0 development preview
|
|
83
83
|
|
|
84
|
-
**4.0.0.
|
|
85
|
-
named placements and
|
|
86
|
-
|
|
84
|
+
**4.0.0.dev8** adds a local browser layout inspector backed by the Python
|
|
85
|
+
compiler. Edit named placements and dimensions, undo/redo changes, save layout
|
|
86
|
+
choices, and export the same compiled preview to SVG or PDF.
|
|
87
87
|
```sh
|
|
88
|
-
python -m pip install "inklet==4.0.0.
|
|
88
|
+
python -m pip install "inklet==4.0.0.dev8"
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
[Preview guide and examples](https://inklet.readthedocs.io/en/latest/development-preview/) ·
|
|
92
92
|
[4.0 roadmap](https://inklet.readthedocs.io/en/latest/roadmap/) ·
|
|
93
|
-
[Release notes](https://github.com/Mapika/inklet/releases/tag/v4.0.0.
|
|
93
|
+
[Release notes](https://github.com/Mapika/inklet/releases/tag/v4.0.0.dev8)
|
|
94
94
|
|
|
95
95
|
This is an opt-in development release. Experimental APIs and saved-state schemas
|
|
96
96
|
may change; 3.1.0 remains the stable release. General browser editing,
|
|
@@ -31,16 +31,16 @@ their signatures and report schemas may change.
|
|
|
31
31
|
|
|
32
32
|
## 4.0 development preview
|
|
33
33
|
|
|
34
|
-
**4.0.0.
|
|
35
|
-
named placements and
|
|
36
|
-
|
|
34
|
+
**4.0.0.dev8** adds a local browser layout inspector backed by the Python
|
|
35
|
+
compiler. Edit named placements and dimensions, undo/redo changes, save layout
|
|
36
|
+
choices, and export the same compiled preview to SVG or PDF.
|
|
37
37
|
```sh
|
|
38
|
-
python -m pip install "inklet==4.0.0.
|
|
38
|
+
python -m pip install "inklet==4.0.0.dev8"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
[Preview guide and examples](https://inklet.readthedocs.io/en/latest/development-preview/) ·
|
|
42
42
|
[4.0 roadmap](https://inklet.readthedocs.io/en/latest/roadmap/) ·
|
|
43
|
-
[Release notes](https://github.com/Mapika/inklet/releases/tag/v4.0.0.
|
|
43
|
+
[Release notes](https://github.com/Mapika/inklet/releases/tag/v4.0.0.dev8)
|
|
44
44
|
|
|
45
45
|
This is an opt-in development release. Experimental APIs and saved-state schemas
|
|
46
46
|
may change; 3.1.0 remains the stable release. General browser editing,
|
|
Binary file
|
|
@@ -48,7 +48,7 @@ Blender. Scene creation and rendering run Blender in a separate process.
|
|
|
48
48
|
### Development-preview table adapters
|
|
49
49
|
|
|
50
50
|
The [pandas and Polars adapters](table-inputs.md) are included in the experimental
|
|
51
|
-
[4.0.0.
|
|
51
|
+
[4.0.0.dev8 preview](development-preview.md), not in stable 3.1.0. Their `pandas` and `polars` extras are separate
|
|
52
52
|
from core dependencies. The adapter CI jobs use Linux/Python 3.12 with pandas
|
|
53
53
|
2.2.0 / Polars 1.0.0 and the versions pinned in `requirements-tables.txt`.
|
|
54
54
|
Both paths check scalar/identity contracts and saved-state SVG reconstruction.
|
|
@@ -15,7 +15,7 @@ illustrative data and generated geometry.
|
|
|
15
15
|
|
|
16
16
|
[Open the standalone figure viewer](assets/guides/composition-recipes.html).
|
|
17
17
|
The viewer supports exploration; these placement and content edits are made
|
|
18
|
-
in Python
|
|
18
|
+
in Python or through the [local layout inspector](layout-editor.md) in dev8.
|
|
19
19
|
|
|
20
20
|
## Declare inputs and defaults
|
|
21
21
|
|
|
@@ -132,8 +132,9 @@ needs. The complete example rejects widths below 140 mm.
|
|
|
132
132
|
Run `python examples/composition_recipes.py --render` from the checkout to
|
|
133
133
|
produce the SVG/PDF/PNG comparisons, standalone HTML viewers, revised-data
|
|
134
134
|
exports and build statistics in `out/composition-recipes/`. PNG requires the
|
|
135
|
-
render extras. This is a Python recipe API; serialized project templates
|
|
136
|
-
asset manifests
|
|
135
|
+
render extras. This is a Python recipe API; serialized project templates
|
|
136
|
+
and asset manifests remain separate upcoming work. Saved layout choices and
|
|
137
|
+
the [local inspector](layout-editor.md) build on these recipes.
|
|
137
138
|
|
|
138
139
|
In dev7, [save and restore layout choices](layout-overrides.md) separately from
|
|
139
140
|
the recipe, preserving measured expressions and reporting removed targets.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Inklet 4.0.0.
|
|
1
|
+
# Inklet 4.0.0.dev8
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The eighth 4.0 development release includes the linked plotting, mapping,
|
|
4
4
|
engineering and scientific workflows developed since 3.1.0. It is an installable
|
|
5
5
|
snapshot for trying real examples and reporting problems. **3.1.0 remains the
|
|
6
6
|
stable release.** The [4.0 roadmap](roadmap.md) still has open work.
|
|
@@ -8,7 +8,7 @@ stable release.** The [4.0 roadmap](roadmap.md) still has open work.
|
|
|
8
8
|
```sh
|
|
9
9
|
python -m venv .venv
|
|
10
10
|
source .venv/bin/activate
|
|
11
|
-
python -m pip install "inklet==4.0.0.
|
|
11
|
+
python -m pip install "inklet==4.0.0.dev8"
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
On Windows PowerShell, activate with `.venv\Scripts\Activate.ps1` instead.
|
|
@@ -19,9 +19,9 @@ stable releases; see its [installation documentation](https://pip.pypa.io/en/sta
|
|
|
19
19
|
Optional extras can be installed with the same pin:
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
python -m pip install "inklet[render,pandas,polars]==4.0.0.
|
|
22
|
+
python -m pip install "inklet[render,pandas,polars]==4.0.0.dev8"
|
|
23
23
|
# Add calibrated volumes and TIFF workflows when needed:
|
|
24
|
-
python -m pip install "inklet[volume,render]==4.0.0.
|
|
24
|
+
python -m pip install "inklet[volume,render]==4.0.0.dev8"
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
The core preview needs no browser server, NumPy, pandas, Polars or Blender.
|
|
@@ -29,7 +29,27 @@ Opening the generated HTML requires a browser. PNG/PDF exports from browser
|
|
|
29
29
|
figures use separate Chrome/Chromium and Pillow; native Diagram exports retain
|
|
30
30
|
their existing requirements. See [installation](installation.md).
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Local layout inspector in dev8
|
|
33
|
+
|
|
34
|
+
The [local layout editor](layout-editor.md) turns saved composition choices into
|
|
35
|
+
a browser workflow. Edit named placements and dimensions, preview the actual
|
|
36
|
+
Python-compiled figure, undo/redo changes, reopen layout JSON and download
|
|
37
|
+
matching SVG/PDF exports. The source recipe remains unchanged.
|
|
38
|
+
|
|
39
|
+
Failed edits retain the last successful preview and history. Explicit source
|
|
40
|
+
refresh reapplies choices after data/content changes, reports removed targets
|
|
41
|
+
and clears history. Revision checks prevent stale tabs from overwriting newer
|
|
42
|
+
edits or silently exporting a different preview. Shared nested definitions
|
|
43
|
+
remain consistent across repeated edits and resets.
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
This inspector requires its local Python session. It covers composition layout;
|
|
48
|
+
drag handles, label content, plot styling and cameras remain separate work.
|
|
49
|
+
The existing standalone viewers and linked-plot appearance editor retain their
|
|
50
|
+
current scope.
|
|
51
|
+
|
|
52
|
+
## Saved layout choices retained from dev7
|
|
33
53
|
|
|
34
54
|
[Layout overrides](layout-overrides.md) capture changed placements and page
|
|
35
55
|
settings separately from the Python recipe. Versioned JSON uses named paths,
|
|
@@ -44,8 +64,8 @@ after measurements, geometry and labels change.
|
|
|
44
64
|
|
|
45
65
|

|
|
46
66
|
|
|
47
|
-
|
|
48
|
-
|
|
67
|
+
The saved format covers layout decisions. Label/camera overrides, broader
|
|
68
|
+
selection relationships and asset manifests remain open roadmap work.
|
|
49
69
|
|
|
50
70
|
## Reusable compositions retained from dev6
|
|
51
71
|
|
|
@@ -63,8 +83,8 @@ cache invalidation and guide execution are covered by regression checks.
|
|
|
63
83
|
|
|
64
84
|

|
|
65
85
|
|
|
66
|
-
Serialized project templates
|
|
67
|
-
|
|
86
|
+
Serialized project templates and asset manifests remain open roadmap items.
|
|
87
|
+
The local inspector above builds on this shared Python composition API.
|
|
68
88
|
|
|
69
89
|
## Shared plotting and composition retained from dev5
|
|
70
90
|
|
|
@@ -142,7 +162,7 @@ The wheel contains the library. To obtain recipes and fixtures, use the matching
|
|
|
142
162
|
release checkout or source archive:
|
|
143
163
|
|
|
144
164
|
```sh
|
|
145
|
-
git clone --branch v4.0.0.
|
|
165
|
+
git clone --branch v4.0.0.dev8 https://github.com/Mapika/inklet.git
|
|
146
166
|
cd inklet
|
|
147
167
|
python -m pip install -e '.[render]'
|
|
148
168
|
python examples/v4/regional_report.py --renderer compiled --editor --output out/regional
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Inklet requires Python 3.11 or later and an installed TrueType/OpenType font.
|
|
4
4
|
The core Python dependencies are HarfBuzz bindings and fontTools.
|
|
5
5
|
|
|
6
|
-
This page covers stable **Inklet 3.1** and the opt-in **4.0.0.
|
|
6
|
+
This page covers stable **Inklet 3.1** and the opt-in **4.0.0.dev8 preview**. See the
|
|
7
7
|
[compatibility matrix](compatibility.md) for tested platforms and Blender versions.
|
|
8
8
|
|
|
9
9
|
## From PyPI
|
|
@@ -24,9 +24,9 @@ Activate the environment or prefix commands with `.venv/bin/` on Linux/macOS.
|
|
|
24
24
|
## 4.0 development preview
|
|
25
25
|
|
|
26
26
|
```sh
|
|
27
|
-
python -m pip install "inklet==4.0.0.
|
|
27
|
+
python -m pip install "inklet==4.0.0.dev8"
|
|
28
28
|
# Optional rendering and DataFrame adapters:
|
|
29
|
-
python -m pip install "inklet[render,pandas,polars]==4.0.0.
|
|
29
|
+
python -m pip install "inklet[render,pandas,polars]==4.0.0.dev8"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
Use a separate virtual environment when trying the preview. Experimental APIs
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Local layout editor
|
|
2
|
+
|
|
3
|
+
Available in **4.0.0.dev8**, under `inklet.experimental.layout_editor`. Adjust
|
|
4
|
+
named placements and dimensions in a browser while Python recompiles the
|
|
5
|
+
actual composition. The preview and downloaded SVG/PDF come from the same
|
|
6
|
+
compiled figure, including plots, nested diagrams and native 3D content.
|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
The [complete example](../examples/layout_editor.py) opens the reusable report
|
|
11
|
+
from [composition recipes](composition-recipes.md). From the checkout, run:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
python examples/layout_editor.py
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Open the local URL printed in the terminal. Keep that Python process running;
|
|
18
|
+
press Ctrl+C to stop it. This is a local editor, not a standalone HTML editing
|
|
19
|
+
file. Ordinary [figure viewers](compiled-viewer.md) remain available for
|
|
20
|
+
sharing a finished document without a Python process.
|
|
21
|
+
|
|
22
|
+
## Start with your composition
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
import inklet as i
|
|
26
|
+
from inklet.experimental.layout_editor import LayoutEditor
|
|
27
|
+
|
|
28
|
+
recipe = i.composition(120, 75)
|
|
29
|
+
recipe.add('chart', i.plot_spec(x=(0, 2), y=(0, 4)).line([(0, 1), (1, 2), (2, 3)]).axes(),
|
|
30
|
+
x=13, y=8, anchor='area-nw', width=recipe.page_width - 26, height=30)
|
|
31
|
+
recipe.add('caption', i.module('Response'), x=13, y=55)
|
|
32
|
+
editor = LayoutEditor(recipe).start()
|
|
33
|
+
print(editor.url)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
In a notebook or interactive Python session, leave the editor running while you
|
|
37
|
+
open its URL. It listens only on the local computer. `start(port=...)` can
|
|
38
|
+
request a particular port; the default chooses an available one. The editor
|
|
39
|
+
retains the supplied recipe as its live source and edits independent copies.
|
|
40
|
+
It does not rewrite Python or modify the source recipe.
|
|
41
|
+
|
|
42
|
+
Pass `preset='scientific.general'` or another preset name to compile under that
|
|
43
|
+
preset. By default, the containing document follows the composition's physical
|
|
44
|
+
width and height, including its coordinate unit. Optional `width=` and
|
|
45
|
+
`height=` arguments fix the containing document's dimensions in millimetres;
|
|
46
|
+
those dimensions remain authoritative when the authored page size changes.
|
|
47
|
+
|
|
48
|
+
## Edit and review
|
|
49
|
+
|
|
50
|
+
Choose a named path in **Content**, enter the fields you want to change, then
|
|
51
|
+
select **Apply layout**. Other fields retain their definitions.
|
|
52
|
+
|
|
53
|
+
- Child placement fields are X, Y, anchor, width and height. Numbers use the
|
|
54
|
+
containing composition's coordinate unit. For plots, width and height describe
|
|
55
|
+
the data region; changing them does not scale text or strokes.
|
|
56
|
+
- A field marked **Measured** still follows its layout expression. Entering a
|
|
57
|
+
number replaces that expression with a fixed value. **Reset target** restores
|
|
58
|
+
that target's source layout, including its measured expressions.
|
|
59
|
+
- Blank child width or height means to use the authored content size. A blank
|
|
60
|
+
anchor preserves the local coordinate frame. Composition size fields must
|
|
61
|
+
remain positive.
|
|
62
|
+
- Nested compositions also expose their authored dimensions, coordinate unit
|
|
63
|
+
and top-fitting option. Registered ports and measured links reflow when the
|
|
64
|
+
compiler rebuilds.
|
|
65
|
+
|
|
66
|
+
Failed layouts show an error beside the Apply controls. The last successful
|
|
67
|
+
preview, saved choices and undo history remain available. The inspector does
|
|
68
|
+
not automatically resolve overlap or add constraints: author the required
|
|
69
|
+
measured relationships and minimum sizes in the Python recipe.
|
|
70
|
+
|
|
71
|
+
**Undo** and **Redo** retain up to 100 successful layout edits. A new edit after
|
|
72
|
+
undo starts a new history branch. Shared nested definitions remain shared:
|
|
73
|
+
editing or resetting one occurrence affects the same definition wherever it
|
|
74
|
+
appears. Distinct placements of that shared content remain independently editable.
|
|
75
|
+
|
|
76
|
+
## Save, reopen and export
|
|
77
|
+
|
|
78
|
+
**Save layout** downloads the versioned JSON described in
|
|
79
|
+
[saved layout choices](layout-overrides.md). **Open layout choices** loads that
|
|
80
|
+
same format. The file contains changed placements and dimensions, not the
|
|
81
|
+
source content, styles, assets or undo history. Keep it alongside the recipe.
|
|
82
|
+
|
|
83
|
+
**Download SVG** and **Download PDF** export the successful preview revision.
|
|
84
|
+
If another editor tab changes the session first, stale commands and export
|
|
85
|
+
links are rejected. Use **Reload editor** to obtain the current shared state.
|
|
86
|
+
|
|
87
|
+
The same operations are available in Python:
|
|
88
|
+
|
|
89
|
+
```python
|
|
90
|
+
import json
|
|
91
|
+
from pathlib import Path
|
|
92
|
+
|
|
93
|
+
editor.command('edit', {'path': '/chart', 'placement': {'height': 35}})
|
|
94
|
+
Path('layout-overrides.json').write_text(json.dumps(editor.overrides(), indent=2))
|
|
95
|
+
editor.figure.save('edited.svg', 'edited.pdf')
|
|
96
|
+
restored, report = recipe.with_layout_overrides(editor.overrides())
|
|
97
|
+
assert report['orphaned_targets'] == []
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`editor.figure` is the last successful compiled snapshot and supports the normal
|
|
101
|
+
[export APIs](export-review.md), including PNG when render dependencies are
|
|
102
|
+
installed. `overrides()` and `snapshot()` return independently owned data.
|
|
103
|
+
Programmatic `command()` accepts `edit`, `reset`, `load`, `undo`, `redo` and
|
|
104
|
+
`refresh`; an optional `revision=` rejects stale callers.
|
|
105
|
+
|
|
106
|
+
## Refresh changed source content
|
|
107
|
+
|
|
108
|
+
After updating a Dataset, module label or supplied component in the original
|
|
109
|
+
Python recipe, choose **Refresh source**. The editor reapplies saved layout
|
|
110
|
+
choices, recompiles and clears undo history. It does not watch or rerun Python
|
|
111
|
+
source files. Use a live Python session for source edits, or restart the example
|
|
112
|
+
and reopen its saved layout file after changing its script.
|
|
113
|
+
|
|
114
|
+
Removed named targets or measured references are reported as errors. The
|
|
115
|
+
**Refresh and discard removed targets** button appears after such a failure;
|
|
116
|
+
it explicitly discards incompatible entries and reports their paths. The last
|
|
117
|
+
successful figure remains visible until a refresh succeeds. Loading an
|
|
118
|
+
incompatible file also fails rather than silently dropping choices; reconcile
|
|
119
|
+
it explicitly through the Python [override API](layout-overrides.md) if needed.
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
recipe['caption'].configure('Updated source label')
|
|
123
|
+
editor.command('refresh')
|
|
124
|
+
assert not editor.snapshot()['undo']
|
|
125
|
+
editor.close()
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Closing the editor stops its server. Its compiled figure and saved choices
|
|
129
|
+
remain accessible in Python. The `with LayoutEditor(recipe) as editor:` form
|
|
130
|
+
starts and closes the server automatically; keep that context alive during
|
|
131
|
+
browser use.
|
|
132
|
+
|
|
133
|
+
This first inspector edits composition layout. Drag handles, label content,
|
|
134
|
+
plot styling, camera controls, and file watching are not part of this interface.
|
|
135
|
+
The separate [linked-plot appearance editor](visual-editing.md) retains its
|
|
136
|
+
existing scope. Broader authoring and identity work remains on the
|
|
137
|
+
[4.0 roadmap](roadmap.md).
|
|
@@ -13,8 +13,8 @@ the edited SVG at both 180 and 150 mm. The [complete example](../examples/compos
|
|
|
13
13
|
uses live illustrative data and generated geometry.
|
|
14
14
|
|
|
15
15
|
[Open the restored figure viewer](assets/guides/layout-restored.html).
|
|
16
|
-
The viewer supports zoom, pan and vector export
|
|
17
|
-
|
|
16
|
+
The viewer supports zoom, pan and vector export. Edit layouts through the
|
|
17
|
+
Python APIs below or the [local inspector](layout-editor.md) in dev8. This format is separate from the experimental linked-table
|
|
18
18
|
[plot-style overrides](visual-editing.md).
|
|
19
19
|
|
|
20
20
|
## Capture changes against a reference
|
|
@@ -137,3 +137,6 @@ a revised module label. Run
|
|
|
137
137
|
`python examples/composition_recipes.py --render --saved-layout` to generate
|
|
138
138
|
the comparison files, `layout-overrides.json` and `layout-reconciliation.json`
|
|
139
139
|
in `out/composition-recipes/`. PNG generation requires the render extras.
|
|
140
|
+
|
|
141
|
+
In dev8, the [local layout editor](layout-editor.md) provides browser controls,
|
|
142
|
+
undo/redo and Python-compiled previews using this saved format.
|
|
@@ -56,9 +56,11 @@ content inputs, independent instances, placement edits and nested attachment
|
|
|
56
56
|
points in dev6, exercised by plots, diagrams and native 3D at two widths.
|
|
57
57
|
Dev7 adds [saved layout overrides](layout-overrides.md) keyed by named paths,
|
|
58
58
|
with measured expressions, independent restoration and explicit orphan reports.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
Dev8 adds a [local layout inspector](layout-editor.md) backed by Python
|
|
60
|
+
compilation, with saved choices, undo/redo and explicit source refresh.
|
|
61
|
+
Serialized project templates, asset manifests, shared selection relationships,
|
|
62
|
+
label/camera editing and direct manipulation remain open. Subsequent work
|
|
63
|
+
should extend authoring and cross-content identity beyond this bounded inspector.
|
|
62
64
|
|
|
63
65
|
## Who this should serve
|
|
64
66
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Edit a mixed plot, diagram and native-3D composition in a local browser."""
|
|
2
|
+
import argparse
|
|
3
|
+
import threading
|
|
4
|
+
from composition_recipes import make_reports
|
|
5
|
+
from inklet.experimental.layout_editor import LayoutEditor
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def main():
|
|
9
|
+
parser=argparse.ArgumentParser(description=__doc__)
|
|
10
|
+
parser.add_argument('--port',type=int,default=0,help='Local port; 0 chooses an available port')
|
|
11
|
+
args=parser.parse_args()
|
|
12
|
+
reports,_=make_reports()
|
|
13
|
+
with LayoutEditor(reports[0],preset='scientific.general').start(port=args.port) as editor:
|
|
14
|
+
print(f'Open {editor.url} — press Ctrl+C to stop.',flush=True)
|
|
15
|
+
try:threading.Event().wait()
|
|
16
|
+
except KeyboardInterrupt:pass
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
if __name__=='__main__':main()
|
|
@@ -64,6 +64,7 @@ nav:
|
|
|
64
64
|
- Panel layout: layout.md
|
|
65
65
|
- Reusable compositions: composition-recipes.md
|
|
66
66
|
- Save layout choices: layout-overrides.md
|
|
67
|
+
- Local layout editor: layout-editor.md
|
|
67
68
|
- Presets and styling: presets.md
|
|
68
69
|
- Review and export: export-review.md
|
|
69
70
|
- Interactive documents (preview):
|