@graview/core 0.1.28 → 0.1.30
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.
- package/README.md +17 -0
- package/dist/amount-input.d.ts +21 -0
- package/dist/amount-input.d.ts.map +1 -0
- package/dist/amount-input.js +96 -0
- package/dist/amount-input.js.map +1 -0
- package/dist/answer-seen.d.ts +38 -0
- package/dist/answer-seen.d.ts.map +1 -0
- package/dist/answer-seen.js +122 -0
- package/dist/answer-seen.js.map +1 -0
- package/dist/app-places.d.ts +56 -0
- package/dist/app-places.d.ts.map +1 -0
- package/dist/app-places.js +203 -0
- package/dist/app-places.js.map +1 -0
- package/dist/app.d.ts +16 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/arrange.d.ts +4 -2
- package/dist/arrange.d.ts.map +1 -1
- package/dist/arrange.js +4 -2
- package/dist/arrange.js.map +1 -1
- package/dist/arrangement-words.d.ts +3 -0
- package/dist/arrangement-words.d.ts.map +1 -0
- package/dist/arrangement-words.js +50 -0
- package/dist/arrangement-words.js.map +1 -0
- package/dist/arrangement.d.ts +43 -3
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +69 -31
- package/dist/arrangement.js.map +1 -1
- package/dist/arranging.d.ts.map +1 -1
- package/dist/arranging.js +36 -14
- package/dist/arranging.js.map +1 -1
- package/dist/bind.d.ts +3 -0
- package/dist/bind.d.ts.map +1 -1
- package/dist/bind.js.map +1 -1
- package/dist/blocks.d.ts +1 -1
- package/dist/blocks.d.ts.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/check.d.ts +3 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +3 -0
- package/dist/check.js.map +1 -1
- package/dist/city.d.ts +58 -50
- package/dist/city.d.ts.map +1 -1
- package/dist/city.js +160 -147
- package/dist/city.js.map +1 -1
- package/dist/cli/check/brand.d.ts.map +1 -1
- package/dist/cli/check/brand.js +30 -2
- package/dist/cli/check/brand.js.map +1 -1
- package/dist/cli/check/clock-rules.d.ts +4 -0
- package/dist/cli/check/clock-rules.d.ts.map +1 -0
- package/dist/cli/check/clock-rules.js +26 -0
- package/dist/cli/check/clock-rules.js.map +1 -0
- package/dist/cli/check/field-sight.d.ts +11 -0
- package/dist/cli/check/field-sight.d.ts.map +1 -0
- package/dist/cli/check/field-sight.js +113 -0
- package/dist/cli/check/field-sight.js.map +1 -0
- package/dist/cli/check/index.d.ts +2 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +2 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/lenses.d.ts +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +48 -2
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/check/relations.d.ts +23 -0
- package/dist/cli/check/relations.d.ts.map +1 -1
- package/dist/cli/check/relations.js +55 -4
- package/dist/cli/check/relations.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +7 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +32 -0
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +71 -7
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/docs.d.ts.map +1 -1
- package/dist/cli/docs.js +4 -3
- package/dist/cli/docs.js.map +1 -1
- package/dist/cli/doctor.d.ts +18 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +58 -5
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/document-schema.d.ts +2 -0
- package/dist/cli/document-schema.d.ts.map +1 -1
- package/dist/cli/document-schema.js +154 -5
- package/dist/cli/document-schema.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +16 -2
- package/dist/cli/types.js.map +1 -1
- package/dist/clock-readers.d.ts +18 -0
- package/dist/clock-readers.d.ts.map +1 -0
- package/dist/clock-readers.js +70 -0
- package/dist/clock-readers.js.map +1 -0
- package/dist/clock.d.ts +30 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +41 -0
- package/dist/clock.js.map +1 -0
- package/dist/columns.d.ts.map +1 -1
- package/dist/columns.js +2 -1
- package/dist/columns.js.map +1 -1
- package/dist/conformance/fixtures.d.ts.map +1 -1
- package/dist/conformance/fixtures.js +491 -43
- package/dist/conformance/fixtures.js.map +1 -1
- package/dist/coverage-words.d.ts +18 -0
- package/dist/coverage-words.d.ts.map +1 -0
- package/dist/coverage-words.js +18 -0
- package/dist/coverage-words.js.map +1 -0
- package/dist/days.d.ts +53 -4
- package/dist/days.d.ts.map +1 -1
- package/dist/days.js +136 -16
- package/dist/days.js.map +1 -1
- package/dist/describe.d.ts +1 -0
- package/dist/describe.d.ts.map +1 -1
- package/dist/describe.js +1 -0
- package/dist/describe.js.map +1 -1
- package/dist/document/act-findings.d.ts.map +1 -1
- package/dist/document/act-findings.js +32 -4
- package/dist/document/act-findings.js.map +1 -1
- package/dist/document/amount.d.ts +4 -0
- package/dist/document/amount.d.ts.map +1 -0
- package/dist/document/amount.js +22 -0
- package/dist/document/amount.js.map +1 -0
- package/dist/document/block-context.d.ts.map +1 -1
- package/dist/document/block-context.js +1 -0
- package/dist/document/block-context.js.map +1 -1
- package/dist/document/blocks.d.ts +33 -10
- package/dist/document/blocks.d.ts.map +1 -1
- package/dist/document/blocks.js +139 -25
- package/dist/document/blocks.js.map +1 -1
- package/dist/document/brand-check.d.ts +5 -0
- package/dist/document/brand-check.d.ts.map +1 -1
- package/dist/document/brand-check.js +16 -2
- package/dist/document/brand-check.js.map +1 -1
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +12 -4
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compile.d.ts +0 -2
- package/dist/document/compile.d.ts.map +1 -1
- package/dist/document/compile.js +49 -24
- package/dist/document/compile.js.map +1 -1
- package/dist/document/compiled.d.ts +6 -2
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +94 -26
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/computed-values.d.ts +3 -0
- package/dist/document/computed-values.d.ts.map +1 -1
- package/dist/document/computed-values.js +12 -2
- package/dist/document/computed-values.js.map +1 -1
- package/dist/document/describe-coverage.d.ts +3 -0
- package/dist/document/describe-coverage.d.ts.map +1 -1
- package/dist/document/describe-coverage.js +14 -6
- package/dist/document/describe-coverage.js.map +1 -1
- package/dist/document/describe-place.d.ts +6 -2
- package/dist/document/describe-place.d.ts.map +1 -1
- package/dist/document/describe-place.js +17 -9
- package/dist/document/describe-place.js.map +1 -1
- package/dist/document/diff.d.ts +2 -0
- package/dist/document/diff.d.ts.map +1 -1
- package/dist/document/diff.js +70 -11
- package/dist/document/diff.js.map +1 -1
- package/dist/document/durations.d.ts +8 -0
- package/dist/document/durations.d.ts.map +1 -0
- package/dist/document/durations.js +82 -0
- package/dist/document/durations.js.map +1 -0
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +436 -27
- package/dist/document/edit.js.map +1 -1
- package/dist/document/expr/evaluate.d.ts +26 -1
- package/dist/document/expr/evaluate.d.ts.map +1 -1
- package/dist/document/expr/evaluate.js +55 -4
- package/dist/document/expr/evaluate.js.map +1 -1
- package/dist/document/field-spec.d.ts.map +1 -1
- package/dist/document/field-spec.js +15 -1
- package/dist/document/field-spec.js.map +1 -1
- package/dist/document/format-findings.d.ts +4 -0
- package/dist/document/format-findings.d.ts.map +1 -0
- package/dist/document/format-findings.js +39 -0
- package/dist/document/format-findings.js.map +1 -0
- package/dist/document/format-rules.d.ts +8 -0
- package/dist/document/format-rules.d.ts.map +1 -0
- package/dist/document/format-rules.js +19 -0
- package/dist/document/format-rules.js.map +1 -0
- package/dist/document/format-words.d.ts +9 -0
- package/dist/document/format-words.d.ts.map +1 -0
- package/dist/document/format-words.js +31 -0
- package/dist/document/format-words.js.map +1 -0
- package/dist/document/framework-path.d.ts +11 -0
- package/dist/document/framework-path.d.ts.map +1 -0
- package/dist/document/framework-path.js +122 -0
- package/dist/document/framework-path.js.map +1 -0
- package/dist/document/graview-template.d.ts +2 -2
- package/dist/document/index.d.ts +2 -2
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/index.js +1 -1
- package/dist/document/index.js.map +1 -1
- package/dist/document/linked-findings.d.ts +5 -0
- package/dist/document/linked-findings.d.ts.map +1 -0
- package/dist/document/linked-findings.js +100 -0
- package/dist/document/linked-findings.js.map +1 -0
- package/dist/document/migrate.d.ts +1 -0
- package/dist/document/migrate.d.ts.map +1 -1
- package/dist/document/migrate.js +48 -1
- package/dist/document/migrate.js.map +1 -1
- package/dist/document/money.d.ts +14 -0
- package/dist/document/money.d.ts.map +1 -0
- package/dist/document/money.js +14 -0
- package/dist/document/money.js.map +1 -0
- package/dist/document/policy-words.d.ts +4 -0
- package/dist/document/policy-words.d.ts.map +1 -1
- package/dist/document/policy-words.js +34 -4
- package/dist/document/policy-words.js.map +1 -1
- package/dist/document/right-names.d.ts +10 -0
- package/dist/document/right-names.d.ts.map +1 -0
- package/dist/document/right-names.js +57 -0
- package/dist/document/right-names.js.map +1 -0
- package/dist/document/rule-line.d.ts.map +1 -1
- package/dist/document/rule-line.js +16 -12
- package/dist/document/rule-line.js.map +1 -1
- package/dist/document/rules.d.ts.map +1 -1
- package/dist/document/rules.js +15 -6
- package/dist/document/rules.js.map +1 -1
- package/dist/document/schema.d.ts +142 -22
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +86 -10
- package/dist/document/schema.js.map +1 -1
- package/dist/document/template-parse.d.ts.map +1 -1
- package/dist/document/template-parse.js +45 -5
- package/dist/document/template-parse.js.map +1 -1
- package/dist/document/template.d.ts +16 -14
- package/dist/document/template.d.ts.map +1 -1
- package/dist/document/template.js +52 -30
- package/dist/document/template.js.map +1 -1
- package/dist/document/thumbnail.d.ts.map +1 -1
- package/dist/document/thumbnail.js +4 -3
- package/dist/document/thumbnail.js.map +1 -1
- package/dist/document/to-document.d.ts +0 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +30 -2
- package/dist/document/to-document.js.map +1 -1
- package/dist/document/view-specs.d.ts.map +1 -1
- package/dist/document/view-specs.js +3 -0
- package/dist/document/view-specs.js.map +1 -1
- package/dist/document/views.d.ts +38 -4
- package/dist/document/views.d.ts.map +1 -1
- package/dist/document/views.js +81 -26
- package/dist/document/views.js.map +1 -1
- package/dist/document.schema.json +1184 -141
- package/dist/excerpt-of.d.ts +14 -0
- package/dist/excerpt-of.d.ts.map +1 -0
- package/dist/excerpt-of.js +120 -0
- package/dist/excerpt-of.js.map +1 -0
- package/dist/excerpt.d.ts +9 -0
- package/dist/excerpt.d.ts.map +1 -0
- package/dist/excerpt.js +43 -0
- package/dist/excerpt.js.map +1 -0
- package/dist/field-sight.d.ts +33 -0
- package/dist/field-sight.d.ts.map +1 -0
- package/dist/field-sight.js +313 -0
- package/dist/field-sight.js.map +1 -0
- package/dist/forms.d.ts +2 -0
- package/dist/forms.d.ts.map +1 -1
- package/dist/forms.js +3 -0
- package/dist/forms.js.map +1 -1
- package/dist/graph/archived.d.ts +34 -0
- package/dist/graph/archived.d.ts.map +1 -0
- package/dist/graph/archived.js +25 -0
- package/dist/graph/archived.js.map +1 -0
- package/dist/graph/diff.d.ts +16 -0
- package/dist/graph/diff.d.ts.map +1 -1
- package/dist/graph/diff.js +20 -1
- package/dist/graph/diff.js.map +1 -1
- package/dist/graph/graph.d.ts +37 -13
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +84 -41
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/tracked.d.ts +8 -8
- package/dist/graph/tracked.d.ts.map +1 -1
- package/dist/graph/tracked.js +15 -20
- package/dist/graph/tracked.js.map +1 -1
- package/dist/graph/types.d.ts +16 -8
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.js.map +1 -1
- package/dist/grid-sort.d.ts +20 -0
- package/dist/grid-sort.d.ts.map +1 -0
- package/dist/grid-sort.js +58 -0
- package/dist/grid-sort.js.map +1 -0
- package/dist/history.d.ts +88 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +146 -0
- package/dist/history.js.map +1 -0
- package/dist/import/coerce.d.ts +45 -0
- package/dist/import/coerce.d.ts.map +1 -0
- package/dist/import/coerce.js +252 -0
- package/dist/import/coerce.js.map +1 -0
- package/dist/import/csv.d.ts +16 -0
- package/dist/import/csv.d.ts.map +1 -0
- package/dist/import/csv.js +77 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/import/index.d.ts +17 -0
- package/dist/import/index.d.ts.map +1 -0
- package/dist/import/index.js +13 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/mapping.d.ts +99 -0
- package/dist/import/mapping.d.ts.map +1 -0
- package/dist/import/mapping.js +182 -0
- package/dist/import/mapping.js.map +1 -0
- package/dist/import/rows.d.ts +116 -0
- package/dist/import/rows.d.ts.map +1 -0
- package/dist/import/rows.js +584 -0
- package/dist/import/rows.js.map +1 -0
- package/dist/index.d.ts +53 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -18
- package/dist/index.js.map +1 -1
- package/dist/invariants/engine.d.ts +5 -1
- package/dist/invariants/engine.d.ts.map +1 -1
- package/dist/invariants/engine.js +4 -3
- package/dist/invariants/engine.js.map +1 -1
- package/dist/invariants/types.d.ts +18 -3
- package/dist/invariants/types.d.ts.map +1 -1
- package/dist/json-schema.d.ts +1 -0
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/json-schema.js +2 -0
- package/dist/json-schema.js.map +1 -1
- package/dist/kind-list.d.ts +78 -0
- package/dist/kind-list.d.ts.map +1 -0
- package/dist/kind-list.js +176 -0
- package/dist/kind-list.js.map +1 -0
- package/dist/labels.d.ts.map +1 -1
- package/dist/labels.js +2 -1
- package/dist/labels.js.map +1 -1
- package/dist/lines.d.ts +1 -0
- package/dist/lines.d.ts.map +1 -1
- package/dist/lines.js +5 -3
- package/dist/lines.js.map +1 -1
- package/dist/linked.d.ts +95 -0
- package/dist/linked.d.ts.map +1 -0
- package/dist/linked.js +181 -0
- package/dist/linked.js.map +1 -0
- package/dist/markdown.d.ts +102 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +460 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mutations/arg-shape.d.ts +95 -0
- package/dist/mutations/arg-shape.d.ts.map +1 -0
- package/dist/mutations/arg-shape.js +101 -0
- package/dist/mutations/arg-shape.js.map +1 -0
- package/dist/mutations/define-mutation.d.ts +48 -2
- package/dist/mutations/define-mutation.d.ts.map +1 -1
- package/dist/mutations/define-mutation.js +103 -36
- package/dist/mutations/define-mutation.js.map +1 -1
- package/dist/mutations/derive-edits.d.ts +16 -1
- package/dist/mutations/derive-edits.d.ts.map +1 -1
- package/dist/mutations/derive-edits.js +146 -56
- package/dist/mutations/derive-edits.js.map +1 -1
- package/dist/mutations/derive-repeats.d.ts +8 -0
- package/dist/mutations/derive-repeats.d.ts.map +1 -0
- package/dist/mutations/derive-repeats.js +118 -0
- package/dist/mutations/derive-repeats.js.map +1 -0
- package/dist/mutations/derived-names.d.ts +22 -0
- package/dist/mutations/derived-names.d.ts.map +1 -0
- package/dist/mutations/derived-names.js +21 -0
- package/dist/mutations/derived-names.js.map +1 -0
- package/dist/mutations/edit-start.d.ts +28 -0
- package/dist/mutations/edit-start.d.ts.map +1 -0
- package/dist/mutations/edit-start.js +24 -0
- package/dist/mutations/edit-start.js.map +1 -0
- package/dist/mutations/form.d.ts +33 -1
- package/dist/mutations/form.d.ts.map +1 -1
- package/dist/mutations/form.js +23 -2
- package/dist/mutations/form.js.map +1 -1
- package/dist/mutations/invalid-arguments.d.ts +14 -0
- package/dist/mutations/invalid-arguments.d.ts.map +1 -0
- package/dist/mutations/invalid-arguments.js +18 -0
- package/dist/mutations/invalid-arguments.js.map +1 -0
- package/dist/mutations/keep-link.d.ts +27 -0
- package/dist/mutations/keep-link.d.ts.map +1 -0
- package/dist/mutations/keep-link.js +56 -0
- package/dist/mutations/keep-link.js.map +1 -0
- package/dist/mutations/kept-arguments.d.ts +26 -0
- package/dist/mutations/kept-arguments.d.ts.map +1 -0
- package/dist/mutations/kept-arguments.js +77 -0
- package/dist/mutations/kept-arguments.js.map +1 -0
- package/dist/mutations/node-ref.d.ts +0 -80
- package/dist/mutations/node-ref.d.ts.map +1 -1
- package/dist/mutations/node-ref.js +0 -93
- package/dist/mutations/node-ref.js.map +1 -1
- package/dist/mutations/types.d.ts +17 -1
- package/dist/mutations/types.d.ts.map +1 -1
- package/dist/mutations/words.d.ts +0 -13
- package/dist/mutations/words.d.ts.map +1 -1
- package/dist/mutations/words.js +1 -12
- package/dist/mutations/words.js.map +1 -1
- package/dist/navigate.d.ts +13 -0
- package/dist/navigate.d.ts.map +1 -0
- package/dist/navigate.js +13 -0
- package/dist/navigate.js.map +1 -0
- package/dist/ops/digest.d.ts +33 -0
- package/dist/ops/digest.d.ts.map +1 -0
- package/dist/ops/digest.js +47 -0
- package/dist/ops/digest.js.map +1 -0
- package/dist/ops/kept-fields.d.ts +7 -0
- package/dist/ops/kept-fields.d.ts.map +1 -0
- package/dist/ops/kept-fields.js +24 -0
- package/dist/ops/kept-fields.js.map +1 -0
- package/dist/ops/lineage.d.ts +43 -0
- package/dist/ops/lineage.d.ts.map +1 -0
- package/dist/ops/lineage.js +27 -0
- package/dist/ops/lineage.js.map +1 -0
- package/dist/ops/log.d.ts +6 -0
- package/dist/ops/log.d.ts.map +1 -1
- package/dist/ops/log.js +20 -12
- package/dist/ops/log.js.map +1 -1
- package/dist/ops/provenance.d.ts +68 -0
- package/dist/ops/provenance.d.ts.map +1 -0
- package/dist/ops/provenance.js +83 -0
- package/dist/ops/provenance.js.map +1 -0
- package/dist/ops/suggestions.d.ts +26 -0
- package/dist/ops/suggestions.d.ts.map +1 -0
- package/dist/ops/suggestions.js +21 -0
- package/dist/ops/suggestions.js.map +1 -0
- package/dist/ops/tidying.d.ts +48 -0
- package/dist/ops/tidying.d.ts.map +1 -0
- package/dist/ops/tidying.js +84 -0
- package/dist/ops/tidying.js.map +1 -0
- package/dist/ops/types.d.ts +42 -0
- package/dist/ops/types.d.ts.map +1 -1
- package/dist/ops/undo.d.ts.map +1 -1
- package/dist/ops/undo.js +10 -0
- package/dist/ops/undo.js.map +1 -1
- package/dist/ops/withheld.d.ts +25 -2
- package/dist/ops/withheld.d.ts.map +1 -1
- package/dist/ops/withheld.js +6 -15
- package/dist/ops/withheld.js.map +1 -1
- package/dist/past.d.ts +35 -0
- package/dist/past.d.ts.map +1 -0
- package/dist/past.js +173 -0
- package/dist/past.js.map +1 -0
- package/dist/permissions/policy.d.ts +13 -1
- package/dist/permissions/policy.d.ts.map +1 -1
- package/dist/permissions/policy.js +44 -9
- package/dist/permissions/policy.js.map +1 -1
- package/dist/permissions/sight.d.ts +40 -2
- package/dist/permissions/sight.d.ts.map +1 -1
- package/dist/permissions/sight.js +25 -2
- package/dist/permissions/sight.js.map +1 -1
- package/dist/permissions/types.d.ts +21 -0
- package/dist/permissions/types.d.ts.map +1 -1
- package/dist/permissions/types.js.map +1 -1
- package/dist/places.d.ts +6 -51
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +50 -144
- package/dist/places.js.map +1 -1
- package/dist/provenance.d.ts +14 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +13 -0
- package/dist/provenance.js.map +1 -0
- package/dist/repeat-words.d.ts +13 -0
- package/dist/repeat-words.d.ts.map +1 -0
- package/dist/repeat-words.js +56 -0
- package/dist/repeat-words.js.map +1 -0
- package/dist/repeat.d.ts +59 -0
- package/dist/repeat.d.ts.map +1 -0
- package/dist/repeat.js +155 -0
- package/dist/repeat.js.map +1 -0
- package/dist/scaffold/agents.d.ts.map +1 -1
- package/dist/scaffold/agents.js +13 -0
- package/dist/scaffold/agents.js.map +1 -1
- package/dist/scaffold/project.d.ts.map +1 -1
- package/dist/scaffold/project.js +18 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/ui.d.ts.map +1 -1
- package/dist/scaffold/ui.js +17 -7
- package/dist/scaffold/ui.js.map +1 -1
- package/dist/scene-districts.d.ts +2 -1
- package/dist/scene-districts.d.ts.map +1 -1
- package/dist/scene-districts.js +2 -1
- package/dist/scene-districts.js.map +1 -1
- package/dist/scene.d.ts +4 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -1
- package/dist/scene.js.map +1 -1
- package/dist/schema/amount-mark.d.ts +13 -0
- package/dist/schema/amount-mark.d.ts.map +1 -0
- package/dist/schema/amount-mark.js +20 -0
- package/dist/schema/amount-mark.js.map +1 -0
- package/dist/schema/amount-words.d.ts +12 -0
- package/dist/schema/amount-words.d.ts.map +1 -0
- package/dist/schema/amount-words.js +31 -0
- package/dist/schema/amount-words.js.map +1 -0
- package/dist/schema/app-address.d.ts +5 -0
- package/dist/schema/app-address.d.ts.map +1 -0
- package/dist/schema/app-address.js +10 -0
- package/dist/schema/app-address.js.map +1 -0
- package/dist/schema/app-link-field.d.ts +4 -0
- package/dist/schema/app-link-field.d.ts.map +1 -0
- package/dist/schema/app-link-field.js +19 -0
- package/dist/schema/app-link-field.js.map +1 -0
- package/dist/schema/app-link.d.ts +38 -0
- package/dist/schema/app-link.d.ts.map +1 -0
- package/dist/schema/app-link.js +38 -0
- package/dist/schema/app-link.js.map +1 -0
- package/dist/schema/define-node.d.ts +39 -92
- package/dist/schema/define-node.d.ts.map +1 -1
- package/dist/schema/define-node.js +8 -246
- package/dist/schema/define-node.js.map +1 -1
- package/dist/schema/field-words.d.ts +45 -0
- package/dist/schema/field-words.d.ts.map +1 -0
- package/dist/schema/field-words.js +124 -0
- package/dist/schema/field-words.js.map +1 -0
- package/dist/schema/files.d.ts +8 -0
- package/dist/schema/files.d.ts.map +1 -1
- package/dist/schema/files.js.map +1 -1
- package/dist/schema/json-schema.d.ts +6 -1
- package/dist/schema/json-schema.d.ts.map +1 -1
- package/dist/schema/json-schema.js +101 -2
- package/dist/schema/json-schema.js.map +1 -1
- package/dist/schema/linked-field.d.ts +6 -0
- package/dist/schema/linked-field.d.ts.map +1 -0
- package/dist/schema/linked-field.js +34 -0
- package/dist/schema/linked-field.js.map +1 -0
- package/dist/schema/linked-reads.d.ts +20 -0
- package/dist/schema/linked-reads.d.ts.map +1 -0
- package/dist/schema/linked-reads.js +69 -0
- package/dist/schema/linked-reads.js.map +1 -0
- package/dist/schema/linked-schema.d.ts +5 -0
- package/dist/schema/linked-schema.d.ts.map +1 -0
- package/dist/schema/linked-schema.js +9 -0
- package/dist/schema/linked-schema.js.map +1 -0
- package/dist/schema/linked.d.ts +147 -0
- package/dist/schema/linked.d.ts.map +1 -0
- package/dist/schema/linked.js +151 -0
- package/dist/schema/linked.js.map +1 -0
- package/dist/schema/markdown-field.d.ts +4 -0
- package/dist/schema/markdown-field.d.ts.map +1 -0
- package/dist/schema/markdown-field.js +20 -0
- package/dist/schema/markdown-field.js.map +1 -0
- package/dist/schema/markdown.d.ts +6 -0
- package/dist/schema/markdown.d.ts.map +1 -0
- package/dist/schema/markdown.js +27 -0
- package/dist/schema/markdown.js.map +1 -0
- package/dist/schema/reading.d.ts +86 -0
- package/dist/schema/reading.d.ts.map +1 -0
- package/dist/schema/reading.js +325 -0
- package/dist/schema/reading.js.map +1 -0
- package/dist/schema/repeat-field.d.ts +5 -0
- package/dist/schema/repeat-field.d.ts.map +1 -0
- package/dist/schema/repeat-field.js +20 -0
- package/dist/schema/repeat-field.js.map +1 -0
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +12 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/to-json-schema.d.ts +14 -0
- package/dist/schema/to-json-schema.d.ts.map +1 -0
- package/dist/schema/to-json-schema.js +616 -0
- package/dist/schema/to-json-schema.js.map +1 -0
- package/dist/schema/typed-field-builders.d.ts +8 -0
- package/dist/schema/typed-field-builders.d.ts.map +1 -0
- package/dist/schema/typed-field-builders.js +30 -0
- package/dist/schema/typed-field-builders.js.map +1 -0
- package/dist/schema/typed-field-of.d.ts +4 -0
- package/dist/schema/typed-field-of.d.ts.map +1 -0
- package/dist/schema/typed-field-of.js +14 -0
- package/dist/schema/typed-field-of.js.map +1 -0
- package/dist/schema/typed-fields.d.ts +11 -0
- package/dist/schema/typed-fields.d.ts.map +1 -0
- package/dist/schema/typed-fields.js +16 -0
- package/dist/schema/typed-fields.js.map +1 -0
- package/dist/schema/types.d.ts +31 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/value-words.d.ts +21 -0
- package/dist/schema/value-words.d.ts.map +1 -0
- package/dist/schema/value-words.js +32 -0
- package/dist/schema/value-words.js.map +1 -0
- package/dist/search.d.ts +91 -4
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +317 -54
- package/dist/search.js.map +1 -1
- package/dist/seat-of.d.ts +9 -0
- package/dist/seat-of.d.ts.map +1 -0
- package/dist/seat-of.js +14 -0
- package/dist/seat-of.js.map +1 -0
- package/dist/seat.d.ts +19 -0
- package/dist/seat.d.ts.map +1 -0
- package/dist/seat.js +19 -0
- package/dist/seat.js.map +1 -0
- package/dist/seen.d.ts +15 -45
- package/dist/seen.d.ts.map +1 -1
- package/dist/seen.js +49 -135
- package/dist/seen.js.map +1 -1
- package/dist/store.d.ts +104 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +214 -30
- package/dist/store.js.map +1 -1
- package/dist/theme/derive.d.ts +16 -0
- package/dist/theme/derive.d.ts.map +1 -1
- package/dist/theme/derive.js +14 -0
- package/dist/theme/derive.js.map +1 -1
- package/dist/theme/marks.d.ts +19 -2
- package/dist/theme/marks.d.ts.map +1 -1
- package/dist/theme/marks.js +67 -2
- package/dist/theme/marks.js.map +1 -1
- package/dist/theme/types.d.ts +14 -3
- package/dist/theme/types.d.ts.map +1 -1
- package/dist/theme/types.js.map +1 -1
- package/dist/tidying.d.ts +62 -0
- package/dist/tidying.d.ts.map +1 -0
- package/dist/tidying.js +131 -0
- package/dist/tidying.js.map +1 -0
- package/dist/typed.d.ts +12 -3
- package/dist/typed.d.ts.map +1 -1
- package/dist/typed.js.map +1 -1
- package/dist/validate-graph.d.ts.map +1 -1
- package/dist/validate-graph.js +3 -10
- package/dist/validate-graph.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/via.d.ts.map +1 -1
- package/dist/via.js +2 -1
- package/dist/via.js.map +1 -1
- package/dist/views/address.d.ts +13 -0
- package/dist/views/address.d.ts.map +1 -0
- package/dist/views/address.js +29 -0
- package/dist/views/address.js.map +1 -0
- package/dist/views/types.d.ts +106 -8
- package/dist/views/types.d.ts.map +1 -1
- package/dist/views/types.js +24 -4
- package/dist/views/types.js.map +1 -1
- package/dist/village.d.ts +63 -0
- package/dist/village.d.ts.map +1 -0
- package/dist/village.js +143 -0
- package/dist/village.js.map +1 -0
- package/dist/watched.d.ts +12 -45
- package/dist/watched.d.ts.map +1 -1
- package/dist/watched.js +7 -119
- package/dist/watched.js.map +1 -1
- package/dist/words.d.ts +33 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +36 -0
- package/dist/words.js.map +1 -0
- package/package.json +57 -2
package/dist/views/types.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ export interface ViewRegistration<V = unknown> {
|
|
|
28
28
|
readonly across?: string;
|
|
29
29
|
/** A place beside the kind's own pictures (`ViewMeta.beside`). */
|
|
30
30
|
readonly beside?: boolean;
|
|
31
|
+
/** Every kind the one picture is over, when it is over several (`ViewMeta.over`). */
|
|
32
|
+
readonly over?: readonly string[];
|
|
33
|
+
/** A place kept off the lists (`ViewMeta.hidden`). */
|
|
34
|
+
readonly hidden?: boolean;
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* What a registration may say about itself beyond the cell it fills.
|
|
@@ -54,6 +58,22 @@ export interface ViewMeta {
|
|
|
54
58
|
* app's own registration.
|
|
55
59
|
*/
|
|
56
60
|
readonly beside?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* ONE PICTURE OVER SEVERAL KINDS: every kind it is registered on. A
|
|
63
|
+
* timetable of talks and workshops is registered on both kinds, so either
|
|
64
|
+
* district goes in to it; this says the registrations are one picture, so
|
|
65
|
+
* every list of places names it once.
|
|
66
|
+
*/
|
|
67
|
+
readonly over?: readonly string[];
|
|
68
|
+
/**
|
|
69
|
+
* A PLACE KEPT OFF THE LISTS: reached by its address, a link or
|
|
70
|
+
* `graview.navigate`, but not offered by the bar's places, the page list
|
|
71
|
+
* or the home's gallery — a link target of a custom home rather than a
|
|
72
|
+
* way of looking a person picks. It never takes its kind's own cell
|
|
73
|
+
* either: what a kind draws when an address names no picture is a place
|
|
74
|
+
* a person can find.
|
|
75
|
+
*/
|
|
76
|
+
readonly hidden?: boolean;
|
|
57
77
|
}
|
|
58
78
|
/** A named group view: somewhere to go, by name. */
|
|
59
79
|
export interface Place {
|
|
@@ -70,7 +90,29 @@ export interface Place {
|
|
|
70
90
|
* is addressable: `focus=aggregate:task&in.view=the-month`.
|
|
71
91
|
*/
|
|
72
92
|
readonly as: string;
|
|
93
|
+
/**
|
|
94
|
+
* EVERY KIND THIS ONE PICTURE IS OVER, when it is over several: the
|
|
95
|
+
* timetable of talks and workshops is a place on each kind — either
|
|
96
|
+
* district goes in to it — and one place in every list (`onePerPicture`).
|
|
97
|
+
*/
|
|
98
|
+
readonly over?: readonly string[];
|
|
99
|
+
/** Kept off the lists (`ViewMeta.hidden`): reached by its address, a link or `navigate`, never offered. */
|
|
100
|
+
readonly hidden?: boolean;
|
|
73
101
|
}
|
|
102
|
+
/** A place as the lists compare it: its name, its kind, and every kind when it is one picture over several. */
|
|
103
|
+
type Pictured = {
|
|
104
|
+
readonly as: string;
|
|
105
|
+
readonly kind: string;
|
|
106
|
+
readonly over?: readonly string[];
|
|
107
|
+
};
|
|
108
|
+
/** Whether two places are one picture: one name, and one picture over both kinds. */
|
|
109
|
+
export declare const samePicture: (a: Pictured, b: Pictured) => boolean;
|
|
110
|
+
/**
|
|
111
|
+
* EACH PICTURE ONCE: a picture over several kinds is a place on each, and
|
|
112
|
+
* listed under the first of them that is here. What every list of places
|
|
113
|
+
* reads — the bars, the pages, Find, the seat's places.
|
|
114
|
+
*/
|
|
115
|
+
export declare const onePerPicture: <P extends Pictured>(places: readonly P[]) => P[];
|
|
74
116
|
/** A place's own name in an address: its title, lower-cased and hyphenated. */
|
|
75
117
|
export declare function placeSlug(title: string): string;
|
|
76
118
|
/**
|
|
@@ -94,14 +136,20 @@ export declare function recordPath(schema: {
|
|
|
94
136
|
* plural>` when another kind has a place of the same name (`sharesItsName`).
|
|
95
137
|
*/
|
|
96
138
|
export declare function placePath(as: string, of?: string): string;
|
|
97
|
-
/** Whether another kind has a
|
|
98
|
-
export declare function sharesItsName(place:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
139
|
+
/** Whether another kind has a DIFFERENT picture of this one's name, so its address has to say which kind's. */
|
|
140
|
+
export declare function sharesItsName(place: Pictured, places: readonly Pictured[]): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* WHAT A PLACE IS CALLED IN A LIST: its title, and — when another kind has
|
|
143
|
+
* a different picture of the same name — whose, "The timetable · talks",
|
|
144
|
+
* so two entries never read alike.
|
|
145
|
+
*/
|
|
146
|
+
export declare function placeLabel(place: Pictured & {
|
|
147
|
+
readonly title: string;
|
|
148
|
+
}, places: readonly Pictured[], schema: {
|
|
149
|
+
tryDefinition(kind: string): {
|
|
150
|
+
readonly plural?: string;
|
|
151
|
+
} | undefined;
|
|
152
|
+
}): string;
|
|
105
153
|
export interface ViewRegistry<S extends AnySchema, V = unknown> {
|
|
106
154
|
/**
|
|
107
155
|
* Registering a view for a kind the schema never declared is a typecheck
|
|
@@ -195,5 +243,55 @@ export interface PagesArrangement {
|
|
|
195
243
|
* pages: { primary: ["task", "list", "The week"] }
|
|
196
244
|
*/
|
|
197
245
|
readonly primary?: readonly string[];
|
|
246
|
+
/**
|
|
247
|
+
* WHAT EACH KIND'S LIST OFFERS TO FILTER BY, by kind: its `filters`, in
|
|
248
|
+
* order — a field, a relation, `is`, or `<relation>.<field>` for a choice
|
|
249
|
+
* on the record at a relation's far end. The choice fields among them
|
|
250
|
+
* stand over the list as chips with counts; the rest are under Filter.
|
|
251
|
+
* Unsaid, the list offers every way but a relation to a kind with many
|
|
252
|
+
* records, and its first two choice fields as chips.
|
|
253
|
+
*
|
|
254
|
+
* pages: { lists: { request: { filters: ["status", "area", "became.stage"] } } }
|
|
255
|
+
*/
|
|
256
|
+
readonly lists?: Readonly<Record<string, KindList>>;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* ONE KIND'S LIST, AS THE DECLARATION OPENS IT: what it offers to filter
|
|
260
|
+
* by, the order it opens in, and how it opens grouped. The order and the
|
|
261
|
+
* grouping are where the list starts, not a rule: a person sorts or groups
|
|
262
|
+
* it another way, and the address says so.
|
|
263
|
+
*
|
|
264
|
+
* lists: { request: {
|
|
265
|
+
* filters: ["status", "area"],
|
|
266
|
+
* sort: { by: "votes", direction: "desc", then: "label" },
|
|
267
|
+
* group: { by: "status", order: ["new", "planned", "done", "declined"], closed: ["done", "declined"] },
|
|
268
|
+
* } }
|
|
269
|
+
*/
|
|
270
|
+
export interface KindList {
|
|
271
|
+
readonly filters?: readonly string[];
|
|
272
|
+
/** A field, a computed field or `label`, lowest first — or with a direction and a tiebreak. */
|
|
273
|
+
readonly sort?: string | KindListSort;
|
|
274
|
+
/** A choice or yes-or-no field — or with the groups' order and which are closed. */
|
|
275
|
+
readonly group?: string | KindListGroup;
|
|
276
|
+
}
|
|
277
|
+
export interface KindListSort {
|
|
278
|
+
/** `label`, a field, or a computed field (a rank worked out from the record). */
|
|
279
|
+
readonly by: string;
|
|
280
|
+
/** `asc` (lowest, earliest, A to Z first) when unsaid. */
|
|
281
|
+
readonly direction?: "asc" | "desc";
|
|
282
|
+
/** What orders records that tie: a key, ascending, or `{ by, direction }`. */
|
|
283
|
+
readonly then?: string | {
|
|
284
|
+
readonly by: string;
|
|
285
|
+
readonly direction?: "asc" | "desc";
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
export interface KindListGroup {
|
|
289
|
+
/** A choice field, or a yes-or-no field (its values `"true"` and `"false"`). */
|
|
290
|
+
readonly by: string;
|
|
291
|
+
/** The groups in this order; the values it leaves out follow in their declared order. */
|
|
292
|
+
readonly order?: readonly string[];
|
|
293
|
+
/** The groups drawn last and closed, each said with its count ("done · 12"): what is finished with. */
|
|
294
|
+
readonly closed?: readonly string[];
|
|
198
295
|
}
|
|
296
|
+
export {};
|
|
199
297
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAAiC,CAAC;AAE5E,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAAiC,CAAC;AAE5E,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,+GAA+G;AAC/G,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAElG,qFAAqF;AACrF,eAAO,MAAM,WAAW,GAAI,GAAG,QAAQ,EAAE,GAAG,QAAQ,KAAG,OAAiE,CAAC;AAEzH;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,QAAQ,SAAS,CAAC,EAAE,KAAG,CAAC,EAAiG,CAAC;AAE5K,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhI;AAED,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9I;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,+GAA+G;AAC/G,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAAG,MAAM,CAE/L;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,OAAO;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAChC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,CAAC,EACP,IAAI,CAAC,EAAE,QAAQ,GACd,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,qDAAqD;IACrD,MAAM,IAAI,SAAS,KAAK,EAAE,CAAC;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,GAAG,IAAI,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC;;;;OAIG;IACH,aAAa,IAAI,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,cAAc,IAAI,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,WAAW,CAAC,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACvD;AAiBD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,GAAG,OAAO,EACjE,OAAO,EAAE,CAAC,GACT,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAiGpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;CACvF;AAED,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,uGAAuG;IACvG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
|
package/dist/views/types.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export const FIDELITIES = ["full", "summary", "glyph"];
|
|
2
|
+
/** Whether two places are one picture: one name, and one picture over both kinds. */
|
|
3
|
+
export const samePicture = (a, b) => a.as === b.as && (a.over ?? [a.kind]).includes(b.kind);
|
|
4
|
+
/**
|
|
5
|
+
* EACH PICTURE ONCE: a picture over several kinds is a place on each, and
|
|
6
|
+
* listed under the first of them that is here. What every list of places
|
|
7
|
+
* reads — the bars, the pages, Find, the seat's places.
|
|
8
|
+
*/
|
|
9
|
+
export const onePerPicture = (places) => places.filter((place, at) => !places.slice(0, at).some((held) => samePicture(held, place)));
|
|
2
10
|
/** A place's own name in an address: its title, lower-cased and hyphenated. */
|
|
3
11
|
export function placeSlug(title) {
|
|
4
12
|
return title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
|
|
@@ -22,9 +30,17 @@ export function recordPath(schema, kind, id) {
|
|
|
22
30
|
export function placePath(as, of) {
|
|
23
31
|
return `/places/${encodeURIComponent(as)}${of ? `?of=${encodeURIComponent(of)}` : ""}`;
|
|
24
32
|
}
|
|
25
|
-
/** Whether another kind has a
|
|
33
|
+
/** Whether another kind has a DIFFERENT picture of this one's name, so its address has to say which kind's. */
|
|
26
34
|
export function sharesItsName(place, places) {
|
|
27
|
-
return places.some((other) => other.as === place.as && other
|
|
35
|
+
return places.some((other) => other.as === place.as && !samePicture(place, other));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* WHAT A PLACE IS CALLED IN A LIST: its title, and — when another kind has
|
|
39
|
+
* a different picture of the same name — whose, "The timetable · talks",
|
|
40
|
+
* so two entries never read alike.
|
|
41
|
+
*/
|
|
42
|
+
export function placeLabel(place, places, schema) {
|
|
43
|
+
return sharesItsName(place, places) ? `${place.title} · ${(schema.tryDefinition(place.kind)?.plural ?? `${place.kind}s`).toLowerCase()}` : place.title;
|
|
28
44
|
}
|
|
29
45
|
const key = (kind, cell, as = "") => `${kind}|${cell.cardinality}|${cell.fidelity}|${as}`;
|
|
30
46
|
/** Fidelity fallback order, coarsest-first from a given starting point. */
|
|
@@ -60,6 +76,8 @@ export function createViewRegistry(_schema) {
|
|
|
60
76
|
},
|
|
61
77
|
homeView: () => homeView,
|
|
62
78
|
register(kind, cell, view, meta) {
|
|
79
|
+
// One picture over several kinds says so on each registration and each place it makes; one kept off the lists, likewise.
|
|
80
|
+
const over = { ...(meta?.over?.[1] ? { over: meta.over } : {}), ...(meta?.hidden ? { hidden: true } : {}) };
|
|
63
81
|
const registration = {
|
|
64
82
|
kind,
|
|
65
83
|
cardinality: cell.cardinality,
|
|
@@ -68,6 +86,7 @@ export function createViewRegistry(_schema) {
|
|
|
68
86
|
...(meta?.title ? { title: meta.title } : {}),
|
|
69
87
|
...(meta?.across ? { across: meta.across } : {}),
|
|
70
88
|
...(meta?.beside ? { beside: true } : {}),
|
|
89
|
+
...over,
|
|
71
90
|
};
|
|
72
91
|
/*
|
|
73
92
|
* A titled registration fills its cell AND stands on its own.
|
|
@@ -80,13 +99,14 @@ export function createViewRegistry(_schema) {
|
|
|
80
99
|
* kind could only ever have one answer.
|
|
81
100
|
*/
|
|
82
101
|
order.push(registration);
|
|
83
|
-
|
|
102
|
+
// A place beside the kind's pictures, or one kept off the lists, is reached by its name alone.
|
|
103
|
+
if (!meta?.beside && !over.hidden)
|
|
84
104
|
entries.set(key(kind, cell), registration);
|
|
85
105
|
if (meta?.title) {
|
|
86
106
|
const as = placeSlug(meta.title);
|
|
87
107
|
entries.set(key(kind, cell, as), registration);
|
|
88
108
|
if (cell.cardinality === "many" && !named.some((place) => place.kind === kind && place.as === as)) {
|
|
89
|
-
named.push({ kind, title: meta.title, as, ...(meta.across ? { across: meta.across } : {}) });
|
|
109
|
+
named.push({ kind, title: meta.title, as, ...(meta.across ? { across: meta.across } : {}), ...over });
|
|
90
110
|
}
|
|
91
111
|
}
|
|
92
112
|
return registry;
|
package/dist/views/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/views/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AnySchema } from "./schema/schema.js";
|
|
2
|
+
import type { CityMap, Road, StateTier } from "./city.js";
|
|
3
|
+
/** The roads between placed kinds: one per pair joined by any declared edge. */
|
|
4
|
+
export declare function roadsOf(schema: AnySchema, map: CityMap): readonly Road[];
|
|
5
|
+
/** The most buildings a plot of this side holds: a sub-lattice of side+1 to a side, minus the square in the middle. */
|
|
6
|
+
export declare function villageCap(side: number): number;
|
|
7
|
+
/** A stable number in [0, 1) from an id, so a village is not a barracks and does not reshuffle on every render. */
|
|
8
|
+
export declare function heightOf(id: string): number;
|
|
9
|
+
export interface Building {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
/** The foot, in lattice units from the plot's own corner. */
|
|
12
|
+
readonly col: number;
|
|
13
|
+
readonly row: number;
|
|
14
|
+
/** How wide a building is on the ground, in lattice units. */
|
|
15
|
+
readonly footprint: number;
|
|
16
|
+
/** How tall, as a fraction of its footprint. */
|
|
17
|
+
readonly height: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* WHERE THE MEMBERS STAND. One building per member on the plot's own
|
|
21
|
+
* sub-lattice, back to front so the near ones are drawn last; the middle
|
|
22
|
+
* of the plot is the village square, where the nameplate and the kind's
|
|
23
|
+
* landmark stand, so no building is under them. Past the cap the rest are
|
|
24
|
+
* a number on the curb.
|
|
25
|
+
*/
|
|
26
|
+
export declare function villageOf(plot: {
|
|
27
|
+
readonly col: number;
|
|
28
|
+
readonly row: number;
|
|
29
|
+
readonly side: number;
|
|
30
|
+
}, memberIds: readonly string[]): {
|
|
31
|
+
readonly buildings: readonly Building[];
|
|
32
|
+
readonly rest: number;
|
|
33
|
+
};
|
|
34
|
+
/** One record's block on its district: where it stands, in lattice cells, and which row. */
|
|
35
|
+
export interface Block extends Building {
|
|
36
|
+
/** The row it stands in: the index of its value, or the last row for none. */
|
|
37
|
+
readonly lane: number;
|
|
38
|
+
}
|
|
39
|
+
/** Records a row had no room for, said as `+n` where the row begins — off the plot's left edge, never under its name. */
|
|
40
|
+
export interface LaneRest {
|
|
41
|
+
readonly lane: number;
|
|
42
|
+
readonly count: number;
|
|
43
|
+
readonly col: number;
|
|
44
|
+
readonly row: number;
|
|
45
|
+
}
|
|
46
|
+
/** How tall a block of each tier stands, as a share of its footprint: done lies flat. */
|
|
47
|
+
export declare const TIER_HEIGHT: Readonly<Record<StateTier, number>>;
|
|
48
|
+
/**
|
|
49
|
+
* THE BLOCKS ON A PLOT, A ROW PER VALUE. `lanes` holds each row's record
|
|
50
|
+
* ids, back row first; the plot is cut into that many rows across its
|
|
51
|
+
* depth, every block the same size so a row's length is its count, at the
|
|
52
|
+
* largest size the fullest row fits — and never smaller than an eighth of
|
|
53
|
+
* the plot, past which a row is cut and the rest counted where it begins.
|
|
54
|
+
*/
|
|
55
|
+
export declare function districtBlocks(plot: {
|
|
56
|
+
readonly col: number;
|
|
57
|
+
readonly row: number;
|
|
58
|
+
readonly side: number;
|
|
59
|
+
}, lanes: readonly (readonly string[])[], heights?: readonly number[]): {
|
|
60
|
+
readonly blocks: readonly Block[];
|
|
61
|
+
readonly rests: readonly LaneRest[];
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=village.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"village.d.ts","sourceRoot":"","sources":["../src/village.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAW1D,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,IAAI,EAAE,CAsBxE;AASD,uHAAuH;AACvH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAmBD,mHAAmH;AACnH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBvM;AAED,4FAA4F;AAC5F,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,yHAAyH;AACzH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,yFAAyF;AACzF,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAA+C,CAAC;AAE5G;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3E,KAAK,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACrC,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE,CA+B5E"}
|
package/dist/village.js
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
const byId = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
|
|
2
|
+
/*
|
|
3
|
+
* WHAT STANDS ON THE GROUND: the roads between the plots, and the blocks on
|
|
4
|
+
* each — a module of its own beside the map (`city.ts`), because the scene
|
|
5
|
+
* fetches the ground only when it first rises, and the map is laid out
|
|
6
|
+
* before it does.
|
|
7
|
+
*/
|
|
8
|
+
/** The roads between placed kinds: one per pair joined by any declared edge. */
|
|
9
|
+
export function roadsOf(schema, map) {
|
|
10
|
+
const kinds = [...map.keys()].sort(byId);
|
|
11
|
+
const roads = [];
|
|
12
|
+
for (let i = 0; i < kinds.length; i++) {
|
|
13
|
+
for (let j = i + 1; j < kinds.length; j++) {
|
|
14
|
+
const a = kinds[i];
|
|
15
|
+
const b = kinds[j];
|
|
16
|
+
const edges = [];
|
|
17
|
+
for (const [from, to] of [
|
|
18
|
+
[a, b],
|
|
19
|
+
[b, a],
|
|
20
|
+
]) {
|
|
21
|
+
const definition = schema.tryDefinition(from);
|
|
22
|
+
for (const [name, declaration] of Object.entries(definition?.edges ?? {})) {
|
|
23
|
+
const targets = declaration.to === "*" ? schema.kinds : declaration.to;
|
|
24
|
+
if (targets.includes(to))
|
|
25
|
+
edges.push(name);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (edges.length > 0)
|
|
29
|
+
roads.push({ from: a, to: b, edges });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return roads;
|
|
33
|
+
}
|
|
34
|
+
/*
|
|
35
|
+
* THE VILLAGE ON A PLOT. From altitude a district stands one building per
|
|
36
|
+
* member on its plot's own sub-lattice. Pure arithmetic on the map, so it
|
|
37
|
+
* lives with the map: the scene draws it, and so does a picture of an app
|
|
38
|
+
* drawn without a browser.
|
|
39
|
+
*/
|
|
40
|
+
/** The most buildings a plot of this side holds: a sub-lattice of side+1 to a side, minus the square in the middle. */
|
|
41
|
+
export function villageCap(side) {
|
|
42
|
+
const n = side + 1;
|
|
43
|
+
return n * n - squareCells(n).length;
|
|
44
|
+
}
|
|
45
|
+
/** The sub-cells of an n×n sub-lattice that make the village square: the middle one, or the middle four; a 2×2 has no room for one. */
|
|
46
|
+
function squareCells(n) {
|
|
47
|
+
if (n < 3)
|
|
48
|
+
return [];
|
|
49
|
+
if (n % 2 === 1) {
|
|
50
|
+
const mid = (n - 1) / 2;
|
|
51
|
+
return [[mid, mid]];
|
|
52
|
+
}
|
|
53
|
+
const a = n / 2 - 1;
|
|
54
|
+
const b = n / 2;
|
|
55
|
+
return [
|
|
56
|
+
[a, a],
|
|
57
|
+
[b, a],
|
|
58
|
+
[a, b],
|
|
59
|
+
[b, b],
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
/** A stable number in [0, 1) from an id, so a village is not a barracks and does not reshuffle on every render. */
|
|
63
|
+
export function heightOf(id) {
|
|
64
|
+
let h = 2166136261;
|
|
65
|
+
for (let i = 0; i < id.length; i++)
|
|
66
|
+
h = Math.imul(h ^ id.charCodeAt(i), 16777619);
|
|
67
|
+
return ((h >>> 0) % 1000) / 1000;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* WHERE THE MEMBERS STAND. One building per member on the plot's own
|
|
71
|
+
* sub-lattice, back to front so the near ones are drawn last; the middle
|
|
72
|
+
* of the plot is the village square, where the nameplate and the kind's
|
|
73
|
+
* landmark stand, so no building is under them. Past the cap the rest are
|
|
74
|
+
* a number on the curb.
|
|
75
|
+
*/
|
|
76
|
+
export function villageOf(plot, memberIds) {
|
|
77
|
+
const n = plot.side + 1;
|
|
78
|
+
const square = new Set(squareCells(n).map(([c, r]) => `${c},${r}`));
|
|
79
|
+
const pitch = plot.side / n;
|
|
80
|
+
const cells = [];
|
|
81
|
+
for (let r = 0; r < n; r++)
|
|
82
|
+
for (let c = 0; c < n; c++)
|
|
83
|
+
if (!square.has(`${c},${r}`))
|
|
84
|
+
cells.push([c, r]);
|
|
85
|
+
// Back to front: a smaller col+row is further from the viewer on a 2:1 lattice.
|
|
86
|
+
cells.sort((a, b) => a[0] + a[1] - (b[0] + b[1]) || a[0] - b[0]);
|
|
87
|
+
const shown = memberIds.slice(0, cells.length);
|
|
88
|
+
const buildings = shown.map((id, i) => {
|
|
89
|
+
const [c, r] = cells[i];
|
|
90
|
+
return {
|
|
91
|
+
id,
|
|
92
|
+
col: plot.col + (c + 0.5) * pitch,
|
|
93
|
+
row: plot.row + (r + 0.5) * pitch,
|
|
94
|
+
footprint: pitch * 0.62,
|
|
95
|
+
height: 0.55 + heightOf(id) * 0.7,
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
return { buildings, rest: Math.max(0, memberIds.length - shown.length) };
|
|
99
|
+
}
|
|
100
|
+
/** How tall a block of each tier stands, as a share of its footprint: done lies flat. */
|
|
101
|
+
export const TIER_HEIGHT = { done: 0.12, waiting: 0.55, active: 1.05 };
|
|
102
|
+
/**
|
|
103
|
+
* THE BLOCKS ON A PLOT, A ROW PER VALUE. `lanes` holds each row's record
|
|
104
|
+
* ids, back row first; the plot is cut into that many rows across its
|
|
105
|
+
* depth, every block the same size so a row's length is its count, at the
|
|
106
|
+
* largest size the fullest row fits — and never smaller than an eighth of
|
|
107
|
+
* the plot, past which a row is cut and the rest counted where it begins.
|
|
108
|
+
*/
|
|
109
|
+
export function districtBlocks(plot, lanes, heights = []) {
|
|
110
|
+
const side = plot.side;
|
|
111
|
+
const depth = side / Math.max(1, lanes.length);
|
|
112
|
+
const most = Math.max(1, ...lanes.map((lane) => lane.length));
|
|
113
|
+
let pitch = depth;
|
|
114
|
+
for (let k = 1; depth / k >= side / 8 - 1e-9; k++) {
|
|
115
|
+
pitch = depth / k;
|
|
116
|
+
if (k * Math.floor(side / pitch + 1e-9) >= most)
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
const deep = Math.max(1, Math.floor(depth / pitch + 1e-9));
|
|
120
|
+
const across = Math.max(1, Math.floor(side / pitch + 1e-9));
|
|
121
|
+
const spread = side / across;
|
|
122
|
+
const blocks = [];
|
|
123
|
+
const rests = [];
|
|
124
|
+
lanes.forEach((ids, lane) => {
|
|
125
|
+
const shown = ids.slice(0, deep * across);
|
|
126
|
+
shown.forEach((id, n) => {
|
|
127
|
+
blocks.push({
|
|
128
|
+
id,
|
|
129
|
+
lane,
|
|
130
|
+
col: plot.col + ((n % across) + 0.5) * spread,
|
|
131
|
+
row: plot.row + lane * depth + (Math.floor(n / across) + 0.5) * pitch,
|
|
132
|
+
footprint: Math.min(spread, pitch) * 0.66,
|
|
133
|
+
height: heights[lane] ?? TIER_HEIGHT.waiting,
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
if (ids.length > shown.length)
|
|
137
|
+
rests.push({ lane, count: ids.length - shown.length, col: plot.col - 0.15, row: plot.row + (lane + 0.5) * depth });
|
|
138
|
+
});
|
|
139
|
+
// Back to front: a smaller col+row is further from the viewer.
|
|
140
|
+
blocks.sort((a, b) => a.col + a.row - (b.col + b.row) || a.col - b.col);
|
|
141
|
+
return { blocks, rests };
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=village.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"village.js","sourceRoot":"","sources":["../src/village.ts"],"names":[],"mappings":"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"}
|
package/dist/watched.d.ts
CHANGED
|
@@ -10,16 +10,13 @@
|
|
|
10
10
|
* then refused, which is an act offered to somebody who may not take it.
|
|
11
11
|
*
|
|
12
12
|
* A page is watched when the harness defined `globalThis.__graviewWatch`
|
|
13
|
-
* before the app ran. Anywhere else this is one property read.
|
|
13
|
+
* before the app ran. Anywhere else this is one property read. The store
|
|
14
|
+
* hands itself over and the watch works out the names, what a seat may not
|
|
15
|
+
* see and who has signed what — work that was done here, and downloaded by
|
|
16
|
+
* every reader of a hosted page for a harness's sake, until the ninth walk
|
|
17
|
+
* needed the room (the hosted page's budget).
|
|
14
18
|
*/
|
|
15
|
-
import type {
|
|
16
|
-
import type { AnySchema } from "./schema/schema.js";
|
|
17
|
-
import type { Principal } from "./permissions/types.js";
|
|
18
|
-
/** The declaration's names, and the words it has for them. */
|
|
19
|
-
export declare function tellTheWatchItsNames(schema: AnySchema, mutations: Iterable<{
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly title?: string;
|
|
22
|
-
}>, policy: Policy | undefined): void;
|
|
19
|
+
import type { Principal, Refusal } from "./permissions/types.js";
|
|
23
20
|
/**
|
|
24
21
|
* THE STORE ITSELF, for a harness that measures whether a person got a job
|
|
25
22
|
* done (`scripts/verify-journeys.mjs`). It drives the page as a person
|
|
@@ -32,41 +29,11 @@ export declare function tellTheWatchOfAnAuthor(id: string | undefined): void;
|
|
|
32
29
|
/** A press reached the store and the policy refused it. */
|
|
33
30
|
export declare function tellTheWatchOfARefusal(refusal: Refusal, author: string | undefined): void;
|
|
34
31
|
/**
|
|
35
|
-
* WHAT THIS SEAT MAY NOT SEE,
|
|
36
|
-
* to
|
|
37
|
-
*
|
|
38
|
-
*
|
|
32
|
+
* WHAT THIS SEAT MAY NOT SEE, and who has signed what, for a watching
|
|
33
|
+
* harness to hold every screen to ("shown-what-is-not-theirs"): the store
|
|
34
|
+
* and the seat are handed over, and the watch reads them
|
|
35
|
+
* (`scripts/lib/watch.mjs`), as it reads a store's names. Which surface is
|
|
36
|
+
* telling (`from`): two embeds on one page may sit two different seats down.
|
|
39
37
|
*/
|
|
40
|
-
export declare function tellTheWatchWhatIsUnseen(store:
|
|
41
|
-
readonly policy?: {
|
|
42
|
-
readonly sees?: readonly unknown[];
|
|
43
|
-
};
|
|
44
|
-
readonly graph: {
|
|
45
|
-
allNodes(): readonly ({
|
|
46
|
-
id: string;
|
|
47
|
-
kind: string;
|
|
48
|
-
} & Record<string, unknown>)[];
|
|
49
|
-
};
|
|
50
|
-
readonly schema: AnySchema;
|
|
51
|
-
sees(principal: Principal, id: string): boolean;
|
|
52
|
-
}, principal: Principal,
|
|
53
|
-
/** Which surface is telling: two embeds on one page may sit two different seats down. */
|
|
54
|
-
from?: string): void;
|
|
55
|
-
/**
|
|
56
|
-
* WHO HAS AUTHORED, for a watching harness: every author id in the log that
|
|
57
|
-
* names no record — a migration ("ship:migration"), a seat — is an
|
|
58
|
-
* identifier, and no screen says one.
|
|
59
|
-
*/
|
|
60
|
-
export declare function tellTheWatchItsAuthors(store: {
|
|
61
|
-
readonly graph: {
|
|
62
|
-
getNode(id: string): unknown;
|
|
63
|
-
};
|
|
64
|
-
readonly log: {
|
|
65
|
-
all(): readonly {
|
|
66
|
-
readonly author: {
|
|
67
|
-
readonly id?: string;
|
|
68
|
-
};
|
|
69
|
-
}[];
|
|
70
|
-
};
|
|
71
|
-
}): void;
|
|
38
|
+
export declare function tellTheWatchWhatIsUnseen(store: unknown, principal: Principal, from?: string): void;
|
|
72
39
|
//# sourceMappingURL=watched.d.ts.map
|
package/dist/watched.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watched.d.ts","sourceRoot":"","sources":["../src/watched.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"watched.d.ts","sourceRoot":"","sources":["../src/watched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAWjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGnE;AAED,2DAA2D;AAC3D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEzF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAElG"}
|