diff --git a/pages/demo.tsx b/pages/demo.tsx new file mode 100644 index 000000000..f8c9687ab --- /dev/null +++ b/pages/demo.tsx @@ -0,0 +1,6 @@ +import React from 'react' +import EpisodePageWrapper from 'src/components/EpisodePageWrapper' + +const Demo = () => + +export default Demo diff --git a/scripts/lib/initialExpressionContainers.ts b/scripts/lib/initialExpressionContainers.ts index ad1e35484..67e83cb56 100644 --- a/scripts/lib/initialExpressionContainers.ts +++ b/scripts/lib/initialExpressionContainers.ts @@ -358,6 +358,15 @@ export const vibe = initializeExpressionContainer([ } ]) +export const lbkw = initializeExpressionContainer([ + { + shorthandFunc: 'add' + }, + { + shorthandNumber: 2 + } +]) + export const kfwf = initializeExpressionContainer([ { shorthandFunc: 'add' diff --git a/scripts/lib/runnerConfigs.ts b/scripts/lib/runnerConfigs.ts index e2ace60be..722cb30c8 100644 --- a/scripts/lib/runnerConfigs.ts +++ b/scripts/lib/runnerConfigs.ts @@ -875,6 +875,11 @@ export const lizi: ExpressionRunnerShorthandConfig = { initialExpressionContainer: initialExpressionContainers.vibe } +export const gnwm: ExpressionRunnerShorthandConfig = { + runner: 'simple', + initialExpressionContainer: initialExpressionContainers.lbkw +} + export const mcug: ExpressionRunnerShorthandConfig = { runner: 'playButtonOnly', initialExpressionContainer: initialExpressionContainers.vibe @@ -967,8 +972,7 @@ export const pgxb: ExpressionRunnerShorthandConfig = { initialExpressionContainers: [ initialExpressionContainers.bmar, initialExpressionContainers.ilbg - ], - variableSize: 'md' + ] } export const ednv: ExpressionRunnerShorthandConfig = { @@ -1330,6 +1334,14 @@ export const plde: ExpressionRunnerShorthandConfig = { variableSize: 'md' } +export const rjzw: ExpressionRunnerShorthandConfig = { + runner: 'playButtonOnly', + initialExpressionContainer: initialExpressionContainers.uqth, + showPriorities: true, + variableSize: 'md', + skipToTheEnd: false +} + export const jsvg: ExpressionRunnerShorthandConfig = { runner: 'playButtonOnly', initialExpressionContainer: initialExpressionContainers.uqth, diff --git a/src/components/DemoCardList.tsx b/src/components/DemoCardList.tsx new file mode 100644 index 000000000..64f12a534 --- /dev/null +++ b/src/components/DemoCardList.tsx @@ -0,0 +1,8 @@ +import React from 'react' +import DemoJp from 'src/contents/demo.jp' +import DemoEn from 'src/contents/demo.en' +import locale from 'src/lib/locale' + +const DemoCardList = () => (locale === 'en' ? : ) + +export default DemoCardList diff --git a/src/components/EpisodeCardList.tsx b/src/components/EpisodeCardList.tsx index c953f00ca..934152d67 100644 --- a/src/components/EpisodeCardList.tsx +++ b/src/components/EpisodeCardList.tsx @@ -33,10 +33,12 @@ export type EpisodeCardListType = readonly EpisodeCardType[] const EpisodeCardList = ({ cards, notFound, + demo, underConstruction }: { cards: EpisodeCardListType notFound: boolean + demo: boolean underConstruction?: boolean }) => { const { episodeNumber } = useContext(EpisodeContext) @@ -46,7 +48,7 @@ const EpisodeCardList = ({ return ( <> - + <> {underConstruction && ( { +const EpisodeHero = ({ + demo, + notFound +}: { + demo: boolean + notFound: boolean +}) => { const { episodeTitle, episodeNumber } = useContext(EpisodeContext) return (
{ `} > <> - {episodeTitle ? ( + {episodeTitle || demo || notFound ? ( <>

{ ` ]} > - {episodeTitle} + {notFound ? ( + + ) : demo ? ( + + ) : ( + episodeTitle + )}

) : ( @@ -99,17 +111,26 @@ const EpisodeHero = () => { - emoji === '🔲' ? ( - - ) : ( - {emoji} - ) + nodes={(demo + ? ['🍱', '▶️', '🔲'] + : notFound + ? ['❓', '😭', '❓'] + : episodeEmojis[episodeNumber as keyof typeof episodeEmojis] + ).map(emoji => + emoji === '🔲' ? ( + + ) : ( + {emoji} + ) )} />
) } +EpisodeHero.defaultProps = { + demo: false, + notFound: false +} + export default EpisodeHero diff --git a/src/components/EpisodePage.tsx b/src/components/EpisodePage.tsx index 0db43c6ce..95c3f3081 100644 --- a/src/components/EpisodePage.tsx +++ b/src/components/EpisodePage.tsx @@ -12,7 +12,8 @@ import Page from 'src/components/Page' import TocModal from 'src/components/TocModal' import episodeEmojis from 'src/lib/episodeEmojis' import NotFoundCardList from 'src/components/NotFoundCardList' -import { ogUrl } from 'src/lib/meta' +import DemoCardList from 'src/components/DemoCardList' +import { ogUrl, demoUrl } from 'src/lib/meta' import locale from 'src/lib/locale' export interface EpisodePageProps { @@ -21,6 +22,7 @@ export interface EpisodePageProps { episodeTitleString?: React.ReactNode episodeNumber: number notFound: boolean + demo: boolean contentName: ContentProps['name'] } @@ -30,6 +32,7 @@ const EpisodePage = ({ episodeTitleString, episodeNumber, notFound, + demo, contentName }: EpisodePageProps) => { const title = `${ @@ -42,17 +45,18 @@ const EpisodePage = ({ const [modalVisible, setModalVisible] = useState(false) const hideModal = () => setModalVisible(false) const showModal = () => setModalVisible(true) + const url = demo ? demoUrl : ogUrl(episodeNumber) return ( {title} - - + + {modalVisible && } - {!notFound ? ( + {!notFound && !demo ? ( - {notFound ? : } + {notFound ? ( + + ) : demo ? ( + + ) : ( + + )} - {!notFound && ( + {!notFound && !demo ? ( + ) : ( +
)}
@@ -89,7 +105,8 @@ const EpisodePage = ({ } EpisodePage.defaultProps = { - notFound: false + notFound: false, + demo: false } export default EpisodePage diff --git a/src/components/EpisodePageWrapper.tsx b/src/components/EpisodePageWrapper.tsx index b274ea610..1cb6df4d2 100644 --- a/src/components/EpisodePageWrapper.tsx +++ b/src/components/EpisodePageWrapper.tsx @@ -7,11 +7,13 @@ import H from 'src/components/H' interface EpisodePageWrapperProps { episodeNumber: number notFound: boolean + demo: boolean } const EpisodePageWrapper = ({ episodeNumber, - notFound + notFound, + demo }: EpisodePageWrapperProps) => ( ) EpisodePageWrapper.defaultProps = { - notFound: false + notFound: false, + demo: false } export default EpisodePageWrapper diff --git a/src/components/ExpressionRunnerControls.tsx b/src/components/ExpressionRunnerControls.tsx index a300c2693..a13fa6dca 100644 --- a/src/components/ExpressionRunnerControls.tsx +++ b/src/components/ExpressionRunnerControls.tsx @@ -1,10 +1,11 @@ /** @jsx jsx */ import { css, jsx } from '@emotion/core' import H from 'src/components/H' -import { colors, spaces } from 'src/lib/theme' +import { colors, spaces, fontSizes } from 'src/lib/theme' import Emoji from 'src/components/Emoji' import { ExpressionRunnerProps } from 'src/types/ExpressionRunnerTypes' import ExpressionRunnerButton from 'src/components/ExpressionRunnerButton' +import locale from 'src/lib/locale' interface ExpressionRunnerControlsProps { canStepForward: boolean @@ -62,7 +63,7 @@ const ExpressionRunnerControls = ({ skipToTheEnd, convert }: ExpressionRunnerControlsProps) => { - const centerButtonWidth = convert ? 60 : 44 + const centerButtonWidth = convert ? 66 : 44 const sideButtonsWidth = (100 - centerButtonWidth) / 2 - 2 return (
diff --git a/src/components/ExpressionRunnerExplanation.tsx b/src/components/ExpressionRunnerExplanation.tsx index f43d58105..c36b126d3 100644 --- a/src/components/ExpressionRunnerExplanation.tsx +++ b/src/components/ExpressionRunnerExplanation.tsx @@ -65,14 +65,22 @@ const Explanation = ({ switch (state) { case 'default': { if (locale === 'en') { - return <>… + return <>Next! } else { return <>次に進みます! } } case 'active': { if (locale === 'en') { - return <>… + return ( + <> + Look at the pair of{' '} + + {activePriority} + + ’s + + ) } else { return ( <> diff --git a/src/components/ExpressionRunnerPrecomputed.tsx b/src/components/ExpressionRunnerPrecomputed.tsx index c22ac6011..a9c97f75a 100644 --- a/src/components/ExpressionRunnerPrecomputed.tsx +++ b/src/components/ExpressionRunnerPrecomputed.tsx @@ -186,7 +186,7 @@ const ExpressionRunnerPrecomputed = ({ horizontalPadding={0} > {explanationsVisible && ( - + )} {children && !explanationsVisible && !isPlaying && ( - + {children} )} diff --git a/src/components/H.tsx b/src/components/H.tsx index cc952f3fa..3b0ae8f87 100644 --- a/src/components/H.tsx +++ b/src/components/H.tsx @@ -153,6 +153,8 @@ interface HProps { | { name: 'testimonialsTitle' } | { name: 'testimonialsContent' } | { name: 'goToOtherPage' } + | { name: 'demoTitle' } + | { name: 'whatTheNumberIsCaption' } } const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { @@ -365,7 +367,7 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { if (locale === 'en') { return ( - {`“bento box${args.plural ? 'es' : ''}”`} 🍱 + {`“lunchbox${args.plural ? 'es' : ''}”`} 🍱 ) } else { @@ -806,7 +808,7 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'lookAtToc') { if (locale === 'en') { - return <>Take a look at the table of contents: + return <>Here’s table of contents: } else { return <>目次はこちらです: } @@ -1005,7 +1007,7 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'AmultTop') { if (locale === 'en') { - return <>? + return <>Some } else { return ( <> @@ -1016,14 +1018,18 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'AmultBottom') { if (locale === 'en') { - return <>? + return ( + <> + 🅰️’s + + ) } else { return <>いくつか } } if (args.name === 'BsingleTop') { if (locale === 'en') { - return <>? + return <>One } else { return ( <> @@ -1034,7 +1040,11 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'BsingleBottom') { if (locale === 'en') { - return <>? + return ( + <> + 🅱️ + + ) } else { return <>ひとつ } @@ -1092,7 +1102,13 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'convertToMathbox') { if (locale === 'en') { - return <>? + return ( + <> + + Convert to Mathbox 🐶 + + + ) } else { return ( @@ -1127,7 +1143,11 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'undoConvertToMathbox') { if (locale === 'en') { - return <>? + return ( + + 🍱 Back to Lunchbox + + ) } else { return ( @@ -1138,7 +1158,14 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'doneConvertToMathbox') { if (locale === 'en') { - return <>? + return ( + <> + + Converted to Mathbox!{' '} + 🐶 + + + ) } else { return ( <> @@ -1181,7 +1208,20 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'startWithTwoCaption') { if (locale === 'en') { - return <>? + return ( + <> + If you can’t start with{' '} + 1’s because +
+ there’s only one item on the bottom row, +
+ + start with the pair of{' '} + 2 + ’s. + + + ) } else { return ( <> @@ -1197,7 +1237,14 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'startWithLeftMostOneCaption') { if (locale === 'en') { - return <>? + return ( + <> + If there are multiple pairs of{' '} + 1’s, +
+ start with the leftmost pair. + + ) } else { return ( <> @@ -1212,7 +1259,19 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'convertiblePatternCaption') { if (locale === 'en') { - return <>? + return ( + <> + Let the leftmost item be 🅰️ and +
+ the center item be 🅱️. +
+ There needs to be one 🅱️ +
+ on the top right and some 🅰️’s +
+ on the bottom right + + ) } else { return ( <> @@ -1228,7 +1287,15 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'canBeConvertedCaption') { if (locale === 'en') { - return <>? + return ( + <> + There are {' '} + + ’s labeled as 🅰️ +
+ → Can be converted to + + ) } else { return ( <> @@ -1313,7 +1380,11 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { } if (args.name === 'plusOneFeature') { if (locale === 'en') { - return <> + return ( + <> + “Add 1” feature + + ) } else { return ( <> @@ -1355,6 +1426,32 @@ const H = ({ args, highlightType, episodeNumberOverrides }: HProps) => { ) } } + if (args.name === 'demoTitle') { + if (locale === 'en') { + return <>Demo Page + } else { + return <>デモページ + } + } + if (args.name === 'whatTheNumberIsCaption') { + if (locale === 'en') { + return ( + <> + The number of 🅰️’s on the +
+ bottom right is the number after conversion + + ) + } else { + return ( + <> + 右下にある 🅰️ がついた料理の数が、 +
+ 変換後の計算箱の数字 + + ) + } + } throw new Error() } diff --git a/src/components/NotFoundCardList.tsx b/src/components/NotFoundCardList.tsx index 74af10f75..6fb92ff2f 100644 --- a/src/components/NotFoundCardList.tsx +++ b/src/components/NotFoundCardList.tsx @@ -27,7 +27,7 @@ const NotFoundCardList = () => ( >

- + ) } diff --git a/src/components/Runners/Gnwm.tsx b/src/components/Runners/Gnwm.tsx new file mode 100644 index 000000000..8609e54bd --- /dev/null +++ b/src/components/Runners/Gnwm.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import ExpressionRunnerPrecomputed from 'src/components/ExpressionRunnerPrecomputed' +import config from 'src/lib/runners/gnwm.json' + +const Gnwm = ({ children }: { children?: React.ReactNode }) => ( + // @ts-ignore + + {children} + +) + +export default Gnwm diff --git a/src/components/Runners/Rjzw.tsx b/src/components/Runners/Rjzw.tsx new file mode 100644 index 000000000..f39138f63 --- /dev/null +++ b/src/components/Runners/Rjzw.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import ExpressionRunnerPrecomputed from 'src/components/ExpressionRunnerPrecomputed' +import config from 'src/lib/runners/rjzw.json' + +const Rjzw = ({ children }: { children?: React.ReactNode }) => ( + // @ts-ignore + + {children} + +) + +export default Rjzw diff --git a/src/components/Runners/index.ts b/src/components/Runners/index.ts index 4591b6d5a..3494669b0 100644 --- a/src/components/Runners/index.ts +++ b/src/components/Runners/index.ts @@ -124,6 +124,7 @@ export { default as Zwpj } from 'src/components/Runners/Zwpj' export { default as Zzxj } from 'src/components/Runners/Zzxj' export { default as Zzyu } from 'src/components/Runners/Zzyu' export { default as Lizi } from 'src/components/Runners/Lizi' +export { default as Gnwm } from 'src/components/Runners/Gnwm' export { default as Mcug } from 'src/components/Runners/Mcug' export { default as Aovj } from 'src/components/Runners/Aovj' export { default as Rviy } from 'src/components/Runners/Rviy' @@ -195,6 +196,7 @@ export { default as Fhrd } from 'src/components/Runners/Fhrd' export { default as Bgxi } from 'src/components/Runners/Bgxi' export { default as Qrfw } from 'src/components/Runners/Qrfw' export { default as Plde } from 'src/components/Runners/Plde' +export { default as Rjzw } from 'src/components/Runners/Rjzw' export { default as Jsvg } from 'src/components/Runners/Jsvg' export { default as Uexo } from 'src/components/Runners/Uexo' export { default as Hdhy } from 'src/components/Runners/Hdhy' diff --git a/src/components/Toc.tsx b/src/components/Toc.tsx index b747d1bf6..ee052f1aa 100644 --- a/src/components/Toc.tsx +++ b/src/components/Toc.tsx @@ -3,10 +3,11 @@ import { jsx, css } from '@emotion/core' import { numEpisodesExceptFirstAndLast } from 'src/lib/episodeCategories' import { spaces, colors } from 'src/lib/theme' import { InternalLink } from 'src/components/ContentTags/Links' +import { lessonTitle } from 'src/lib/titles' import H from 'src/components/H' import { episodeTitles } from 'src/lib/titles' -const Toc = () => ( +const Toc = ({ includeFirstPage }: { includeFirstPage: boolean }) => (
    ( padding: 0; `} > + {includeFirstPage && ( +
  • + + + {lessonTitle} + +
  • + )} {[...Array(numEpisodesExceptFirstAndLast).keys()].map(i => { const episodeNumber = i + 1 return ( @@ -72,4 +98,8 @@ const Toc = () => (
) +Toc.defaultProps = { + includeFirstPage: false +} + export default Toc diff --git a/src/components/VariableExpressionBox.tsx b/src/components/VariableExpressionBox.tsx index b81c8a3d7..607d426e1 100644 --- a/src/components/VariableExpressionBox.tsx +++ b/src/components/VariableExpressionBox.tsx @@ -15,6 +15,7 @@ import { VariableExpression } from 'src/types/ExpressionTypes' import H from 'src/components/H' import { ExpressionRunnerContextProps } from 'src/types/ExpressionRunnerTypes' import CustomEmoji, { customEmojiToComponent } from 'src/components/CustomEmoji' +import locale from 'src/lib/locale' interface VariableExpressionBoxProps { expression: VariableExpression @@ -162,23 +163,40 @@ const VariableEmoji = ({ expression }: VariableExpressionBoxProps) => { return (
@@ -188,23 +206,40 @@ const VariableEmoji = ({ expression }: VariableExpressionBoxProps) => { return (
diff --git a/src/contents/1.en.tsx b/src/contents/1.en.tsx index b222b4f68..f74a1c5b2 100644 --- a/src/contents/1.en.tsx +++ b/src/contents/1.en.tsx @@ -28,8 +28,8 @@ export default () => ( <>

In this course, we’ll learn about Y Combinator through a short - story. Let’s first talk about “math boxes”, one - of the key items of this story. + story. Let’s first talk about “mathboxes”, one of + the key items of this story.

( , ]} - description={<>This is the icon for math boxes.} + description={<>This is the icon for mathboxes.} /> ) diff --git a/src/contents/4.en.tsx b/src/contents/4.en.tsx index a8bf75dea..01cddeef1 100644 --- a/src/contents/4.en.tsx +++ b/src/contents/4.en.tsx @@ -18,8 +18,8 @@ export const BasicRules = ({ includeFuncUnbound?: boolean }) => ( <> -

- 1. 印をつける:{' '} +

+ 1. Add labels:{' '} {' '} {' '} {includeFuncUnbound && ( @@ -30,7 +30,7 @@ export const BasicRules = ({

- 印をつける:{' '} + Add labels:{' '} {' '} {' '} {includeFuncUnbound && ( @@ -40,37 +40,37 @@ export const BasicRules = ({ )} -

- 2. 一致チェック:{' '} +

+ 2. Find matches:{' '} {' '} {' '}

- 一致チェック:{' '} + Find matches:{' '} {' '} {' '} -

- 3. コピーする:{' '} +

+ 3. Copy:{' '} {' '} ↘️{' '}

- コピーする:{' '} + Copy:{' '} {' '} ↘️{' '} -

- 4. 消す: 💥{' '} +

+ 4. Remove: 💥{' '} {' '}

- 消す: 💥{' '} + Remove: 💥{' '} {' '} @@ -81,27 +81,28 @@ export const BasicRules = ({ export const Unmatched = () => ( <> -

- と{' '} - {' '} - が一致しなかった場合、 +

+ If none of + ’s and + ’s match,{' '} - コピーはせずに、ただ{' '} - と{' '} - を消す + don’t do the copy step and simply remove{' '} + + ’s and + ’s - 。 + .

- と{' '} - {' '} - が一致しなかった場合… + If none of + ’s and + ’s match… - コピーはせずに、ただ{' '} - と - を消す + Simply remove + ’s and + ’s ) diff --git a/src/contents/5.en.tsx b/src/contents/5.en.tsx index f02d11084..33703a767 100644 --- a/src/contents/5.en.tsx +++ b/src/contents/5.en.tsx @@ -27,70 +27,72 @@ import NextLessonButton from 'src/components/NextLessonButton' export const ThreeRowRules = () => ( <> -

- 3段以上の弁当箱は、以下のように解きます。 +

+ + Here’s how to solve a lunchbox puzzle with at least 3 rows. +

-
    +
      - まず先に 1{' '} - のペアからはじめる。 + First, start with the pair of{' '} + 1’s. - 下段の真ん中にある料理には{' '} - {' '} - をつける。 - {' '} - は、いったん無視して構わない。 + Label the center item on the bottom row as{' '} + , and + you can ignore this for the rest of the iteration. - 1 のペアが終わると、 - 2 が{' '} - 1{' '} - になるので、また繰り返す。 + After finishing the pair of{' '} + 1’s, + 2 will become{' '} + 1. Then, repeat.
    - 3段の弁当箱 + Lunchbox with 3 rows ) export const Beginner5Rules = () => ( <> -

    - 細かい法則1:{' '} - 1{' '} - のペアが左右ふたつ以上ある場合は、 - 一番左のペアからはじめます。 +

    + Additional Rule 1: If there are multiple + pairs of 1’s,{' '} + start with the leftmost pair.

    -

    - 補足:{' '} +

    + Note:{' '} - 1{' '} - のペアが弁当箱の左端にない場合は、内側の{' '} - 1 のペアからはじめる。 + If there’s no 1’s on the + leftmost edge of a lunchbox, then start with the inner pair of{' '} + 1’s.

    - 1{' '} - のペアが弁当箱の左端にない場合は、 + If there’s no 1 on the
    - 内側の 1 のペアからはじめる + leftmost edge of a lunchbox, then start with +
    + the inner pair of + 1’s

    -

    - 細かい法則2: 下段にひとつの料理しかなく、 - 1{' '} - のペアからはじめられない場合、 +

    + Additional Rule 2: If you can’t start with{' '} + 1’s because there’s only + one item on the bottom row,{' '} - 2 のペアからはじめます。 + start with the pair of 2 + ’s.

    diff --git a/src/contents/6.jp.tsx b/src/contents/6.jp.tsx index 2e12f67f6..1bd023c68 100644 --- a/src/contents/6.jp.tsx +++ b/src/contents/6.jp.tsx @@ -717,9 +717,7 @@ export default () => ( ]} /> - 右下にある 🅰️ がついた料理の数が、 -
    - 変換後の計算箱の数字 +
    ( + This is a demo page, + content: ( + <> +

    + I use this page when demonstrating materials from this course to + someone in person. So there won’t be any + explanations written on this page. +

    + + ) + }, + { + type: 'sideNote', + t8d: true, + title: <>Part 1: Mathbox Basics, + content: ( + <> + , + , + + ]} + description={<>Mathboxes} + /> + + ) + }, + { + t8d: true, + title: ( + <> + + + ), + content: ( + <> + + + + ) + }, + { + t8d: true, + type: 'sideNote', + title: <>Part 2: Lunchbox Basics, + content: ( + <> + 🍱, 🍱, 🍱]} + description={<>Lunchboxes} + /> + + ) + }, + { + t8d: true, + title: <>Lunchboxes with 2 Rows, + content: ( + <> + + + + + + ) + }, + { + t8d: true, + title: <>Lunchbox Rules, + type: 'summary', + content: ( + <> + +
    + + + ) + }, + { + t8d: true, + title: <>Lunchbox with 3 Rows, + content: ( + <> + + + + + + ) + }, + { + t8d: true, + type: 'summary', + title: <>Rules for Lunchboxes with 3+ Rows, + content: ( + <> + +
    + + + ) + }, + { + t8d: true, + type: 'sideNote', + title: <>Part 3: Converting Lunchboxes to Mathboxes, + content: ( + <> + 🍱, + , + + ]} + /> + + ) + }, + { + t8d: true, + title: <>Converting Lunchboxes to Mathboxes, + content: ( + <> + + + + + + ) + }, + { + t8d: true, + title: <>Rules for Converting to Mathboxes, + type: 'summary', + content: ( + <> + + + + + + +
    + + + + + +
    + + + + + +
    + + + + + + + ) + }, + { + t8d: true, + title: <>Part 4: Adding 1, + type: 'sideNote', + content: ( + <> + , + , + + ]} + /> + + ) + }, + { + t8d: true, + title: ( + <> + Calculating {' '} + + + ), + content: ( + <> + + + +
    + +
    + + + + + ) + }, + { + t8d: true, + title: ( + <> + Calculating {' '} + + + ), + content: ( + <> + + + +
    + +
    + + + + + ) + }, + { + t8d: true, + title: <>Mathboxes can be replicated by Lunchboxes, + content: ( + <> + + + +
    + + + + + ) + } + ]} + /> +) + +export default DemoCardList diff --git a/src/contents/demo.jp.tsx b/src/contents/demo.jp.tsx new file mode 100644 index 000000000..aa6c68cc8 --- /dev/null +++ b/src/contents/demo.jp.tsx @@ -0,0 +1,270 @@ +import React from 'react' +import { P, Hr } from 'src/components/ContentTags' +import EpisodeCardList from 'src/components/EpisodeCardList' +import ExpressionRunnerSeparator from 'src/components/ExpressionRunnerSeparator' +import EmojiSeparator from 'src/components/EmojiSeparator' +import Emoji from 'src/components/Emoji' +import CustomEmoji from 'src/components/CustomEmoji' +import EmojiNumber from 'src/components/EmojiNumber' +import H from 'src/components/H' +import * as R from 'src/components/Runners' +import { BasicRules, Unmatched } from 'src/contents/4.jp' +import { ThreeRowRules, Beginner5Rules } from 'src/contents/5.jp' + +const DemoCardList = () => ( + これはデモページです, + content: ( + <> +

    + このページはデモ用に作ったページです。わたしがデモを行いながらこのページを使うので、説明は一切書いていません。 +

    + + ) + }, + { + type: 'sideNote', + title: <>パート1: 計算箱の説明, + content: ( + <> + , + , + + ]} + description={<>計算箱} + /> + + ) + }, + { + title: ( + <> + 計算箱の「 + 」 + + ), + content: ( + <> + + + + ) + }, + { + type: 'sideNote', + title: <>パート2: 弁当箱の説明, + content: ( + <> + 🍱, 🍱, 🍱]} + description={<>弁当箱} + /> + + ) + }, + { + title: <>2段の弁当箱, + content: ( + <> + + + + + + ) + }, + { + title: <>弁当箱の法則, + type: 'summary', + content: ( + <> + +
    + + + ) + }, + { + title: <>3段の弁当箱, + content: ( + <> + + + + + + ) + }, + { + type: 'summary', + title: <>3段以上の弁当箱の法則, + content: ( + <> + +
    + + + ) + }, + { + type: 'sideNote', + title: <>パート3: 弁当箱を計算箱に変換, + content: ( + <> + 🍱, + , + + ]} + /> + + ) + }, + { + title: <>弁当箱を計算箱に変換, + content: ( + <> + + + + + + ) + }, + { + title: <>計算箱に変換する法則, + type: 'summary', + content: ( + <> + + + + + + +
    + + + + + +
    + + + + + +
    + + + + + + + ) + }, + { + title: <>パート4: 1を足す, + type: 'sideNote', + content: ( + <> + , + , + + ]} + /> + + ) + }, + { + title: ( + <> + {' '} + を計算 + + ), + content: ( + <> + + + +
    + +
    + + + + + ) + }, + { + title: ( + <> + {' '} + を計算 + + ), + content: ( + <> + + + +
    + +
    + + + + + ) + }, + { + title: <>計算箱は弁当箱で再現できる, + content: ( + <> + + + +
    + + + + + ) + } + ]} + /> +) + +export default DemoCardList diff --git a/src/lib/meta.ts b/src/lib/meta.ts index de81bab0b..2cc2a453c 100644 --- a/src/lib/meta.ts +++ b/src/lib/meta.ts @@ -9,3 +9,5 @@ export const ogImageUrl = `${baseUrl}/static/images/og-image-${locale}-v5.png` export const ogUrl = (episodeNumber: number) => `${baseUrl}${episodeNumber > 0 ? `/${episodeNumber}/` : ''}` + +export const demoUrl = `${baseUrl}/demo/` diff --git a/src/lib/runners/gnwm.json b/src/lib/runners/gnwm.json new file mode 100644 index 000000000..f7f589faa --- /dev/null +++ b/src/lib/runners/gnwm.json @@ -0,0 +1,56 @@ +{ + "expressionContainers": [ + { + "containerState": "ready", + "previouslyChangedExpressionState": "default", + "expression": { + "arg": { + "name": "shorthandNumber", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true, + "shorthandNumber": 2 + }, + "func": { + "name": "shorthandFunc", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true, + "shorthandFunc": "add" + }, + "state": "default", + "type": "call", + "priority": 1 + } + } + ], + "speed": 1, + "hideControls": true, + "explanationsVisibility": "hidden", + "hidePriorities": true, + "variableSize": "lg", + "containerSize": "xxs", + "hidePlayButton": false, + "hideBottomRightBadges": false, + "skipToTheEnd": false, + "hideFuncUnboundBadgeOnExplanation": false, + "highlightOverridesCallArgAndFuncUnboundOnly": false, + "bottomRightBadgeOverrides": {}, + "highlightOverrides": {}, + "highlightOverrideActiveAfterStart": false, + "highlightFunctions": false +} diff --git a/src/lib/runners/pgxb.json b/src/lib/runners/pgxb.json index 4311e7324..2619082b2 100644 --- a/src/lib/runners/pgxb.json +++ b/src/lib/runners/pgxb.json @@ -62,7 +62,7 @@ "hideControls": false, "explanationsVisibility": "hiddenInitialPausedOnly", "hidePriorities": true, - "variableSize": "md", + "variableSize": "lg", "containerSize": "xxs", "hidePlayButton": false, "hideBottomRightBadges": false, diff --git a/src/lib/runners/rjzw.json b/src/lib/runners/rjzw.json new file mode 100644 index 000000000..85d09f585 --- /dev/null +++ b/src/lib/runners/rjzw.json @@ -0,0 +1,2903 @@ +{ + "expressionContainers": [ + { + "containerState": "ready", + "previouslyChangedExpressionState": "default", + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "a", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "default", + "type": "call", + "priority": 1 + } + }, + { + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "a", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "active", + "type": "call", + "priority": 1 + }, + "previouslyChangedExpressionState": "active", + "activePriority": 1, + "containerState": "stepped" + }, + { + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "a", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "showFuncUnbound", + "type": "call", + "priority": 1 + }, + "previouslyChangedExpressionState": "showFuncUnbound", + "activePriority": 1, + "containerState": "stepped" + }, + { + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "highlighted", + "topLeftBadgeType": "unmatch", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "highlighted", + "topLeftBadgeType": "unmatch", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "a", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "highlighted", + "topLeftBadgeType": "unmatch", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewBefore", + "type": "call", + "priority": 1 + }, + "previouslyChangedExpressionState": "betaReducePreviewBefore", + "matchExists": true, + "activePriority": 1, + "containerState": "stepped" + }, + { + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewAfter", + "type": "call", + "priority": 1 + }, + "previouslyChangedExpressionState": "betaReducePreviewAfter", + "activePriority": 1, + "containerState": "stepped" + }, + { + "expression": { + "arg": { + "arg": { + "name": "d", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "func": { + "arg": { + "name": "a", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewCrossed", + "type": "call", + "priority": 1 + }, + "previouslyChangedExpressionState": "betaReducePreviewCrossed", + "activePriority": 1, + "containerState": "stepped" + }, + { + "containerState": "ready", + "previouslyChangedExpressionState": "default", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + } + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "active", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "active", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "showFuncUnbound", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "showFuncUnbound", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewBefore", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "highlighted", + "topLeftBadgeType": "unmatch", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "d", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewBefore", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "matchExists": true, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewAfter", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcUnbound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewAfter", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewCrossed", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 3 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "b", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "d", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2, + 3 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "state": "betaReducePreviewCrossed", + "type": "call", + "priority": 2 + }, + "state": "default", + "type": "call", + "priority": 3 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "ready", + "previouslyChangedExpressionState": "default", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + } + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "active", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "active", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "showFuncBound", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "showFuncBound", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewBefore", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "e", + "highlightType": "highlighted", + "topLeftBadgeType": "match", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "highlighted", + "topLeftBadgeType": "unmatch", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "betaReducePreviewBefore", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "matchExists": true, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewAfter", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "betaReduceCallArgHighlighted", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "highlighted", + "topLeftBadgeType": "betaReduced", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcBound", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "betaReducePreviewAfter", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "stepped", + "previouslyChangedExpressionState": "betaReducePreviewCrossed", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "callArg", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": true, + "bound": true + }, + "func": { + "arg": { + "name": "e", + "highlightType": "removed", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "funcArg", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": true, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "active", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "state": "betaReducePreviewCrossed", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + }, + "activePriority": 2 + }, + { + "containerState": "done", + "previouslyChangedExpressionState": "default", + "expression": { + "arg": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": false + }, + "body": { + "arg": { + "arg": { + "name": "c", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [ + 1, + 2 + ], + "funcPriorityAgg": [], + "emphasizePriority": false, + "bound": true + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 2 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 2 + }, + "func": { + "name": "b", + "highlightType": "default", + "topLeftBadgeType": "none", + "bottomRightBadgeType": "none", + "type": "variable", + "argPriorityAgg": [], + "funcPriorityAgg": [ + 1 + ], + "emphasizePriority": false, + "bound": true + }, + "state": "default", + "type": "call", + "priority": 1 + }, + "type": "function" + }, + "type": "function" + } + } + ], + "speed": 1, + "hideControls": false, + "explanationsVisibility": "hiddenInitialPausedOnly", + "hidePriorities": false, + "variableSize": "md", + "containerSize": "xxs", + "hidePlayButton": false, + "hideBottomRightBadges": false, + "skipToTheEnd": false, + "hideFuncUnboundBadgeOnExplanation": true, + "highlightOverridesCallArgAndFuncUnboundOnly": false, + "bottomRightBadgeOverrides": {}, + "highlightOverrides": {}, + "highlightOverrideActiveAfterStart": false, + "highlightFunctions": false +} diff --git a/src/lib/titles.ts b/src/lib/titles.ts index 1acda21bc..4f3068625 100644 --- a/src/lib/titles.ts +++ b/src/lib/titles.ts @@ -16,7 +16,7 @@ export const description = { export const episodeTitles = { en: { - 1: 'Math Boxes', + 1: 'Mathboxes', 2: '?', 3: '?', 4: '?',