@vue-skuilder/common-ui 0.2.31 → 0.2.32

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.
@@ -601,23 +601,26 @@ var G = {
601
601
  class: "mb-2"
602
602
  }, Pe = { class: "text-right" }, Fe = { class: "text-right" }, Ie = { class: "text-right" }, Le = {
603
603
  key: 2,
604
- class: "mb-2"
604
+ class: "mb-2 sk-mini-line text-medium-emphasis"
605
605
  }, Re = {
606
606
  key: 3,
607
607
  class: "mb-2"
608
- }, ze = { class: "text-caption font-weight-medium" }, Be = {
608
+ }, ze = {
609
+ key: 4,
610
+ class: "mb-2"
611
+ }, Be = { class: "text-caption font-weight-medium" }, Ve = {
609
612
  key: 0,
610
613
  class: "text-medium-emphasis font-weight-regular"
611
- }, Ve = {
614
+ }, He = {
612
615
  key: 1,
613
616
  title: "runner-up"
614
- }, He = ["onClick"], Ue = { class: "text-right" }, We = { class: "text-caption font-weight-medium" }, Ge = ["onClick"], Ke = { class: "text-medium-emphasis" }, qe = { class: "text-no-wrap" }, Je = { class: "text-no-wrap" }, Ye = { class: "text-right text-no-wrap" }, Xe = { class: "text-caption" }, Ze = {
615
- key: 4,
616
- class: "mb-2"
617
- }, Qe = { class: "sk-hint-block" }, $e = {
617
+ }, Ue = ["onClick"], We = { class: "text-right" }, Ge = { class: "text-caption font-weight-medium" }, Ke = ["onClick"], qe = { class: "text-medium-emphasis" }, Je = { class: "text-no-wrap" }, Ye = { class: "text-no-wrap" }, Xe = { class: "text-right text-no-wrap" }, Ze = { class: "text-caption" }, Qe = {
618
618
  key: 5,
619
+ class: "mb-2"
620
+ }, $e = { class: "sk-hint-block" }, et = {
621
+ key: 6,
619
622
  class: "text-caption text-medium-emphasis"
620
- }, et = { key: 2 }, Y = /* @__PURE__ */ K(/* @__PURE__ */ c({
623
+ }, tt = { key: 2 }, Y = /* @__PURE__ */ K(/* @__PURE__ */ c({
621
624
  __name: "RunDetail",
622
625
  props: { run: {} },
623
626
  emits: ["open-card"],
@@ -675,11 +678,12 @@ var G = {
675
678
  ]))), 128))])]),
676
679
  _: 1
677
680
  })])) : r("", !0),
678
- t.run.regulators?.length ? (p(), i("div", Le, [c[4] || (c[4] = a("div", { class: "text-caption font-weight-medium" }, "regulators", -1)), (p(!0), i(e, null, h(t.run.regulators, (e) => (p(), i("div", {
681
+ t.run.versions ? (p(), i("div", Le, " strategies " + v(t.run.versions.strategies ?? "—") + " · content " + v(t.run.versions.content ?? "—"), 1)) : r("", !0),
682
+ t.run.regulators?.length ? (p(), i("div", Re, [c[4] || (c[4] = a("div", { class: "text-caption font-weight-medium" }, "regulators", -1)), (p(!0), i(e, null, h(t.run.regulators, (e) => (p(), i("div", {
679
683
  key: e.name,
680
684
  class: "sk-mini-line"
681
685
  }, [a("span", { class: u(e.multiplier > 1 ? "text-warning" : "text-medium-emphasis") }, " ×" + v(e.multiplier.toFixed(2)), 3), o(" " + v(y(L)(e)), 1)]))), 128))])) : r("", !0),
682
- t.run.cards?.length ? (p(), i("div", Re, [a("div", ze, [c[5] || (c[5] = o(" selection ")), _.value ? (p(), i("span", Be, " · by source: " + v(_.value), 1)) : r("", !0)]), s(l, {
686
+ t.run.cards?.length ? (p(), i("div", ze, [a("div", Be, [c[5] || (c[5] = o(" selection ")), _.value ? (p(), i("span", Ve, " · by source: " + v(_.value), 1)) : r("", !0)]), s(l, {
683
687
  density: "compact",
684
688
  class: "sk-mini-table"
685
689
  }, {
@@ -700,65 +704,65 @@ var G = {
700
704
  }, {
701
705
  default: x(() => c[6] || (c[6] = [o("mdi-check")])),
702
706
  _: 1
703
- })) : (p(), i("span", Ve, "·"))]),
707
+ })) : (p(), i("span", He, "·"))]),
704
708
  a("td", null, [a("a", {
705
709
  class: "sk-card-link",
706
710
  onClick: (t) => f("open-card", e.cardId)
707
- }, v(e.cardId), 9, He)]),
711
+ }, v(e.cardId), 9, Ue)]),
708
712
  a("td", null, v(e.origin), 1),
709
713
  a("td", null, v(y(R)(e)), 1),
710
- a("td", Ue, v(y(j)(e.score)), 1)
714
+ a("td", We, v(y(j)(e.score)), 1)
711
715
  ], 2))), 128))])]),
712
716
  _: 1
713
717
  })])) : r("", !0),
714
718
  (p(!0), i(e, null, h(m.value, (t) => (p(), i("div", {
715
719
  key: t.label,
716
720
  class: "mb-2"
717
- }, [a("div", We, [
721
+ }, [a("div", Ge, [
718
722
  o(v(t.label) + ": ", 1),
719
723
  a("a", {
720
724
  class: "sk-card-link",
721
725
  onClick: (e) => f("open-card", t.card.cardId)
722
- }, v(t.card.cardId), 9, Ge),
723
- a("span", Ke, " (" + v(t.card.origin) + ", " + v(y(R)(t.card)) + ") final " + v(y(j)(t.card.score)), 1)
726
+ }, v(t.card.cardId), 9, Ke),
727
+ a("span", qe, " (" + v(t.card.origin) + ", " + v(y(R)(t.card)) + ") final " + v(y(j)(t.card.score)), 1)
724
728
  ]), s(l, {
725
729
  density: "compact",
726
730
  class: "sk-mini-table"
727
731
  }, {
728
732
  default: x(() => [a("tbody", null, [(p(!0), i(e, null, h(t.card.trail, (e, t) => (p(), i("tr", { key: t }, [
729
- a("td", qe, v(e.action), 1),
730
- a("td", Je, v(e.strategyName), 1),
731
- a("td", Ye, v(y(j)(e.score)), 1),
732
- a("td", Xe, v(e.reason), 1)
733
+ a("td", Je, v(e.action), 1),
734
+ a("td", Ye, v(e.strategyName), 1),
735
+ a("td", Xe, v(y(j)(e.score)), 1),
736
+ a("td", Ze, v(e.reason), 1)
733
737
  ]))), 128))])]),
734
738
  _: 2
735
739
  }, 1024)]))), 128)),
