@almadar/std 16.241.0 → 16.242.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.
Files changed (109) hide show
  1. package/behaviors/behaviors-registry.json +4650 -535
  2. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +38 -1
  3. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +1074 -47
  4. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +8 -7
  5. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +56 -37
  6. package/behaviors/lolo/infra/atoms/std-page-open.lolo +59 -0
  7. package/behaviors/lolo/infra/atoms/std-page-search.lolo +134 -0
  8. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +59 -0
  9. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +86 -0
  10. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +25 -1
  11. package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +9 -0
  12. package/behaviors/lolo/ui/core/atoms/std-doc-page.lolo +153 -0
  13. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +124 -92
  14. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +114 -55
  15. package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +40 -14
  16. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +363 -123
  17. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +93 -48
  18. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +60 -28
  19. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +193 -96
  20. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +75 -32
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +142 -86
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +266 -98
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +103 -65
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +223 -109
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +232 -64
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-param-explorer.lolo +69 -29
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +363 -123
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +73 -41
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-sample-accumulator.lolo +96 -38
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +65 -45
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +243 -117
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +76 -28
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +228 -109
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +95 -44
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +199 -125
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +92 -48
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +239 -78
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +147 -38
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +123 -58
  40. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +22 -0
  41. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +26 -0
  42. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +26 -0
  43. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +27 -1
  44. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +27 -1
  45. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +29 -9
  46. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +26 -0
  47. package/behaviors/lolo-behavior-contracts.json +1 -1
  48. package/behaviors/registry/agent/atoms/std-agent-memory.orb +372 -2
  49. package/behaviors/registry/agent/atoms/std-agent-session.orb +4752 -348
  50. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +54 -42
  51. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +356 -122
  52. package/behaviors/registry/factory-signatures.json +1 -1
  53. package/behaviors/registry/infra/atoms/std-page-open.orb +435 -0
  54. package/behaviors/registry/infra/atoms/std-page-search.orb +867 -0
  55. package/behaviors/registry/infra/atoms/std-page-treat.orb +494 -0
  56. package/behaviors/registry/infra/atoms/std-page-watch.orb +554 -0
  57. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +119 -0
  58. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +61 -0
  59. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +594 -0
  60. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +903 -369
  61. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1002 -232
  62. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +253 -74
  63. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3624 -921
  64. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +685 -144
  65. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +404 -52
  66. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1787 -210
  67. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +699 -71
  68. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1102 -578
  69. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +2760 -872
  70. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +689 -152
  71. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1431 -633
  72. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +2485 -512
  73. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +501 -197
  74. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +3642 -928
  75. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +705 -125
  76. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +624 -114
  77. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +405 -153
  78. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1911 -611
  79. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +436 -128
  80. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +2482 -485
  81. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +896 -192
  82. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +2001 -759
  83. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +734 -228
  84. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +2501 -764
  85. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1591 -173
  86. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +883 -122
  87. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +176 -0
  88. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +211 -0
  89. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +211 -0
  90. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +212 -1
  91. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +212 -1
  92. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +203 -9
  93. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +211 -0
  94. package/behaviors/signatures.lolo +325 -655
  95. package/dist/behaviors/exports-reader.js +16092 -9747
  96. package/dist/behaviors/functions/index.d.ts +1052 -136
  97. package/dist/behaviors/functions/index.js +16063 -9745
  98. package/dist/behaviors/index.d.ts +1 -1
  99. package/dist/behaviors/index.js +16093 -9748
  100. package/dist/behaviors/query.js +16092 -9747
  101. package/dist/behaviors-embeddings.hash.json +3 -3
  102. package/dist/behaviors-embeddings.json +45 -25
  103. package/dist/behaviors-registry.json +4650 -535
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.js +16093 -9748
  106. package/dist/knob-embeddings.hash.json +3 -3
  107. package/dist/knob-embeddings.json +607 -263
  108. package/dist/registry/factory-signatures.json +1 -1
  109. package/package.json +3 -3
@@ -353,7 +353,7 @@
353
353
  "type": "number"
354
354
  },
355
355
  "fitColor": {
356
- "default": "#2563eb",
356
+ "default": "series-2",
357
357
  "label": "Fit Curve Color",
358
358
  "tier": "presentation",
359
359
  "type": "string"
@@ -373,7 +373,7 @@
373
373
  "type": "number"
374
374
  },
