-
Notifications
You must be signed in to change notification settings - Fork 0
DOJ-4810: give workbook-generate creative latitude (kit as vocabulary, not script) #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -182,7 +182,13 @@ grammar is stable across a course (stable grammar = lower cognitive load). | |
| ## Content-shape -> component mapping (the pedagogical core) | ||
|
|
||
| Read the reading's prose and promote it into the component whose shape fits. | ||
| There is no rigid formula; the content determines the form. Heuristics: | ||
| **These are heuristics — starting points, not a lookup table.** Don't map | ||
| mechanically (every table → the same chart). Pick the representation that best | ||
| illuminates *this* concept, and **deliberately vary across a course**: if three | ||
| sections each hold a comparison, they should not become three identical | ||
| diagrams — find the angle each one needs. Monotony (every workbook the same | ||
| shell with swapped text) is a failure mode, not a success criterion. With that | ||
| framing, the heuristics: | ||
|
|
||
| - **Course** -> module **chapters** (ordered by module directory), with a | ||
| **table of contents** and course-level **progress**. | ||
|
|
@@ -215,6 +221,35 @@ earn its place — one well-chosen interactive block per concept beats five | |
| decorative ones. Long readings get chaptered and made collapsible so the | ||
| single-file artifact stays navigable. | ||
|
|
||
| ## Invariant frame vs. creative payload (where the latitude is) | ||
|
|
||
| The base constrains the **frame**, not the **ideas**. Keep one set of things | ||
| identical across every workbook; let the other set differ freely per concept and | ||
| course: | ||
|
|
||
| - **Invariant (always the same):** brand tokens (palette/typography), the | ||
| accessibility contract, the navigation/flow shell (TOC, progress, module | ||
| chunking), and the standalone / no-CDN technical rules. Consistency here is the | ||
| point — don't reinvent it. | ||
| - **Creative (should differ — make it differ):** the prose and explanations, the | ||
| analogies and examples, **what each diagram actually depicts**, *which* | ||
| components appear and how they're composed, chart data, comparison axes, knob | ||
| parameters, simulation design. Two different courses should produce visibly | ||
| different workbooks — not the same skeleton with the text swapped. | ||
|
|
||
| ### The kit is a floor, not a ceiling | ||
|
|
||
| The component kit is the reliable, tested baseline — **not the limit of what you | ||
| may build.** The biggest creative surface is **inline SVG**: the kit gives you | ||
| the styling shell (`.wb-figure`, brand colors, arrow markers), but *what the | ||
| figure depicts* — a hashing ring, a token-bucket, a state machine, a spatial | ||
| layout unique to the concept — is yours to author. When a concept needs a | ||
| visualization the kit doesn't have, **author it directly** with inline SVG/CSS, | ||
| honoring the design tokens + accessibility contract. Bespoke **static / SVG / CSS** | ||
| visualization is encouraged. The only thing to avoid is fragile, untested | ||
| **stateful JS** widgets — those should be added to the kit deliberately (and | ||
| tested), not improvised per page. | ||
|
|
||
| ## Consuming the consumer spec (`instruction-bundle-spec.yaml`) | ||
|
|
||
| The workbook's brand + structural vocabulary comes from the consumer's | ||
|
|
@@ -281,8 +316,14 @@ never crash. | |
| template. Brand lives in the consumer spec. | ||
| - Hardcoding the component catalog or step patterns here instead of reading | ||
| them from the spec. | ||
| - Freeform per-concept JavaScript. Compose from the kit; extend the kit | ||
| deliberately (and test it) when a concept truly needs something new. | ||
| - Fragile, untested **stateful JS** widgets improvised per page. Compose | ||
| stateful interactivity from the tested kit, and extend the kit deliberately | ||
| (with tests) when a concept truly needs a new interaction. (This is *not* a | ||
| ban on creative static / SVG / CSS visualization — author those freely; see | ||
| "The kit is a floor, not a ceiling.") | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [NIT] ⚪ P4 (nit) — Escaped backslashes are unnecessary inside plain Markdown files. Standard double quotes can be used directly without escaping. |
||
| - **Monotony.** Mapping every content type to the same component so every | ||
| workbook is one shell with swapped text. Vary the representation to fit each | ||
| concept; two different courses should look visibly different. | ||
| - Decorative interactivity. Every widget must teach something the prose alone | ||
| could not convey as well. | ||
| - **Capture-to-nowhere widgets.** Do not add inputs that record a learner's | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[NIT] ⚪ P4 (nit) — Unnecessary backslash escaping of double quotes in Markdown. Standard double quotes render perfectly without escaping.