736
- t.run.hints ? (p(), i("div", Ze, [c[8] || (c[8] = a("div", { class: "text-caption font-weight-medium" }, "hints", -1)), a("pre", Qe, v(JSON.stringify(t.run.hints, null, 2)), 1)])) : r("", !0),
737
- t.run.discardedTail ? (p(), i("div", $e, [
740
+ t.run.hints ? (p(), i("div", Qe, [c[8] || (c[8] = a("div", { class: "text-caption font-weight-medium" }, "hints", -1)), a("pre", $e, v(JSON.stringify(t.run.hints, null, 2)), 1)])) : r("", !0),
741
+ t.run.discardedTail ? (p(), i("div", et, [
738
742
  o(" discarded tail: " + v(t.run.discardedTail.count) + " cards ", 1),
739
743
  t.run.discardedTail.scoreRange ? (p(), i(e, { key: 0 }, [o(" · score [" + v(t.run.discardedTail.scoreRange[0].toFixed(2)) + ", " + v(t.run.discardedTail.scoreRange[1].toFixed(2)) + "] ", 1)], 64)) : r("", !0),
740
744
  t.run.discardedTail.eloRange ? (p(), i(e, { key: 1 }, [o(" · ELO [" + v(Math.round(t.run.discardedTail.eloRange[0])) + ", " + v(Math.round(t.run.discardedTail.eloRange[1])) + "] ", 1)], 64)) : r("", !0),
741
- t.run.discardedTail.note ? (p(), i("div", et, v(t.run.discardedTail.note), 1)) : r("", !0)
745
+ t.run.discardedTail.note ? (p(), i("div", tt, v(t.run.discardedTail.note), 1)) : r("", !0)
742
746
  ])) : r("", !0)
743
747
  ]);
744
748
  };
745
749
  }
746
- }), [["__scopeId", "data-v-4e9c454b"]]), tt = { class: "d-flex align-center flex-wrap mb-4 ga-2" }, nt = { class: "text-caption text-medium-emphasis" }, rt = { class: "text-right" }, it = { class: "text-right" }, at = {
750
+ }), [["__scopeId", "data-v-90c88783"]]), nt = { class: "d-flex align-center flex-wrap mb-4 ga-2" }, rt = { class: "text-caption text-medium-emphasis" }, it = { class: "text-right" }, at = { class: "text-right" }, ot = {
747
751
  key: 1,
748
752
  class: "text-caption text-disabled"
749
- }, ot = { class: "sk-hint-block" }, st = { class: "sk-hint-block" }, ct = { class: "text-caption text-medium-emphasis mb-4" }, lt = { class: "text-right" }, ut = { class: "text-right" }, dt = { class: "text-disabled" }, ft = { class: "text-right" }, pt = { class: "d-flex flex-wrap ga-5" }, mt = { class: "text-caption text-medium-emphasis" }, ht = { class: "text-h6 text-success" }, gt = { class: "text-caption text-medium-emphasis" }, _t = { class: "text-h6 text-error" }, vt = { class: "text-h6" }, yt = { class: "text-caption text-disabled" }, bt = { class: "d-flex align-center flex-wrap mb-2 ga-3" }, xt = {
753
+ }, st = { class: "sk-hint-block" }, ct = { class: "sk-hint-block" }, lt = { class: "text-caption text-medium-emphasis mb-4" }, ut = { class: "text-right" }, dt = { class: "text-right" }, ft = { class: "text-disabled" }, pt = { class: "text-right" }, mt = { class: "d-flex flex-wrap ga-5" }, ht = { class: "text-caption text-medium-emphasis" }, gt = { class: "text-h6 text-success" }, _t = { class: "text-caption text-medium-emphasis" }, vt = { class: "text-h6 text-error" }, yt = { class: "text-h6" }, bt = { class: "text-caption text-disabled" }, xt = { class: "d-flex align-center flex-wrap mb-2 ga-3" }, St = {
750
754
  key: 4,
751
755
  class: "sk-timeline"
752
- }, St = { class: "sk-tl-time text-caption text-disabled" }, Ct = { class: "sk-tl-gutter" }, wt = {
756
+ }, Ct = { class: "sk-tl-time text-caption text-disabled" }, wt = { class: "sk-tl-gutter" }, Tt = {
753
757
  key: 0,
754
758
  class: "sk-tl-body"
755
- }, Tt = { class: "d-flex align-center flex-wrap ga-1" }, Et = { class: "font-weight-medium" }, Dt = { class: "text-caption text-medium-emphasis ml-2" }, Ot = {
759
+ }, Et = { class: "d-flex align-center flex-wrap ga-1" }, Dt = { class: "font-weight-medium" }, Ot = { class: "text-caption text-medium-emphasis ml-2" }, kt = {
756
760
  key: 1,
757
761
  class: "text-caption text-error ml-2"
758
- }, kt = {
762
+ }, At = {
759
763
  key: 1,
760
764
  class: "sk-tl-body"
761
- }, At = ["title", "onClick"], jt = { class: "text-caption" }, Mt = { class: "text-caption text-medium-emphasis ml-2" }, Nt = {
765
+ }, jt = ["title", "onClick"], Mt = { class: "text-caption" }, Nt = { class: "text-caption text-medium-emphasis ml-2" }, Pt = {
762
766
  key: 0,
763
767
  class: "text-caption text-disabled ml-2"
764
768
  }, X = /* @__PURE__ */ K(/* @__PURE__ */ c({
@@ -812,7 +816,7 @@ var G = {
812
816
  return (t, c) => {
813
817
  let l = g("v-alert"), d = g("v-chip"), m = g("v-icon"), E = g("v-spacer"), A = g("v-btn"), L = g("v-table"), R = g("v-card"), z = g("v-col"), B = g("v-row"), V = g("v-btn-toggle");
814
818
  return p(), i("div", null, [_.value ? (p(), i(e, { key: 1 }, [
815
- a("div", tt, [
819
+ a("div", nt, [
816
820
  s(d, {
817
821
  size: "small",
818
822
  variant: "flat",
@@ -853,7 +857,7 @@ var G = {
853
857
  _: 2
854
858
  }, 1032, ["color", "title"]))), 128)),
855
859
  s(E),
856
- a("code", nt, v(t.sessionId), 1),
860
+ a("code", rt, v(t.sessionId), 1),
857
861
  s(A, {
858
862
  variant: "text",
859
863
  size: "small",
@@ -899,12 +903,12 @@ var G = {
899
903
  a("th", { class: "text-right" }, "Δ")
900
904
  ])], -1)), a("tbody", null, [(p(!0), i(e, null, h(_.value.summary.state, (e) => (p(), i("tr", { key: e.label }, [
901
905
  a("td", null, v(e.label), 1),
902
- a("td", rt, v(fmtNum(e.from)), 1),
903
- a("td", it, v(fmtNum(e.to)), 1),
906
+ a("td", it, v(fmtNum(e.from)), 1),
907
+ a("td", at, v(fmtNum(e.to)), 1),
904
908
  a("td", { class: u(["text-right", y(deltaClass)(e.delta)]) }, v(y(k)(e.delta)), 3)
905
909
  ]))), 128))])]),
906
910
  _: 1
907
- })) : (p(), i("div", at, "No state snapshot recorded."))
911
+ })) : (p(), i("div", ot, "No state snapshot recorded."))
908
912
  ]),
