Check a Jabbertoon program, character, pack or cartoon
validateChecks a Jabbertoon block program (a move, a scene or a cartoon), a character, a pack, or a saved cartoon file with Jabbertoon's own validator, the same checks the studio, the character creator and the block editor make. Give exactly one of program, character, pack or cartoon. A talking cartoon is {"cast": {"dog": {"name": "Biscuit", "look": {"template": "dog"}}}, "program": {"v": 1, "kind": "cartoon", "scripts": [{"hat": {"on": "scene", "name": "Hello"}, "body": [{"op": "say", "who": "dog", "text": "Hi!"}]}]}}: the cast is an object keyed by ids, who names a cast id, every script starts with a scene hat, and a scene's blocks are say {who, text}, does {who, behaviour} (a move id from list_moves, or an inline move), enter, exit, place, cut, caption and mood, with wait, repeat and together. A move is a program of kind "behaviour" (get_move gives ready-made ones). The answer has ok, error_count, warning_count, and the errors and warnings (the first 50 of each, in order) as {code, where, says, fix}: where is the path of the field (e.g. scripts[0].body[2]), says is what is wrong, fix is how to fix it there when the checker knows, keeping the block's own words, speaker and fields. Fix the errors and call validate again until ok is true; warnings do not stop a program from playing, but say what the site will not do: hats that never fire on jabbertoon.com today (touch, beat, loud, every) or only in the block editor (key, click), moves that do not exist, and looks it cannot draw. Nothing you send is stored or logged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pack | No | A whole pack: the manifest (pack, id, type, version, name, author, license, remixable, derived_from, content_hash) and its content. The format: https://jabbertoon.com/docs/packs/ | |
| cartoon | No | A saved cartoon file: {"cast": {"<id>": {"name", "look": {"template", "style", "shape", "colors"}, "at": {"x", "y", "h", "facing"}}}, "places"?, "program"}, where program is a kind "cartoon" program. list_characters returns a whole one (cartoon_example). | |
| program | No | A block program: {"v": 1, "kind": "behaviour" | "scene" | "cartoon", "scripts": [...]}, as get_move returns. A move is kind "behaviour". The language: https://jabbertoon.com/docs/language/ | |
| character | No | A character of your own, as share_link takes it: {"name": "...", "content": {...}}, the content of a character pack (tree, legs, kind, height, footprint, ...), or a whole character pack. Its tree is checked part by part. The format: https://jabbertoon.com/docs/packs/ |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | True when there are no errors. | |
| url | Yes | The page that describes this format. | |
| kind | No | The program's kind (behaviour, scene, cartoon), character, or the pack's type. | |
| error | No | ||
| notes | No | ||
| errors | No | The errors, in order: the first 50 at most (error_count says how many there are). | |
| checked | No | What was checked: program, character, pack or cartoon. | |
| warnings | No | The warnings, in order: the first 50 at most (warning_count says how many there are). | |
| error_count | No | How many errors the checks found. | |
| warning_count | No | How many warnings the checks found. |