Skip to content

v1.10.0

Choose a tag to compare

@moiku moiku released this 25 Oct 19:22
· 185 commits to main since this release

Added

  • m-numberline (series academic 数理・統計, purpose compare; not in the free pack for now): number line. lines (1 or 2; from, to, step, sub, label, unit, labels: "all" | "ends" | "none" | [values]; by default both line ends are always labelled and only the generated labels between them are thinned, never a label the author named); values are numbers or fractions written "1/3", computed exactly and drawn as stacked fractions (numerator and denominator 24 px), negative numbers with the minus sign (−). marks (dot, open, box = □), jumps (arcs with arrowheads, either direction; nested arcs are raised above the inner arc and its label), ranges (incl: [bool, bool], a missing end runs to the edge with an arrow; overlapping ranges at stacked heights, the shared part drawn thick on the line and shaded), two lines aligned at 0 (比例数直線) with link (dashed correspondence lines, or an arrow with a label such as 「×3」), magnify (an interval grows into a longer line drawn below, with funnel lines; 10 subdivisions by default; a second entry magnifies the first, 0.1 → 0.01; the motion is a part effect, the same in both variants). build orders the kinds (default ticks,marks,links,jumps,ranges,magnify, one item per step) or whole; an item's show sets its step. arrow="on". Variants fade, draw. The draft name zoom became magnify (m-bars already has zoom)
  • m-tape (series academic, purposes part-whole, compare; not in the free pack for now): tape diagram (テープ図) and line-segment diagram (線分図, kind="line"). rows: [{label, segs: [{v, label, unknown: "?" | "□"}]}] on one shared scale (an unknown segment still has its v; other unknown values warn and draw "?"), brace: [{row, from, to, label, side: "above" | "below"}] over segment numbers (nested braces stacked), times: [{from, to, label: "2 倍"}] between rows (drawn at the rows' left ends, which always line up). build="steps" (rows, then braces, then arrows, one per step), rows (annotations with their row) or whole; show per item. Variants fade, grow
  • tools/test-numberline.mjs (in tools/test-all.mjs): m-numberline's geometry without a browser: fractions and decimals, tick positions and labels (common denominator, no trailing zeros, the minus sign), sub-ticks, two lines aligned at 0, splitting labels into text and stacked fractions, label thinning (line ends, named labels and □ marks are never dropped), range and jump levels, the shared part of ranges, arc heights
  • m-hissan (series academic 数理・統計, purpose process; paid packs only, not in the free pack for now): written column arithmetic (筆算) as taught in Japanese elementary school. The author writes only expr (487+356, 1003-457, 38×24, 851÷23, 3.6×2.4, 7.56÷1.8; * and / accepted) and the part computes and writes every step. + and −: one step per place from the ones, くり上がり as a small 1 in the column it goes to, just above the answer line (carry="top": above the first number), くり下がり as a slash, the reduced digit small above and the borrowed 1 at the left shoulder of the receiving digit (beside its reduced digit when it has one, reading 「12」), chained through zeros as in the textbook (1003−457), leading zeros of the answer not written, decimals aligned at the point with zeros appended where the first number is short. ×: one partial product per multiplier digit (fine="on": digit by digit with small carries), shifted by place, the zero row of a multiplier skipped, trailing zeros of integers set out to the right and brought down (340×26), decimals multiplied as integers and the point placed by counting both factors' decimal places (labels and numbered arcs), trailing zeros after the point struck. ÷: the Japanese layout (divisor, 「)」, bar, quotient above), the quotient starting above the first digit where division is possible, rounds of たてる・かける・ひく・おろす (per="round", default: one step per quotient digit, the step name changing within the step; per="phase": one step each), kari="on" (for the first round whose estimate is off, the divisor rounded to the nearest ten (23→20, 27→30): each try written, multiplied (and subtracted when too small; a too-big product wider than the partial dividend, such as 126 under 99, is given in the words only so that no column is reserved), crossed out and corrected by 1 with words saying why: 「ひけないので、1 小さくする」 or 「あまりが 27 より大きいので、1 大きくする」), a decimal divisor's point moved with arrows and the dividend's moved the same (zeros appended), the quotient's point above the moved point, rem="on" (the remainder read at the dividend's original point: 7.5÷2.3 = 3 あまり 0.6) or digits decimal places (integers default to the remainder; decimals without digits run until exact within the slide body's height, with a warning if they do not end). build="steps" | "whole", focus (a tint on the place or row being worked), step words beside the figure (words="off" hides them). All SVG text (52 px digits, 26 px small marks, nothing below 24 px), no KaTeX. Variants fade, draw
  • tools/test-hissan.mjs (in tools/test-all.mjs): about 20,000 checks over a sweep of exercises (2–4 digit + and −, borrowing across zeros, 2–3 digit × 1–2 digit with and without fine, decimals × decimals, ÷ by 1- and 2-digit divisors with and without remainders and to digits places, decimal ÷ decimal, 仮の商 rounds too big and too small by 1 and by 2): the written answer, partial products, rounds (P − q×d = r) and remainders reproduce exact arithmetic, and every digit stands in the column of its place, the quotient digits above the right dividend digits
  • tools/test-shape.mjs: a part whose data are attributes only can give its whole element as the wrong-shape case (m-hissan: digits="2けた"); m-hissan expressions that are not one calculation and negative differences show the placeholder

Changed

  • Previewing later steps (egatari-spec §8.4): it is now a flag, ctx.preview === true, and ctx.mode is "talk" | "learn" | "video". The 13 components that showed later steps faintly when ctx.mode === "lecture" (m-boxplot m-compare m-cycle m-fishbone m-hist m-map-japan m-menu m-pie m-predict m-scatter m-timeline m-tree m-venn) now test ctx.preview || ctx.mode === "lecture", so they work with the current bundled player and the next one (m-predict also keeps preview in the context it re-renders with after input). Drawing is unchanged in every mode the pinned Studio v0.4.3 passes. READMEs, docs/conventions(.ja).md and docs/input-components.ja.md say ctx.preview instead of ?mode=lecture / lecture. Pack-visible README text: m-cycle m-fishbone m-pie m-scatter m-timeline m-tree −2 bytes each; the other changed lines are in llm: omit blocks (pack-visible bytes unchanged)
  • m-timer: visible change. The built-in Japanese label at the end of a phase is now 「時間」 (was 「時間です」): slides are written in plain style, and Egatari Studio's checker flagged it (R-style). Lessons that set labels.done (or the old done) are unchanged; lessons pinned to an earlier version keep 「時間です」. English unchanged. m-timer has no variants, so tools/test-seed0.mjs does not compare it
  • m-predict: visible change. The −1 / +1 buttons and the count field use 27 px text (was 26 px). Egatari Studio's checker requires at least 26.6 px for HTML text outside tables and figures (smallText, R-fit) and flagged the buttons on every slide. Buttons and field keep their size (60 × 48 and 80 × 48 px). tools/test-seed0.mjs compares m-predict with releases before 1.10.0 with its controls hidden (the drawing must still be pixel-identical)
  • m-timer: the +1 min / −1 min buttons use 27 px text (was 26 px), for the same checker rule. They appear only when the player passes ctx.extend (not in the pinned Studio v0.4.3), so no demo or test screenshot changes; button size unchanged (at least 112 × 52 px)

Fixed

  • Demos flagged by Egatari Studio's checker (Studio 77588a4, kit/check.mjs): m-boxplot's first conclusion line was 36.5 units long (limit 35, R-concl), now 「→ 小さい順に並べ、中央値と前半・後半の中央値(四分位数)で箱にする」 (34.5); m-predict's body ran 9, 7 and 17 px past the conclusion line on its three slides (R-fit), the elements are now 390, 440 and 2 × 210 px high (were 400, 450, 2 × 220); m-timer's 「時間です」 (above); m-timer's second demo slide sets labels in plain style, 「合図で始める」 and 「そこまで。次へ進む」 (were 「合図で始めます」 and 「そこまで。次へ進みます」; the checker only sees the final state, so it did not flag them)

README size (Egatari Studio's free-plan pack), change since v1.9.1

  • m-bars README: 0 bytes
  • m-flow README: 0 bytes
  • m-menu README: 0 bytes
  • m-curves README: 0 bytes
  • m-quad README: 0 bytes
  • m-kpi README: 0 bytes

(New, not in the free pack for now: m-hissan 952 bytes, m-numberline 1013 bytes and m-tape 972 bytes of README text outside the llm: omit blocks.)

sha256 bf11ca819221e8014f65ca00405149c6972ad512967f490426c036c8c44d5338 egatari-components-v1.10.0.tar.gz