909
913
  _: 1
910
914
  })]),
@@ -921,9 +925,9 @@ var G = {
921
925
  c[6] || (c[6] = a("div", { class: "text-subtitle-2 mb-1" }, "Session hints", -1)),
922
926
  c[7] || (c[7] = a("div", { class: "text-caption text-medium-emphasis mb-3" }, " What outcome observers told the navigator. They act only through these. ", -1)),
923
927
  c[8] || (c[8] = a("span", { class: "text-caption font-weight-medium" }, "at open", -1)),
924
- a("pre", ot, v(fmtHints(b.value.config?.initHints)), 1),
928
+ a("pre", st, v(fmtHints(b.value.config?.initHints)), 1),
925
929
  c[9] || (c[9] = a("span", { class: "text-caption font-weight-medium" }, "at close", -1)),
926
- a("pre", st, v(fmtHints(b.value.finalHints)), 1)
930
+ a("pre", ct, v(fmtHints(b.value.finalHints)), 1)
927
931
  ]),
928
932
  _: 1
929
933
  })]),
@@ -931,7 +935,11 @@ var G = {
931
935
  })]),
932
936
  _: 1
933
937
  }),
934
- a("div", ct, [o(" batch limit " + v(b.value.config?.defaultBatchLimit ?? "?") + " · " + v(b.value.config?.sourceCount ?? "?") + " source(s) · opening queues supply " + v(b.value.initialQueues?.supplyQ ?? "?") + " / failed " + v(b.value.initialQueues?.failedQ ?? "?") + " ", 1), b.value.tally ? (p(), i(e, { key: 0 }, [o(" · ended with " + v(b.value.tally.failedQRemaining) + " still in the failed queue", 1)], 64)) : r("", !0)]),
938
+ a("div", lt, [
939
+ o(" batch limit " + v(b.value.config?.defaultBatchLimit ?? "?") + " · " + v(b.value.config?.sourceCount ?? "?") + " source(s) · opening queues supply " + v(b.value.initialQueues?.supplyQ ?? "?") + " / failed " + v(b.value.initialQueues?.failedQ ?? "?") + " ", 1),
940
+ b.value.tally ? (p(), i(e, { key: 0 }, [o(" · ended with " + v(b.value.tally.failedQRemaining) + " still in the failed queue", 1)], 64)) : r("", !0),
941
+ b.value.versions ? (p(), i(e, { key: 1 }, [o(" · framework " + v(b.value.versions.framework), 1), b.value.versions.app ? (p(), i(e, { key: 0 }, [o(" · app " + v(b.value.versions.app), 1)], 64)) : r("", !0)], 64)) : r("", !0)
942
+ ]),
935
943
  S.value.length ? (p(), n(R, {
936
944
  key: 1,
937
945
  variant: "outlined",
@@ -952,10 +960,10 @@ var G = {
952
960
  a("th", { class: "text-right" }, "Time")
953
961
  ])], -1)), a("tbody", null, [(p(!0), i(e, null, h(S.value, (n) => (p(), i("tr", { key: n.tag }, [
954
962
  a("td", null, [a("code", { class: u(y(N)(t.interpreters, n.tag) ? "text-primary" : "") }, v(n.tag), 3)]),
955
- a("td", lt, v(n.responses), 1),
956
- a("td", ut, v(n.cards), 1),
957
- a("td", { class: u(["text-right", y(accuracyClass)(n.accuracy)]) }, [n.accuracy === null ? (p(), i(e, { key: 0 }, [o("—")], 64)) : (p(), i(e, { key: 1 }, [o(v(Math.round(n.accuracy * 100)) + "% ", 1), a("span", dt, "(" + v(n.correct) + "/" + v(n.correct + n.incorrect) + ")", 1)], 64))], 2),
958
- a("td", ft, v((n.totalTimeMs / 1e3).toFixed(1)) + "s", 1)
963
+ a("td", ut, v(n.responses), 1),
964
+ a("td", dt, v(n.cards), 1),
965
+ a("td", { class: u(["text-right", y(accuracyClass)(n.accuracy)]) }, [n.accuracy === null ? (p(), i(e, { key: 0 }, [o("—")], 64)) : (p(), i(e, { key: 1 }, [o(v(Math.round(n.accuracy * 100)) + "% ", 1), a("span", ft, "(" + v(n.correct) + "/" + v(n.correct + n.incorrect) + ")", 1)], 64))], 2),
966
+ a("td", pt, v((n.totalTimeMs / 1e3).toFixed(1)) + "s", 1)
959
967
  ]))), 128))])]),
960
968
  _: 1
961
969
  })
@@ -970,20 +978,20 @@ var G = {
970
978
  default: x(() => [
971
979
  c[15] || (c[15] = a("div", { class: "text-subtitle-2 mb-1" }, "ELO ledger", -1)),
972
980
  c[16] || (c[16] = a("div", { class: "text-caption text-medium-emphasis mb-3" }, " The per-response learner global-ELO exchanges that net to the session's ELO move. Wins above the learner's level pay little; losses below it cost a lot, so a high hit rate can still net negative. ", -1)),
973
- a("div", pt, [
981
+ a("div", mt, [
974
982
  a("div", null, [c[13] || (c[13] = a("div", { class: "text-caption text-medium-emphasis" }, "net", -1)), a("div", { class: u(["text-h6", y(deltaClass)(w.value.net)]) }, v(y(k)(w.value.net)), 3)]),
975
- a("div", null, [a("div", mt, "gained · " + v(w.value.wins) + " win(s)", 1), a("div", ht, v(y(k)(w.value.gained)), 1)]),
976
- a("div", null, [a("div", gt, "lost · " + v(w.value.losses) + " loss(es)", 1), a("div", _t, v(y(k)(w.value.lost)), 1)]),
983
+ a("div", null, [a("div", ht, "gained · " + v(w.value.wins) + " win(s)", 1), a("div", gt, v(y(k)(w.value.gained)), 1)]),
984
+ a("div", null, [a("div", _t, "lost · " + v(w.value.losses) + " loss(es)", 1), a("div", vt, v(y(k)(w.value.lost)), 1)]),
977
985
  a("div", null, [
978
986
  c[14] || (c[14] = a("div", { class: "text-caption text-medium-emphasis" }, "exchanges", -1)),
979
- a("div", vt, v(w.value.count), 1),
980
- a("div", yt, "of " + v(T.value) + " response(s)", 1)
987
+ a("div", yt, v(w.value.count), 1),
988
+ a("div", bt, "of " + v(T.value) + " response(s)", 1)
981
989
  ])
982
990
  ])
983
991
  ]),
984
992
  _: 1
985
993
  })) : r("", !0),
