Version Packages - #653
Merged
Merged
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@bitflow/core@0.7.0
Minor Changes
b04f2a8Thanks @mikebarkmin! - Rewrite bitflow as web components.bitflow is now a set of custom elements —
<bitflow-flow>,<bitflow-flow-editor>,<bitflow-report>,<bitflow-group-report>, and oneper task type — usable from any framework or from plain HTML. React remains the
implementation behind them.
Two packages ship, not thirty-six.
@bitflow/web-componentcarries the elementsand every task type inside it, each still its own lazily loaded chunk, so a flow
downloads only the tasks it references — and a page needs one
<script type="module">and nothing else: there is no React to install and nodependency of any kind.
@bitflow/corestays separate because it is the halfthat runs in Node — the schema, the flow engine and the scoring, for a server or
a CLI that reads a
.bitflowfile without drawing it.The per-task packages are no longer published on their own.
@bitflow/task-choice,@bitflow/task-yes-no,@bitflow/task-input,@bitflow/task-fill-in-the-blank,@bitflow/task-highlighting,@bitflow/input-markdown,@bitflow/start-simpleand
@bitflow/end-triesstop at 0.x; their code, and that of every task typeadded since, arrives inside
@bitflow/web-component. They are still onedirectory per task in the repository — the split is how the code is written, not
how it is shipped.
The
.bitflowformat is redesigned and not backward compatible: branching liveson edges as conditions rather than in dedicated control-flow nodes, and each
task type owns the schema for its own data. Evaluation, scoring and cohort
statistics all run in the browser; nothing here talks to a server.
@openpatch/patches,@emotion/*and@vocab/*are gone, replaced by plainCSS custom properties and runtime JSON message catalogs. The competency
modelling packages are dropped.
There is also a VS Code extension, Bitflow Studio, for authoring
.bitflowfiles visually.
Tasks can carry a weight and a time limit, the assessment as a whole can carry
one too, and arriving at a step moves focus to it and announces it.
Item pools hand each learner a random few of a group of interchangeable
steps, the editor can arrange the canvas and preview from any step, and the
cohort report exports CSV.
Four more task types:
@bitflow/task-drag-dropdrags labels onto a picture,@bitflow/task-find-hotspotsasks the learner to click a place on one,@bitflow/task-orderingasks them to put items in order, and@bitflow/task-matchingasks them to pair two columns off.A branch can read more of the run than it could: how sure the learner said they
were, how many times a step has been shown, the clock, and counts scoped to a
section, a hand-picked set of steps, or the last few answered. A connection can
clear the step it lands on, which is what makes "get it wrong, read why, try
again" a loop that actually hands the question back rather than the old answer
already marked.
Sections group steps that share a passage, a listing or a table, and show it
above every one of them. A pool can shuffle, so the same questions arrive in a
different order for every learner. An assessment says how freely learners may
move — forwards only, a step back, or a list of everything they have seen that
doubles as the check-your-work screen — and whether a task may be passed on,
which a single task can override.
Five more non-task steps:
@bitflow/start-consentsays what is recorded andwill not start until the learner has answered either way,
@bitflow/start-identifyasks who they are,@bitflow/end-handoffposts thefinished attempt to the page hosting the assessment,
@bitflow/end-certificateis a printable closing sheet, and@bitflow/end-downloadhands the learner their own attempt as a file.<Flow>and<bitflow-flow>gain alockedNodeIdsprop: steps a host isholding shut. The learner may answer the step they are on but not move on from
it, and may not skip past it — a gate that can be walked around is not a gate.
Looking back at what they have already done stays open to them. It
is host-supplied, in exactly the same shape as the existing
readonly: theruntime has no idea where the list comes from and never asks. A node report
whose
answerhas been stripped is now a valid report, so a live session cansend the host results, scores, tries and timings without ever sending what
anyone wrote.
There is also a live-session platform,
platforms/party, for running a flow witha class: a host points a session at a flow URL, shares a code, and watches a
live board while locking steps. The packages stay transport-free — the socket
lives entirely in
platforms/— and the server stores results, never thedocument, and never an answer. It is private and is not published.
@bitflow/web-component@0.1.0
Minor Changes
b04f2a8Thanks @mikebarkmin! - Rewrite bitflow as web components.bitflow is now a set of custom elements —
<bitflow-flow>,<bitflow-flow-editor>,<bitflow-report>,<bitflow-group-report>, and oneper task type — usable from any framework or from plain HTML. React remains the
implementation behind them.
Two packages ship, not thirty-six.
@bitflow/web-componentcarries the elementsand every task type inside it, each still its own lazily loaded chunk, so a flow
downloads only the tasks it references — and a page needs one
<script type="module">and nothing else: there is no React to install and nodependency of any kind.
@bitflow/corestays separate because it is the halfthat runs in Node — the schema, the flow engine and the scoring, for a server or
a CLI that reads a
.bitflowfile without drawing it.The per-task packages are no longer published on their own.
@bitflow/task-choice,@bitflow/task-yes-no,@bitflow/task-input,@bitflow/task-fill-in-the-blank,@bitflow/task-highlighting,@bitflow/input-markdown,@bitflow/start-simpleand
@bitflow/end-triesstop at 0.x; their code, and that of every task typeadded since, arrives inside
@bitflow/web-component. They are still onedirectory per task in the repository — the split is how the code is written, not
how it is shipped.
The
.bitflowformat is redesigned and not backward compatible: branching liveson edges as conditions rather than in dedicated control-flow nodes, and each
task type owns the schema for its own data. Evaluation, scoring and cohort
statistics all run in the browser; nothing here talks to a server.
@openpatch/patches,@emotion/*and@vocab/*are gone, replaced by plainCSS custom properties and runtime JSON message catalogs. The competency
modelling packages are dropped.
There is also a VS Code extension, Bitflow Studio, for authoring
.bitflowfiles visually.
Tasks can carry a weight and a time limit, the assessment as a whole can carry
one too, and arriving at a step moves focus to it and announces it.
Item pools hand each learner a random few of a group of interchangeable
steps, the editor can arrange the canvas and preview from any step, and the
cohort report exports CSV.
Four more task types:
@bitflow/task-drag-dropdrags labels onto a picture,@bitflow/task-find-hotspotsasks the learner to click a place on one,@bitflow/task-orderingasks them to put items in order, and@bitflow/task-matchingasks them to pair two columns off.A branch can read more of the run than it could: how sure the learner said they
were, how many times a step has been shown, the clock, and counts scoped to a
section, a hand-picked set of steps, or the last few answered. A connection can
clear the step it lands on, which is what makes "get it wrong, read why, try
again" a loop that actually hands the question back rather than the old answer
already marked.
Sections group steps that share a passage, a listing or a table, and show it
above every one of them. A pool can shuffle, so the same questions arrive in a
different order for every learner. An assessment says how freely learners may
move — forwards only, a step back, or a list of everything they have seen that
doubles as the check-your-work screen — and whether a task may be passed on,
which a single task can override.
Five more non-task steps:
@bitflow/start-consentsays what is recorded andwill not start until the learner has answered either way,
@bitflow/start-identifyasks who they are,@bitflow/end-handoffposts thefinished attempt to the page hosting the assessment,
@bitflow/end-certificateis a printable closing sheet, and@bitflow/end-downloadhands the learner their own attempt as a file.<Flow>and<bitflow-flow>gain alockedNodeIdsprop: steps a host isholding shut. The learner may answer the step they are on but not move on from
it, and may not skip past it — a gate that can be walked around is not a gate.
Looking back at what they have already done stays open to them. It
is host-supplied, in exactly the same shape as the existing
readonly: theruntime has no idea where the list comes from and never asks. A node report
whose
answerhas been stripped is now a valid report, so a live session cansend the host results, scores, tries and timings without ever sending what
anyone wrote.
There is also a live-session platform,
platforms/party, for running a flow witha class: a host points a session at a flow URL, shares a code, and watches a
live board while locking steps. The packages stay transport-free — the socket
lives entirely in
platforms/— and the server stores results, never thedocument, and never an answer. It is private and is not published.
bitflow-studio@0.1.1
Patch Changes
b04f2a8]: