@seriousgaming/sdk-tools 0.0.0-stage → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +93 -0
- package/README.md +36 -2
- package/dist/bundling/logic-exports.d.ts +34 -0
- package/dist/bundling/node-builtins.d.ts +21 -0
- package/dist/bundling/transpiler.d.ts +7 -0
- package/dist/cli.js +27368 -0
- package/dist/client/dev-server.d.ts +59 -0
- package/dist/client/index.d.ts +28 -0
- package/dist/client/stub-services.d.ts +32 -0
- package/dist/client/test-session.d.ts +195 -0
- package/dist/client.js +16884 -0
- package/dist/core/asset-reference-translator.d.ts +46 -0
- package/dist/core/clock.d.ts +57 -0
- package/dist/core/faults.d.ts +65 -0
- package/dist/core/game-settings.d.ts +65 -0
- package/dist/core/history.d.ts +89 -0
- package/dist/core/listen-with-fallback.d.ts +30 -0
- package/dist/core/mutation-queue.d.ts +61 -0
- package/dist/core/package-scenario.d.ts +89 -0
- package/dist/core/participant-registry.d.ts +109 -0
- package/dist/core/pending-changes.d.ts +14 -0
- package/dist/core/protocol.d.ts +83 -0
- package/dist/core/scenario-drafts.d.ts +32 -0
- package/dist/core/session-endpoints.d.ts +108 -0
- package/dist/core/session-gates.d.ts +75 -0
- package/dist/core/session-host.d.ts +94 -0
- package/dist/core/session-refusals.d.ts +56 -0
- package/dist/core/session-rewind.d.ts +32 -0
- package/dist/core/session-roster.d.ts +128 -0
- package/dist/core/session-surfaces.d.ts +32 -0
- package/dist/core/session-ticks.d.ts +18 -0
- package/dist/core/session-timers.d.ts +84 -0
- package/dist/core/session-writes.d.ts +40 -0
- package/dist/core/session.d.ts +385 -0
- package/dist/core/settings-locks.d.ts +22 -0
- package/dist/core/team-names.d.ts +52 -0
- package/dist/core/team-state-store.d.ts +209 -0
- package/dist/core/tick-timer.d.ts +75 -0
- package/dist/dev/blob-links.d.ts +10 -0
- package/dist/dev/console/assets/index-DgFglsnA.js +204 -0
- package/dist/dev/console/index.html +12 -0
- package/dist/dev/console-path.d.ts +19 -0
- package/dist/dev/lockfile.d.ts +124 -0
- package/dist/dev/package-watcher.d.ts +21 -0
- package/dist/dev/routes.d.ts +67 -0
- package/dist/dev/shell.d.ts +260 -0
- package/dist/dev/surfaces.d.ts +41 -0
- package/dist/dev/tools-identity.d.ts +23 -0
- package/dist/dev/view/batch.d.ts +172 -0
- package/dist/dev/view/commands.d.ts +75 -0
- package/dist/dev/view/route.d.ts +58 -0
- package/dist/dev/view/view.d.ts +78 -0
- package/dist/dev/view/viewer.d.ts +32 -0
- package/dist/discovery/config.d.ts +9 -0
- package/dist/discovery/manifest-paths.d.ts +21 -0
- package/dist/discovery/removed-fields.d.ts +90 -0
- package/dist/docs/api/deck.md +386 -0
- package/dist/docs/api/index.md +67 -0
- package/dist/docs/api/sdk-commands.md +286 -0
- package/dist/docs/api/sdk-e2e.md +433 -0
- package/dist/docs/api/sdk-projection.md +207 -0
- package/dist/docs/api/sdk-testing.md +214 -0
- package/dist/docs/api/sdk-tools-client.md +560 -0
- package/dist/docs/api/sdk-ui-testing.md +231 -0
- package/dist/docs/api/sdk-ui.md +1269 -0
- package/dist/docs/api/sdk.md +2140 -0
- package/dist/docs/changelog-0.x.md +1156 -0
- package/dist/docs/changelog.md +236 -0
- package/dist/docs/cli-and-dev-server.md +217 -0
- package/dist/docs/cli-error-codes.md +154 -0
- package/dist/docs/cli-reference.md +2488 -0
- package/dist/docs/cli-simulation-testing.md +222 -0
- package/dist/docs/concepts/index.md +46 -0
- package/dist/docs/concepts/terminology.md +322 -0
- package/dist/docs/environment-variables.md +102 -0
- package/dist/docs/getting-started.md +145 -0
- package/dist/docs/guides/ai-facilitation.md +220 -0
- package/dist/docs/guides/capabilities.md +460 -0
- package/dist/docs/guides/endpoints.md +335 -0
- package/dist/docs/guides/engine-testing.md +477 -0
- package/dist/docs/guides/engine.md +527 -0
- package/dist/docs/guides/file-handling.md +405 -0
- package/dist/docs/guides/games.md +176 -0
- package/dist/docs/guides/global-settings.md +94 -0
- package/dist/docs/guides/guide.md +123 -0
- package/dist/docs/guides/hooks.md +183 -0
- package/dist/docs/guides/index.md +51 -0
- package/dist/docs/guides/internationalization.md +288 -0
- package/dist/docs/guides/llm-integration.md +635 -0
- package/dist/docs/guides/multi-team-games.md +586 -0
- package/dist/docs/guides/patterns.md +391 -0
- package/dist/docs/guides/presentation.md +196 -0
- package/dist/docs/guides/production-constraints.md +130 -0
- package/dist/docs/guides/scenario-editor.md +143 -0
- package/dist/docs/guides/scenarios.md +515 -0
- package/dist/docs/guides/session.md +972 -0
- package/dist/docs/guides/settings.md +458 -0
- package/dist/docs/guides/setup.md +193 -0
- package/dist/docs/guides/speech-generation.md +233 -0
- package/dist/docs/guides/starter-game.md +164 -0
- package/dist/docs/guides/testing.md +575 -0
- package/dist/docs/guides/tick-controller.md +569 -0
- package/dist/docs/guides/type-safety.md +516 -0
- package/dist/docs/guides/ui.md +1389 -0
- package/dist/docs/guides/upgrading.md +636 -0
- package/dist/docs/guides/validators.md +217 -0
- package/dist/docs/guides/waiting-room.md +244 -0
- package/dist/docs/index.md +41 -0
- package/dist/docs/recipes/act-on-the-session-from-an-endpoint.md +95 -0
- package/dist/docs/recipes/adapt-a-game-for-walkthroughs.md +133 -0
- package/dist/docs/recipes/adapt-ui-for-observers.md +74 -0
- package/dist/docs/recipes/call-endpoint-from-ui.md +109 -0
- package/dist/docs/recipes/check-a-package-from-a-script.md +117 -0
- package/dist/docs/recipes/create-capability.md +66 -0
- package/dist/docs/recipes/create-endpoint.md +127 -0
- package/dist/docs/recipes/create-engine.md +111 -0
- package/dist/docs/recipes/create-game.md +70 -0
- package/dist/docs/recipes/create-guide.md +75 -0
- package/dist/docs/recipes/create-hook.md +80 -0
- package/dist/docs/recipes/create-presentation.md +142 -0
- package/dist/docs/recipes/create-scenario-editor.md +102 -0
- package/dist/docs/recipes/create-scenario.md +98 -0
- package/dist/docs/recipes/create-session-ui.md +116 -0
- package/dist/docs/recipes/create-settings.md +88 -0
- package/dist/docs/recipes/create-setup.md +115 -0
- package/dist/docs/recipes/create-tick-controller.md +65 -0
- package/dist/docs/recipes/create-user-interface.md +96 -0
- package/dist/docs/recipes/create-validator.md +67 -0
- package/dist/docs/recipes/create-waiting-room-ui.md +109 -0
- package/dist/docs/recipes/declare-api-uses.md +67 -0
- package/dist/docs/recipes/design-state-for-concurrent-writes.md +96 -0
- package/dist/docs/recipes/distribute-package.md +80 -0
- package/dist/docs/recipes/e2e-testing.md +116 -0
- package/dist/docs/recipes/end-game-on-condition.md +154 -0
- package/dist/docs/recipes/fix-duplicate-packages.md +101 -0
- package/dist/docs/recipes/index.md +86 -0
- package/dist/docs/recipes/make-an-endpoint-external.md +101 -0
- package/dist/docs/recipes/negotiate-across-teams.md +164 -0
- package/dist/docs/recipes/observe-other-teams-state.md +119 -0
- package/dist/docs/recipes/publish-a-package.md +139 -0
- package/dist/docs/recipes/remember-a-viewers-choice.md +55 -0
- package/dist/docs/recipes/review-a-past-day.md +73 -0
- package/dist/docs/recipes/share-assets-across-scenarios.md +120 -0
- package/dist/docs/recipes/share-logic-between-engine-and-ui.md +130 -0
- package/dist/docs/recipes/show-all-teams-participants.md +109 -0
- package/dist/docs/recipes/start-from-an-empty-package.md +169 -0
- package/dist/docs/recipes/take-a-file-in-an-endpoint.md +82 -0
- package/dist/docs/recipes/test-a-multi-role-game.md +51 -0
- package/dist/docs/recipes/test-user-interface.md +95 -0
- package/dist/docs/recipes/test-with-engine.md +115 -0
- package/dist/docs/recipes/upload-and-display-files.md +148 -0
- package/dist/docs/recipes/use-request-play.md +65 -0
- package/dist/docs/recipes/use-request-tick.md +75 -0
- package/dist/docs/troubleshooting.md +816 -0
- package/dist/execution/blob-inputs.d.ts +57 -0
- package/dist/execution/bundle-reload.d.ts +42 -0
- package/dist/execution/config-resolver.d.ts +127 -0
- package/dist/execution/configuration-builder.d.ts +66 -0
- package/dist/execution/context-composition.d.ts +161 -0
- package/dist/execution/endpoint-actions.d.ts +9 -0
- package/dist/execution/endpoint-payloads.d.ts +32 -0
- package/dist/execution/endpoint-runner.d.ts +129 -0
- package/dist/execution/engine-state.d.ts +40 -0
- package/dist/execution/executor-callbacks.d.ts +56 -0
- package/dist/execution/executor.d.ts +436 -0
- package/dist/execution/gates.d.ts +45 -0
- package/dist/execution/hook-chain.d.ts +25 -0
- package/dist/execution/logic-calls.d.ts +190 -0
- package/dist/execution/logic-failure.d.ts +84 -0
- package/dist/execution/logic-loader.d.ts +54 -0
- package/dist/execution/logic-result.d.ts +76 -0
- package/dist/execution/tick-controller-call.d.ts +32 -0
- package/dist/execution/types.d.ts +48 -0
- package/dist/generation/ts-type.d.ts +39 -0
- package/dist/guide/locale.d.ts +12 -0
- package/dist/guide/video-registry.d.ts +42 -0
- package/dist/help-examples.d.ts +125 -0
- package/dist/host/adapter.d.ts +67 -0
- package/dist/host/host-channel.d.ts +222 -0
- package/dist/host/index.d.ts +20 -0
- package/dist/host/protocol.d.ts +783 -0
- package/dist/host/surfaces.d.ts +42 -0
- package/dist/host/theme.d.ts +55 -0
- package/dist/host.js +583 -0
- package/dist/prompts/index.d.ts +7 -0
- package/dist/prompts/schema-builder.d.ts +29 -0
- package/dist/prompts/types.d.ts +108 -0
- package/dist/prompts/validators.d.ts +32 -0
- package/dist/runtime/capability-scope.d.ts +6 -0
- package/dist/runtime/context-merge.d.ts +29 -0
- package/dist/runtime/context-projection.d.ts +41 -0
- package/dist/runtime/guarded-callbacks.d.ts +15 -0
- package/dist/runtime/index.d.ts +27 -0
- package/dist/runtime/manifest-version.d.ts +55 -0
- package/dist/runtime/tick-validation.d.ts +25 -0
- package/dist/runtime.js +346 -0
- package/dist/schema.json +1546 -0
- package/dist/server/vite-plugin.d.ts +46 -0
- package/dist/services/tts/client.d.ts +51 -0
- package/dist/services/tts/elevenlabs.d.ts +24 -0
- package/dist/services/tts/types.d.ts +44 -0
- package/dist/storage/asset-resolver.d.ts +49 -0
- package/dist/storage/blob-store.d.ts +41 -0
- package/dist/templates/endpoint/logic.test.ts.liquid +61 -0
- package/dist/templates/endpoint/logic.ts.liquid +25 -0
- package/dist/templates/engine/init.json.liquid +7 -0
- package/dist/templates/engine/logic-aggregate.test.ts.liquid +90 -0
- package/dist/templates/engine/logic-aggregate.ts.liquid +46 -0
- package/dist/templates/engine/logic.test.ts.liquid +61 -0
- package/dist/templates/engine/logic.ts.liquid +32 -0
- package/dist/templates/engine/run.json.liquid +7 -0
- package/dist/templates/guide/01-at-a-glance.md.liquid +19 -0
- package/dist/templates/guide/02-preparation.md.liquid +18 -0
- package/dist/templates/guide/03-running-the-session.md.liquid +37 -0
- package/dist/templates/hook/logic.test.ts.liquid +46 -0
- package/dist/templates/hook/logic.ts.liquid +12 -0
- package/dist/templates/package/CLAUDE.md.template +338 -0
- package/dist/templates/package/DESIGN.md.liquid +144 -0
- package/dist/templates/package/README.md.liquid +143 -0
- package/dist/templates/package/claude/rules/workflow-create-capability.md +26 -0
- package/dist/templates/package/claude/rules/workflow-create-endpoint.md +35 -0
- package/dist/templates/package/claude/rules/workflow-create-engine.md +35 -0
- package/dist/templates/package/claude/rules/workflow-create-guide.md +40 -0
- package/dist/templates/package/claude/rules/workflow-create-presentation.md +37 -0
- package/dist/templates/package/claude/rules/workflow-create-user-interface.md +31 -0
- package/dist/templates/package/claude/rules/workflow-publish-package.md +54 -0
- package/dist/templates/package/claude/rules/workflow-test-engine-or-ui.md +30 -0
- package/dist/templates/package/claude/rules/workflow-update-sdk-version.md +43 -0
- package/dist/templates/package/claude/settings.json.template +16 -0
- package/dist/templates/package/gitignore.template +15 -0
- package/dist/templates/package/global-setup.ts.template +21 -0
- package/dist/templates/package/globals.d.ts.template +2 -0
- package/dist/templates/package/oxfmtrc.json.template +14 -0
- package/dist/templates/package/oxlintrc.json.template +238 -0
- package/dist/templates/package/package.json.liquid +65 -0
- package/dist/templates/package/playwright.config.ts.liquid +19 -0
- package/dist/templates/package/pnpm-workspace.yaml.template +27 -0
- package/dist/templates/package/test-setup.ts.liquid +7 -0
- package/dist/templates/package/tsconfig.json.liquid +15 -0
- package/dist/templates/package/vite.config.ts.liquid +19 -0
- package/dist/templates/package/vitest.config.ts.liquid +25 -0
- package/dist/templates/package/vitest.engine.config.ts.liquid +12 -0
- package/dist/templates/presentation/index.html.liquid +20 -0
- package/dist/templates/presentation/src/App.tsx.liquid +49 -0
- package/dist/templates/presentation/src/Slides.tsx.liquid +81 -0
- package/dist/templates/presentation/src/i18n.ts.liquid +54 -0
- package/dist/templates/presentation/src/main.tsx.liquid +14 -0
- package/dist/templates/scenario_editor/src/App.test.tsx.liquid +30 -0
- package/dist/templates/scenario_editor/src/App.tsx.liquid +95 -0
- package/dist/templates/scenario_editor/src/i18n.ts.liquid +44 -0
- package/dist/templates/session/src/App.test.tsx.liquid +60 -0
- package/dist/templates/session/src/App.tsx.liquid +128 -0
- package/dist/templates/session/src/i18n.ts.liquid +53 -0
- package/dist/templates/session/src/main.tsx.liquid +48 -0
- package/dist/templates/session/src/theme.ts.liquid +46 -0
- package/dist/templates/settings-editor/index.html.liquid +12 -0
- package/dist/templates/settings-editor/src/main.tsx.liquid +48 -0
- package/dist/templates/settings-editor/src/theme.ts.liquid +24 -0
- package/dist/templates/setup/src/App.test.tsx.liquid +39 -0
- package/dist/templates/setup/src/App.tsx.liquid +102 -0
- package/dist/templates/setup/src/i18n.ts.liquid +47 -0
- package/dist/templates/starter-game/capabilities/briefing/capability.sdk.json +18 -0
- package/dist/templates/starter-game/capabilities/plan/capability.sdk.json +17 -0
- package/dist/templates/starter-game/capabilities/results/capability.sdk.json +61 -0
- package/dist/templates/starter-game/capabilities/roles/capability.sdk.json +17 -0
- package/dist/templates/starter-game/capabilities/weather/capability.sdk.json +23 -0
- package/dist/templates/starter-game/engine/defaults.ts +81 -0
- package/dist/templates/starter-game/engine/engine.sdk.json +12 -0
- package/dist/templates/starter-game/engine/logic.test.ts +221 -0
- package/dist/templates/starter-game/engine/logic.ts +149 -0
- package/dist/templates/starter-game/engine/test-helpers.ts +74 -0
- package/dist/templates/starter-game/engine/types.ts +139 -0
- package/dist/templates/starter-game/guide/content/en/01-at-a-glance.md +51 -0
- package/dist/templates/starter-game/guide/content/en/02-preparation.md +35 -0
- package/dist/templates/starter-game/guide/content/en/03-running-the-day.md +58 -0
- package/dist/templates/starter-game/guide/guide.sdk.json +10 -0
- package/dist/templates/starter-game/guide/guide.test.ts +108 -0
- package/dist/templates/starter-game/hooks/assignproducts/defaults.ts +37 -0
- package/dist/templates/starter-game/hooks/assignproducts/hook.sdk.json +13 -0
- package/dist/templates/starter-game/hooks/assignproducts/logic/logic.test.ts +77 -0
- package/dist/templates/starter-game/hooks/assignproducts/logic/logic.ts +47 -0
- package/dist/templates/starter-game/hooks/assignproducts/types.ts +55 -0
- package/dist/templates/starter-game/package.json +68 -0
- package/dist/templates/starter-game/playwright.config.ts +19 -0
- package/dist/templates/starter-game/scenarios/heatwave/scenario.sdk.json +20 -0
- package/dist/templates/starter-game/scenarios/ordinary_week/scenario.sdk.json +12 -0
- package/dist/templates/starter-game/seriousgaming.sdk.json +23 -0
- package/dist/templates/starter-game/session/defaults.ts +80 -0
- package/dist/templates/starter-game/session/index.html +12 -0
- package/dist/templates/starter-game/session/session.sdk.json +11 -0
- package/dist/templates/starter-game/session/src/App.test.tsx +307 -0
- package/dist/templates/starter-game/session/src/App.tsx +309 -0
- package/dist/templates/starter-game/session/src/Section.tsx +37 -0
- package/dist/templates/starter-game/session/src/TeamDoor.tsx +96 -0
- package/dist/templates/starter-game/session/src/format.ts +8 -0
- package/dist/templates/starter-game/session/src/i18n.ts +51 -0
- package/dist/templates/starter-game/session/src/main.tsx +48 -0
- package/dist/templates/starter-game/session/src/theme.ts +45 -0
- package/dist/templates/starter-game/session/types.ts +135 -0
- package/dist/templates/starter-game/settings/engine/settings.sdk.json +50 -0
- package/dist/templates/starter-game/settings/menu/settings.sdk.json +78 -0
- package/dist/templates/starter-game/settings/session/settings.sdk.json +23 -0
- package/dist/templates/starter-game/settings/ui/settings.sdk.json +25 -0
- package/dist/templates/starter-game/test-setup.ts +7 -0
- package/dist/templates/starter-game/testing/e2e/game.spec.ts +139 -0
- package/dist/templates/starter-game/testing/e2e/global-setup.ts +21 -0
- package/dist/templates/starter-game/testing/engine/game.engine.test.ts +171 -0
- package/dist/templates/starter-game/tsconfig.json +19 -0
- package/dist/templates/starter-game/ui/defaults.ts +60 -0
- package/dist/templates/starter-game/ui/index.html +12 -0
- package/dist/templates/starter-game/ui/src/App.test.tsx +138 -0
- package/dist/templates/starter-game/ui/src/App.tsx +175 -0
- package/dist/templates/starter-game/ui/src/DayBar.test.tsx +78 -0
- package/dist/templates/starter-game/ui/src/DayBar.tsx +72 -0
- package/dist/templates/starter-game/ui/src/HistoryPanel.test.tsx +74 -0
- package/dist/templates/starter-game/ui/src/HistoryPanel.tsx +120 -0
- package/dist/templates/starter-game/ui/src/MakeRow.tsx +129 -0
- package/dist/templates/starter-game/ui/src/Section.tsx +37 -0
- package/dist/templates/starter-game/ui/src/ThemeToggle.tsx +49 -0
- package/dist/templates/starter-game/ui/src/TodayPanel.test.tsx +179 -0
- package/dist/templates/starter-game/ui/src/TodayPanel.tsx +92 -0
- package/dist/templates/starter-game/ui/src/YesterdayPanel.tsx +142 -0
- package/dist/templates/starter-game/ui/src/format.ts +12 -0
- package/dist/templates/starter-game/ui/src/i18n.ts +95 -0
- package/dist/templates/starter-game/ui/src/main.tsx +48 -0
- package/dist/templates/starter-game/ui/src/menu.ts +18 -0
- package/dist/templates/starter-game/ui/src/test-helpers.ts +58 -0
- package/dist/templates/starter-game/ui/src/theme.ts +45 -0
- package/dist/templates/starter-game/ui/src/writes.ts +43 -0
- package/dist/templates/starter-game/ui/types.ts +137 -0
- package/dist/templates/starter-game/ui/ui.sdk.json +11 -0
- package/dist/templates/starter-game/validators/capacity/defaults.ts +37 -0
- package/dist/templates/starter-game/validators/capacity/logic/logic.test.ts +96 -0
- package/dist/templates/starter-game/validators/capacity/logic/logic.ts +45 -0
- package/dist/templates/starter-game/validators/capacity/types.ts +55 -0
- package/dist/templates/starter-game/validators/capacity/validator.sdk.json +11 -0
- package/dist/templates/starter-game/vite.config.ts +19 -0
- package/dist/templates/starter-game/vitest.config.ts +15 -0
- package/dist/templates/starter-game/vitest.engine.config.ts +19 -0
- package/dist/templates/starter-game/waiting_room/defaults.ts +40 -0
- package/dist/templates/starter-game/waiting_room/index.html +12 -0
- package/dist/templates/starter-game/waiting_room/src/App.test.tsx +102 -0
- package/dist/templates/starter-game/waiting_room/src/App.tsx +194 -0
- package/dist/templates/starter-game/waiting_room/src/i18n.ts +33 -0
- package/dist/templates/starter-game/waiting_room/src/main.tsx +48 -0
- package/dist/templates/starter-game/waiting_room/src/theme.ts +45 -0
- package/dist/templates/starter-game/waiting_room/types.ts +59 -0
- package/dist/templates/starter-game/waiting_room/waiting_room.sdk.json +10 -0
- package/dist/templates/tick-controller/logic.ts.liquid +8 -0
- package/dist/templates/ui/index.html.liquid +12 -0
- package/dist/templates/ui/src/App.test.tsx.liquid +41 -0
- package/dist/templates/ui/src/App.tsx.liquid +103 -0
- package/dist/templates/ui/src/i18n.ts.liquid +47 -0
- package/dist/templates/ui/src/main.tsx.liquid +48 -0
- package/dist/templates/ui/src/theme.ts.liquid +46 -0
- package/dist/templates/validator/logic.test.ts.liquid +42 -0
- package/dist/templates/validator/logic.ts.liquid +21 -0
- package/dist/templates/waiting-room/index.html.liquid +12 -0
- package/dist/templates/waiting-room/src/App.test.tsx.liquid +57 -0
- package/dist/templates/waiting-room/src/App.tsx.liquid +118 -0
- package/dist/templates/waiting-room/src/i18n.ts.liquid +44 -0
- package/dist/templates/waiting-room/src/main.tsx.liquid +48 -0
- package/dist/templates/waiting-room/src/theme.ts.liquid +46 -0
- package/dist/templating/resource-metadata.d.ts +131 -0
- package/dist/types.d.ts +14 -0
- package/dist/utils/atomic-write.d.ts +40 -0
- package/dist/utils/cli-error.d.ts +64 -0
- package/dist/utils/document-parser-client.d.ts +20 -0
- package/dist/utils/env-loader.d.ts +40 -0
- package/dist/utils/error-codes.d.ts +335 -0
- package/dist/utils/errors.d.ts +19 -0
- package/dist/utils/global-settings.d.ts +65 -0
- package/dist/utils/llm-client.d.ts +34 -0
- package/dist/utils/logger.d.ts +36 -0
- package/dist/utils/output.d.ts +109 -0
- package/dist/utils/platform.d.ts +14 -0
- package/dist/utils/prompt.d.ts +36 -0
- package/dist/utils/real-path.d.ts +6 -0
- package/dist/utils/schema-properties.d.ts +35 -0
- package/dist/validation/ajv.d.ts +17 -0
- package/dist/validation/facilitator-guide-validator.d.ts +27 -0
- package/dist/validation/findings.d.ts +40 -0
- package/dist/validation/game-constraints.d.ts +10 -0
- package/dist/validation/game-validator.d.ts +34 -0
- package/dist/validation/package-validation.d.ts +41 -0
- package/dist/validation/package-validator.d.ts +19 -0
- package/dist/validation/resource-validator.d.ts +79 -0
- package/dist/validation/schema-defaults-validator.d.ts +29 -0
- package/dist/validation/schema-validation.d.ts +115 -0
- package/dist/validation/semver.d.ts +9 -0
- package/package.json +122 -3
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
<!-- Generated by `pnpm docs:generate` from the exports of `@seriousgaming/deck`. Edit those, not this file. -->
|
|
2
|
+
|
|
3
|
+
# `@seriousgaming/deck`
|
|
4
|
+
|
|
5
|
+
Every export of `@seriousgaming/deck`, with the declaration it is published with. Anything tagged `@internal` is left out: it ships in the declarations, but is not part of the supported API and may change without a major release. For how the pieces fit together, see the [API reference](./index.md) and the guides it links to.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
### Bullets
|
|
10
|
+
|
|
11
|
+
A bulleted or numbered list. Exports as an editable PowerPoint list.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
function Bullets(props: BulletsProps): import('react').JSX.Element;
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Chart
|
|
18
|
+
|
|
19
|
+
A bar or line chart drawn in the brand's colours.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
function Chart(props: ChartProps): import('react').JSX.Element;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Deck
|
|
26
|
+
|
|
27
|
+
A presentation: one slide at a time, scaled to fit its container, driven by keyboard (see `useDeckKeys`), clicker, click or swipe.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
function Deck(props: DeckProps): import('react').JSX.Element;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Heading
|
|
34
|
+
|
|
35
|
+
A heading in the brand's heading font. Exports as an editable text box.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
function Heading(props: HeadingProps): import('react').JSX.Element;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Image
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
function Image(props: ImageProps): import('react').JSX.Element;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### readableOn
|
|
48
|
+
|
|
49
|
+
Black or white, whichever reads better on `color` (WCAG relative luminance).
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
function readableOn(color: string): string;
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### resolveBrand
|
|
56
|
+
|
|
57
|
+
Fill in whatever a partial brand leaves out from `defaultBrand`.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
function resolveBrand(brand: Partial<Brand> | undefined): Brand;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Slide
|
|
64
|
+
|
|
65
|
+
One slide, laid out on a fixed 1920 by 1080 canvas.
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
function Slide(props: SlideProps): import('react').JSX.Element;
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step
|
|
72
|
+
|
|
73
|
+
Content revealed by a click.
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
function Step(props: StepProps): import('react').JSX.Element;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Table
|
|
80
|
+
|
|
81
|
+
A table with a branded header row. Exports as an editable PowerPoint table.
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
function Table(props: TableProps): import('react').JSX.Element;
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Text
|
|
88
|
+
|
|
89
|
+
Body copy. Inline formatting (`<strong>`, `<em>`, styled spans) survives export.
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
function Text(props: TextProps): import('react').JSX.Element;
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### useBrand
|
|
96
|
+
|
|
97
|
+
The deck's resolved brand, for components that draw in its colours.
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
function useBrand(): Brand;
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### useDeck
|
|
104
|
+
|
|
105
|
+
Where the deck is, and how to move it. Only inside a `Deck`.
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
function useDeck(): DeckState;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### useSlide
|
|
112
|
+
|
|
113
|
+
The slide this component sits on: how far it is built, and whether it is a live or static render. Custom animations read `step` and `mode` from here, and should show their final state whenever `mode` is `static`.
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
function useSlide(): SlideState;
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### useStepVisible
|
|
120
|
+
|
|
121
|
+
Whether click `at` has been reached on this slide, registering it as one of the slide's steps. For a custom animation that wants to build with clicks without wrapping itself in a `Step`.
|
|
122
|
+
|
|
123
|
+
```ts
|
|
124
|
+
function useStepVisible(at: number): boolean;
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Constants
|
|
128
|
+
|
|
129
|
+
### ALL_STEPS
|
|
130
|
+
|
|
131
|
+
A step value meaning 'everything on the slide is shown'.
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
const ALL_STEPS: number;
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### defaultBrand
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
const defaultBrand: Brand;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### nativeText
|
|
144
|
+
|
|
145
|
+
Marks any element of your own as native PowerPoint text, so it exports as an editable text box rather than as part of the slide's picture: `<div {...nativeText}>...</div>`.
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
const nativeText: {
|
|
149
|
+
readonly 'data-deck-native': 'text';
|
|
150
|
+
};
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### SLIDE_HEIGHT
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
const SLIDE_HEIGHT = 1080;
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### SLIDE_WIDTH
|
|
160
|
+
|
|
161
|
+
Every slide is laid out on this canvas and scaled to fit wherever it is shown.
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
const SLIDE_WIDTH = 1920;
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## Interfaces
|
|
168
|
+
|
|
169
|
+
### Brand
|
|
170
|
+
|
|
171
|
+
What a deck is dressed in.
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
interface Brand {
|
|
175
|
+
colors: {
|
|
176
|
+
primary: string;
|
|
177
|
+
secondary: string;
|
|
178
|
+
background: string;
|
|
179
|
+
surface: string;
|
|
180
|
+
text: string;
|
|
181
|
+
muted: string;
|
|
182
|
+
};
|
|
183
|
+
fonts: {
|
|
184
|
+
heading: string;
|
|
185
|
+
body: string;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### BulletsProps
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
interface BulletsProps extends TextBase {
|
|
194
|
+
items: ReactNode[];
|
|
195
|
+
ordered?: boolean;
|
|
196
|
+
stepped?: boolean;
|
|
197
|
+
stepFrom?: number;
|
|
198
|
+
animation?: StepAnimation;
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### ChartProps
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
interface ChartProps {
|
|
206
|
+
type: 'bar' | 'line';
|
|
207
|
+
categories: string[];
|
|
208
|
+
series: ChartSeriesInput[];
|
|
209
|
+
showValues?: boolean;
|
|
210
|
+
showLegend?: boolean;
|
|
211
|
+
valueFormat?: ValueFormat;
|
|
212
|
+
locale?: string;
|
|
213
|
+
className?: string;
|
|
214
|
+
style?: CSSProperties;
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### ChartSeriesInput
|
|
219
|
+
|
|
220
|
+
```ts
|
|
221
|
+
interface ChartSeriesInput {
|
|
222
|
+
name: string;
|
|
223
|
+
values: (number | null)[];
|
|
224
|
+
color?: string;
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### DeckProps
|
|
229
|
+
|
|
230
|
+
```ts
|
|
231
|
+
interface DeckProps {
|
|
232
|
+
children: ReactNode;
|
|
233
|
+
brand?: Partial<Brand>;
|
|
234
|
+
title?: string;
|
|
235
|
+
dir?: 'ltr' | 'rtl';
|
|
236
|
+
lang?: string;
|
|
237
|
+
transition?: Transition;
|
|
238
|
+
controls?: boolean;
|
|
239
|
+
clickToAdvance?: boolean;
|
|
240
|
+
exportFormats?: ExportFormat[];
|
|
241
|
+
startAt?: string | number;
|
|
242
|
+
rememberAs?: string;
|
|
243
|
+
onSlideChange?: (slideIndex: number) => void;
|
|
244
|
+
className?: string;
|
|
245
|
+
style?: CSSProperties;
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### DeckState
|
|
250
|
+
|
|
251
|
+
```ts
|
|
252
|
+
interface DeckState {
|
|
253
|
+
slideIndex: number;
|
|
254
|
+
slideCount: number;
|
|
255
|
+
step: number;
|
|
256
|
+
next: () => void;
|
|
257
|
+
prev: () => void;
|
|
258
|
+
goTo: (slideIndex: number, step?: number) => void;
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### HeadingProps
|
|
263
|
+
|
|
264
|
+
```ts
|
|
265
|
+
interface HeadingProps extends TextBase {
|
|
266
|
+
level?: 1 | 2 | 3;
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### ImageProps
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
interface ImageProps {
|
|
274
|
+
src: string;
|
|
275
|
+
alt: string;
|
|
276
|
+
fit?: 'contain' | 'cover';
|
|
277
|
+
className?: string;
|
|
278
|
+
style?: CSSProperties;
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### SlideProps
|
|
283
|
+
|
|
284
|
+
```ts
|
|
285
|
+
interface SlideProps {
|
|
286
|
+
children?: ReactNode;
|
|
287
|
+
transition?: Transition;
|
|
288
|
+
notes?: string;
|
|
289
|
+
background?: string;
|
|
290
|
+
className?: string;
|
|
291
|
+
style?: CSSProperties;
|
|
292
|
+
id?: string;
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### SlideState
|
|
297
|
+
|
|
298
|
+
```ts
|
|
299
|
+
interface SlideState {
|
|
300
|
+
index: number;
|
|
301
|
+
mode: RenderMode;
|
|
302
|
+
step: number;
|
|
303
|
+
isActive: boolean;
|
|
304
|
+
dir: 'ltr' | 'rtl';
|
|
305
|
+
registerStep: (at: number) => () => void;
|
|
306
|
+
registerNotes: (notes: string | undefined) => void;
|
|
307
|
+
defaultTransition: Transition;
|
|
308
|
+
direction: 'forward' | 'backward';
|
|
309
|
+
}
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### StepProps
|
|
313
|
+
|
|
314
|
+
```ts
|
|
315
|
+
interface StepProps {
|
|
316
|
+
at: number;
|
|
317
|
+
animation?: StepAnimation;
|
|
318
|
+
children?: ReactNode;
|
|
319
|
+
as?: ElementType;
|
|
320
|
+
className?: string;
|
|
321
|
+
style?: CSSProperties;
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### TableProps
|
|
326
|
+
|
|
327
|
+
```ts
|
|
328
|
+
interface TableProps {
|
|
329
|
+
columns: ReactNode[];
|
|
330
|
+
rows: ReactNode[][];
|
|
331
|
+
align?: ('start' | 'center' | 'end')[];
|
|
332
|
+
className?: string;
|
|
333
|
+
style?: CSSProperties;
|
|
334
|
+
}
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### TextProps
|
|
338
|
+
|
|
339
|
+
```ts
|
|
340
|
+
interface TextProps extends TextBase {
|
|
341
|
+
as?: ElementType;
|
|
342
|
+
variant?: 'body' | 'lead' | 'caption';
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### ValueFormat
|
|
347
|
+
|
|
348
|
+
```ts
|
|
349
|
+
interface ValueFormat {
|
|
350
|
+
style?: 'decimal' | 'currency' | 'percent';
|
|
351
|
+
currency?: string;
|
|
352
|
+
maximumFractionDigits?: number;
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
## Types
|
|
357
|
+
|
|
358
|
+
### ExportFormat
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
type ExportFormat = 'pdf' | 'pptx' | 'png';
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### RenderMode
|
|
365
|
+
|
|
366
|
+
How a slide is being rendered.
|
|
367
|
+
|
|
368
|
+
```ts
|
|
369
|
+
type RenderMode = 'live' | 'static';
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### StepAnimation
|
|
373
|
+
|
|
374
|
+
How a step appears when it is revealed.
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
type StepAnimation = 'fade' | 'fade-up' | 'fade-left' | 'zoom' | 'blur' | 'none';
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Transition
|
|
381
|
+
|
|
382
|
+
How a slide arrives when the presenter moves onto it.
|
|
383
|
+
|
|
384
|
+
```ts
|
|
385
|
+
type Transition = 'none' | 'fade' | 'slide' | 'zoom' | 'rise';
|
|
386
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!-- Generated by `pnpm docs:generate` from the exports of `@seriousgaming/sdk`, `@seriousgaming/deck` and `@seriousgaming/sdk-tools/client`, and `sdk-tools/docs-partials/api/`. Edit those, not this file. -->
|
|
2
|
+
|
|
3
|
+
# API reference
|
|
4
|
+
|
|
5
|
+
Every type, function, hook and component your game imports, one page per entry point. Each page is generated from the published declarations and their documentation, so it always matches the release it ships in.
|
|
6
|
+
|
|
7
|
+
| Entry point | Exports |
|
|
8
|
+
| ---------------------------------------------------------- | -------------------------------------------------------------- |
|
|
9
|
+
| [`@seriousgaming/sdk`](./sdk.md) | 10 functions, 2 classes, 94 interfaces, 46 types |
|
|
10
|
+
| [`@seriousgaming/sdk/ui`](./sdk-ui.md) | 44 functions, 3 classes, 37 constants, 18 interfaces, 35 types |
|
|
11
|
+
| [`@seriousgaming/sdk/ui/testing`](./sdk-ui-testing.md) | 11 functions, 6 types |
|
|
12
|
+
| [`@seriousgaming/sdk/testing`](./sdk-testing.md) | 4 functions, 4 constants, 7 types |
|
|
13
|
+
| [`@seriousgaming/sdk/projection`](./sdk-projection.md) | 1 constant, 8 interfaces, 3 types |
|
|
14
|
+
| [`@seriousgaming/sdk/commands`](./sdk-commands.md) | 3 interfaces, 5 types |
|
|
15
|
+
| [`@seriousgaming/sdk/e2e`](./sdk-e2e.md) | 6 functions, 1 constant, 4 interfaces, 5 types |
|
|
16
|
+
| [`@seriousgaming/deck`](./deck.md) | 15 functions, 5 constants, 14 interfaces, 4 types |
|
|
17
|
+
| [`@seriousgaming/sdk-tools/client`](./sdk-tools-client.md) | 4 functions, 1 class, 10 interfaces, 11 types |
|
|
18
|
+
|
|
19
|
+
## Which entry point to import from
|
|
20
|
+
|
|
21
|
+
- **`@seriousgaming/sdk`**: the types logic is written against (`RunFunction`, `InitializationFunction`, `LogicResult`, the endpoint, hook, validator and tick controller signatures, `SignatureCallbacks`, `TimerState`) and the few runtime helpers logic may call
|
|
22
|
+
- **`@seriousgaming/sdk/ui`**: the React wrappers and hooks every surface uses (`useUserInterfaceData`, `useUserInterfaceTimer`, `useViewerStorage`, `useAsset`, `useAssetUrl`, `usePastState` and the rest), plus `MutationError` and `EndpointError`, what a failed write or endpoint call rejects with
|
|
23
|
+
- **`@seriousgaming/sdk/testing`**: `logicArgs` and the offline stub callbacks, for unit-testing logic with no runtime
|
|
24
|
+
- **`@seriousgaming/sdk/ui/testing`**: the harness for component-testing a surface
|
|
25
|
+
- **`@seriousgaming/sdk/e2e`**: the browser-test driver for a running dev server
|
|
26
|
+
- **`@seriousgaming/sdk/commands`** and **`@seriousgaming/sdk/projection`**: the commands a client may send a session, and the shape of the state it reads back (`sdk view --json` and the dev server's `/api/state`)
|
|
27
|
+
- **`@seriousgaming/sdk-tools/client`**: `createTestSession`, which plays a whole game in-process, and `startDevServer`, which starts an isolated dev server for browser tests
|
|
28
|
+
- **`@seriousgaming/deck`**: the slide components and layout primitives a presentation is built from
|
|
29
|
+
|
|
30
|
+
`@seriousgaming/sdk-tools` also exports `/host` and `/runtime`. They are for people building a runtime that hosts games, not for game authors, their shapes may change in a minor release, and they are not documented here.
|
|
31
|
+
|
|
32
|
+
## Generated types beside each resource
|
|
33
|
+
|
|
34
|
+
Most of what a resource imports is not from the SDK at all, but from the `types.ts` the CLI generates beside it from its bundle (and refreshes on `sdk generate`, `sdk build` and every `new` or `update`). The names are the same in every resource:
|
|
35
|
+
|
|
36
|
+
| Name | What it is |
|
|
37
|
+
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
|
|
38
|
+
| `Context` | The capabilities the resource declares in `reads` and `writes`, keyed by capability identifier |
|
|
39
|
+
| `TeamContext`, `SharedContext` | The engine's per-team and shared halves, in a game with shared capabilities |
|
|
40
|
+
| `Settings` | The settings resources it lists in `settings` (or, for `setup` and `scenario_editor`, in `configures`) |
|
|
41
|
+
| `Callbacks` | `LogicCallbacks<...>`: exactly the services it declares in `uses`, and none of the others |
|
|
42
|
+
| `Request`, `Response`, `Writes`, `Handler` | An endpoint's request, response, declared writes and handler signature (`Planner` and `Responder` with `actions`) |
|
|
43
|
+
| `Endpoints` | On a surface, the typed `callbacks.endpoints` for the endpoints it declares |
|
|
44
|
+
|
|
45
|
+
The `defaults.ts` beside it exports `defaultContext` and `defaultSettings` (and `defaultTeamContext` and `defaultSharedContext` where they apply), the declared defaults, for use as test fixtures. Write logic as `RunFunction<Context, Settings>` and so on, so the compiler checks it against what the bundle declares: see [Type safety](../guides/type-safety.md).
|
|
46
|
+
|
|
47
|
+
## Naming conventions
|
|
48
|
+
|
|
49
|
+
- **Logic signatures** end in `Function` (`RunFunction`, `InitializationFunction`, `HookFunction`, `ValidatorFunction`, `GetTickControllerFunction`), their argument objects in `FunctionArgs`, and an endpoint's in `EndpointHandler` (`EndpointHandler`, `WritingEndpointHandler`, `EffectfulEndpointHandler`)
|
|
50
|
+
- **Arguments** are always one object, whose `meta` is `LogicMeta`, or `RunMeta` and `TeamRunMeta` inside a tick
|
|
51
|
+
- **Results** carry what logic writes under `capabilities`, and paths to remove under `deletes`
|
|
52
|
+
- **Hooks** for surfaces start with `use`, and **errors** end in `Error`
|
|
53
|
+
- **Bundle types** generated from `schema.json` start with `SDK` (`SDKEngine`, `SDKHook`), and the two manifests end in `Manifest`: `PackageManifest` is `seriousgaming.sdk.json` as authored, `ResolvedPackageManifest` the built `seriousgaming.json`
|
|
54
|
+
|
|
55
|
+
## Where each part is explained
|
|
56
|
+
|
|
57
|
+
The pages above list every export; the guides explain how they fit together:
|
|
58
|
+
|
|
59
|
+
- [Engine](../guides/engine.md) for `Init`, `Run` and the tick
|
|
60
|
+
- [Endpoints](../guides/endpoints.md), [Hooks](../guides/hooks.md), [Validators](../guides/validators.md) and [Tick controllers](../guides/tick-controller.md) for the other logic
|
|
61
|
+
- [User interfaces](../guides/ui.md) and [Session UIs](../guides/session.md) for the surface hooks
|
|
62
|
+
- [Testing](../guides/testing.md) and [Engine testing](../guides/engine-testing.md) for `@seriousgaming/sdk/testing`, `@seriousgaming/sdk/ui/testing` and `@seriousgaming/sdk-tools/client`
|
|
63
|
+
- [Presentations](../guides/presentation.md) for `@seriousgaming/deck`
|
|
64
|
+
|
|
65
|
+
## Versioning
|
|
66
|
+
|
|
67
|
+
The API version is the SDK package version. A scaffolded game pins a caret range against the release it was created with, so a minor or patch release arrives with `pnpm update`; a major release is a step in the [upgrading guide](../guides/upgrading.md).
|