986
- a("div", bt, [c[17] || (c[17] = a("h2", { class: "text-h6" }, "Timeline", -1)), s(V, {
994
+ a("div", xt, [c[17] || (c[17] = a("h2", { class: "text-h6" }, "Timeline", -1)), s(V, {
987
995
  modelValue: D.value,
988
996
  "onUpdate:modelValue": c[1] || (c[1] = (e) => D.value = e),
989
997
  density: "compact",
@@ -1022,20 +1030,20 @@ var G = {
1022
1030
  }, {
1023
1031
  default: x(() => c[18] || (c[18] = [o("Nothing recorded for this session.")])),
1024
1032
  _: 1
1025
- })) : (p(), i("div", xt, [(p(!0), i(e, null, h(j.value, (l, g) => (p(), i("div", {
1033
+ })) : (p(), i("div", St, [(p(!0), i(e, null, h(j.value, (l, g) => (p(), i("div", {
1026
1034
  key: g,
1027
1035
  class: u(["sk-tl-row", rowClass(l)])
1028
1036
  }, [
1029
- a("div", St, v(y(fmtClock)(l.at)), 1),
1030
- a("div", Ct, [s(m, {
1037
+ a("div", Ct, v(y(fmtClock)(l.at)), 1),
1038
+ a("div", wt, [s(m, {
1031
1039
  size: "small",
1032
1040
  color: entryColor(l)
1033
1041
  }, {
1034
1042
  default: x(() => [o(v(entryIcon(l)), 1)]),
1035
1043
  _: 2
1036
1044
  }, 1032, ["color"])]),
1037
- l.kind === "run" ? (p(), i("div", wt, [a("div", Tt, [
1038
- a("span", Et, v(l.run.label), 1),
1045
+ l.kind === "run" ? (p(), i("div", Tt, [a("div", Et, [
1046
+ a("span", Dt, v(l.run.label), 1),
1039
1047
  l.run.mode ? (p(), n(d, {
1040
1048
  key: 0,
1041
1049
  size: "x-small",
@@ -1044,8 +1052,8 @@ var G = {
1044
1052
  default: x(() => [o(v(l.run.mode), 1)]),
1045
1053
  _: 2
1046
1054
  }, 1024)) : r("", !0),
1047
- a("span", Dt, " generated " + v(l.run.generatedCount) + " → selected " + v(l.run.finalCount) + " (" + v(l.run.newSelected) + " new, " + v(l.run.reviewsSelected) + " review) ", 1),
1048
- l.run.generatedCount > 0 && l.run.finalCount === 0 ? (p(), i("span", Ot, " nothing survived ")) : r("", !0),
1055
+ a("span", Ot, " generated " + v(l.run.generatedCount) + " → selected " + v(l.run.finalCount) + " (" + v(l.run.newSelected) + " new, " + v(l.run.reviewsSelected) + " review) ", 1),
1056
+ l.run.generatedCount > 0 && l.run.finalCount === 0 ? (p(), i("span", kt, " nothing survived ")) : r("", !0),
1049
1057
  typeof l.run.userElo == "number" ? (p(), n(d, {
1050
1058
  key: 2,
1051
1059
  size: "x-small",
@@ -1080,12 +1088,12 @@ var G = {
1080
1088
  run: l.run,
1081
1089
  class: "mt-1",
1082
1090
  onOpenCard: c[2] || (c[2] = (e) => f("open-card", e))
1083
- }, null, 8, ["run"])) : r("", !0)])) : (p(), i("div", kt, [
1091
+ }, null, 8, ["run"])) : r("", !0)])) : (p(), i("div", At, [
1084
1092
  a("a", {
1085
1093
  class: "sk-card-link",
1086
1094
  title: `Open ${l.cardId} in card history`,
1087
1095
  onClick: (e) => f("open-card", l.cardId)
1088
- }, [o(v(l.questionType ?? "card") + " ", 1), a("code", jt, v(y(shortId)(l.cardId)), 1)], 8, At),
1096
+ }, [o(v(l.questionType ?? "card") + " ", 1), a("code", Mt, v(y(shortId)(l.cardId)), 1)], 8, jt),
1089
1097
  (p(!0), i(e, null, h(skillTags(l.tags), (e) => (p(), n(d, {
1090
1098
  key: e,
1091
1099
  size: "x-small",
@@ -1096,8 +1104,8 @@ var G = {
1096
1104
  default: x(() => [o(v(y(H)(t.interpreters, e)), 1)]),
1097
1105
  _: 2
1098
1106
  }, 1024))), 128)),
1099
- a("span", Mt, [o(v((l.timeSpentMs / 1e3).toFixed(1)) + "s ", 1), l.priorAttempts ? (p(), i(e, { key: 0 }, [o(" · attempt " + v(l.priorAttempts + 1), 1)], 64)) : r("", !0)]),
1100
- l.userAnswer == null ? r("", !0) : (p(), i("span", Nt, "“" + v(y(O)(l.userAnswer)) + "”", 1)),
1107
+ a("span", Nt, [o(v((l.timeSpentMs / 1e3).toFixed(1)) + "s ", 1), l.priorAttempts ? (p(), i(e, { key: 0 }, [o(" · attempt " + v(l.priorAttempts + 1), 1)], 64)) : r("", !0)]),
1108
+ l.userAnswer == null ? r("", !0) : (p(), i("span", Pt, "“" + v(y(O)(l.userAnswer)) + "”", 1)),
1101
1109
  l.elo ? (p(), i(e, { key: 1 }, [s(d, {
1102
1110
  size: "x-small",
1103
1111
  variant: "tonal",
@@ -1130,13 +1138,13 @@ var G = {
1130
1138
  }))]);
1131
1139
  };
1132
1140
  }
1133
- }), [["__scopeId", "data-v-36c9215c"]]), Pt = { class: "text-h6" }, Ft = { class: "text-caption" }, It = { class: "d-flex align-center flex-wrap mb-3 ga-3" }, Lt = ["onClick"], Rt = { class: "text-no-wrap" }, zt = { class: "text-right" }, Bt = { class: "text-right" }, Vt = {
1141
+ }), [["__scopeId", "data-v-3cc6eb88"]]), Ft = { class: "text-h6" }, It = { class: "text-caption" }, Lt = { class: "d-flex align-center flex-wrap mb-3 ga-3" }, Rt = ["onClick"], zt = { class: "text-no-wrap" }, Bt = { class: "text-right" }, Vt = { class: "text-right" }, Ht = {
1134
1142
  key: 1,
1135
1143
  class: "text-disabled"
1136
- }, Ht = { class: "text-right" }, Ut = { class: "text-no-wrap text-caption" }, Wt = { class: "text-no-wrap text-caption" }, Gt = { key: 0 }, Kt = {
1144
+ }, Ut = { class: "text-right" }, Wt = { class: "text-no-wrap text-caption" }, Gt = { class: "text-no-wrap text-caption" }, Kt = { key: 0 }, qt = {
1137
1145
  key: 0,
1138
1146
  class: "text-disabled"
1139
- }, qt = { class: "text-right" }, Z = /* @__PURE__ */ K(/* @__PURE__ */ c({
1147
+ }, Jt = { class: "text-right" }, Z = /* @__PURE__ */ K(/* @__PURE__ */ c({
1140
1148
  __name: "LearnerSessionList",
1141
1149
  props: {
1142
1150
  dataset: {},
@@ -1228,14 +1236,14 @@ var G = {
1228
1236
  color: e.color,
1229
1237
  class: "pa-2 text-center"
1230
1238
  }, {
1231
- default: x(() => [a("div", Pt, v(e.value), 1), a("div", Ft, v(e.label), 1)]),
1239
+ default: x(() => [a("div", Ft, v(e.value), 1), a("div", It, v(e.label), 1)]),
1232
1240
  _: 2
1233
1241
  }, 1032, ["color"])]),
1234
1242
  _: 2
1235
1243
  }, 1024))), 128))]),
1236
1244
  _: 1
1237
1245
  }),
1238
- a("div", It, [s(O, {
1246
+ a("div", Lt, [s(O, {
1239
1247
  modelValue: b.value,
1240
1248
  "onUpdate:modelValue": c[0] || (c[0] = (e) => b.value = e),
1241
1249
  density: "compact",
@@ -1293,7 +1301,7 @@ var G = {
1293
1301
  class: "sk-admin-row",
1294
1302
  onClick: (e) => f("open", t.doc.sessionId)
1295
1303
  }, [
1296
- a("td", Rt, v(y(fmtTime)(t.doc.startTime)), 1),
1304
+ a("td", zt, v(y(fmtTime)(t.doc.startTime)), 1),
1297
1305
  a("td", null, [s(j, {
1298
1306
  size: "x-small",
1299
1307
  variant: "flat",
@@ -1302,14 +1310,14 @@ var G = {
1302
1310
  default: x(() => [o(v(t.doc.status), 1)]),
1303
1311
  _: 2
1304
1312
  }, 1032, ["color"])]),
1305
- a("td", zt, v(t.doc.tally?.cardsPresented ?? "—"), 1),
1306
- a("td", Bt, [t.accuracy === null ? (p(), i("span", Vt, "—")) : (p(), i("span", {
1313
+ a("td", Bt, v(t.doc.tally?.cardsPresented ?? "—"), 1),
1314
+ a("td", Vt, [t.accuracy === null ? (p(), i("span", Ht, "—")) : (p(), i("span", {
1307
1315
  key: 0,
1308
1316
  class: u(y(accuracyClass)(t.accuracy))
1309
1317
  }, v(Math.round(t.accuracy * 100)) + "% ", 3))]),
1310
- a("td", Ht, v(t.doc.runs?.length ?? 0), 1),
1311
- a("td", Ut, v(clockText(t)), 1),
1312
- a("td", Wt, [(p(!0), i(e, null, h(deltas(t), (t, n) => (p(), i(e, { key: t.label }, [n > 0 ? (p(), i("span", Gt, " · ")) : r("", !0), a("span", { class: u(y(deltaClass)(t.delta)) }, v(y(k)(t.delta)) + "\xA0" + v(t.label), 3)], 64))), 128)), deltas(t).length === 0 ? (p(), i("span", Kt, "—")) : r("", !0)]),
1318
+ a("td", Ut, v(t.doc.runs?.length ?? 0), 1),
1319
+ a("td", Wt, v(clockText(t)), 1),
1320
+ a("td", Gt, [(p(!0), i(e, null, h(deltas(t), (t, n) => (p(), i(e, { key: t.label }, [n > 0 ? (p(), i("span", Kt, " · ")) : r("", !0), a("span", { class: u(y(deltaClass)(t.delta)) }, v(y(k)(t.delta)) + "\xA0" + v(t.label), 3)], 64))), 128)), deltas(t).length === 0 ? (p(), i("span", qt, "—")) : r("", !0)]),
1313
1321
  a("td", null, [(p(!0), i(e, null, h(t.flags, (e) => (p(), n(D, {
1314
1322
  key: e,
1315
1323
  size: "small",
@@ -1320,74 +1328,74 @@ var G = {
1320
1328
  default: x(() => [o(v(y(W)[e].icon), 1)]),
1321
1329
  _: 2
1322
1330
  }, 1032, ["color", "title"]))), 128))]),
1323
- a("td", qt, [s(D, {
1331
+ a("td", Jt, [s(D, {
1324
1332
  size: "small",
1325
1333
  class: "text-disabled"
1326
1334
  }, {
1327
1335
  default: x(() => c[2] || (c[2] = [o("mdi-chevron-right")])),
1328
1336
  _: 1
1329
1337
  })])
1330
- ], 8, Lt))), 128))])]),
1338
+ ], 8, Rt))), 128))])]),
1331
1339
  _: 1
1332
1340
  }))
1333
1341
  ]);
1334
1342
  };
1335
1343
  }
1336
- }), [["__scopeId", "data-v-5c46cc58"]]), Jt = { class: "sk-pipeline" }, Yt = { class: "d-flex flex-wrap align-center ga-2 mb-3" }, Xt = { class: "text-caption" }, Zt = {
1344
+ }), [["__scopeId", "data-v-5c46cc58"]]), Yt = { class: "sk-pipeline" }, Xt = { class: "d-flex flex-wrap align-center ga-2 mb-3" }, Zt = { class: "text-caption" }, Qt = {
1337
1345
  key: 0,
1338
1346
  class: "text-caption text-medium-emphasis"
1339
- }, Qt = { class: "sk-stage" }, $t = { class: "d-flex align-center mb-1" }, en = { class: "sk-stage-num" }, tn = { class: "font-weight-medium" }, nn = { class: "text-caption text-medium-emphasis mb-2" }, rn = { class: "d-flex flex-wrap align-center ga-2" }, an = { class: "font-weight-medium" }, on = { class: "text-caption" }, sn = {
1347
+ }, $t = { class: "sk-stage" }, en = { class: "d-flex align-center mb-1" }, tn = { class: "sk-stage-num" }, nn = { class: "font-weight-medium" }, rn = { class: "text-caption text-medium-emphasis mb-2" }, an = { class: "d-flex flex-wrap align-center ga-2" }, on = { class: "font-weight-medium" }, sn = { class: "text-caption" }, cn = {
1340
1348
  key: 0,
1341
1349
  class: "text-caption mt-1"
1342
- }, cn = {
1350
+ }, ln = {
1343
1351
  key: 1,
1344
1352
  class: "text-caption mt-1"
1345
- }, ln = {
1353
+ }, un = {
1346
1354
  key: 1,
1347
1355
  class: "text-medium-emphasis"
1348
- }, un = {
1356
+ }, dn = {
1349
1357
  key: 2,
1350
1358
  class: "mt-1"
1351
- }, dn = ["onClick"], fn = {
1359
+ }, fn = ["onClick"], pn = {
1352
1360
  key: 0,
1353
1361
  class: "sk-config"
1354
- }, pn = {
1362
+ }, mn = {
1355
1363
  key: 0,
1356
1364
  class: "text-caption text-medium-emphasis"
1357
- }, mn = { class: "d-flex flex-wrap align-center ga-2" }, hn = { class: "font-weight-medium" }, gn = { class: "text-caption" }, _n = {
1365
+ }, hn = { class: "d-flex flex-wrap align-center ga-2" }, gn = { class: "font-weight-medium" }, _n = { class: "text-caption" }, vn = {
1358
1366
  key: 0,
1359
1367
  class: "text-caption mt-1"
1360
- }, vn = {
1368
+ }, yn = {
1361
1369
  key: 1,
1362
1370
  class: "text-caption mt-1 text-medium-emphasis"
1363
- }, yn = {
1371
+ }, bn = {
1364
1372
  key: 2,
1365
1373
  class: "mt-1"
1366
- }, bn = { class: "sk-impact-bar" }, xn = ["title"], Sn = { class: "text-caption" }, Cn = {
1374
+ }, xn = { class: "sk-impact-bar" }, Sn = ["title"], Cn = { class: "text-caption" }, wn = {
1367
1375
  key: 1,
1368
1376
  class: "text-caption text-medium-emphasis"
1369
- }, wn = {
1377
+ }, Tn = {
1370
1378
  key: 3,
1371
1379
  class: "mt-1"
1372
- }, Tn = ["onClick"], En = {
1380
+ }, En = ["onClick"], Dn = {
1373
1381
  key: 0,
1374
1382
  class: "sk-config"
1375
- }, Dn = { class: "sk-nav" }, Q = { class: "d-flex flex-wrap align-center ga-2" }, On = { class: "text-caption mt-1" }, kn = {
1383
+ }, Q = { class: "sk-nav" }, On = { class: "d-flex flex-wrap align-center ga-2" }, kn = { class: "text-caption mt-1" }, An = {
1376
1384
  key: 0,
1377
1385
  class: "text-caption mt-1"
1378
- }, An = { class: "sk-nav" }, jn = { class: "d-flex flex-wrap align-center ga-2" }, Mn = { class: "text-caption mt-1" }, Nn = {
1386
+ }, jn = { class: "sk-nav" }, Mn = { class: "d-flex flex-wrap align-center ga-2" }, Nn = { class: "text-caption mt-1" }, Pn = {
1379
1387
  key: 0,
1380
1388
  class: "text-caption mt-1"
1381
- }, Pn = {
1389
+ }, Fn = {
1382
1390
  key: 0,
1383
1391
  class: "text-caption text-medium-emphasis"
1384
- }, Fn = {
1392
+ }, In = {
1385
1393
  key: 3,
1386
1394
  class: "text-caption"
1387
- }, In = {
1395
+ }, Ln = {
1388
1396
  key: 0,
1389
1397
  class: "sk-stage-arrow"
1390
- }, Ln = {
1398
+ }, Rn = {
1391
1399
  key: 0,
1392
1400
  class: "text-caption text-medium-emphasis mt-3"
1393
1401
  }, $ = /* @__PURE__ */ K(/* @__PURE__ */ c({
@@ -1498,8 +1506,8 @@ var G = {
1498
1506
  }
1499
1507
  return (t, c) => {
1500
1508
  let l = g("v-chip"), m = g("v-alert"), _ = g("v-icon");
1501
- return p(), i("div", Jt, [
1502
- a("div", Yt, [
1509
+ return p(), i("div", Yt, [
1510
+ a("div", Xt, [
1503
1511
  s(l, {
1504
1512
  size: "small",
1505
1513
  variant: "tonal",
@@ -1508,8 +1516,8 @@ var G = {
1508
1516
  default: x(() => [o(v(b.value.kind === "default" ? "default pipeline: the course has no strategy docs" : "assembled from strategy docs"), 1)]),
1509
1517
  _: 1
1510
1518
  }, 8, ["color"]),
1511
- a("span", Xt, v(b.value.generators.length) + " generator(s) · " + v(b.value.filters.length) + " filter(s) ", 1),
1512
- t.stats ? (p(), i("span", Zt, " · run stats" + v(t.statsLabel ? ` for ${t.statsLabel}` : "") + ": " + v(t.stats.runs) + " runs over " + v(t.stats.sessions) + " sessions, " + v(y(fmtTime)(t.stats.firstRunAt)) + " – " + v(y(fmtTime)(t.stats.lastRunAt)), 1)) : r("", !0)
1519
+ a("span", Zt, v(b.value.generators.length) + " generator(s) · " + v(b.value.filters.length) + " filter(s) ", 1),
1520
+ t.stats ? (p(), i("span", Qt, " · run stats" + v(t.statsLabel ? ` for ${t.statsLabel}` : "") + ": " + v(t.stats.runs) + " runs over " + v(t.stats.sessions) + " sessions, " + v(y(fmtTime)(t.stats.firstRunAt)) + " – " + v(y(fmtTime)(t.stats.lastRunAt)), 1)) : r("", !0)
1513
1521
  ]),
1514
1522
  (p(!0), i(e, null, h(b.value.skipped, (e) => (p(), n(m, {
1515
1523
  key: e.strategy._id,
@@ -1546,16 +1554,16 @@ var G = {
1546
1554
  default: x(() => [o(v(e), 1)]),
1547
1555
  _: 2
1548
1556
  }, 1024))), 128)),
1549
- (p(!0), i(e, null, h(y(U), (m, g) => (p(), i("div", { key: m.key }, [a("div", Qt, [
1550
- a("div", $t, [a("span", en, v(g + 1), 1), a("span", tn, v(m.title), 1)]),
1551
- a("div", nn, v(m.summary), 1),
1557
+ (p(!0), i(e, null, h(y(U), (m, g) => (p(), i("div", { key: m.key }, [a("div", $t, [
1558
+ a("div", en, [a("span", tn, v(g + 1), 1), a("span", nn, v(m.title), 1)]),
1559
+ a("div", rn, v(m.summary), 1),
1552
1560
  m.key === "generate" ? (p(!0), i(e, { key: 0 }, h(b.value.generators, (n) => (p(), i("div", {
1553
1561
  key: n.name,
1554
1562
  class: "sk-nav"
1555
1563
  }, [
1556
- a("div", rn, [
1557
- a("span", an, v(n.name), 1),
1558
- a("code", on, v(n.implementingClass), 1),
1564
+ a("div", an, [
1565
+ a("span", on, v(n.name), 1),
1566
+ a("code", sn, v(n.implementingClass), 1),
1559
1567
  s(l, {
1560
1568
  size: "x-small",
1561
1569
  variant: "outlined",
@@ -1565,24 +1573,24 @@ var G = {
1565
1573
  _: 2
1566
1574
  }, 1032, ["color"])
1567
1575
  ]),
1568
- n.strategy?.description ? (p(), i("div", sn, v(n.strategy.description), 1)) : r("", !0),
1569
- t.stats ? (p(), i("div", cn, [genStat(n.name) ? (p(), i(e, { key: 0 }, [o(v(fmtNum(genStat(n.name).meanCards)) + " candidates/run (" + v(fmtNum(genStat(n.name).meanNew)) + " new, " + v(fmtNum(genStat(n.name).meanReview)) + " review) · top score " + v(genStat(n.name).topScoreLast.toFixed(2)) + " last, " + v(genStat(n.name).topScoreMax.toFixed(2)) + " max ", 1), t.stats.runsWithSelection > 0 ? (p(), i(e, { key: 0 }, [
1576
+ n.strategy?.description ? (p(), i("div", cn, v(n.strategy.description), 1)) : r("", !0),
1577
+ t.stats ? (p(), i("div", ln, [genStat(n.name) ? (p(), i(e, { key: 0 }, [o(v(fmtNum(genStat(n.name).meanCards)) + " candidates/run (" + v(fmtNum(genStat(n.name).meanNew)) + " new, " + v(fmtNum(genStat(n.name).meanReview)) + " review) · top score " + v(genStat(n.name).topScoreLast.toFixed(2)) + " last, " + v(genStat(n.name).topScoreMax.toFixed(2)) + " max ", 1), t.stats.runsWithSelection > 0 ? (p(), i(e, { key: 0 }, [
1570
1578
  c[1] || (c[1] = o(" · ")),
1571
1579
  a("strong", null, v(genStat(n.name).selected), 1),
1572
1580
  c[2] || (c[2] = o(" selected ")),
1573
1581
  genStat(n.name).firstAttempts > 0 ? (p(), i(e, { key: 0 }, [o(" · first attempts " + v(genStat(n.name).firstAttemptsCorrect) + "/" + v(genStat(n.name).firstAttempts) + " correct ", 1), a("span", { class: u(y(accuracyClass)(accuracyOf(genStat(n.name)))) }, " (" + v(Math.round(100 * accuracyOf(genStat(n.name)))) + "%) ", 3)], 64)) : r("", !0)
1574
- ], 64)) : r("", !0)], 64)) : (p(), i("span", ln, "absent from these runs"))])) : r("", !0),
1575
- prettyConfig(n.strategy?.serializedData) ? (p(), i("div", un, [a("a", {
1582
+ ], 64)) : r("", !0)], 64)) : (p(), i("span", un, "absent from these runs"))])) : r("", !0),
1583
+ prettyConfig(n.strategy?.serializedData) ? (p(), i("div", dn, [a("a", {
1576
1584
  class: "sk-config-link text-caption",
1577
1585
  onClick: (e) => toggleConfig(`g:${n.name}`)
1578
- }, v(T.value.has(`g:${n.name}`) ? "Hide" : "Show") + " config ", 9, dn), T.value.has(`g:${n.name}`) ? (p(), i("pre", fn, v(prettyConfig(n.strategy?.serializedData)), 1)) : r("", !0)])) : r("", !0)
1579
- ]))), 128)) : m.key === "filter" ? (p(), i(e, { key: 1 }, [b.value.filters.length === 0 ? (p(), i("div", pn, "No filters.")) : r("", !0), (p(!0), i(e, null, h(b.value.filters, (m) => (p(), i("div", {
1586
+ }, v(T.value.has(`g:${n.name}`) ? "Hide" : "Show") + " config ", 9, fn), T.value.has(`g:${n.name}`) ? (p(), i("pre", pn, v(prettyConfig(n.strategy?.serializedData)), 1)) : r("", !0)])) : r("", !0)
1587
+ ]))), 128)) : m.key === "filter" ? (p(), i(e, { key: 1 }, [b.value.filters.length === 0 ? (p(), i("div", mn, "No filters.")) : r("", !0), (p(!0), i(e, null, h(b.value.filters, (m) => (p(), i("div", {
1580
1588
  key: m.name,
1581
1589
  class: "sk-nav"
1582
1590
  }, [
1583
- a("div", mn, [
1584
- a("span", hn, v(m.name), 1),
1585
- a("code", gn, v(m.implementingClass), 1),
1591
+ a("div", hn, [
1592
+ a("span", gn, v(m.name), 1),
1593
+ a("code", _n, v(m.implementingClass), 1),
1586
1594
  s(l, {
1587
1595
  size: "x-small",
1588
1596
  variant: "outlined",
@@ -1609,58 +1617,58 @@ var G = {
1609
1617
  _: 2
1610
1618
  }, 1032, ["color", "title"])
1611
1619
  ]),
1612
- m.strategy?.description ? (p(), i("div", _n, v(m.strategy.description), 1)) : m.strategy ? r("", !0) : (p(), i("div", vn, " Built in code; no strategy document. ")),
1613
- t.stats ? (p(), i("div", yn, [filterStat(m.name) ? (p(), i(e, { key: 0 }, [a("div", bn, [(p(!0), i(e, null, h(impactParts(filterStat(m.name)), (e) => (p(), i("div", {
1620
+ m.strategy?.description ? (p(), i("div", vn, v(m.strategy.description), 1)) : m.strategy ? r("", !0) : (p(), i("div", yn, " Built in code; no strategy document. ")),
1621
+ t.stats ? (p(), i("div", bn, [filterStat(m.name) ? (p(), i(e, { key: 0 }, [a("div", xn, [(p(!0), i(e, null, h(impactParts(filterStat(m.name)), (e) => (p(), i("div", {
1614
1622
  key: e.key,
1615
1623
  class: u(`bg-${e.color}`),
1616
1624
  style: d({ width: `${e.share * 100}%` }),
1617
1625
  title: `${e.key}: ${e.count}`
1618
- }, null, 14, xn))), 128))]), a("div", Sn, [o(" over " + v(filterStat(m.name).runs) + " runs: ", 1), (p(!0), i(e, null, h(impactParts(filterStat(m.name)), (e) => (p(), i("span", {
1626
+ }, null, 14, Sn))), 128))]), a("div", Cn, [o(" over " + v(filterStat(m.name).runs) + " runs: ", 1), (p(!0), i(e, null, h(impactParts(filterStat(m.name)), (e) => (p(), i("span", {
1619
1627
  key: e.key,
1620
1628
  class: "mr-2"
1621
- }, [a("span", { class: u(`text-${e.color}`) }, "●", 2), o(" " + v(e.key) + " " + v(fmtPct(e.share)), 1)]))), 128))])], 64)) : (p(), i("span", Cn, "absent from these runs"))])) : r("", !0),
1622
- prettyConfig(m.strategy?.serializedData) ? (p(), i("div", wn, [a("a", {
1629
+ }, [a("span", { class: u(`text-${e.color}`) }, "●", 2), o(" " + v(e.key) + " " + v(fmtPct(e.share)), 1)]))), 128))])], 64)) : (p(), i("span", wn, "absent from these runs"))])) : r("", !0),
1630
+ prettyConfig(m.strategy?.serializedData) ? (p(), i("div", Tn, [a("a", {
1623
1631
  class: "sk-config-link text-caption",
1624
1632
  onClick: (e) => toggleConfig(`f:${m.name}`)
1625
- }, v(T.value.has(`f:${m.name}`) ? "Hide" : "Show") + " config ", 9, Tn), T.value.has(`f:${m.name}`) ? (p(), i("pre", En, v(prettyConfig(m.strategy?.serializedData)), 1)) : r("", !0)])) : r("", !0)
1633
+ }, v(T.value.has(`f:${m.name}`) ? "Hide" : "Show") + " config ", 9, En), T.value.has(`f:${m.name}`) ? (p(), i("pre", Dn, v(prettyConfig(m.strategy?.serializedData)), 1)) : r("", !0)])) : r("", !0)
1626
1634
  ]))), 128))], 64)) : m.key === "regulate" ? (p(), i(e, { key: 2 }, [
1627
- a("div", Dn, [
1628
- a("div", Q, [c[5] || (c[5] = a("span", { class: "font-weight-medium" }, "Review mass", -1)), s(l, {
1635
+ a("div", Q, [
1636
+ a("div", On, [c[5] || (c[5] = a("span", { class: "font-weight-medium" }, "Review mass", -1)), s(l, {
1629
1637
  size: "x-small",
1630
1638
  variant: "outlined"
1631
1639
  }, {
1632
1640
  default: x(() => c[4] || (c[4] = [o("on review cards")])),
1633
1641
  _: 1
1634
1642
  })]),
1635
- a("div", On, " Each due review weighs its SRS urgency (0–1) times the filters' net effect on it. Above " + v(b.value.regulators.reviewMass.healthyMass) + " card-equivalents, every review is multiplied by ×" + v(b.value.regulators.reviewMass.rate) + " per " + v(b.value.regulators.reviewMass.healthyMass) + " in excess (uncapped). Reviews without an urgency weigh their score against " + v(b.value.regulators.reviewMass.referenceScore) + ". ", 1),
1636
- regStat("review-mass") ? (p(), i("div", kn, v(regStatText(regStat("review-mass"))), 1)) : r("", !0)
1643
+ a("div", kn, " Each due review weighs its SRS urgency (0–1) times the filters' net effect on it. Above " + v(b.value.regulators.reviewMass.healthyMass) + " card-equivalents, every review is multiplied by ×" + v(b.value.regulators.reviewMass.rate) + " per " + v(b.value.regulators.reviewMass.healthyMass) + " in excess (uncapped). Reviews without an urgency weigh their score against " + v(b.value.regulators.reviewMass.referenceScore) + ". ", 1),
1644
+ regStat("review-mass") ? (p(), i("div", An, v(regStatText(regStat("review-mass"))), 1)) : r("", !0)
1637
1645
  ]),
1638
- a("div", An, [
1639
- a("div", jn, [c[7] || (c[7] = a("span", { class: "font-weight-medium" }, "Intake", -1)), s(l, {
1646
+ a("div", jn, [
1647
+ a("div", Mn, [c[7] || (c[7] = a("span", { class: "font-weight-medium" }, "Intake", -1)), s(l, {
1640
1648
  size: "x-small",
1641
1649
  variant: "outlined"
1642
1650
  }, {
1643
1651
  default: x(() => c[6] || (c[6] = [o("on new cards no gate penalized")])),
1644
1652
  _: 1
1645
1653
  })]),
1646
- a("div", Mn, " ×" + v(b.value.regulators.intake.rate) + " per " + v(b.value.regulators.intake.scaleHours) + " hours since a new card was last presented (uncapped). The clock stops while no eligible new card exists. ", 1),
1647
- regStat("intake") ? (p(), i("div", Nn, v(regStatText(regStat("intake"))), 1)) : r("", !0)
1654
+ a("div", Nn, " ×" + v(b.value.regulators.intake.rate) + " per " + v(b.value.regulators.intake.scaleHours) + " hours since a new card was last presented (uncapped). The clock stops while no eligible new card exists. ", 1),
1655
+ regStat("intake") ? (p(), i("div", Pn, v(regStatText(regStat("intake"))), 1)) : r("", !0)
1648
1656
  ]),
1649
- t.stats && t.stats.regulators.length === 0 ? (p(), i("div", Pn, " None of these runs recorded regulator readings (recorded from 0.2.29). ")) : r("", !0)
1650
- ], 64)) : m.key === "select" && t.stats && t.stats.runsWithSelection > 0 ? (p(), i("div", Fn, [
1657
+ t.stats && t.stats.regulators.length === 0 ? (p(), i("div", Fn, " None of these runs recorded regulator readings (recorded from 0.2.29). ")) : r("", !0)
1658
+ ], 64)) : m.key === "select" && t.stats && t.stats.runsWithSelection > 0 ? (p(), i("div", In, [
1651
1659
  o(v(t.stats.selectedUnattributed) + " selected card(s) had no generator: forced in by a hint's ", 1),
1652
1660
  c[8] || (c[8] = a("code", null, "requireCards", -1)),
1653
1661
  c[9] || (c[9] = o(". "))
1654
1662
  ])) : r("", !0)
1655
- ]), g < y(U).length - 1 ? (p(), i("div", In, [s(_, { size: "small" }, {
1663
+ ]), g < y(U).length - 1 ? (p(), i("div", Ln, [s(_, { size: "small" }, {
1656
1664
  default: x(() => c[10] || (c[10] = [o("mdi-arrow-down")])),
1657
1665
  _: 1
1658
1666
  })])) : r("", !0)]))), 128)),
1659
- t.stats && t.stats.runsWithSelection === 0 ? (p(), i("div", Ln, " None of these runs recorded which cards they selected (recorded from 0.2.28), so selection and first-attempt counts are not shown. ")) : r("", !0)
1667
+ t.stats && t.stats.runsWithSelection === 0 ? (p(), i("div", Rn, " None of these runs recorded which cards they selected (recorded from 0.2.28), so selection and first-attempt counts are not shown. ")) : r("", !0)
1660
1668
  ]);
1661
1669
  };
1662
1670
  }
1663
- }), [["__scopeId", "data-v-24b6038f"]]), Rn = /* @__PURE__ */ c({
1671
+ }), [["__scopeId", "data-v-24b6038f"]]), zn = /* @__PURE__ */ c({
1664
1672
  __name: "LearnerDiagnostics",
1665
1673
  props: {
1666
1674
  dataset: {},
@@ -1747,6 +1755,6 @@ var G = {
1747
1755
  }
1748
1756
  });
1749
1757
  //#endregion
1750
- export { q as CardDossierDetail, J as LearnerCardHistory, ce as LearnerDatasetSource, Rn as LearnerDiagnostics, X as LearnerSessionDetail, Z as LearnerSessionList, $ as PipelineOverview, Y as RunDetail, downloadLearnerDump, useLearnerDataset };
1758
+ export { q as CardDossierDetail, J as LearnerCardHistory, ce as LearnerDatasetSource, zn as LearnerDiagnostics, X as LearnerSessionDetail, Z as LearnerSessionList, $ as PipelineOverview, Y as RunDetail, downloadLearnerDump, useLearnerDataset };
1751
1759
 
1752
1760
  //# sourceMappingURL=common-ui-admin.es.js.map