@fusion.dev/helix-core 0.187.0 → 0.189.0
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/custom-elements.json +555 -7
- package/dist/controllers/disabled-cascade-controller/disabled-cascade-controller.d.ts +2 -2
- package/dist/controllers/token-color-controller/token-color-controller.d.ts +2 -2
- package/dist/events/details.d.ts +12 -0
- package/dist/events/events.d.ts +6 -2
- package/dist/events/events.js +5 -1
- package/dist/events/names.js +2 -1
- package/dist/events/plot-change.d.ts +10 -0
- package/dist/events/plot-change.js +11 -0
- package/dist/events/plot-turn.d.ts +6 -0
- package/dist/events/plot-turn.js +11 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/mixins/mixin-viewport/mixin-viewport.d.ts +1 -3
- package/dist/utils/context-budget/context-budget.d.ts +47 -0
- package/dist/utils/context-budget/context-budget.js +48 -0
- package/dist/utils/create-sheet/create-sheet.d.ts +1 -1
- package/dist/utils/projection/projection.d.ts +98 -0
- package/dist/utils/projection/projection.js +144 -0
- package/dist/utils/report-runtime/report-runtime.d.ts +2 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
package/custom-elements.json
CHANGED
|
@@ -1758,7 +1758,7 @@
|
|
|
1758
1758
|
"declarations": [
|
|
1759
1759
|
{
|
|
1760
1760
|
"kind": "class",
|
|
1761
|
-
"description": "Pushes a group's `disabled` onto its members, on every update, unasked.\n\n**The cascade itself is `inheritDisabled`, and this is what makes it\nautomatic.** Called by hand it runs only when whichever method holds the call\nruns, so a group whose items changed by some other path leaves them holding\nthe last answer, and a group that forgets the call gets no cascade at all\nwith nothing to say so: the property exists, the attribute reflects, and the\nmembers simply ignore it. That is invisible in review and shows up only when\nsomeone disables a set.\n\nIt adds no API. A group already has `disabled`, from `HelixFormElement` or\nfrom the consumer; nothing here introduces a property or a method for anyone\nto call.
|
|
1761
|
+
"description": "Pushes a group's `disabled` onto its members, on every update, unasked.\n\n**The cascade itself is `inheritDisabled`, and this is what makes it\nautomatic.** Called by hand it runs only when whichever method holds the call\nruns, so a group whose items changed by some other path leaves them holding\nthe last answer, and a group that forgets the call gets no cascade at all\nwith nothing to say so: the property exists, the attribute reflects, and the\nmembers simply ignore it. That is invisible in review and shows up only when\nsomeone disables a set.\n\nIt adds no API. A group already has `disabled`, from `HelixFormElement` or\nfrom the consumer; nothing here introduces a property or a method for anyone\nto call. Adding no API is what makes it a controller and not a mixin: it\nreacts to a lifecycle and nothing else.\n\nSo a group states its members once, at construction, and never thinks about\nit again:\n\n new DisabledCascadeController(this, { items: () => this.items })\n\n**Runs after every render, and on every `slotchange`.** The second half is\nnot an extra: a member arriving in the light DOM changes no property, so Lit\nschedules nothing, and a render-only cascade leaves a member slotted into an\nalready-disabled group enabled. Measured before it was added, on a radio\ngroup holding two disabled members with a third inserted: `110`, and the\nthird was live in a set nobody could use.\n\nThe listener is on the render root rather than on the host, because\n`slotchange` bubbles but is not composed: it reaches the shadow root that\nowns the slot and stops there. On the host it would never fire at all.\n\nAfter render rather than before, because the items are read from the DOM and\na newly slotted member is not there until the render that assigns it.\n\nIdempotent, so running on every update costs a comparison per member and\nnothing else: `inheritDisabled` writes only where the answer changed and\nremembers what each member said for itself, which is what lets a group be\nre-enabled without freeing a member that was disabled on its own.",
|
|
1762
1762
|
"name": "DisabledCascadeController",
|
|
1763
1763
|
"members": [
|
|
1764
1764
|
{
|
|
@@ -5524,7 +5524,7 @@
|
|
|
5524
5524
|
"declarations": [
|
|
5525
5525
|
{
|
|
5526
5526
|
"kind": "class",
|
|
5527
|
-
"description": "Reads a design token as the sRGB triple a shader or a 2D canvas can take, and\ntells the host when the palette underneath it moves.\n\n**Two hops, and both are load-bearing.** A custom property's own value is the\nunevaluated function text, so `getComputedStyle` on a probe is the only way\nto see what it resolves to. The second hop is `readColor`, which is shared\nwith every other caller that has a resolved color and needs channels: what it\nresolves to is not `rgb()`, the\npalette derives from an `oklch()` seed, and Chrome answers `lab(100 0 0)` for\nwhite. Parsing that with a regular expression for numbers reads the three\nchannels as 100, 0 and 0, which divided by 255 is a dark red.\n\nA screenshot cannot catch that: a warm cast on a saturated gradient is also\nwhat chroma subsampling produces, so the picture agrees with the bug.\n\nThe conversion is therefore the browser's own: fill a pixel and read it back.\nThat holds for `lab()`, `oklch()`, `color-mix()` and whatever a token is\nwritten in next, which is the property worth having in a design system whose\npalette is derived rather than listed.\n\n**A controller and not a mixin**,
|
|
5527
|
+
"description": "Reads a design token as the sRGB triple a shader or a 2D canvas can take, and\ntells the host when the palette underneath it moves.\n\n**Two hops, and both are load-bearing.** A custom property's own value is the\nunevaluated function text, so `getComputedStyle` on a probe is the only way\nto see what it resolves to. The second hop is `readColor`, which is shared\nwith every other caller that has a resolved color and needs channels: what it\nresolves to is not `rgb()`, the\npalette derives from an `oklch()` seed, and Chrome answers `lab(100 0 0)` for\nwhite. Parsing that with a regular expression for numbers reads the three\nchannels as 100, 0 and 0, which divided by 255 is a dark red.\n\nA screenshot cannot catch that: a warm cast on a saturated gradient is also\nwhat chroma subsampling produces, so the picture agrees with the bug.\n\nThe conversion is therefore the browser's own: fill a pixel and read it back.\nThat holds for `lab()`, `oklch()`, `color-mix()` and whatever a token is\nwritten in next, which is the property worth having in a design system whose\npalette is derived rather than listed.\n\n**A controller and not a mixin**, because it adds no property or method a\nconsumer sets. It reacts to lifecycle, holding a probe\nthat has to be created after the host connects and removed when it leaves,\nand it watches for the color mode changing so the host can repaint.\n\n**Client only, and that is the contract rather than a limitation.** There is\nno computed style on a server and no canvas to convert with, so `read`\nanswers the fallback there. Every caller is drawing into a canvas, which does\nnot exist on a server either.",
|
|
5528
5528
|
"name": "TokenColorController",
|
|
5529
5529
|
"members": [
|
|
5530
5530
|
{
|
|
@@ -8738,6 +8738,22 @@
|
|
|
8738
8738
|
"module": "./details.js"
|
|
8739
8739
|
}
|
|
8740
8740
|
},
|
|
8741
|
+
{
|
|
8742
|
+
"kind": "js",
|
|
8743
|
+
"name": "PlotChangeDetail",
|
|
8744
|
+
"declaration": {
|
|
8745
|
+
"name": "PlotChangeDetail",
|
|
8746
|
+
"module": "./details.js"
|
|
8747
|
+
}
|
|
8748
|
+
},
|
|
8749
|
+
{
|
|
8750
|
+
"kind": "js",
|
|
8751
|
+
"name": "PlotTurnDetail",
|
|
8752
|
+
"declaration": {
|
|
8753
|
+
"name": "PlotTurnDetail",
|
|
8754
|
+
"module": "./details.js"
|
|
8755
|
+
}
|
|
8756
|
+
},
|
|
8741
8757
|
{
|
|
8742
8758
|
"kind": "js",
|
|
8743
8759
|
"name": "PressDetail",
|
|
@@ -9458,6 +9474,22 @@
|
|
|
9458
9474
|
"module": "src/events/events.ts"
|
|
9459
9475
|
}
|
|
9460
9476
|
},
|
|
9477
|
+
{
|
|
9478
|
+
"kind": "js",
|
|
9479
|
+
"name": "HelixPlotChangeEvent",
|
|
9480
|
+
"declaration": {
|
|
9481
|
+
"name": "HelixPlotChangeEvent",
|
|
9482
|
+
"module": "src/events/events.ts"
|
|
9483
|
+
}
|
|
9484
|
+
},
|
|
9485
|
+
{
|
|
9486
|
+
"kind": "js",
|
|
9487
|
+
"name": "HelixPlotTurnEvent",
|
|
9488
|
+
"declaration": {
|
|
9489
|
+
"name": "HelixPlotTurnEvent",
|
|
9490
|
+
"module": "src/events/events.ts"
|
|
9491
|
+
}
|
|
9492
|
+
},
|
|
9461
9493
|
{
|
|
9462
9494
|
"kind": "js",
|
|
9463
9495
|
"name": "HelixPressEvent",
|
|
@@ -10546,7 +10578,7 @@
|
|
|
10546
10578
|
"type": {
|
|
10547
10579
|
"text": "ReadonlySet<string>"
|
|
10548
10580
|
},
|
|
10549
|
-
"default": "new Set( ( 'action activate aura-fallback band before-activate before-change before-close ' + 'before-collapse before-edit before-move before-open before-panel-resize before-paste before-pin ' + 'before-reconnect before-relabel before-reorder before-resize before-split before-toggle ' + 'canvas-edit canvas-pan canvas-view canvas-zoom caret clear collapse complete ' + 'connect console copy copy-error create dismiss edit end expand facet filter ' + 'filtered graph-filter graph-layout graph-pan graph-part-change graph-ready ' + 'graph-signal graph-zoom history load load-more map-cluster map-pan map-part-change ' + 'map-ready map-rotate map-tilt map-zoom move navigate next panel-resize pasted pin press ' + 'preview previous range-change read reading-change reading-press reconnect reject ' + 'relabel remove reorder ' + 'reordered resize resized sample-end sample-start scrolled select selected send ' + 'shortcut sort sorted split strands-fallback toggle tour-ask tour-status typing' ) .split(' ') .map((name) => `helix-${name}`), )",
|
|
10581
|
+
"default": "new Set( ( 'action activate aura-fallback band before-activate before-change before-close ' + 'before-collapse before-edit before-move before-open before-panel-resize before-paste before-pin ' + 'before-reconnect before-relabel before-reorder before-resize before-split before-toggle ' + 'canvas-edit canvas-pan canvas-view canvas-zoom caret clear collapse complete ' + 'connect console copy copy-error create dismiss edit end expand facet filter ' + 'filtered graph-filter graph-layout graph-pan graph-part-change graph-ready ' + 'graph-signal graph-zoom history load load-more map-cluster map-pan map-part-change ' + 'map-ready map-rotate map-tilt map-zoom move navigate next panel-resize pasted pin plot-change ' + 'plot-turn press ' + 'preview previous range-change read reading-change reading-press reconnect reject ' + 'relabel remove reorder ' + 'reordered resize resized sample-end sample-start scrolled select selected send ' + 'shortcut sort sorted split strands-fallback toggle tour-ask tour-status typing' ) .split(' ') .map((name) => `helix-${name}`), )",
|
|
10550
10582
|
"description": "Every name this library dispatches.\n\nExported so a runtime check can ask whether a name is one of ours without\nkeeping a second list of them. `HelixElement` uses it to tell a consumer that\nthe handler prop they wrote is attached to nothing.\n\n**Written as strings, in a module of its own, and not read off the\nclasses in `registry`.** Every element carries this set through its React\nprop audit, and a set read off the classes kept every class alive in every\nbundle: a Badge shipped all eighty of them. As strings, a family ships the\nclasses it dispatches and no others. `events.pure.spec.ts` holds this list to\nthe classes, so a class added without its name here fails.\n\n**Without the shared `helix-`, and separated by spaces.** Every element carries this\nlist, and as quoted strings each paid its quotes, its comma and the prefix."
|
|
10551
10583
|
}
|
|
10552
10584
|
],
|
|
@@ -10751,6 +10783,82 @@
|
|
|
10751
10783
|
}
|
|
10752
10784
|
]
|
|
10753
10785
|
},
|
|
10786
|
+
{
|
|
10787
|
+
"kind": "javascript-module",
|
|
10788
|
+
"path": "src/events/plot-change.ts",
|
|
10789
|
+
"declarations": [
|
|
10790
|
+
{
|
|
10791
|
+
"kind": "class",
|
|
10792
|
+
"description": "A plot's points or the point the keys rest on changed, which the connector\nhears and the renderer is told. It stays on the plot, being the family's\nown bookkeeping rather than news for a page.",
|
|
10793
|
+
"name": "HelixPlotChangeEvent",
|
|
10794
|
+
"members": [
|
|
10795
|
+
{
|
|
10796
|
+
"kind": "field",
|
|
10797
|
+
"name": "eventName",
|
|
10798
|
+
"type": {
|
|
10799
|
+
"text": "string"
|
|
10800
|
+
},
|
|
10801
|
+
"static": true,
|
|
10802
|
+
"readonly": true,
|
|
10803
|
+
"default": "'helix-plot-change'"
|
|
10804
|
+
}
|
|
10805
|
+
],
|
|
10806
|
+
"superclass": {
|
|
10807
|
+
"name": "CustomEvent",
|
|
10808
|
+
"module": "src/events/plot-change.ts"
|
|
10809
|
+
},
|
|
10810
|
+
"helix": {}
|
|
10811
|
+
}
|
|
10812
|
+
],
|
|
10813
|
+
"exports": [
|
|
10814
|
+
{
|
|
10815
|
+
"kind": "js",
|
|
10816
|
+
"name": "HelixPlotChangeEvent",
|
|
10817
|
+
"declaration": {
|
|
10818
|
+
"name": "HelixPlotChangeEvent",
|
|
10819
|
+
"module": "src/events/plot-change.ts"
|
|
10820
|
+
}
|
|
10821
|
+
}
|
|
10822
|
+
]
|
|
10823
|
+
},
|
|
10824
|
+
{
|
|
10825
|
+
"kind": "javascript-module",
|
|
10826
|
+
"path": "src/events/plot-turn.ts",
|
|
10827
|
+
"declarations": [
|
|
10828
|
+
{
|
|
10829
|
+
"kind": "class",
|
|
10830
|
+
"description": "The reader asked a 3D plot to turn by key: steps across and up, which the renderer turns by.",
|
|
10831
|
+
"name": "HelixPlotTurnEvent",
|
|
10832
|
+
"members": [
|
|
10833
|
+
{
|
|
10834
|
+
"kind": "field",
|
|
10835
|
+
"name": "eventName",
|
|
10836
|
+
"type": {
|
|
10837
|
+
"text": "string"
|
|
10838
|
+
},
|
|
10839
|
+
"static": true,
|
|
10840
|
+
"readonly": true,
|
|
10841
|
+
"default": "'helix-plot-turn'"
|
|
10842
|
+
}
|
|
10843
|
+
],
|
|
10844
|
+
"superclass": {
|
|
10845
|
+
"name": "CustomEvent",
|
|
10846
|
+
"module": "src/events/plot-turn.ts"
|
|
10847
|
+
},
|
|
10848
|
+
"helix": {}
|
|
10849
|
+
}
|
|
10850
|
+
],
|
|
10851
|
+
"exports": [
|
|
10852
|
+
{
|
|
10853
|
+
"kind": "js",
|
|
10854
|
+
"name": "HelixPlotTurnEvent",
|
|
10855
|
+
"declaration": {
|
|
10856
|
+
"name": "HelixPlotTurnEvent",
|
|
10857
|
+
"module": "src/events/plot-turn.ts"
|
|
10858
|
+
}
|
|
10859
|
+
}
|
|
10860
|
+
]
|
|
10861
|
+
},
|
|
10754
10862
|
{
|
|
10755
10863
|
"kind": "javascript-module",
|
|
10756
10864
|
"path": "src/events/press.ts",
|
|
@@ -15583,6 +15691,22 @@
|
|
|
15583
15691
|
"module": "./events/events.js"
|
|
15584
15692
|
}
|
|
15585
15693
|
},
|
|
15694
|
+
{
|
|
15695
|
+
"kind": "js",
|
|
15696
|
+
"name": "HelixPlotChangeEvent",
|
|
15697
|
+
"declaration": {
|
|
15698
|
+
"name": "HelixPlotChangeEvent",
|
|
15699
|
+
"module": "./events/events.js"
|
|
15700
|
+
}
|
|
15701
|
+
},
|
|
15702
|
+
{
|
|
15703
|
+
"kind": "js",
|
|
15704
|
+
"name": "HelixPlotTurnEvent",
|
|
15705
|
+
"declaration": {
|
|
15706
|
+
"name": "HelixPlotTurnEvent",
|
|
15707
|
+
"module": "./events/events.js"
|
|
15708
|
+
}
|
|
15709
|
+
},
|
|
15586
15710
|
{
|
|
15587
15711
|
"kind": "js",
|
|
15588
15712
|
"name": "HelixPressEvent",
|
|
@@ -15903,6 +16027,22 @@
|
|
|
15903
16027
|
"module": "./events/events.js"
|
|
15904
16028
|
}
|
|
15905
16029
|
},
|
|
16030
|
+
{
|
|
16031
|
+
"kind": "js",
|
|
16032
|
+
"name": "PlotChangeDetail",
|
|
16033
|
+
"declaration": {
|
|
16034
|
+
"name": "PlotChangeDetail",
|
|
16035
|
+
"module": "./events/events.js"
|
|
16036
|
+
}
|
|
16037
|
+
},
|
|
16038
|
+
{
|
|
16039
|
+
"kind": "js",
|
|
16040
|
+
"name": "PlotTurnDetail",
|
|
16041
|
+
"declaration": {
|
|
16042
|
+
"name": "PlotTurnDetail",
|
|
16043
|
+
"module": "./events/events.js"
|
|
16044
|
+
}
|
|
16045
|
+
},
|
|
15906
16046
|
{
|
|
15907
16047
|
"kind": "js",
|
|
15908
16048
|
"name": "PressDetail",
|
|
@@ -17015,6 +17155,38 @@
|
|
|
17015
17155
|
"module": "./utils/column-step/column-step.js"
|
|
17016
17156
|
}
|
|
17017
17157
|
},
|
|
17158
|
+
{
|
|
17159
|
+
"kind": "js",
|
|
17160
|
+
"name": "contextBudget",
|
|
17161
|
+
"declaration": {
|
|
17162
|
+
"name": "contextBudget",
|
|
17163
|
+
"module": "./utils/context-budget/context-budget.js"
|
|
17164
|
+
}
|
|
17165
|
+
},
|
|
17166
|
+
{
|
|
17167
|
+
"kind": "js",
|
|
17168
|
+
"name": "Holder",
|
|
17169
|
+
"declaration": {
|
|
17170
|
+
"name": "Holder",
|
|
17171
|
+
"module": "./utils/context-budget/context-budget.js"
|
|
17172
|
+
}
|
|
17173
|
+
},
|
|
17174
|
+
{
|
|
17175
|
+
"kind": "js",
|
|
17176
|
+
"name": "LIVE",
|
|
17177
|
+
"declaration": {
|
|
17178
|
+
"name": "LIVE",
|
|
17179
|
+
"module": "./utils/context-budget/context-budget.js"
|
|
17180
|
+
}
|
|
17181
|
+
},
|
|
17182
|
+
{
|
|
17183
|
+
"kind": "js",
|
|
17184
|
+
"name": "pageBudget",
|
|
17185
|
+
"declaration": {
|
|
17186
|
+
"name": "pageBudget",
|
|
17187
|
+
"module": "./utils/context-budget/context-budget.js"
|
|
17188
|
+
}
|
|
17189
|
+
},
|
|
17018
17190
|
{
|
|
17019
17191
|
"kind": "js",
|
|
17020
17192
|
"name": "countLabel",
|
|
@@ -17847,6 +18019,110 @@
|
|
|
17847
18019
|
"module": "./utils/press-type/press-type.js"
|
|
17848
18020
|
}
|
|
17849
18021
|
},
|
|
18022
|
+
{
|
|
18023
|
+
"kind": "js",
|
|
18024
|
+
"name": "Camera",
|
|
18025
|
+
"declaration": {
|
|
18026
|
+
"name": "Camera",
|
|
18027
|
+
"module": "./utils/projection/projection.js"
|
|
18028
|
+
}
|
|
18029
|
+
},
|
|
18030
|
+
{
|
|
18031
|
+
"kind": "js",
|
|
18032
|
+
"name": "Drawn",
|
|
18033
|
+
"declaration": {
|
|
18034
|
+
"name": "Drawn",
|
|
18035
|
+
"module": "./utils/projection/projection.js"
|
|
18036
|
+
}
|
|
18037
|
+
},
|
|
18038
|
+
{
|
|
18039
|
+
"kind": "js",
|
|
18040
|
+
"name": "depthOrder",
|
|
18041
|
+
"declaration": {
|
|
18042
|
+
"name": "depthOrder",
|
|
18043
|
+
"module": "./utils/projection/projection.js"
|
|
18044
|
+
}
|
|
18045
|
+
},
|
|
18046
|
+
{
|
|
18047
|
+
"kind": "js",
|
|
18048
|
+
"name": "Face",
|
|
18049
|
+
"declaration": {
|
|
18050
|
+
"name": "Face",
|
|
18051
|
+
"module": "./utils/projection/projection.js"
|
|
18052
|
+
}
|
|
18053
|
+
},
|
|
18054
|
+
{
|
|
18055
|
+
"kind": "js",
|
|
18056
|
+
"name": "ISOMETRIC",
|
|
18057
|
+
"declaration": {
|
|
18058
|
+
"name": "ISOMETRIC",
|
|
18059
|
+
"module": "./utils/projection/projection.js"
|
|
18060
|
+
}
|
|
18061
|
+
},
|
|
18062
|
+
{
|
|
18063
|
+
"kind": "js",
|
|
18064
|
+
"name": "LOWEST_TILT",
|
|
18065
|
+
"declaration": {
|
|
18066
|
+
"name": "LOWEST_TILT",
|
|
18067
|
+
"module": "./utils/projection/projection.js"
|
|
18068
|
+
}
|
|
18069
|
+
},
|
|
18070
|
+
{
|
|
18071
|
+
"kind": "js",
|
|
18072
|
+
"name": "PagePoint",
|
|
18073
|
+
"declaration": {
|
|
18074
|
+
"name": "PagePoint",
|
|
18075
|
+
"module": "./utils/projection/projection.js"
|
|
18076
|
+
}
|
|
18077
|
+
},
|
|
18078
|
+
{
|
|
18079
|
+
"kind": "js",
|
|
18080
|
+
"name": "Projection",
|
|
18081
|
+
"declaration": {
|
|
18082
|
+
"name": "Projection",
|
|
18083
|
+
"module": "./utils/projection/projection.js"
|
|
18084
|
+
}
|
|
18085
|
+
},
|
|
18086
|
+
{
|
|
18087
|
+
"kind": "js",
|
|
18088
|
+
"name": "pathData",
|
|
18089
|
+
"declaration": {
|
|
18090
|
+
"name": "pathData",
|
|
18091
|
+
"module": "./utils/projection/projection.js"
|
|
18092
|
+
}
|
|
18093
|
+
},
|
|
18094
|
+
{
|
|
18095
|
+
"kind": "js",
|
|
18096
|
+
"name": "projectionOf",
|
|
18097
|
+
"declaration": {
|
|
18098
|
+
"name": "projectionOf",
|
|
18099
|
+
"module": "./utils/projection/projection.js"
|
|
18100
|
+
}
|
|
18101
|
+
},
|
|
18102
|
+
{
|
|
18103
|
+
"kind": "js",
|
|
18104
|
+
"name": "Solid",
|
|
18105
|
+
"declaration": {
|
|
18106
|
+
"name": "Solid",
|
|
18107
|
+
"module": "./utils/projection/projection.js"
|
|
18108
|
+
}
|
|
18109
|
+
},
|
|
18110
|
+
{
|
|
18111
|
+
"kind": "js",
|
|
18112
|
+
"name": "shortNumber",
|
|
18113
|
+
"declaration": {
|
|
18114
|
+
"name": "shortNumber",
|
|
18115
|
+
"module": "./utils/projection/projection.js"
|
|
18116
|
+
}
|
|
18117
|
+
},
|
|
18118
|
+
{
|
|
18119
|
+
"kind": "js",
|
|
18120
|
+
"name": "solid",
|
|
18121
|
+
"declaration": {
|
|
18122
|
+
"name": "solid",
|
|
18123
|
+
"module": "./utils/projection/projection.js"
|
|
18124
|
+
}
|
|
18125
|
+
},
|
|
17850
18126
|
{
|
|
17851
18127
|
"kind": "js",
|
|
17852
18128
|
"name": "rangeAdd",
|
|
@@ -25062,7 +25338,7 @@
|
|
|
25062
25338
|
},
|
|
25063
25339
|
{
|
|
25064
25340
|
"kind": "mixin",
|
|
25065
|
-
"description": "Grafts a pan-and-zoom surface: its controls, its keys, and the way out.\n\n**Nothing here is geographic, which is why it is here.** `Map` was written\nfirst and its frame turned out to be a surface a reader can move, fill the\nscreen with, and stop touching: a canvas of notes and a graph of nodes want\nthe same four hundred lines, and the only thing that made them Map's was\nbeing written there. Extracted before the second consumer
|
|
25341
|
+
"description": "Grafts a pan-and-zoom surface: its controls, its keys, and the way out.\n\n**Nothing here is geographic, which is why it is here.** `Map` was written\nfirst and its frame turned out to be a surface a reader can move, fill the\nscreen with, and stop touching: a canvas of notes and a graph of nodes want\nthe same four hundred lines, and the only thing that made them Map's was\nbeing written there. Extracted before the second consumer arrived.\n\n**Nothing here moves anything, either.** Both controls ask, through an event\na family names, and the answer is the consumer's: the surface a reader is\nlooking at belongs to them, whether it is a tile renderer, a canvas or a\nforce layout. A mixin that moved the view would have to know what the view\nwas.\n\n**The controls are buttons, and that is a decision against arrow keys.** They\nwork too, but what a screen reader does with them is not ours to decide:\nmacOS passes them through, Windows readers hold them for their own reading\nmode unless a page takes `role=\"application\"`, which costs the reader their\nnormal way of reading everything else. A button is findable and operable in\nevery screen reader on every platform without that bargain.\n\n**What stays in the family is `render()`, its slots and its part\ndocumentation**, because a part named through an interpolation is one the\nmanifest cannot see: a loop over the four pan buttons would publish `pan-`\nand a consumer's `::part(pan-up)` would match nothing.",
|
|
25066
25342
|
"name": "MixinViewport",
|
|
25067
25343
|
"members": [
|
|
25068
25344
|
{
|
|
@@ -28102,6 +28378,71 @@
|
|
|
28102
28378
|
}
|
|
28103
28379
|
]
|
|
28104
28380
|
},
|
|
28381
|
+
{
|
|
28382
|
+
"kind": "javascript-module",
|
|
28383
|
+
"path": "src/utils/context-budget/context-budget.ts",
|
|
28384
|
+
"declarations": [
|
|
28385
|
+
{
|
|
28386
|
+
"kind": "variable",
|
|
28387
|
+
"name": "LIVE",
|
|
28388
|
+
"type": {
|
|
28389
|
+
"text": "number"
|
|
28390
|
+
},
|
|
28391
|
+
"default": "6",
|
|
28392
|
+
"description": "How many WebGL contexts Helix's three.js drivers keep live on one page.\n\n**A browser holds only so many, and drops the oldest without asking**:\nChrome about sixteen on a desktop and fewer on a phone. A page of 3D panels\npast that lost a graph it could not get back, and the maps, Aura, and\nStrands on the same page count against the same limit. Six leaves them\nroom."
|
|
28393
|
+
},
|
|
28394
|
+
{
|
|
28395
|
+
"kind": "function",
|
|
28396
|
+
"name": "contextBudget",
|
|
28397
|
+
"parameters": [
|
|
28398
|
+
{
|
|
28399
|
+
"name": "cap",
|
|
28400
|
+
"default": "LIVE",
|
|
28401
|
+
"type": {
|
|
28402
|
+
"text": "number"
|
|
28403
|
+
}
|
|
28404
|
+
}
|
|
28405
|
+
],
|
|
28406
|
+
"description": "Keeps the contexts a page's drawings hold under `cap`.\n\n**A drawing near the screen always keeps its context.** Past the cap, the\ndrawings off screen give theirs back, the one away longest first, and each\ntakes its context again as it comes near. So a page of any number of\ngraphs holds as many contexts as it shows at once, and never more than\n`cap` beyond that."
|
|
28407
|
+
},
|
|
28408
|
+
{
|
|
28409
|
+
"kind": "function",
|
|
28410
|
+
"name": "pageBudget",
|
|
28411
|
+
"return": {
|
|
28412
|
+
"type": {
|
|
28413
|
+
"text": "Budget"
|
|
28414
|
+
}
|
|
28415
|
+
},
|
|
28416
|
+
"description": "The budget every three.js driver on the page shares: the graph's and the\nplot's, whichever package and whichever copy of Helix each came from.\n\n**Kept on the page, under a registered symbol**, since a page can load two\ncopies of this module, one bundled with each driver, and two budgets of six\nwould let the page hold twelve."
|
|
28417
|
+
}
|
|
28418
|
+
],
|
|
28419
|
+
"exports": [
|
|
28420
|
+
{
|
|
28421
|
+
"kind": "js",
|
|
28422
|
+
"name": "LIVE",
|
|
28423
|
+
"declaration": {
|
|
28424
|
+
"name": "LIVE",
|
|
28425
|
+
"module": "src/utils/context-budget/context-budget.ts"
|
|
28426
|
+
}
|
|
28427
|
+
},
|
|
28428
|
+
{
|
|
28429
|
+
"kind": "js",
|
|
28430
|
+
"name": "contextBudget",
|
|
28431
|
+
"declaration": {
|
|
28432
|
+
"name": "contextBudget",
|
|
28433
|
+
"module": "src/utils/context-budget/context-budget.ts"
|
|
28434
|
+
}
|
|
28435
|
+
},
|
|
28436
|
+
{
|
|
28437
|
+
"kind": "js",
|
|
28438
|
+
"name": "pageBudget",
|
|
28439
|
+
"declaration": {
|
|
28440
|
+
"name": "pageBudget",
|
|
28441
|
+
"module": "src/utils/context-budget/context-budget.ts"
|
|
28442
|
+
}
|
|
28443
|
+
}
|
|
28444
|
+
]
|
|
28445
|
+
},
|
|
28105
28446
|
{
|
|
28106
28447
|
"kind": "javascript-module",
|
|
28107
28448
|
"path": "src/utils/count-label/count-label.ts",
|
|
@@ -28172,7 +28513,7 @@
|
|
|
28172
28513
|
}
|
|
28173
28514
|
}
|
|
28174
28515
|
],
|
|
28175
|
-
"description": "Builds a stylesheet from CSS authored in a `.css` file.\n\nComponent styles live in real `.css` files rather than `css` tagged\ntemplates, so they get CSS tooling: syntax highlighting, formatters, the\ntoken linter, and a diff that reads as CSS. `turbo run styles` compiles each\none into a sibling `.css.ts` that calls this.\n\nThe `unsafe` in `unsafeCSS` warns about interpolating untrusted input into a\nstylesheet. That is not what happens here: the argument is a build-time\nconstant read from a file in
|
|
28516
|
+
"description": "Builds a stylesheet from CSS authored in a `.css` file.\n\nComponent styles live in real `.css` files rather than `css` tagged\ntemplates, so they get CSS tooling: syntax highlighting, formatters, the\ntoken linter, and a diff that reads as CSS. `turbo run styles` compiles each\none into a sibling `.css.ts` that calls this.\n\nThe `unsafe` in `unsafeCSS` warns about interpolating untrusted input into a\nstylesheet. That is not what happens here: the argument is a build-time\nconstant read from a file in the package, never a runtime value. Wrapping it\nkeeps the warning where it belongs, on `unsafeCSS` itself, and gives one seam\nto change if constructable stylesheets become the better primitive."
|
|
28176
28517
|
}
|
|
28177
28518
|
],
|
|
28178
28519
|
"exports": [
|
|
@@ -31544,6 +31885,213 @@
|
|
|
31544
31885
|
}
|
|
31545
31886
|
]
|
|
31546
31887
|
},
|
|
31888
|
+
{
|
|
31889
|
+
"kind": "javascript-module",
|
|
31890
|
+
"path": "src/utils/projection/projection.ts",
|
|
31891
|
+
"declarations": [
|
|
31892
|
+
{
|
|
31893
|
+
"kind": "variable",
|
|
31894
|
+
"name": "ISOMETRIC",
|
|
31895
|
+
"type": {
|
|
31896
|
+
"text": "Camera"
|
|
31897
|
+
},
|
|
31898
|
+
"default": "{ tilt: (Math.atan(Math.SQRT1_2) * 180) / Math.PI, turn: 45 }",
|
|
31899
|
+
"description": "The isometric camera: from the front left corner, at the height where the\nfloor's two axes and the vertical are drawn the same length, 35.26 degrees."
|
|
31900
|
+
},
|
|
31901
|
+
{
|
|
31902
|
+
"kind": "variable",
|
|
31903
|
+
"name": "LOWEST_TILT",
|
|
31904
|
+
"type": {
|
|
31905
|
+
"text": "number"
|
|
31906
|
+
},
|
|
31907
|
+
"default": "15",
|
|
31908
|
+
"description": "The lowest a camera may tilt, below which the floor folds to a line."
|
|
31909
|
+
},
|
|
31910
|
+
{
|
|
31911
|
+
"kind": "function",
|
|
31912
|
+
"name": "projectionOf",
|
|
31913
|
+
"return": {
|
|
31914
|
+
"type": {
|
|
31915
|
+
"text": "Projection"
|
|
31916
|
+
}
|
|
31917
|
+
},
|
|
31918
|
+
"parameters": [
|
|
31919
|
+
{
|
|
31920
|
+
"name": "camera",
|
|
31921
|
+
"type": {
|
|
31922
|
+
"text": "Camera"
|
|
31923
|
+
}
|
|
31924
|
+
}
|
|
31925
|
+
],
|
|
31926
|
+
"description": "The view from `camera`, an orthographic one: the floor turned by `turn`\nand seen from `tilt` above it, with no perspective, so a cell is the same\nsize wherever it stands."
|
|
31927
|
+
},
|
|
31928
|
+
{
|
|
31929
|
+
"kind": "function",
|
|
31930
|
+
"name": "shortNumber",
|
|
31931
|
+
"return": {
|
|
31932
|
+
"type": {
|
|
31933
|
+
"text": "string"
|
|
31934
|
+
}
|
|
31935
|
+
},
|
|
31936
|
+
"parameters": [
|
|
31937
|
+
{
|
|
31938
|
+
"name": "value",
|
|
31939
|
+
"type": {
|
|
31940
|
+
"text": "number"
|
|
31941
|
+
}
|
|
31942
|
+
}
|
|
31943
|
+
],
|
|
31944
|
+
"description": "A number written short enough for path data, and never as `-0`."
|
|
31945
|
+
},
|
|
31946
|
+
{
|
|
31947
|
+
"kind": "function",
|
|
31948
|
+
"name": "pathData",
|
|
31949
|
+
"return": {
|
|
31950
|
+
"type": {
|
|
31951
|
+
"text": "string"
|
|
31952
|
+
}
|
|
31953
|
+
},
|
|
31954
|
+
"parameters": [
|
|
31955
|
+
{
|
|
31956
|
+
"name": "points",
|
|
31957
|
+
"type": {
|
|
31958
|
+
"text": "readonly PagePoint[]"
|
|
31959
|
+
}
|
|
31960
|
+
}
|
|
31961
|
+
]
|
|
31962
|
+
},
|
|
31963
|
+
{
|
|
31964
|
+
"kind": "function",
|
|
31965
|
+
"name": "solid",
|
|
31966
|
+
"return": {
|
|
31967
|
+
"type": {
|
|
31968
|
+
"text": "Drawn"
|
|
31969
|
+
}
|
|
31970
|
+
},
|
|
31971
|
+
"parameters": [
|
|
31972
|
+
{
|
|
31973
|
+
"name": "projection",
|
|
31974
|
+
"type": {
|
|
31975
|
+
"text": "Projection"
|
|
31976
|
+
}
|
|
31977
|
+
},
|
|
31978
|
+
{
|
|
31979
|
+
"name": "kind",
|
|
31980
|
+
"type": {
|
|
31981
|
+
"text": "Solid"
|
|
31982
|
+
}
|
|
31983
|
+
},
|
|
31984
|
+
{
|
|
31985
|
+
"name": "x",
|
|
31986
|
+
"type": {
|
|
31987
|
+
"text": "number"
|
|
31988
|
+
}
|
|
31989
|
+
},
|
|
31990
|
+
{
|
|
31991
|
+
"name": "y",
|
|
31992
|
+
"type": {
|
|
31993
|
+
"text": "number"
|
|
31994
|
+
}
|
|
31995
|
+
},
|
|
31996
|
+
{
|
|
31997
|
+
"name": "width",
|
|
31998
|
+
"type": {
|
|
31999
|
+
"text": "number"
|
|
32000
|
+
}
|
|
32001
|
+
},
|
|
32002
|
+
{
|
|
32003
|
+
"name": "height",
|
|
32004
|
+
"type": {
|
|
32005
|
+
"text": "number"
|
|
32006
|
+
}
|
|
32007
|
+
}
|
|
32008
|
+
],
|
|
32009
|
+
"description": "A note as a solid, standing on the floor at `x` and `y`, `width` cells\nacross its footprint and `height` cells tall, as the camera sees it.\n\n**Each face is drawn only where it turns toward the camera**, so a block\nshows its top and the two sides that face the viewer from any turn, and a\nplan seen from straight above shows tops alone."
|
|
32010
|
+
},
|
|
32011
|
+
{
|
|
32012
|
+
"kind": "function",
|
|
32013
|
+
"name": "depthOrder",
|
|
32014
|
+
"return": {
|
|
32015
|
+
"type": {
|
|
32016
|
+
"text": "T[]"
|
|
32017
|
+
}
|
|
32018
|
+
},
|
|
32019
|
+
"parameters": [
|
|
32020
|
+
{
|
|
32021
|
+
"name": "projection",
|
|
32022
|
+
"type": {
|
|
32023
|
+
"text": "Projection"
|
|
32024
|
+
}
|
|
32025
|
+
},
|
|
32026
|
+
{
|
|
32027
|
+
"name": "notes",
|
|
32028
|
+
"type": {
|
|
32029
|
+
"text": "readonly T[]"
|
|
32030
|
+
}
|
|
32031
|
+
}
|
|
32032
|
+
],
|
|
32033
|
+
"description": "The order to paint notes in, back to front: by how near the camera each\nstands on the floor, and the taller first where two stand level.\n\nExact for notes on whole cells, which do not overlap on the floor; two\nnotes placed inside one cell can still cross."
|
|
32034
|
+
}
|
|
32035
|
+
],
|
|
32036
|
+
"exports": [
|
|
32037
|
+
{
|
|
32038
|
+
"kind": "js",
|
|
32039
|
+
"name": "ISOMETRIC",
|
|
32040
|
+
"declaration": {
|
|
32041
|
+
"name": "ISOMETRIC",
|
|
32042
|
+
"module": "src/utils/projection/projection.ts"
|
|
32043
|
+
}
|
|
32044
|
+
},
|
|
32045
|
+
{
|
|
32046
|
+
"kind": "js",
|
|
32047
|
+
"name": "LOWEST_TILT",
|
|
32048
|
+
"declaration": {
|
|
32049
|
+
"name": "LOWEST_TILT",
|
|
32050
|
+
"module": "src/utils/projection/projection.ts"
|
|
32051
|
+
}
|
|
32052
|
+
},
|
|
32053
|
+
{
|
|
32054
|
+
"kind": "js",
|
|
32055
|
+
"name": "projectionOf",
|
|
32056
|
+
"declaration": {
|
|
32057
|
+
"name": "projectionOf",
|
|
32058
|
+
"module": "src/utils/projection/projection.ts"
|
|
32059
|
+
}
|
|
32060
|
+
},
|
|
32061
|
+
{
|
|
32062
|
+
"kind": "js",
|
|
32063
|
+
"name": "shortNumber",
|
|
32064
|
+
"declaration": {
|
|
32065
|
+
"name": "shortNumber",
|
|
32066
|
+
"module": "src/utils/projection/projection.ts"
|
|
32067
|
+
}
|
|
32068
|
+
},
|
|
32069
|
+
{
|
|
32070
|
+
"kind": "js",
|
|
32071
|
+
"name": "pathData",
|
|
32072
|
+
"declaration": {
|
|
32073
|
+
"name": "pathData",
|
|
32074
|
+
"module": "src/utils/projection/projection.ts"
|
|
32075
|
+
}
|
|
32076
|
+
},
|
|
32077
|
+
{
|
|
32078
|
+
"kind": "js",
|
|
32079
|
+
"name": "solid",
|
|
32080
|
+
"declaration": {
|
|
32081
|
+
"name": "solid",
|
|
32082
|
+
"module": "src/utils/projection/projection.ts"
|
|
32083
|
+
}
|
|
32084
|
+
},
|
|
32085
|
+
{
|
|
32086
|
+
"kind": "js",
|
|
32087
|
+
"name": "depthOrder",
|
|
32088
|
+
"declaration": {
|
|
32089
|
+
"name": "depthOrder",
|
|
32090
|
+
"module": "src/utils/projection/projection.ts"
|
|
32091
|
+
}
|
|
32092
|
+
}
|
|
32093
|
+
]
|
|
32094
|
+
},
|
|
31547
32095
|
{
|
|
31548
32096
|
"kind": "javascript-module",
|
|
31549
32097
|
"path": "src/utils/range-add/range-add.ts",
|
|
@@ -35683,7 +36231,7 @@
|
|
|
35683
36231
|
"type": {
|
|
35684
36232
|
"text": "string"
|
|
35685
36233
|
},
|
|
35686
|
-
"default": "'0.
|
|
36234
|
+
"default": "'0.189.0'",
|
|
35687
36235
|
"description": "The version of the package this file ships in.\n\n**Written by `fusion/scripts/version.mjs`** wherever it writes the package's\n`package.json`, and stamped back into the repository beside it after a\nrelease, so the two never disagree; a spec beside this holds them to it.\nNothing else in the running code knows which release it is."
|
|
35688
36236
|
}
|
|
35689
36237
|
],
|
|
@@ -36319,6 +36867,6 @@
|
|
|
36319
36867
|
],
|
|
36320
36868
|
"helix": {
|
|
36321
36869
|
"package": "@fusion.dev/helix-core",
|
|
36322
|
-
"version": "0.
|
|
36870
|
+
"version": "0.189.0"
|
|
36323
36871
|
}
|
|
36324
36872
|
}
|