Open
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 proposes a new levelbuilder feature to generate a lesson's levels using AI.
The goal is to make it faster and easier to create a lesson's levels. It's influenced by Jamila's Levels and Slides Drafter demo.
This feature is accessed by visiting
/s/[script]/lessons/[lesson]/generate.As working right now, a levelbuilder can generate an entire lesson of panels & weblab2 levels from a single description. It's also easy to adjust the set of levels & their individual descriptions before generating them.
From a single lesson prompt
When starting, it's optional to generate a set of levels from a single lesson prompt:
If provided, this prompt is also fed to all subsequent generation operations to maintain some common context across all levels.
A set of level descriptions
Here's an example set of level descriptions generated from this prompt:
If the single lesson prompt was not used, this can all be set up manually. And even if the prompt was used, this can all be adjusted before the levels generation takes place.
Levels generation
When ready, levels generation can be initiated. A popup shows progress, with even more detail emitted to the console. The feature creates levels and their content: images & text for panels levels; instructions, HTML/CSS/JS for weblab2 levels.
The generated content of all preceding levels is provided for each new level's generation, helping it to maintain consistency.
A lesson
Once generation is complete, we have a lesson with levels. They'll include panels:
And weblab2:
Revisions
It's important to note that this is designed to be run repeatedly for the same lesson when desired. On the generate page, the
Generatecheckbox is checked if the description is updated, and can also be checked manually, so that the level will be updated on the next initiation of levels generation.Other labs
This feature enumerates but leaves unsupported levels intact, so that a wider variety of level types can be included in a lesson. Of course, we can add generation of additional level types in the future.