Code frameworks
Troubleshooting
Find what to do when Save, Check or Prepare fails, or when the sheet shows nothing.
Save fails
Save keeps your source as a new version of your game.
| What you see | Why | What to do |
|---|---|---|
| Source must contain existing project files and be no larger than 8 MiB. | The source is not a valid project tree, lacks project files, or is over 8 MiB. | Restore the missing files, or remove content until the source is under 8 MiB. |
| This game changed elsewhere. Export your edits, revert, then reload before saving. | The game was saved from somewhere else after you loaded it. | Export your edits, revert, reload the project, and apply your edits again. |
| Could not save the project. | The server could not store the project. | Check your connection and access, then save again. |
Check fails
Check and preview lists each problem under Problems, with the file. Find your message in these pages.
The compiled game must stay under 16 MiB. Check reports a larger one under Problems, with its size. Shorten rule files, because every function carries a copy of its rules file.
A changed projectId shows up here, because Check compiles the whole tree.
| What you see | Why | What to do |
|---|---|---|
| manifest projectId does not match source tree projectId | The projectId in the manifest was changed. | Put back the projectId the editor created for your game. |
Prepare fails
Prepare my game builds private Frameworks, Frames and content from your saved version. The server checks the project again. This table quotes the messages the app shows. The reason the server gave can be more specific, and the app shows one message for several reasons.
| What you see | Why | What to do |
|---|---|---|
| This version could not be prepared. Review the source and try again. | The server checked this version and refused it, or the request was not valid. | Fix the source, check it, save it and prepare again. |
| The saved project changed. Reload it before continuing. | The saved project changed. The server also gives this answer in three cases: the game already has content, you are not the creator of the game, or a preparation is already running. | Reload the project. If the game has content, prepare into a new empty game. If you are not the creator, ask the creator. If a preparation is running, wait for it to finish. |
| This version exceeds the preparation limits. Reduce its content and try again. | The request was larger than the server accepts. The limits of 8 MiB for the source and 16 MiB for the compiled game stop a project well before this. | Remove content or split large rule files. |
| Your content allowance is too small for this version. Reduce its content or check your plan. | Your content allowance is smaller than this version. | Reduce its content, or check your plan. |
| Preparation could not be confirmed. Check its result before retrying. | The answer did not arrive. | Check the result before you try again. |
The sheet shows nothing, or the wrong thing
| What you see | Why | What to do |
|---|---|---|
| Run a check to see the character built by your rules and Frame. | No check has run yet. | Choose Check and preview. |
| Choose exactly one default character/content Frame. | No Frame, or more than one, is the default. | Set default to true on exactly one Frame. |
| FRAME_BINDING_UNKNOWN | A text binds a field that does not exist. | Bind a declared field. |
| FRAME_BINDING_TYPE_MISMATCH | A binding names the wrong type. | Match the type to the field. |
| FRAME_FRAMEWORK_MISMATCH | The Frame names another Framework. | Set frameworkRef to the Framework that lists the Frame. |
| ACTION_MISSING | A button names an alias that is not declared. | Declare the alias in dataContract.actions. |
A button is missing from the sheet? An action works from the sheet only when a button names it. The check does not require one.
The check passes but the sheet looks wrong
A passing check proves that the Frame is valid: every binding names a field with the right type, every button names a declared action, and a Frame that draws a list uses version 2.0. It does not prove how the sheet looks.
After a passing check, the editor draws a preview of the entry Framework's default Frame with the values of its first scenario. The preview is static. It does not show other Frames, the entries of a list, a dice click or the dialog of an action. To see those, prepare your game and open a character.