375
375
  "guessColor": {
376
- "default": "#dc2626",
376
+ "default": "series-3",
377
377
  "label": "Guess Curve Color",
378
378
  "tier": "presentation",
379
379
  "type": "string"
@@ -457,7 +457,7 @@
457
457
  "initialPoints": {
458
458
  "default": [
459
459
  {
460
- "color": "#334155",
460
+ "color": "ink",
461
461
  "id": "p0",
462
462
  "label": "",
463
463
  "radius": 5.0,
@@ -465,7 +465,7 @@
465
465
  "y": 25.0
466
466
  },
467
467
  {
468
- "color": "#334155",
468
+ "color": "ink",
469
469
  "id": "p1",
470
470
  "label": "",
471
471
  "radius": 5.0,
@@ -473,7 +473,7 @@
473
473
  "y": 40.0
474
474
  },
475
475
  {
476
- "color": "#334155",
476
+ "color": "ink",
477
477
  "id": "p2",
478
478
  "label": "",
479
479
  "radius": 5.0,
@@ -481,7 +481,7 @@
481
481
  "y": 44.0
482
482
  },
483
483
  {
484
- "color": "#334155",
484
+ "color": "ink",
485
485
  "id": "p3",
486
486
  "label": "",
487
487
  "radius": 5.0,
@@ -489,7 +489,7 @@
489
489
  "y": 62.0
490
490
  },
491
491
  {
492
- "color": "#334155",
492
+ "color": "ink",
493
493
  "id": "p4",
494
494
  "label": "",
495
495
  "radius": 5.0,
@@ -616,7 +616,7 @@
616
616
  "type": "string"
617
617
  },
618
618
  "newPointColor": {
619
- "default": "#334155",
619
+ "default": "ink",
620
620
  "description": "Fill color assigned to points created by Add Point or the auto-add tick.",
621
621
  "label": "New Point Color",
622
622
  "tier": "presentation",
@@ -648,7 +648,7 @@
648
648
  "type": "string"
649
649
  },
650
650
  "residualColor": {
651
- "default": "#f59e0b",
651
+ "default": "guide",
652
652
  "label": "Residual Color",
653
653
  "tier": "presentation",
654
654
  "type": "string"
@@ -709,6 +709,13 @@
709
709
  "tier": "presentation",
710
710
  "type": "boolean"
711
711
  },
712
+ "summary": {
713
+ "default": "",
714
+ "description": "One line under the title saying what the learner is looking at (keep it under ~65 characters). Empty shows no line.",
715
+ "label": "Concept",
716
+ "tier": "presentation",
717
+ "type": "string"
718
+ },
712
719
  "title": {
713
720
  "default": "Scatter Fit",
714
721
  "description": "Title shown above the canvas.",
@@ -1586,95 +1593,157 @@
1586
1593
  {
1587
1594
  "children": [
1588
1595
  {
1589
- "content": "@entity.title",
1590
- "type": "typography",
1591
- "variant": "h4"
1596
+ "align": "start",
1597
+ "children": [
1598
+ {
1599
+ "children": [
1600
+ {
1601
+ "content": "@entity.title",
1602
+ "type": "typography",
1603
+ "variant": "h4"
1604
+ },
1605
+ [
1606
+ "if",
1607
+ [
1608
+ "==",
1609
+ "@config.summary",
1610
+ ""
1611
+ ],
1612
+ null,
1613
+ {
1614
+ "color": "muted",
1615
+ "content": "@config.summary",
1616
+ "type": "typography",
1617
+ "variant": "body2"
1618
+ }
1619
+ ]
1620
+ ],
1621
+ "direction": "vertical",
1622
+ "gap": "xs",
1623
+ "type": "stack"
1624
+ },
1625
+ {
1626
+ "label": [
1627
+ "if",
1628
+ "@entity.revealed",
1629
+ "Revealed",
1630
+ [
1631
+ "if",
1632
+ "@entity.done",
1633
+ "Max points",
1634
+ [
1635
+ "if",
1636
+ "@entity.running",
1637
+ "Adding points",
1638
+ [
1639
+ "if",
1640
+ "@config.guessMode",
1641
+ "Guessing",
1642
+ "Fitted"
1643
+ ]
1644
+ ]
1645
+ ]
1646
+ ],
1647
+ "type": "badge",
1648
+ "variant": [
1649
+ "if",
1650
+ "@entity.revealed",
1651
+ "success",
1652
+ [
1653
+ "if",
1654
+ "@entity.done",
1655
+ "neutral",
1656
+ [
1657
+ "if",
1658
+ "@entity.running",
1659
+ "primary",
1660
+ "neutral"
1661
+ ]
1662
+ ]
1663
+ ]
1664
+ }
1665
+ ],
1666
+ "direction": "horizontal",
1667
+ "gap": "md",
1668
+ "justify": "between",
1669
+ "type": "stack"
1592
1670
  },
1593
1671
  {
1672
+ "align": "center",
1594
1673
  "children": [
1595
1674
  {
1596
1675
  "action": "ADD_POINT",
1676
+ "disabled": "@entity.done",
1677
+ "icon": "plus",
1597
1678
  "label": "@config.addPointLabel",
1598
1679
  "type": "button",
1599
1680
  "variant": "primary"
1600
1681
  },
1601
1682
  {
1602
1683
  "action": "REVEAL_FIT",
1684
+ "icon": "eye",
1603
1685
  "label": "@config.revealLabel",
1604
1686
  "type": "button",
1605
1687
  "variant": "secondary"
1606
1688
  },
1607
- {
1608
- "action": "TOGGLE_RUN",
1609
- "label": [
1610
- "if",
1611
- "@entity.running",
1612
- "@config.pauseLabel",
1613
- "@config.runLabel"
1614
- ],
1615
- "type": "button",
1616
- "variant": "secondary"
1617
- },
1689
+ [
1690
+ "if",
1691
+ "@entity.running",
1692
+ {
1693
+ "action": "TOGGLE_RUN",
1694
+ "aria-pressed": "true",
1695
+ "icon": "pause",
1696
+ "label": "@config.pauseLabel",
1697
+ "type": "button",
1698
+ "variant": "secondary"
1699
+ },
1700
+ {
1701
+ "action": "TOGGLE_RUN",
1702
+ "aria-pressed": "false",
1703
+ "disabled": "@entity.done",
1704
+ "icon": "play",
1705
+ "label": "@config.runLabel",
1706
+ "type": "button",
1707
+ "variant": "secondary"
1708
+ }
1709
+ ],
1618
1710
  {
1619
1711
  "action": "RESET",
1712
+ "icon": "rotate-ccw",
1620
1713
  "label": "@config.resetLabel",
1621
1714
  "type": "button",
1622
1715
  "variant": "ghost"
1716
+ },
1717
+ {
1718
+ "color": "muted",
1719
+ "content": [
1720
+ "str/concat",
1721
+ [
1722
+ "str/concat",
1723
+ "",
1724
+ [
1725
+ "array/len",
1726
+ "@entity.points"
1727
+ ]
1728
+ ],
1729
+ [
1730
+ "str/concat",
1731
+ " of ",
1732
+ [
1733
+ "str/concat",
1734
+ "",
1735
+ "@config.maxPoints"
1736
+ ]
1737
+ ]
1738
+ ],
1739
+ "type": "typography",
1740
+ "variant": "caption"
1623
1741
  }
1624
1742
  ],
1625
1743
  "direction": "horizontal",
1626
1744
  "gap": "sm",
1627
- "type": "stack"
1628
- },
1629
- {
1630
- "content": [
1631
- "str/concat",
1632
- "@config.guessSlopeCaption",
1633
- [
1634
- "math/round",
1635
- "@entity.guessSlope",
1636
- 2.0
1637
- ]
1638
- ],
1639
- "type": "typography",
1640
- "variant": "caption"
1641
- },
1642
- {
1643
- "action": "GUESS_LINE",
1644
- "actionPayload": {
1645
- "param": "slope"
1646
- },
1647
- "max": "@config.guessSlopeMax",
1648
- "min": "@config.guessSlopeMin",
1649
- "showTooltip": true,
1650
- "step": "@config.guessSlopeStep",
1651
- "type": "range-slider",
1652
- "value": "@entity.guessSlope"
1653
- },
1654
- {
1655
- "content": [
1656
- "str/concat",
1657
- "@config.guessInterceptCaption",
1658
- [
1659
- "math/round",
1660
- "@entity.guessIntercept",
1661
- 1.0
1662
- ]
1663
- ],
1664
- "type": "typography",
1665
- "variant": "caption"
1666
- },
1667
- {
1668
- "action": "GUESS_LINE",
1669
- "actionPayload": {
1670
- "param": "intercept"
1671
- },
1672
- "max": "@config.guessInterceptMax",
1673
- "min": "@config.guessInterceptMin",
1674
- "showTooltip": true,
1675
- "step": "@config.guessInterceptStep",
1676
- "type": "range-slider",
1677
- "value": "@entity.guessIntercept"
1745
+ "type": "stack",
1746
+ "wrap": true
1678
1747
  },
1679
1748
  {
1680
1749
  "animate": "@config.animate",
@@ -1682,6 +1751,11 @@
1682
1751
  "gridStep": "@config.gridStep",
1683
1752
  "height": "@config.height",
1684
1753
  "interactive": "@config.interactive",
1754
+ "keyMap": {
1755
+ "ArrowRight": "ADD_POINT",
1756
+ "KeyR": "RESET",
1757
+ "Space": "TOGGLE_RUN"
1758
+ },
1685
1759
  "points": "@entity.points",
1686
1760
  "showAxes": "@config.showAxes",
1687
1761
  "showGrid": "@config.showGrid",
@@ -1695,6 +1769,78 @@
1695
1769
  "yMin": "@config.axisYMin"
1696
1770
  },
1697
1771
  {
1772
+ "children": [
1773
+ {
1774
+ "children": [
1775
+ {
1776
+ "content": [
1777
+ "str/concat",
1778
+ "@config.guessSlopeCaption",
1779
+ [
1780
+ "math/round",
1781
+ "@entity.guessSlope",
1782
+ 2.0
1783
+ ]
1784
+ ],
1785
+ "type": "typography",
1786
+ "variant": "caption"
1787
+ },
1788
+ {
1789
+ "action": "GUESS_LINE",
1790
+ "actionPayload": {
1791
+ "param": "slope"
1792
+ },
1793
+ "max": "@config.guessSlopeMax",
1794
+ "min": "@config.guessSlopeMin",
1795
+ "showTooltip": true,
1796
+ "step": "@config.guessSlopeStep",
1797
+ "type": "range-slider",
1798
+ "value": "@entity.guessSlope"
1799
+ }
1800
+ ],
1801
+ "direction": "vertical",
1802
+ "gap": "xs",
1803
+ "type": "stack"
1804
+ },
1805
+ {
1806
+ "children": [
1807
+ {
1808
+ "content": [
1809
+ "str/concat",
1810
+ "@config.guessInterceptCaption",
1811
+ [
1812
+ "math/round",
1813
+ "@entity.guessIntercept",
1814
+ 1.0
1815
+ ]
1816
+ ],
1817
+ "type": "typography",
1818
+ "variant": "caption"
1819
+ },
1820
+ {
1821
+ "action": "GUESS_LINE",
1822
+ "actionPayload": {
1823
+ "param": "intercept"
1824
+ },
1825
+ "max": "@config.guessInterceptMax",
1826
+ "min": "@config.guessInterceptMin",
1827
+ "showTooltip": true,
1828
+ "step": "@config.guessInterceptStep",
1829
+ "type": "range-slider",
1830
+ "value": "@entity.guessIntercept"
1831
+ }
1832
+ ],
1833
+ "direction": "vertical",
1834
+ "gap": "xs",
1835
+ "type": "stack"
1836
+ }
1837
+ ],
1838
+ "direction": "vertical",
1839
+ "gap": "sm",
1840
+ "type": "stack"
1841
+ },
1842
+ {
1843
+ "color": "muted",
1698
1844
  "content": [
1699
1845
  "if",
1700
1846
  "@config.showR",
@@ -1719,7 +1865,7 @@
1719
1865
  ""
1720
1866
  ],
1721
1867
  "type": "typography",
1722
- "variant": "body"
1868
+ "variant": "caption"
1723
1869
  },
1724
1870
  {
1725
1871
  "content": "@entity.narration",
@@ -1762,6 +1908,48 @@
1762
1908
  ],
1763
1909
  "to": "idle"
1764
1910
  },
1911
+ {
1912
+ "effects": [
1913
+ [
1914
+ "set",
1915
+ "@entity.active",
1916
+ false
1917
+ ],
1918
+ [
1919
+ "set",
1920
+ "@entity.running",
1921
+ false
1922
+ ],
1923
+ [
1924
+ "render-ui",
1925
+ "main",
1926
+ null
1927
+ ]
1928
+ ],
1929
+ "event": "MODE_SELECTED",
1930
+ "eventId": "evt_01M0CGSNDNBDW8469VPNX0HE2C",
1931
+ "from": "idle",
1932
+ "guard": [
1933
+ "and",
1934
+ [
1935
+ "not",
1936
+ [
1937
+ "==",
1938
+ "@config.matchMode",
1939
+ ""
1940
+ ]
1941
+ ],
1942
+ [
1943
+ "not",
1944
+ [
1945
+ "==",
1946
+ "@payload.mode",
1947
+ "@config.matchMode"
1948
+ ]
1949
+ ]
1950
+ ],
1951
+ "to": "idle"
1952
+ },
1765
1953
  {
1766
1954
  "effects": [
1767
1955
  [
@@ -2270,95 +2458,157 @@
2270
2458
  {
2271
2459
  "children": [
2272
2460
  {
2273
- "content": "@entity.title",
2274
- "type": "typography",
2275
- "variant": "h4"
2461
+ "align": "start",
2462
+ "children": [
2463
+ {
2464
+ "children": [
2465
+ {
2466
+ "content": "@entity.title",
2467
+ "type": "typography",
2468
+ "variant": "h4"
2469
+ },
2470
+ [
2471
+ "if",
2472
+ [
2473
+ "==",
2474
+ "@config.summary",
2475
+ ""
2476
+ ],
2477
+ null,
2478
+ {
2479
+ "color": "muted",
2480
+ "content": "@config.summary",
2481
+ "type": "typography",
2482
+ "variant": "body2"
2483
+ }
2484
+ ]
2485
+ ],
2486
+ "direction": "vertical",
2487
+ "gap": "xs",
2488
+ "type": "stack"
2489
+ },
2490
+ {
2491
+ "label": [
2492
+ "if",
2493
+ "@entity.revealed",
2494
+ "Revealed",
2495
+ [
2496
+ "if",
2497
+ "@entity.done",
2498
+ "Max points",
2499
+ [
2500
+ "if",
2501
+ "@entity.running",
2502
+ "Adding points",
2503
+ [
2504
+ "if",
2505
+ "@config.guessMode",
2506
+ "Guessing",
2507
+ "Fitted"
2508
+ ]
2509
+ ]
2510
+ ]
2511
+ ],
2512
+ "type": "badge",
2513
+ "variant": [
2514
+ "if",
2515
+ "@entity.revealed",
2516
+ "success",
2517
+ [
2518
+ "if",
2519
+ "@entity.done",
2520
+ "neutral",
2521
+ [
2522
+ "if",
2523
+ "@entity.running",
2524
+ "primary",
2525
+ "neutral"
2526
+ ]
2527
+ ]
2528
+ ]
2529
+ }
2530
+ ],
2531
+ "direction": "horizontal",
2532
+ "gap": "md",
2533
+ "justify": "between",
2534
+ "type": "stack"
2276
2535
  },
2277
2536
  {
2537
+ "align": "center",
2278
2538
  "children": [
2279
2539
  {
2280
2540
  "action": "ADD_POINT",
2541
+ "disabled": "@entity.done",
2542
+ "icon": "plus",
2281
2543
  "label": "@config.addPointLabel",
2282
2544
  "type": "button",
2283
2545
  "variant": "primary"
2284
2546
  },
2285
2547
  {
2286
2548
  "action": "REVEAL_FIT",
2549
+ "icon": "eye",
2287
2550
  "label": "@config.revealLabel",
2288
2551
  "type": "button",
2289
2552
  "variant": "secondary"
2290
2553
  },
2291
- {
2292
- "action": "TOGGLE_RUN",
2293
- "label": [
2294
- "if",
2295
- "@entity.running",
2296
- "@config.pauseLabel",
2297
- "@config.runLabel"
2298
- ],
2299
- "type": "button",
2300
- "variant": "secondary"
2301
- },
2554
+ [
2555
+ "if",
2556
+ "@entity.running",
2557
+ {
2558
+ "action": "TOGGLE_RUN",
2559
+ "aria-pressed": "true",
2560
+ "icon": "pause",
2561
+ "label": "@config.pauseLabel",
2562
+ "type": "button",
2563
+ "variant": "secondary"
2564
+ },
2565
+ {
2566
+ "action": "TOGGLE_RUN",
2567
+ "aria-pressed": "false",
2568
+ "disabled": "@entity.done",
2569
+ "icon": "play",
2570
+ "label": "@config.runLabel",
2571
+ "type": "button",
2572
+ "variant": "secondary"
2573
+ }
2574
+ ],
2302
2575
  {
2303
2576
  "action": "RESET",
2577
+ "icon": "rotate-ccw",
2304
2578
  "label": "@config.resetLabel",
2305
2579
  "type": "button",
2306
2580
  "variant": "ghost"
2581
+ },
2582
+ {
2583
+ "color": "muted",
2584
+ "content": [
2585
+ "str/concat",
2586
+ [
2587
+ "str/concat",
2588
+ "",
2589
+ [
2590
+ "array/len",
2591
+ "@entity.points"
2592
+ ]
2593
+ ],
2594
+ [
2595
+ "str/concat",
2596
+ " of ",
2597
+ [
2598
+ "str/concat",
2599
+ "",
2600
+ "@config.maxPoints"
2601
+ ]
2602
+ ]
2603
+ ],
2604
+ "type": "typography",
2605
+ "variant": "caption"
2307
2606
  }
2308
2607
  ],
2309
2608
  "direction": "horizontal",
2310
2609
  "gap": "sm",
2311
- "type": "stack"
2312
- },
2313
- {
2314
- "content": [
2315
- "str/concat",
2316
- "@config.guessSlopeCaption",
2317
- [
2318
- "math/round",
2319
- "@entity.guessSlope",
2320
- 2.0
2321
- ]
2322
- ],
2323
- "type": "typography",
2324
- "variant": "caption"
2325
- },
2326
- {
2327
- "action": "GUESS_LINE",
2328
- "actionPayload": {
2329
- "param": "slope"
2330
- },
2331
- "max": "@config.guessSlopeMax",
2332
- "min": "@config.guessSlopeMin",
2333
- "showTooltip": true,
2334
- "step": "@config.guessSlopeStep",
2335
- "type": "range-slider",
2336
- "value": "@entity.guessSlope"
2337
- },
2338
- {
2339
- "content": [
2340
- "str/concat",
2341
- "@config.guessInterceptCaption",
2342
- [
2343
- "math/round",
2344
- "@entity.guessIntercept",
2345
- 1.0
2346
- ]
2347
- ],
2348
- "type": "typography",
2349
- "variant": "caption"
2350
- },
2351
- {
2352
- "action": "GUESS_LINE",
2353
- "actionPayload": {
2354
- "param": "intercept"
2355
- },
2356
- "max": "@config.guessInterceptMax",
2357
- "min": "@config.guessInterceptMin",
2358
- "showTooltip": true,
2359
- "step": "@config.guessInterceptStep",
2360
- "type": "range-slider",
2361
- "value": "@entity.guessIntercept"
2610
+ "type": "stack",
2611
+ "wrap": true
2362
2612
  },
2363
2613
  {
2364
2614
  "animate": "@config.animate",
@@ -2366,6 +2616,11 @@
2366
2616
  "gridStep": "@config.gridStep",
2367
2617
  "height": "@config.height",
2368
2618
  "interactive": "@config.interactive",
2619
+ "keyMap": {
2620
+ "ArrowRight": "ADD_POINT",
2621
+ "KeyR": "RESET",
2622
+ "Space": "TOGGLE_RUN"
2623
+ },
2369
2624
  "points": "@entity.points",
2370
2625
  "showAxes": "@config.showAxes",
2371
2626
  "showGrid": "@config.showGrid",
@@ -2379,6 +2634,78 @@
2379
2634
  "yMin": "@config.axisYMin"
2380
2635
  },
2381
2636
  {
2637
+ "children": [
2638
+ {
2639
+ "children": [
2640
+ {
2641
+ "content": [
2642
+ "str/concat",
2643
+ "@config.guessSlopeCaption",
2644
+ [
2645
+ "math/round",
2646
+ "@entity.guessSlope",
2647
+ 2.0
2648
+ ]
2649
+ ],
2650
+ "type": "typography",
2651
+ "variant": "caption"
2652
+ },
2653
+ {
2654
+ "action": "GUESS_LINE",
2655
+ "actionPayload": {
2656
+ "param": "slope"
2657
+ },
2658
+ "max": "@config.guessSlopeMax",
2659
+ "min": "@config.guessSlopeMin",
2660
+ "showTooltip": true,
2661
+ "step": "@config.guessSlopeStep",
2662
+ "type": "range-slider",
2663
+ "value": "@entity.guessSlope"
2664
+ }
2665
+ ],
2666
+ "direction": "vertical",
2667
+ "gap": "xs",
2668
+ "type": "stack"
2669
+ },
2670
+ {
2671
+ "children": [
2672
+ {
2673
+ "content": [
2674
+ "str/concat",
2675
+ "@config.guessInterceptCaption",
2676
+ [
2677
+ "math/round",
2678
+ "@entity.guessIntercept",
2679
+ 1.0
2680
+ ]
2681
+ ],
2682
+ "type": "typography",
2683
+ "variant": "caption"
2684
+ },
2685
+ {
2686
+ "action": "GUESS_LINE",
2687
+ "actionPayload": {
2688
+ "param": "intercept"
2689
+ },
2690
+ "max": "@config.guessInterceptMax",
2691
+ "min": "@config.guessInterceptMin",
2692
+ "showTooltip": true,
2693
+ "step": "@config.guessInterceptStep",
2694
+ "type": "range-slider",
2695
+ "value": "@entity.guessIntercept"
2696
+ }
2697
+ ],
2698
+ "direction": "vertical",
2699
+ "gap": "xs",
2700
+ "type": "stack"
2701
+ }
2702
+ ],
2703
+ "direction": "vertical",
2704
+ "gap": "sm",
2705
+ "type": "stack"
2706
+ },
2707
+ {
2708
+ "color": "muted",
2382
2709
  "content": [
2383
2710
  "if",
2384
2711
  "@config.showR",
@@ -2403,7 +2730,7 @@
2403
2730
  ""
2404
2731
  ],
2405
2732
  "type": "typography",
2406
- "variant": "body"
2733
+ "variant": "caption"
2407
2734
  },
2408
2735
  {
2409
2736
  "content": "@entity.narration",
@@ -3096,95 +3423,157 @@
3096
3423
  {
3097
3424
  "children": [
3098
3425
  {
3099
- "content": "@entity.title",
3100
- "type": "typography",
3101
- "variant": "h4"
3102
- },
3103
- {
3426
+ "align": "start",
3104
3427
  "children": [
3105
3428
  {
3106
- "action": "ADD_POINT",
3107
- "label": "@config.addPointLabel",
3108
- "type": "button",
3109
- "variant": "primary"
3110
- },
3111
- {
3112
- "action": "REVEAL_FIT",
3113
- "label": "@config.revealLabel",
3114
- "type": "button",
3115
- "variant": "secondary"
3429
+ "children": [
3430
+ {
3431
+ "content": "@entity.title",
3432
+ "type": "typography",
3433
+ "variant": "h4"
3434
+ },
3435
+ [
3436
+ "if",
3437
+ [
3438
+ "==",
3439
+ "@config.summary",
3440
+ ""
3441
+ ],
3442
+ null,
3443
+ {
3444
+ "color": "muted",
3445
+ "content": "@config.summary",
3446
+ "type": "typography",
3447
+ "variant": "body2"
3448
+ }
3449
+ ]
3450
+ ],
3451
+ "direction": "vertical",
3452
+ "gap": "xs",
3453
+ "type": "stack"
3116
3454
  },
3117
3455
  {
3118
- "action": "TOGGLE_RUN",
3119
3456
  "label": [
3120
3457
  "if",
3121
- "@entity.running",
3122
- "@config.pauseLabel",
3123
- "@config.runLabel"
3458
+ "@entity.revealed",
3459
+ "Revealed",
3460
+ [
3461
+ "if",
3462
+ "@entity.done",
3463
+ "Max points",
3464
+ [
3465
+ "if",
3466
+ "@entity.running",
3467
+ "Adding points",
3468
+ [
3469
+ "if",
3470
+ "@config.guessMode",
3471
+ "Guessing",
3472
+ "Fitted"
3473
+ ]
3474
+ ]
3475
+ ]
3124
3476
  ],
3477
+ "type": "badge",
3478
+ "variant": [
3479
+ "if",
3480
+ "@entity.revealed",
3481
+ "success",
3482
+ [
3483
+ "if",
3484
+ "@entity.done",
3485
+ "neutral",
3486
+ [
3487
+ "if",
3488
+ "@entity.running",
3489
+ "primary",
3490
+ "neutral"
3491
+ ]
3492
+ ]
3493
+ ]
3494
+ }
3495
+ ],
3496
+ "direction": "horizontal",
3497
+ "gap": "md",
3498
+ "justify": "between",
3499
+ "type": "stack"
3500
+ },
3501
+ {
3502
+ "align": "center",
3503
+ "children": [
3504
+ {
3505
+ "action": "ADD_POINT",
3506
+ "disabled": "@entity.done",
3507
+ "icon": "plus",
3508
+ "label": "@config.addPointLabel",
3509
+ "type": "button",
3510
+ "variant": "primary"
3511
+ },
3512
+ {
3513
+ "action": "REVEAL_FIT",
3514
+ "icon": "eye",
3515
+ "label": "@config.revealLabel",
3125
3516
  "type": "button",
3126
3517
  "variant": "secondary"
3127
3518
  },
3519
+ [
3520
+ "if",
3521
+ "@entity.running",
3522
+ {
3523
+ "action": "TOGGLE_RUN",
3524
+ "aria-pressed": "true",
3525
+ "icon": "pause",
3526
+ "label": "@config.pauseLabel",
3527
+ "type": "button",
3528
+ "variant": "secondary"
3529
+ },
3530
+ {
3531
+ "action": "TOGGLE_RUN",
3532
+ "aria-pressed": "false",
3533
+ "disabled": "@entity.done",
3534
+ "icon": "play",
3535
+ "label": "@config.runLabel",
3536
+ "type": "button",
3537
+ "variant": "secondary"
3538
+ }
3539
+ ],
3128
3540
  {
3129
3541
  "action": "RESET",
3542
+ "icon": "rotate-ccw",
3130
3543
  "label": "@config.resetLabel",
3131
3544
  "type": "button",
3132
3545
  "variant": "ghost"
3546
+ },
3547
+ {
3548
+ "color": "muted",
3549
+ "content": [
3550
+ "str/concat",
3551
+ [
3552
+ "str/concat",
3553
+ "",
3554
+ [
3555
+ "array/len",
3556
+ "@entity.points"
3557
+ ]
3558
+ ],
3559
+ [
3560
+ "str/concat",
3561
+ " of ",
3562
+ [
3563
+ "str/concat",
3564
+ "",
3565
+ "@config.maxPoints"
3566
+ ]
3567
+ ]
3568
+ ],
3569
+ "type": "typography",
3570
+ "variant": "caption"
3133
3571
  }
3134
3572
  ],
3135
3573
  "direction": "horizontal",
3136
3574
  "gap": "sm",
3137
- "type": "stack"
3138
- },
3139
- {
3140
- "content": [
3141
- "str/concat",
3142
- "@config.guessSlopeCaption",
3143
- [
3144
- "math/round",
3145
- "@entity.guessSlope",
3146
- 2.0
3147
- ]
3148
- ],
3149
- "type": "typography",
3150
- "variant": "caption"
3151
- },
3152
- {
3153
- "action": "GUESS_LINE",
3154
- "actionPayload": {
3155
- "param": "slope"
3156
- },
3157
- "max": "@config.guessSlopeMax",
3158
- "min": "@config.guessSlopeMin",
3159
- "showTooltip": true,
3160
- "step": "@config.guessSlopeStep",
3161
- "type": "range-slider",
3162
- "value": "@entity.guessSlope"
3163
- },
3164
- {
3165
- "content": [
3166
- "str/concat",
3167
- "@config.guessInterceptCaption",
3168
- [
3169
- "math/round",
3170
- "@entity.guessIntercept",
3171
- 1.0
3172
- ]
3173
- ],
3174
- "type": "typography",
3175
- "variant": "caption"
3176
- },
3177
- {
3178
- "action": "GUESS_LINE",
3179
- "actionPayload": {
3180
- "param": "intercept"
3181
- },
3182
- "max": "@config.guessInterceptMax",
3183
- "min": "@config.guessInterceptMin",
3184
- "showTooltip": true,
3185
- "step": "@config.guessInterceptStep",
3186
- "type": "range-slider",
3187
- "value": "@entity.guessIntercept"
3575
+ "type": "stack",
3576
+ "wrap": true
3188
3577
  },
3189
3578
  {
3190
3579
  "animate": "@config.animate",
@@ -3192,6 +3581,11 @@
3192
3581
  "gridStep": "@config.gridStep",
3193
3582
  "height": "@config.height",
3194
3583
  "interactive": "@config.interactive",
3584
+ "keyMap": {
3585
+ "ArrowRight": "ADD_POINT",
3586
+ "KeyR": "RESET",
3587
+ "Space": "TOGGLE_RUN"
3588
+ },
3195
3589
  "points": "@entity.points",
3196
3590
  "showAxes": "@config.showAxes",
3197
3591
  "showGrid": "@config.showGrid",
@@ -3205,6 +3599,78 @@
3205
3599
  "yMin": "@config.axisYMin"
3206
3600
  },
3207
3601
  {
3602
+ "children": [
3603
+ {
3604
+ "children": [
3605
+ {
3606
+ "content": [
3607
+ "str/concat",
3608
+ "@config.guessSlopeCaption",
3609
+ [
3610
+ "math/round",
3611
+ "@entity.guessSlope",
3612
+ 2.0
3613
+ ]
3614
+ ],
3615
+ "type": "typography",
3616
+ "variant": "caption"
3617
+ },
3618
+ {
3619
+ "action": "GUESS_LINE",
3620
+ "actionPayload": {
3621
+ "param": "slope"
3622
+ },
3623
+ "max": "@config.guessSlopeMax",
3624
+ "min": "@config.guessSlopeMin",
3625
+ "showTooltip": true,
3626
+ "step": "@config.guessSlopeStep",
3627
+ "type": "range-slider",
3628
+ "value": "@entity.guessSlope"
3629
+ }
3630
+ ],
3631
+ "direction": "vertical",
3632
+ "gap": "xs",
3633
+ "type": "stack"
3634
+ },
3635
+ {
3636
+ "children": [
3637
+ {
3638
+ "content": [
3639
+ "str/concat",
3640
+ "@config.guessInterceptCaption",
3641
+ [
3642
+ "math/round",
3643
+ "@entity.guessIntercept",
3644
+ 1.0
3645
+ ]
3646
+ ],
3647
+ "type": "typography",
3648
+ "variant": "caption"
3649
+ },
3650
+ {
3651
+ "action": "GUESS_LINE",
3652
+ "actionPayload": {
3653
+ "param": "intercept"
3654
+ },
3655
+ "max": "@config.guessInterceptMax",
3656
+ "min": "@config.guessInterceptMin",
3657
+ "showTooltip": true,
3658
+ "step": "@config.guessInterceptStep",
3659
+ "type": "range-slider",
3660
+ "value": "@entity.guessIntercept"
3661
+ }
3662
+ ],
3663
+ "direction": "vertical",
3664
+ "gap": "xs",
3665
+ "type": "stack"
3666
+ }
3667
+ ],
3668
+ "direction": "vertical",
3669
+ "gap": "sm",
3670
+ "type": "stack"
3671
+ },
3672
+ {
3673
+ "color": "muted",
3208
3674
  "content": [
3209
3675
  "if",
3210
3676
  "@config.showR",
@@ -3229,7 +3695,7 @@
3229
3695
  ""
3230
3696
  ],
3231
3697
  "type": "typography",
3232
- "variant": "body"
3698
+ "variant": "caption"
3233
3699
  },
3234
3700
  {
3235
3701
  "content": "@entity.narration",
@@ -3831,95 +4297,157 @@
3831
4297
  {
3832
4298
  "children": [
3833
4299
  {
3834
- "content": "@entity.title",
3835
- "type": "typography",
3836
- "variant": "h4"
4300
+ "align": "start",
4301
+ "children": [
4302
+ {
4303
+ "children": [
4304
+ {
4305
+ "content": "@entity.title",
4306
+ "type": "typography",
4307
+ "variant": "h4"
4308
+ },
4309
+ [
4310
+ "if",
4311
+ [
4312
+ "==",
4313
+ "@config.summary",
4314
+ ""
4315
+ ],
4316
+ null,
4317
+ {
4318
+ "color": "muted",
4319
+ "content": "@config.summary",
4320
+ "type": "typography",
4321
+ "variant": "body2"
4322
+ }
4323
+ ]
4324
+ ],
4325
+ "direction": "vertical",
4326
+ "gap": "xs",
4327
+ "type": "stack"
4328
+ },
4329
+ {
4330
+ "label": [
4331
+ "if",
4332
+ "@entity.revealed",
4333
+ "Revealed",
4334
+ [
4335
+ "if",
4336
+ "@entity.done",
4337
+ "Max points",
4338
+ [
4339
+ "if",
4340
+ "@entity.running",
4341
+ "Adding points",
4342
+ [
4343
+ "if",
4344
+ "@config.guessMode",
4345
+ "Guessing",
4346
+ "Fitted"
4347
+ ]
4348
+ ]
4349
+ ]
4350
+ ],
4351
+ "type": "badge",
4352
+ "variant": [
4353
+ "if",
4354
+ "@entity.revealed",
4355
+ "success",
4356
+ [
4357
+ "if",
4358
+ "@entity.done",
4359
+ "neutral",
4360
+ [
4361
+ "if",
4362
+ "@entity.running",
4363
+ "primary",
4364
+ "neutral"
4365
+ ]
4366
+ ]
4367
+ ]
4368
+ }
4369
+ ],
4370
+ "direction": "horizontal",
4371
+ "gap": "md",
4372
+ "justify": "between",
4373
+ "type": "stack"
3837
4374
  },
3838
4375
  {
4376
+ "align": "center",
3839
4377
  "children": [
3840
4378
  {
3841
4379
  "action": "ADD_POINT",
4380
+ "disabled": "@entity.done",
4381
+ "icon": "plus",
3842
4382
  "label": "@config.addPointLabel",
3843
4383
  "type": "button",
3844
4384
  "variant": "primary"
3845
4385
  },
3846
4386
  {
3847
4387
  "action": "REVEAL_FIT",
4388
+ "icon": "eye",
3848
4389
  "label": "@config.revealLabel",
3849
4390
  "type": "button",
3850
4391
  "variant": "secondary"
3851
4392
  },
3852
- {
3853
- "action": "TOGGLE_RUN",
3854
- "label": [
3855
- "if",
3856
- "@entity.running",
3857
- "@config.pauseLabel",
3858
- "@config.runLabel"
3859
- ],
3860
- "type": "button",
3861
- "variant": "secondary"
3862
- },
4393
+ [
4394
+ "if",
4395
+ "@entity.running",
4396
+ {
4397
+ "action": "TOGGLE_RUN",
4398
+ "aria-pressed": "true",
4399
+ "icon": "pause",
4400
+ "label": "@config.pauseLabel",
4401
+ "type": "button",
4402
+ "variant": "secondary"
4403
+ },
4404
+ {
4405
+ "action": "TOGGLE_RUN",
4406
+ "aria-pressed": "false",
4407
+ "disabled": "@entity.done",
4408
+ "icon": "play",
4409
+ "label": "@config.runLabel",
4410
+ "type": "button",
4411
+ "variant": "secondary"
4412
+ }
4413
+ ],
3863
4414
  {
3864
4415
  "action": "RESET",
4416
+ "icon": "rotate-ccw",
3865
4417
  "label": "@config.resetLabel",
3866
4418
  "type": "button",
3867
4419
  "variant": "ghost"
4420
+ },
4421
+ {
4422
+ "color": "muted",
4423
+ "content": [
4424
+ "str/concat",
4425
+ [
4426
+ "str/concat",
4427
+ "",
4428
+ [
4429
+ "array/len",
4430
+ "@entity.points"
4431
+ ]
4432
+ ],
4433
+ [
4434
+ "str/concat",
4435
+ " of ",
4436
+ [
4437
+ "str/concat",
4438
+ "",
4439
+ "@config.maxPoints"
4440
+ ]
4441
+ ]
4442
+ ],
4443
+ "type": "typography",
4444
+ "variant": "caption"
3868
4445
  }
3869
4446
  ],
3870
4447
  "direction": "horizontal",
3871
4448
  "gap": "sm",
3872
- "type": "stack"
3873
- },
3874
- {
3875
- "content": [
3876
- "str/concat",
3877
- "@config.guessSlopeCaption",
3878
- [
3879
- "math/round",
3880
- "@entity.guessSlope",
3881
- 2.0
3882
- ]
3883
- ],
3884
- "type": "typography",
3885
- "variant": "caption"
3886
- },
3887
- {
3888
- "action": "GUESS_LINE",
3889
- "actionPayload": {
3890
- "param": "slope"
3891
- },
3892
- "max": "@config.guessSlopeMax",
3893
- "min": "@config.guessSlopeMin",
3894
- "showTooltip": true,
3895
- "step": "@config.guessSlopeStep",
3896
- "type": "range-slider",
3897
- "value": "@entity.guessSlope"
3898
- },
3899
- {
3900
- "content": [
3901
- "str/concat",
3902
- "@config.guessInterceptCaption",
3903
- [
3904
- "math/round",
3905
- "@entity.guessIntercept",
3906
- 1.0
3907
- ]
3908
- ],
3909
- "type": "typography",
3910
- "variant": "caption"
3911
- },
3912
- {
3913
- "action": "GUESS_LINE",
3914
- "actionPayload": {
3915
- "param": "intercept"
3916
- },
3917
- "max": "@config.guessInterceptMax",
3918
- "min": "@config.guessInterceptMin",
3919
- "showTooltip": true,
3920
- "step": "@config.guessInterceptStep",
3921
- "type": "range-slider",
3922
- "value": "@entity.guessIntercept"
4449
+ "type": "stack",
4450
+ "wrap": true
3923
4451
  },
3924
4452
  {
3925
4453
  "animate": "@config.animate",
@@ -3927,6 +4455,11 @@
3927
4455
  "gridStep": "@config.gridStep",
3928
4456
  "height": "@config.height",
3929
4457
  "interactive": "@config.interactive",
4458
+ "keyMap": {
4459
+ "ArrowRight": "ADD_POINT",
4460
+ "KeyR": "RESET",
4461
+ "Space": "TOGGLE_RUN"
4462
+ },
3930
4463
  "points": "@entity.points",
3931
4464
  "showAxes": "@config.showAxes",
3932
4465
  "showGrid": "@config.showGrid",
@@ -3940,6 +4473,78 @@
3940
4473
  "yMin": "@config.axisYMin"
3941
4474
  },
3942
4475
  {
4476
+ "children": [
4477
+ {
4478
+ "children": [
4479
+ {
4480
+ "content": [
4481
+ "str/concat",
4482
+ "@config.guessSlopeCaption",
4483
+ [
4484
+ "math/round",
4485
+ "@entity.guessSlope",
4486
+ 2.0
4487
+ ]
4488
+ ],
4489
+ "type": "typography",
4490
+ "variant": "caption"
4491
+ },
4492
+ {
4493
+ "action": "GUESS_LINE",
4494
+ "actionPayload": {
4495
+ "param": "slope"
4496
+ },
4497
+ "max": "@config.guessSlopeMax",
4498
+ "min": "@config.guessSlopeMin",
4499
+ "showTooltip": true,
4500
+ "step": "@config.guessSlopeStep",
4501
+ "type": "range-slider",
4502
+ "value": "@entity.guessSlope"
4503
+ }
4504
+ ],
4505
+ "direction": "vertical",
4506
+ "gap": "xs",
4507
+ "type": "stack"
4508
+ },
4509
+ {
4510
+ "children": [
4511
+ {
4512
+ "content": [
4513
+ "str/concat",
4514
+ "@config.guessInterceptCaption",
4515
+ [
4516
+ "math/round",
4517
+ "@entity.guessIntercept",
4518
+ 1.0
4519
+ ]
4520
+ ],
4521
+ "type": "typography",
4522
+ "variant": "caption"
4523
+ },
4524
+ {
4525
+ "action": "GUESS_LINE",
4526
+ "actionPayload": {
4527
+ "param": "intercept"
4528
+ },
4529
+ "max": "@config.guessInterceptMax",
4530
+ "min": "@config.guessInterceptMin",
4531
+ "showTooltip": true,
4532
+ "step": "@config.guessInterceptStep",
4533
+ "type": "range-slider",
4534
+ "value": "@entity.guessIntercept"
4535
+ }
4536
+ ],
4537
+ "direction": "vertical",
4538
+ "gap": "xs",
4539
+ "type": "stack"
4540
+ }
4541
+ ],
4542
+ "direction": "vertical",
4543
+ "gap": "sm",
4544
+ "type": "stack"
4545
+ },
4546
+ {
4547
+ "color": "muted",
3943
4548
  "content": [
3944
4549
  "if",
3945
4550
  "@config.showR",
@@ -3964,7 +4569,7 @@
3964
4569
  ""
3965
4570
  ],
3966
4571
  "type": "typography",
3967
- "variant": "body"
4572
+ "variant": "caption"
3968
4573
  },
3969
4574
  {
3970
4575
  "content": "@entity.narration",
@@ -4519,95 +5124,157 @@
4519
5124
  {
4520
5125
  "children": [
4521
5126
  {
4522
- "content": "@entity.title",
4523
- "type": "typography",
4524
- "variant": "h4"
5127
+ "align": "start",
5128
+ "children": [
5129
+ {
5130
+ "children": [
5131
+ {
5132
+ "content": "@entity.title",
5133
+ "type": "typography",
5134
+ "variant": "h4"
5135
+ },
5136
+ [
5137
+ "if",
5138
+ [
5139
+ "==",
5140
+ "@config.summary",
5141
+ ""
5142
+ ],
5143
+ null,
5144
+ {
5145
+ "color": "muted",
5146
+ "content": "@config.summary",
5147
+ "type": "typography",
5148
+ "variant": "body2"
5149
+ }
5150
+ ]
5151
+ ],
5152
+ "direction": "vertical",
5153
+ "gap": "xs",
5154
+ "type": "stack"
5155
+ },
5156
+ {
5157
+ "label": [
5158
+ "if",
5159
+ "@entity.revealed",
5160
+ "Revealed",
5161
+ [
5162
+ "if",
5163
+ "@entity.done",
5164
+ "Max points",
5165
+ [
5166
+ "if",
5167
+ "@entity.running",
5168
+ "Adding points",
5169
+ [
5170
+ "if",
5171
+ "@config.guessMode",
5172
+ "Guessing",
5173
+ "Fitted"
5174
+ ]
5175
+ ]
5176
+ ]
5177
+ ],
5178
+ "type": "badge",
5179
+ "variant": [
5180
+ "if",
5181
+ "@entity.revealed",
5182
+ "success",
5183
+ [
5184
+ "if",
5185
+ "@entity.done",
5186
+ "neutral",
5187
+ [
5188
+ "if",
5189
+ "@entity.running",
5190
+ "primary",
5191
+ "neutral"
5192
+ ]
5193
+ ]
5194
+ ]
5195
+ }
5196
+ ],
5197
+ "direction": "horizontal",
5198
+ "gap": "md",
5199
+ "justify": "between",
5200
+ "type": "stack"
4525
5201
  },
4526
5202
  {
5203
+ "align": "center",
4527
5204
  "children": [
4528
5205
  {
4529
5206
  "action": "ADD_POINT",
5207
+ "disabled": "@entity.done",
5208
+ "icon": "plus",
4530
5209
  "label": "@config.addPointLabel",
4531
5210
  "type": "button",
4532
5211
  "variant": "primary"
4533
5212
  },
4534
5213
  {
4535
5214
  "action": "REVEAL_FIT",
5215
+ "icon": "eye",
4536
5216
  "label": "@config.revealLabel",
4537
5217
  "type": "button",
4538
5218
  "variant": "secondary"
4539
5219
  },
4540
- {
4541
- "action": "TOGGLE_RUN",
4542
- "label": [
4543
- "if",
4544
- "@entity.running",
4545
- "@config.pauseLabel",
4546
- "@config.runLabel"
4547
- ],
4548
- "type": "button",
4549
- "variant": "secondary"
4550
- },
5220
+ [
5221
+ "if",
5222
+ "@entity.running",
5223
+ {
5224
+ "action": "TOGGLE_RUN",
5225
+ "aria-pressed": "true",
5226
+ "icon": "pause",
5227
+ "label": "@config.pauseLabel",
5228
+ "type": "button",
5229
+ "variant": "secondary"
5230
+ },
5231
+ {
5232
+ "action": "TOGGLE_RUN",
5233
+ "aria-pressed": "false",
5234
+ "disabled": "@entity.done",
5235
+ "icon": "play",
5236
+ "label": "@config.runLabel",
5237
+ "type": "button",
5238
+ "variant": "secondary"
5239
+ }
5240
+ ],
4551
5241
  {
4552
5242
  "action": "RESET",
5243
+ "icon": "rotate-ccw",
4553
5244
  "label": "@config.resetLabel",
4554
5245
  "type": "button",
4555
5246
  "variant": "ghost"
5247
+ },
5248
+ {
5249
+ "color": "muted",
5250
+ "content": [
5251
+ "str/concat",
5252
+ [
5253
+ "str/concat",
5254
+ "",
5255
+ [
5256
+ "array/len",
5257
+ "@entity.points"
5258
+ ]
5259
+ ],
5260
+ [
5261
+ "str/concat",
5262
+ " of ",
5263
+ [
5264
+ "str/concat",
5265
+ "",
5266
+ "@config.maxPoints"
5267
+ ]
5268
+ ]
5269
+ ],
5270
+ "type": "typography",
5271
+ "variant": "caption"
4556
5272
  }
4557
5273
  ],
4558
5274
  "direction": "horizontal",
4559
5275
  "gap": "sm",
4560
- "type": "stack"
4561
- },
4562
- {
4563
- "content": [
4564
- "str/concat",
4565
- "@config.guessSlopeCaption",
4566
- [
4567
- "math/round",
4568
- "@entity.guessSlope",
4569
- 2.0
4570
- ]
4571
- ],
4572
- "type": "typography",
4573
- "variant": "caption"
4574
- },
4575
- {
4576
- "action": "GUESS_LINE",
4577
- "actionPayload": {
4578
- "param": "slope"
4579
- },
4580
- "max": "@config.guessSlopeMax",
4581
- "min": "@config.guessSlopeMin",
4582
- "showTooltip": true,
4583
- "step": "@config.guessSlopeStep",
4584
- "type": "range-slider",
4585
- "value": "@entity.guessSlope"
4586
- },
4587
- {
4588
- "content": [
4589
- "str/concat",
4590
- "@config.guessInterceptCaption",
4591
- [
4592
- "math/round",
4593
- "@entity.guessIntercept",
4594
- 1.0
4595
- ]
4596
- ],
4597
- "type": "typography",
4598
- "variant": "caption"
4599
- },
4600
- {
4601
- "action": "GUESS_LINE",
4602
- "actionPayload": {
4603
- "param": "intercept"
4604
- },
4605
- "max": "@config.guessInterceptMax",
4606
- "min": "@config.guessInterceptMin",
4607
- "showTooltip": true,
4608
- "step": "@config.guessInterceptStep",
4609
- "type": "range-slider",
4610
- "value": "@entity.guessIntercept"
5276
+ "type": "stack",
5277
+ "wrap": true
4611
5278
  },
4612
5279
  {
4613
5280
  "animate": "@config.animate",
@@ -4615,6 +5282,11 @@
4615
5282
  "gridStep": "@config.gridStep",
4616
5283
  "height": "@config.height",
4617
5284
  "interactive": "@config.interactive",
5285
+ "keyMap": {
5286
+ "ArrowRight": "ADD_POINT",
5287
+ "KeyR": "RESET",
5288
+ "Space": "TOGGLE_RUN"
5289
+ },
4618
5290
  "points": "@entity.points",
4619
5291
  "showAxes": "@config.showAxes",
4620
5292
  "showGrid": "@config.showGrid",
@@ -4628,6 +5300,78 @@
4628
5300
  "yMin": "@config.axisYMin"
4629
5301
  },
4630
5302
  {
5303
+ "children": [
5304
+ {
5305
+ "children": [
5306
+ {
5307
+ "content": [
5308
+ "str/concat",
5309
+ "@config.guessSlopeCaption",
5310
+ [
5311
+ "math/round",
5312
+ "@entity.guessSlope",
5313
+ 2.0
5314
+ ]
5315
+ ],
5316
+ "type": "typography",
5317
+ "variant": "caption"
5318
+ },
5319
+ {
5320
+ "action": "GUESS_LINE",
5321
+ "actionPayload": {
5322
+ "param": "slope"
5323
+ },
5324
+ "max": "@config.guessSlopeMax",
5325
+ "min": "@config.guessSlopeMin",
5326
+ "showTooltip": true,
5327
+ "step": "@config.guessSlopeStep",
5328
+ "type": "range-slider",
5329
+ "value": "@entity.guessSlope"
5330
+ }
5331
+ ],
5332
+ "direction": "vertical",
5333
+ "gap": "xs",
5334
+ "type": "stack"
5335
+ },
5336
+ {
5337
+ "children": [
5338
+ {
5339
+ "content": [
5340
+ "str/concat",
5341
+ "@config.guessInterceptCaption",
5342
+ [
5343
+ "math/round",
5344
+ "@entity.guessIntercept",
5345
+ 1.0
5346
+ ]
5347
+ ],
5348
+ "type": "typography",
5349
+ "variant": "caption"
5350
+ },
5351
+ {
5352
+ "action": "GUESS_LINE",
5353
+ "actionPayload": {
5354
+ "param": "intercept"
5355
+ },
5356
+ "max": "@config.guessInterceptMax",
5357
+ "min": "@config.guessInterceptMin",
5358
+ "showTooltip": true,
5359
+ "step": "@config.guessInterceptStep",
5360
+ "type": "range-slider",
5361
+ "value": "@entity.guessIntercept"
5362
+ }
5363
+ ],
5364
+ "direction": "vertical",
5365
+ "gap": "xs",
5366
+ "type": "stack"
5367
+ }
5368
+ ],
5369
+ "direction": "vertical",
5370
+ "gap": "sm",
5371
+ "type": "stack"
5372
+ },
5373
+ {
5374
+ "color": "muted",
4631
5375
  "content": [
4632
5376
  "if",
4633
5377
  "@config.showR",
@@ -4652,7 +5396,7 @@
4652
5396
  ""
4653
5397
  ],
4654
5398
  "type": "typography",
4655
- "variant": "body"
5399
+ "variant": "caption"
4656
5400
  },
4657
5401
  {
4658
5402
  "content": "@entity.narration",
@@ -4845,95 +5589,157 @@
4845
5589
  {
4846
5590
  "children": [
4847
5591
  {
4848
- "content": "@entity.title",
4849
- "type": "typography",
4850
- "variant": "h4"
5592
+ "align": "start",
5593
+ "children": [
5594
+ {
5595
+ "children": [
5596
+ {
5597
+ "content": "@entity.title",
5598
+ "type": "typography",
5599
+ "variant": "h4"
5600
+ },
5601
+ [
5602
+ "if",
5603
+ [
5604
+ "==",
5605
+ "@config.summary",
5606
+ ""
5607
+ ],
5608
+ null,
5609
+ {
5610
+ "color": "muted",
5611
+ "content": "@config.summary",
5612
+ "type": "typography",
5613
+ "variant": "body2"
5614
+ }
5615
+ ]
5616
+ ],
5617
+ "direction": "vertical",
5618
+ "gap": "xs",
5619
+ "type": "stack"
5620
+ },
5621
+ {
5622
+ "label": [
5623
+ "if",
5624
+ "@entity.revealed",
5625
+ "Revealed",
5626
+ [
5627
+ "if",
5628
+ "@entity.done",
5629
+ "Max points",
5630
+ [
5631
+ "if",
5632
+ "@entity.running",
5633
+ "Adding points",
5634
+ [
5635
+ "if",
5636
+ "@config.guessMode",
5637
+ "Guessing",
5638
+ "Fitted"
5639
+ ]
5640
+ ]
5641
+ ]
5642
+ ],
5643
+ "type": "badge",
5644
+ "variant": [
5645
+ "if",
5646
+ "@entity.revealed",
5647
+ "success",
5648
+ [
5649
+ "if",
5650
+ "@entity.done",
5651
+ "neutral",
5652
+ [
5653
+ "if",
5654
+ "@entity.running",
5655
+ "primary",
5656
+ "neutral"
5657
+ ]
5658
+ ]
5659
+ ]
5660
+ }
5661
+ ],
5662
+ "direction": "horizontal",
5663
+ "gap": "md",
5664
+ "justify": "between",
5665
+ "type": "stack"
4851
5666
  },
4852
5667
  {
5668
+ "align": "center",
4853
5669
  "children": [
4854
5670
  {
4855
5671
  "action": "ADD_POINT",
5672
+ "disabled": "@entity.done",
5673
+ "icon": "plus",
4856
5674
  "label": "@config.addPointLabel",
4857
5675
  "type": "button",
4858
5676
  "variant": "primary"
4859
5677
  },
4860
5678
  {
4861
5679
  "action": "REVEAL_FIT",
5680
+ "icon": "eye",
4862
5681
  "label": "@config.revealLabel",
4863
5682
  "type": "button",
4864
5683
  "variant": "secondary"
4865
5684
  },
4866
- {
4867
- "action": "TOGGLE_RUN",
4868
- "label": [
4869
- "if",
4870
- "@entity.running",
4871
- "@config.pauseLabel",
4872
- "@config.runLabel"
4873
- ],
4874
- "type": "button",
4875
- "variant": "secondary"
4876
- },
5685
+ [
5686
+ "if",
5687
+ "@entity.running",
5688
+ {
5689
+ "action": "TOGGLE_RUN",
5690
+ "aria-pressed": "true",
5691
+ "icon": "pause",
5692
+ "label": "@config.pauseLabel",
5693
+ "type": "button",
5694
+ "variant": "secondary"
5695
+ },
5696
+ {
5697
+ "action": "TOGGLE_RUN",
5698
+ "aria-pressed": "false",
5699
+ "disabled": "@entity.done",
5700
+ "icon": "play",
5701
+ "label": "@config.runLabel",
5702
+ "type": "button",
5703
+ "variant": "secondary"
5704
+ }
5705
+ ],
4877
5706
  {
4878
5707
  "action": "RESET",
5708
+ "icon": "rotate-ccw",
4879
5709
  "label": "@config.resetLabel",
4880
5710
  "type": "button",
4881
5711
  "variant": "ghost"
5712
+ },
5713
+ {
5714
+ "color": "muted",
5715
+ "content": [
5716
+ "str/concat",
5717
+ [
5718
+ "str/concat",
5719
+ "",
5720
+ [
5721
+ "array/len",
5722
+ "@entity.points"
5723
+ ]
5724
+ ],
5725
+ [
5726
+ "str/concat",
5727
+ " of ",
5728
+ [
5729
+ "str/concat",
5730
+ "",
5731
+ "@config.maxPoints"
5732
+ ]
5733
+ ]
5734
+ ],
5735
+ "type": "typography",
5736
+ "variant": "caption"
4882
5737
  }
4883
5738
  ],
4884
5739
  "direction": "horizontal",
4885
5740
  "gap": "sm",
4886
- "type": "stack"
4887
- },
4888
- {
4889
- "content": [
4890
- "str/concat",
4891
- "@config.guessSlopeCaption",
4892
- [
4893
- "math/round",
4894
- "@entity.guessSlope",
4895
- 2.0
4896
- ]
4897
- ],
4898
- "type": "typography",
4899
- "variant": "caption"
4900
- },
4901
- {
4902
- "action": "GUESS_LINE",
4903
- "actionPayload": {
4904
- "param": "slope"
4905
- },
4906
- "max": "@config.guessSlopeMax",
4907
- "min": "@config.guessSlopeMin",
4908
- "showTooltip": true,
4909
- "step": "@config.guessSlopeStep",
4910
- "type": "range-slider",
4911
- "value": "@entity.guessSlope"
4912
- },
4913
- {
4914
- "content": [
4915
- "str/concat",
4916
- "@config.guessInterceptCaption",
4917
- [
4918
- "math/round",
4919
- "@entity.guessIntercept",
4920
- 1.0
4921
- ]
4922
- ],
4923
- "type": "typography",
4924
- "variant": "caption"
4925
- },
4926
- {
4927
- "action": "GUESS_LINE",
4928
- "actionPayload": {
4929
- "param": "intercept"
4930
- },
4931
- "max": "@config.guessInterceptMax",
4932
- "min": "@config.guessInterceptMin",
4933
- "showTooltip": true,
4934
- "step": "@config.guessInterceptStep",
4935
- "type": "range-slider",
4936
- "value": "@entity.guessIntercept"
5741
+ "type": "stack",
5742
+ "wrap": true
4937
5743
  },
4938
5744
  {
4939
5745
  "animate": "@config.animate",
@@ -4941,6 +5747,11 @@
4941
5747
  "gridStep": "@config.gridStep",
4942
5748
  "height": "@config.height",
4943
5749
  "interactive": "@config.interactive",
5750
+ "keyMap": {
5751
+ "ArrowRight": "ADD_POINT",
5752
+ "KeyR": "RESET",
5753
+ "Space": "TOGGLE_RUN"
5754
+ },
4944
5755
  "points": "@entity.points",
4945
5756
  "showAxes": "@config.showAxes",
4946
5757
  "showGrid": "@config.showGrid",
@@ -4954,6 +5765,78 @@
4954
5765
  "yMin": "@config.axisYMin"
4955
5766
  },
4956
5767
  {
5768
+ "children": [
5769
+ {
5770
+ "children": [
5771
+ {
5772
+ "content": [
5773
+ "str/concat",
5774
+ "@config.guessSlopeCaption",
5775
+ [
5776
+ "math/round",
5777
+ "@entity.guessSlope",
5778
+ 2.0
5779
+ ]
5780
+ ],
5781
+ "type": "typography",
5782
+ "variant": "caption"
5783
+ },
5784
+ {
5785
+ "action": "GUESS_LINE",
5786
+ "actionPayload": {
5787
+ "param": "slope"
5788
+ },
5789
+ "max": "@config.guessSlopeMax",
5790
+ "min": "@config.guessSlopeMin",
5791
+ "showTooltip": true,
5792
+ "step": "@config.guessSlopeStep",
5793
+ "type": "range-slider",
5794
+ "value": "@entity.guessSlope"
5795
+ }
5796
+ ],
5797
+ "direction": "vertical",
5798
+ "gap": "xs",
5799
+ "type": "stack"
5800
+ },
5801
+ {
5802
+ "children": [
5803
+ {
5804
+ "content": [
5805
+ "str/concat",
5806
+ "@config.guessInterceptCaption",
5807
+ [
5808
+ "math/round",
5809
+ "@entity.guessIntercept",
5810
+ 1.0
5811
+ ]
5812
+ ],
5813
+ "type": "typography",
5814
+ "variant": "caption"
5815
+ },
5816
+ {
5817
+ "action": "GUESS_LINE",
5818
+ "actionPayload": {
5819
+ "param": "intercept"
5820
+ },
5821
+ "max": "@config.guessInterceptMax",
5822
+ "min": "@config.guessInterceptMin",
5823
+ "showTooltip": true,
5824
+ "step": "@config.guessInterceptStep",
5825
+ "type": "range-slider",
5826
+ "value": "@entity.guessIntercept"
5827
+ }
5828
+ ],
5829
+ "direction": "vertical",
5830
+ "gap": "xs",
5831
+ "type": "stack"
5832
+ }
5833
+ ],
5834
+ "direction": "vertical",
5835
+ "gap": "sm",
5836
+ "type": "stack"
5837
+ },
5838
+ {
5839
+ "color": "muted",
4957
5840
  "content": [
4958
5841
  "if",
4959
5842
  "@config.showR",
@@ -4978,7 +5861,7 @@
4978
5861
  ""
4979
5862
  ],
4980
5863
  "type": "typography",
4981
- "variant": "body"
5864
+ "variant": "caption"
4982
5865
  },
4983
5866
  {
4984
5867
  "content": "@entity.narration",
@@ -5049,95 +5932,157 @@
5049
5932
  {
5050
5933
  "children": [
5051
5934
  {
5052
- "content": "@entity.title",
5053
- "type": "typography",
5054
- "variant": "h4"
5935
+ "align": "start",
5936
+ "children": [
5937
+ {
5938
+ "children": [
5939
+ {
5940
+ "content": "@entity.title",
5941
+ "type": "typography",
5942
+ "variant": "h4"
5943
+ },
5944
+ [
5945
+ "if",
5946
+ [
5947
+ "==",
5948
+ "@config.summary",
5949
+ ""
5950
+ ],
5951
+ null,
5952
+ {
5953
+ "color": "muted",
5954
+ "content": "@config.summary",
5955
+ "type": "typography",
5956
+ "variant": "body2"
5957
+ }
5958
+ ]
5959
+ ],
5960
+ "direction": "vertical",
5961
+ "gap": "xs",
5962
+ "type": "stack"
5963
+ },
5964
+ {
5965
+ "label": [
5966
+ "if",
5967
+ "@entity.revealed",
5968
+ "Revealed",
5969
+ [
5970
+ "if",
5971
+ "@entity.done",
5972
+ "Max points",
5973
+ [
5974
+ "if",
5975
+ "@entity.running",
5976
+ "Adding points",
5977
+ [
5978
+ "if",
5979
+ "@config.guessMode",
5980
+ "Guessing",
5981
+ "Fitted"
5982
+ ]
5983
+ ]
5984
+ ]
5985
+ ],
5986
+ "type": "badge",
5987
+ "variant": [
5988
+ "if",
5989
+ "@entity.revealed",
5990
+ "success",
5991
+ [
5992
+ "if",
5993
+ "@entity.done",
5994
+ "neutral",
5995
+ [
5996
+ "if",
5997
+ "@entity.running",
5998
+ "primary",
5999
+ "neutral"
6000
+ ]
6001
+ ]
6002
+ ]
6003
+ }
6004
+ ],
6005
+ "direction": "horizontal",
6006
+ "gap": "md",
6007
+ "justify": "between",
6008
+ "type": "stack"
5055
6009
  },
5056
6010
  {
6011
+ "align": "center",
5057
6012
  "children": [
5058
6013
  {
5059
6014
  "action": "ADD_POINT",
6015
+ "disabled": "@entity.done",
6016
+ "icon": "plus",
5060
6017
  "label": "@config.addPointLabel",
5061
6018
  "type": "button",
5062
6019
  "variant": "primary"
5063
6020
  },
5064
6021
  {
5065
6022
  "action": "REVEAL_FIT",
6023
+ "icon": "eye",
5066
6024
  "label": "@config.revealLabel",
5067
6025
  "type": "button",
5068
6026
  "variant": "secondary"
5069
6027
  },
5070
- {
5071
- "action": "TOGGLE_RUN",
5072
- "label": [
5073
- "if",
5074
- "@entity.running",
5075
- "@config.pauseLabel",
5076
- "@config.runLabel"
5077
- ],
5078
- "type": "button",
5079
- "variant": "secondary"
5080
- },
6028
+ [
6029
+ "if",
6030
+ "@entity.running",
6031
+ {
6032
+ "action": "TOGGLE_RUN",
6033
+ "aria-pressed": "true",
6034
+ "icon": "pause",
6035
+ "label": "@config.pauseLabel",
6036
+ "type": "button",
6037
+ "variant": "secondary"
6038
+ },
6039
+ {
6040
+ "action": "TOGGLE_RUN",
6041
+ "aria-pressed": "false",
6042
+ "disabled": "@entity.done",
6043
+ "icon": "play",
6044
+ "label": "@config.runLabel",
6045
+ "type": "button",
6046
+ "variant": "secondary"
6047
+ }
6048
+ ],
5081
6049
  {
5082
6050
  "action": "RESET",
6051
+ "icon": "rotate-ccw",
5083
6052
  "label": "@config.resetLabel",
5084
6053
  "type": "button",
5085
6054
  "variant": "ghost"
5086
- }
5087
- ],
5088
- "direction": "horizontal",
5089
- "gap": "sm",
5090
- "type": "stack"
5091
- },
5092
- {
5093
- "content": [
5094
- "str/concat",
5095
- "@config.guessSlopeCaption",
5096
- [
5097
- "math/round",
5098
- "@entity.guessSlope",
5099
- 2.0
5100
- ]
5101
- ],
5102
- "type": "typography",
5103
- "variant": "caption"
5104
- },
5105
- {
5106
- "action": "GUESS_LINE",
5107
- "actionPayload": {
5108
- "param": "slope"
5109
- },
5110
- "max": "@config.guessSlopeMax",
5111
- "min": "@config.guessSlopeMin",
5112
- "showTooltip": true,
5113
- "step": "@config.guessSlopeStep",
5114
- "type": "range-slider",
5115
- "value": "@entity.guessSlope"
5116
- },
5117
- {
5118
- "content": [
5119
- "str/concat",
5120
- "@config.guessInterceptCaption",
5121
- [
5122
- "math/round",
5123
- "@entity.guessIntercept",
5124
- 1.0
5125
- ]
6055
+ },
6056
+ {
6057
+ "color": "muted",
6058
+ "content": [
6059
+ "str/concat",
6060
+ [
6061
+ "str/concat",
6062
+ "",
6063
+ [
6064
+ "array/len",
6065
+ "@entity.points"
6066
+ ]
6067
+ ],
6068
+ [
6069
+ "str/concat",
6070
+ " of ",
6071
+ [
6072
+ "str/concat",
6073
+ "",
6074
+ "@config.maxPoints"
6075
+ ]
6076
+ ]
6077
+ ],
6078
+ "type": "typography",
6079
+ "variant": "caption"
6080
+ }
5126
6081
  ],
5127
- "type": "typography",
5128
- "variant": "caption"
5129
- },
5130
- {
5131
- "action": "GUESS_LINE",
5132
- "actionPayload": {
5133
- "param": "intercept"
5134
- },
5135
- "max": "@config.guessInterceptMax",
5136
- "min": "@config.guessInterceptMin",
5137
- "showTooltip": true,
5138
- "step": "@config.guessInterceptStep",
5139
- "type": "range-slider",
5140
- "value": "@entity.guessIntercept"
6082
+ "direction": "horizontal",
6083
+ "gap": "sm",
6084
+ "type": "stack",
6085
+ "wrap": true
5141
6086
  },
5142
6087
  {
5143
6088
  "animate": "@config.animate",
@@ -5145,6 +6090,11 @@
5145
6090
  "gridStep": "@config.gridStep",
5146
6091
  "height": "@config.height",
5147
6092
  "interactive": "@config.interactive",
6093
+ "keyMap": {
6094
+ "ArrowRight": "ADD_POINT",
6095
+ "KeyR": "RESET",
6096
+ "Space": "TOGGLE_RUN"
6097
+ },
5148
6098
  "points": "@entity.points",
5149
6099
  "showAxes": "@config.showAxes",
5150
6100
  "showGrid": "@config.showGrid",
@@ -5158,6 +6108,78 @@
5158
6108
  "yMin": "@config.axisYMin"
5159
6109
  },
5160
6110
  {
6111
+ "children": [
6112
+ {
6113
+ "children": [
6114
+ {
6115
+ "content": [
6116
+ "str/concat",
6117
+ "@config.guessSlopeCaption",
6118
+ [
6119
+ "math/round",
6120
+ "@entity.guessSlope",
6121
+ 2.0
6122
+ ]
6123
+ ],
6124
+ "type": "typography",
6125
+ "variant": "caption"
6126
+ },
6127
+ {
6128
+ "action": "GUESS_LINE",
6129
+ "actionPayload": {
6130
+ "param": "slope"
6131
+ },
6132
+ "max": "@config.guessSlopeMax",
6133
+ "min": "@config.guessSlopeMin",
6134
+ "showTooltip": true,
6135
+ "step": "@config.guessSlopeStep",
6136
+ "type": "range-slider",
6137
+ "value": "@entity.guessSlope"
6138
+ }
6139
+ ],
6140
+ "direction": "vertical",
6141
+ "gap": "xs",
6142
+ "type": "stack"
6143
+ },
6144
+ {
6145
+ "children": [
6146
+ {
6147
+ "content": [
6148
+ "str/concat",
6149
+ "@config.guessInterceptCaption",
6150
+ [
6151
+ "math/round",
6152
+ "@entity.guessIntercept",
6153
+ 1.0
6154
+ ]
6155
+ ],
6156
+ "type": "typography",
6157
+ "variant": "caption"
6158
+ },
6159
+ {
6160
+ "action": "GUESS_LINE",
6161
+ "actionPayload": {
6162
+ "param": "intercept"
6163
+ },
6164
+ "max": "@config.guessInterceptMax",
6165
+ "min": "@config.guessInterceptMin",
6166
+ "showTooltip": true,
6167
+ "step": "@config.guessInterceptStep",
6168
+ "type": "range-slider",
6169
+ "value": "@entity.guessIntercept"
6170
+ }
6171
+ ],
6172
+ "direction": "vertical",
6173
+ "gap": "xs",
6174
+ "type": "stack"
6175
+ }
6176
+ ],
6177
+ "direction": "vertical",
6178
+ "gap": "sm",
6179
+ "type": "stack"
6180
+ },
6181
+ {
6182
+ "color": "muted",
5161
6183
  "content": [
5162
6184
  "if",
5163
6185
  "@config.showR",
@@ -5182,7 +6204,7 @@
5182
6204
  ""
5183
6205
  ],
5184
6206
  "type": "typography",
5185
- "variant": "body"
6207
+ "variant": "caption"
5186
6208
  },
5187
6209
  {
5188
6210
  "content": "@entity.narration",
@@ -5723,95 +6745,157 @@
5723
6745
  {
5724
6746
  "children": [
5725
6747
  {
5726
- "content": "@entity.title",
5727
- "type": "typography",
5728
- "variant": "h4"
6748
+ "align": "start",
6749
+ "children": [
6750
+ {
6751
+ "children": [
6752
+ {
6753
+ "content": "@entity.title",
6754
+ "type": "typography",
6755
+ "variant": "h4"
6756
+ },
6757
+ [
6758
+ "if",
6759
+ [
6760
+ "==",
6761
+ "@config.summary",
6762
+ ""
6763
+ ],
6764
+ null,
6765
+ {
6766
+ "color": "muted",
6767
+ "content": "@config.summary",
6768
+ "type": "typography",
6769
+ "variant": "body2"
6770
+ }
6771
+ ]
6772
+ ],
6773
+ "direction": "vertical",
6774
+ "gap": "xs",
6775
+ "type": "stack"
6776
+ },
6777
+ {
6778
+ "label": [
6779
+ "if",
6780
+ "@entity.revealed",
6781
+ "Revealed",
6782
+ [
6783
+ "if",
6784
+ "@entity.done",
6785
+ "Max points",
6786
+ [
6787
+ "if",
6788
+ "@entity.running",
6789
+ "Adding points",
6790
+ [
6791
+ "if",
6792
+ "@config.guessMode",
6793
+ "Guessing",
6794
+ "Fitted"
6795
+ ]
6796
+ ]
6797
+ ]
6798
+ ],
6799
+ "type": "badge",
6800
+ "variant": [
6801
+ "if",
6802
+ "@entity.revealed",
6803
+ "success",
6804
+ [
6805
+ "if",
6806
+ "@entity.done",
6807
+ "neutral",
6808
+ [
6809
+ "if",
6810
+ "@entity.running",
6811
+ "primary",
6812
+ "neutral"
6813
+ ]
6814
+ ]
6815
+ ]
6816
+ }
6817
+ ],
6818
+ "direction": "horizontal",
6819
+ "gap": "md",
6820
+ "justify": "between",
6821
+ "type": "stack"
5729
6822
  },
5730
6823
  {
6824
+ "align": "center",
5731
6825
  "children": [
5732
6826
  {
5733
6827
  "action": "ADD_POINT",
6828
+ "disabled": "@entity.done",
6829
+ "icon": "plus",
5734
6830
  "label": "@config.addPointLabel",
5735
6831
  "type": "button",
5736
6832
  "variant": "primary"
5737
6833
  },
5738
6834
  {
5739
6835
  "action": "REVEAL_FIT",
6836
+ "icon": "eye",
5740
6837
  "label": "@config.revealLabel",
5741
6838
  "type": "button",
5742
6839
  "variant": "secondary"
5743
6840
  },
5744
- {
5745
- "action": "TOGGLE_RUN",
5746
- "label": [
5747
- "if",
5748
- "@entity.running",
5749
- "@config.pauseLabel",
5750
- "@config.runLabel"
5751
- ],
5752
- "type": "button",
5753
- "variant": "secondary"
5754
- },
6841
+ [
6842
+ "if",
6843
+ "@entity.running",
6844
+ {
6845
+ "action": "TOGGLE_RUN",
6846
+ "aria-pressed": "true",
6847
+ "icon": "pause",
6848
+ "label": "@config.pauseLabel",
6849
+ "type": "button",
6850
+ "variant": "secondary"
6851
+ },
6852
+ {
6853
+ "action": "TOGGLE_RUN",
6854
+ "aria-pressed": "false",
6855
+ "disabled": "@entity.done",
6856
+ "icon": "play",
6857
+ "label": "@config.runLabel",
6858
+ "type": "button",
6859
+ "variant": "secondary"
6860
+ }
6861
+ ],
5755
6862
  {
5756
6863
  "action": "RESET",
6864
+ "icon": "rotate-ccw",
5757
6865
  "label": "@config.resetLabel",
5758
6866
  "type": "button",
5759
6867
  "variant": "ghost"
6868
+ },
6869
+ {
6870
+ "color": "muted",
6871
+ "content": [
6872
+ "str/concat",
6873
+ [
6874
+ "str/concat",
6875
+ "",
6876
+ [
6877
+ "array/len",
6878
+ "@entity.points"
6879
+ ]
6880
+ ],
6881
+ [
6882
+ "str/concat",
6883
+ " of ",
6884
+ [
6885
+ "str/concat",
6886
+ "",
6887
+ "@config.maxPoints"
6888
+ ]
6889
+ ]
6890
+ ],
6891
+ "type": "typography",
6892
+ "variant": "caption"
5760
6893
  }
5761
6894
  ],
5762
6895
  "direction": "horizontal",
5763
6896
  "gap": "sm",
5764
- "type": "stack"
5765
- },
5766
- {
5767
- "content": [
5768
- "str/concat",
5769
- "@config.guessSlopeCaption",
5770
- [
5771
- "math/round",
5772
- "@entity.guessSlope",
5773
- 2.0
5774
- ]
5775
- ],
5776
- "type": "typography",
5777
- "variant": "caption"
5778
- },
5779
- {
5780
- "action": "GUESS_LINE",
5781
- "actionPayload": {
5782
- "param": "slope"
5783
- },
5784
- "max": "@config.guessSlopeMax",
5785
- "min": "@config.guessSlopeMin",
5786
- "showTooltip": true,
5787
- "step": "@config.guessSlopeStep",
5788
- "type": "range-slider",
5789
- "value": "@entity.guessSlope"
5790
- },
5791
- {
5792
- "content": [
5793
- "str/concat",
5794
- "@config.guessInterceptCaption",
5795
- [
5796
- "math/round",
5797
- "@entity.guessIntercept",
5798
- 1.0
5799
- ]
5800
- ],
5801
- "type": "typography",
5802
- "variant": "caption"
5803
- },
5804
- {
5805
- "action": "GUESS_LINE",
5806
- "actionPayload": {
5807
- "param": "intercept"
5808
- },
5809
- "max": "@config.guessInterceptMax",
5810
- "min": "@config.guessInterceptMin",
5811
- "showTooltip": true,
5812
- "step": "@config.guessInterceptStep",
5813
- "type": "range-slider",
5814
- "value": "@entity.guessIntercept"
6897
+ "type": "stack",
6898
+ "wrap": true
5815
6899
  },
5816
6900
  {
5817
6901
  "animate": "@config.animate",
@@ -5819,6 +6903,11 @@
5819
6903
  "gridStep": "@config.gridStep",
5820
6904
  "height": "@config.height",
5821
6905
  "interactive": "@config.interactive",
6906
+ "keyMap": {
6907
+ "ArrowRight": "ADD_POINT",
6908
+ "KeyR": "RESET",
6909
+ "Space": "TOGGLE_RUN"
6910
+ },
5822
6911
  "points": "@entity.points",
5823
6912
  "showAxes": "@config.showAxes",
5824
6913
  "showGrid": "@config.showGrid",
@@ -5832,6 +6921,78 @@
5832
6921
  "yMin": "@config.axisYMin"
5833
6922
  },
5834
6923
  {
6924
+ "children": [
6925
+ {
6926
+ "children": [
6927
+ {
6928
+ "content": [
6929
+ "str/concat",
6930
+ "@config.guessSlopeCaption",
6931
+ [
6932
+ "math/round",
6933
+ "@entity.guessSlope",
6934
+ 2.0
6935
+ ]
6936
+ ],
6937
+ "type": "typography",
6938
+ "variant": "caption"
6939
+ },
6940
+ {
6941
+ "action": "GUESS_LINE",
6942
+ "actionPayload": {
6943
+ "param": "slope"
6944
+ },
6945
+ "max": "@config.guessSlopeMax",
6946
+ "min": "@config.guessSlopeMin",
6947
+ "showTooltip": true,
6948
+ "step": "@config.guessSlopeStep",
6949
+ "type": "range-slider",
6950
+ "value": "@entity.guessSlope"
6951
+ }
6952
+ ],
6953
+ "direction": "vertical",
6954
+ "gap": "xs",
6955
+ "type": "stack"
6956
+ },
6957
+ {
6958
+ "children": [
6959
+ {
6960
+ "content": [
6961
+ "str/concat",
6962
+ "@config.guessInterceptCaption",
6963
+ [
6964
+ "math/round",
6965
+ "@entity.guessIntercept",
6966
+ 1.0
6967
+ ]
6968
+ ],
6969
+ "type": "typography",
6970
+ "variant": "caption"
6971
+ },
6972
+ {
6973
+ "action": "GUESS_LINE",
6974
+ "actionPayload": {
6975
+ "param": "intercept"
6976
+ },
6977
+ "max": "@config.guessInterceptMax",
6978
+ "min": "@config.guessInterceptMin",
6979
+ "showTooltip": true,
6980
+ "step": "@config.guessInterceptStep",
6981
+ "type": "range-slider",
6982
+ "value": "@entity.guessIntercept"
6983
+ }
6984
+ ],
6985
+ "direction": "vertical",
6986
+ "gap": "xs",
6987
+ "type": "stack"
6988
+ }
6989
+ ],
6990
+ "direction": "vertical",
6991
+ "gap": "sm",
6992
+ "type": "stack"
6993
+ },
6994
+ {
6995
+ "color": "muted",
5835
6996
  "content": [
5836
6997
  "if",
5837
6998
  "@config.showR",
@@ -5856,7 +7017,7 @@
5856
7017
  ""
5857
7018
  ],
5858
7019
  "type": "typography",
5859
- "variant": "body"
7020
+ "variant": "caption"
5860
7021
  },
5861
7022
  {
5862
7023
  "content": "@entity.narration",
@@ -6552,95 +7713,157 @@
6552
7713
  {
6553
7714
  "children": [
6554
7715
  {
6555
- "content": "@entity.title",
6556
- "type": "typography",
6557
- "variant": "h4"
7716
+ "align": "start",
7717
+ "children": [
7718
+ {
7719
+ "children": [
7720
+ {
7721
+ "content": "@entity.title",
7722
+ "type": "typography",
7723
+ "variant": "h4"
7724
+ },
7725
+ [
7726
+ "if",
7727
+ [
7728
+ "==",
7729
+ "@config.summary",
7730
+ ""
7731
+ ],
7732
+ null,
7733
+ {
7734
+ "color": "muted",
7735
+ "content": "@config.summary",
7736
+ "type": "typography",
7737
+ "variant": "body2"
7738
+ }
7739
+ ]
7740
+ ],
7741
+ "direction": "vertical",
7742
+ "gap": "xs",
7743
+ "type": "stack"
7744
+ },
7745
+ {
7746
+ "label": [
7747
+ "if",
7748
+ "@entity.revealed",
7749
+ "Revealed",
7750
+ [
7751
+ "if",
7752
+ "@entity.done",
7753
+ "Max points",
7754
+ [
7755
+ "if",
7756
+ "@entity.running",
7757
+ "Adding points",
7758
+ [
7759
+ "if",
7760
+ "@config.guessMode",
7761
+ "Guessing",
7762
+ "Fitted"
7763
+ ]
7764
+ ]
7765
+ ]
7766
+ ],
7767
+ "type": "badge",
7768
+ "variant": [
7769
+ "if",
7770
+ "@entity.revealed",
7771
+ "success",
7772
+ [
7773
+ "if",
7774
+ "@entity.done",
7775
+ "neutral",
7776
+ [
7777
+ "if",
7778
+ "@entity.running",
7779
+ "primary",
7780
+ "neutral"
7781
+ ]
7782
+ ]
7783
+ ]
7784
+ }
7785
+ ],
7786
+ "direction": "horizontal",
7787
+ "gap": "md",
7788
+ "justify": "between",
7789
+ "type": "stack"
6558
7790
  },
6559
7791
  {
7792
+ "align": "center",
6560
7793
  "children": [
6561
7794
  {
6562
7795
  "action": "ADD_POINT",
7796
+ "disabled": "@entity.done",
7797
+ "icon": "plus",
6563
7798
  "label": "@config.addPointLabel",
6564
7799
  "type": "button",
6565
7800
  "variant": "primary"
6566
7801
  },
6567
7802
  {
6568
7803
  "action": "REVEAL_FIT",
7804
+ "icon": "eye",
6569
7805
  "label": "@config.revealLabel",
6570
7806
  "type": "button",
6571
7807
  "variant": "secondary"
6572
7808
  },
6573
- {
6574
- "action": "TOGGLE_RUN",
6575
- "label": [
6576
- "if",
6577
- "@entity.running",
6578
- "@config.pauseLabel",
6579
- "@config.runLabel"
6580
- ],
6581
- "type": "button",
6582
- "variant": "secondary"
6583
- },
7809
+ [
7810
+ "if",
7811
+ "@entity.running",
7812
+ {
7813
+ "action": "TOGGLE_RUN",
7814
+ "aria-pressed": "true",
7815
+ "icon": "pause",
7816
+ "label": "@config.pauseLabel",
7817
+ "type": "button",
7818
+ "variant": "secondary"
7819
+ },
7820
+ {
7821
+ "action": "TOGGLE_RUN",
7822
+ "aria-pressed": "false",
7823
+ "disabled": "@entity.done",
7824
+ "icon": "play",
7825
+ "label": "@config.runLabel",
7826
+ "type": "button",
7827
+ "variant": "secondary"
7828
+ }
7829
+ ],
6584
7830
  {
6585
7831
  "action": "RESET",
7832
+ "icon": "rotate-ccw",
6586
7833
  "label": "@config.resetLabel",
6587
7834
  "type": "button",
6588
7835
  "variant": "ghost"
7836
+ },
7837
+ {
7838
+ "color": "muted",
7839
+ "content": [
7840
+ "str/concat",
7841
+ [
7842
+ "str/concat",
7843
+ "",
7844
+ [
7845
+ "array/len",
7846
+ "@entity.points"
7847
+ ]
7848
+ ],
7849
+ [
7850
+ "str/concat",
7851
+ " of ",
7852
+ [
7853
+ "str/concat",
7854
+ "",
7855
+ "@config.maxPoints"
7856
+ ]
7857
+ ]
7858
+ ],
7859
+ "type": "typography",
7860
+ "variant": "caption"
6589
7861
  }
6590
7862
  ],
6591
7863
  "direction": "horizontal",
6592
7864
  "gap": "sm",
6593
- "type": "stack"
6594
- },
6595
- {
6596
- "content": [
6597
- "str/concat",
6598
- "@config.guessSlopeCaption",
6599
- [
6600
- "math/round",
6601
- "@entity.guessSlope",
6602
- 2.0
6603
- ]
6604
- ],
6605
- "type": "typography",
6606
- "variant": "caption"
6607
- },
6608
- {
6609
- "action": "GUESS_LINE",
6610
- "actionPayload": {
6611
- "param": "slope"
6612
- },
6613
- "max": "@config.guessSlopeMax",
6614
- "min": "@config.guessSlopeMin",
6615
- "showTooltip": true,
6616
- "step": "@config.guessSlopeStep",
6617
- "type": "range-slider",
6618
- "value": "@entity.guessSlope"
6619
- },
6620
- {
6621
- "content": [
6622
- "str/concat",
6623
- "@config.guessInterceptCaption",
6624
- [
6625
- "math/round",
6626
- "@entity.guessIntercept",
6627
- 1.0
6628
- ]
6629
- ],
6630
- "type": "typography",
6631
- "variant": "caption"
6632
- },
6633
- {
6634
- "action": "GUESS_LINE",
6635
- "actionPayload": {
6636
- "param": "intercept"
6637
- },
6638
- "max": "@config.guessInterceptMax",
6639
- "min": "@config.guessInterceptMin",
6640
- "showTooltip": true,
6641
- "step": "@config.guessInterceptStep",
6642
- "type": "range-slider",
6643
- "value": "@entity.guessIntercept"
7865
+ "type": "stack",
7866
+ "wrap": true
6644
7867
  },
6645
7868
  {
6646
7869
  "animate": "@config.animate",
@@ -6648,6 +7871,11 @@
6648
7871
  "gridStep": "@config.gridStep",
6649
7872
  "height": "@config.height",
6650
7873
  "interactive": "@config.interactive",
7874
+ "keyMap": {
7875
+ "ArrowRight": "ADD_POINT",
7876
+ "KeyR": "RESET",
7877
+ "Space": "TOGGLE_RUN"
7878
+ },
6651
7879
  "points": "@entity.points",
6652
7880
  "showAxes": "@config.showAxes",
6653
7881
  "showGrid": "@config.showGrid",
@@ -6661,6 +7889,78 @@
6661
7889
  "yMin": "@config.axisYMin"
6662
7890
  },
6663
7891
  {
7892
+ "children": [
7893
+ {
7894
+ "children": [
7895
+ {
7896
+ "content": [
7897
+ "str/concat",
7898
+ "@config.guessSlopeCaption",
7899
+ [
7900
+ "math/round",
7901
+ "@entity.guessSlope",
7902
+ 2.0
7903
+ ]
7904
+ ],
7905
+ "type": "typography",
7906
+ "variant": "caption"
7907
+ },
7908
+ {
7909
+ "action": "GUESS_LINE",
7910
+ "actionPayload": {
7911
+ "param": "slope"
7912
+ },
7913
+ "max": "@config.guessSlopeMax",
7914
+ "min": "@config.guessSlopeMin",
7915
+ "showTooltip": true,
7916
+ "step": "@config.guessSlopeStep",
7917
+ "type": "range-slider",
7918
+ "value": "@entity.guessSlope"
7919
+ }
7920
+ ],
7921
+ "direction": "vertical",
7922
+ "gap": "xs",
7923
+ "type": "stack"
7924
+ },
7925
+ {
7926
+ "children": [
7927
+ {
7928
+ "content": [
7929
+ "str/concat",
7930
+ "@config.guessInterceptCaption",
7931
+ [
7932
+ "math/round",
7933
+ "@entity.guessIntercept",
7934
+ 1.0
7935
+ ]
7936
+ ],
7937
+ "type": "typography",
7938
+ "variant": "caption"
7939
+ },
7940
+ {
7941
+ "action": "GUESS_LINE",
7942
+ "actionPayload": {
7943
+ "param": "intercept"
7944
+ },
7945
+ "max": "@config.guessInterceptMax",
7946
+ "min": "@config.guessInterceptMin",
7947
+ "showTooltip": true,
7948
+ "step": "@config.guessInterceptStep",
7949
+ "type": "range-slider",
7950
+ "value": "@entity.guessIntercept"
7951
+ }
7952
+ ],
7953
+ "direction": "vertical",
7954
+ "gap": "xs",
7955
+ "type": "stack"
7956
+ }
7957
+ ],
7958
+ "direction": "vertical",
7959
+ "gap": "sm",
7960
+ "type": "stack"
7961
+ },
7962
+ {
7963
+ "color": "muted",
6664
7964
  "content": [
6665
7965
  "if",
6666
7966
  "@config.showR",
@@ -6685,7 +7985,7 @@
6685
7985
  ""
6686
7986
  ],
6687
7987
  "type": "typography",
6688
- "variant": "body"
7988
+ "variant": "caption"
6689
7989
  },
6690
7990
  {
6691
7991
  "content": "@entity.narration",