dreamboard 0.1.21 → 0.1.22
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/dist/{chunk-EYYWGWTO.js → chunk-2RCUHMGL.js} +343 -1911
- package/dist/chunk-2RCUHMGL.js.map +1 -0
- package/dist/{chunk-MOVHYB6E.js → chunk-AQ5UUNJS.js} +1018 -692
- package/dist/chunk-AQ5UUNJS.js.map +1 -0
- package/dist/{chunk-BMYC6772.js → chunk-H3O43F5P.js} +9765 -3068
- package/dist/chunk-H3O43F5P.js.map +1 -0
- package/dist/dev-host/dev-api-proxy-plugin.ts +330 -0
- package/dist/dev-host/dev-diagnostics.ts +62 -0
- package/dist/dev-host/dev-fallback-stylesheet.ts +50 -0
- package/dist/dev-host/dev-host-controller.ts +686 -0
- package/dist/dev-host/dev-host-player-query.ts +17 -0
- package/dist/dev-host/dev-host-session-transport.ts +52 -0
- package/dist/dev-host/dev-host-storage.ts +56 -0
- package/dist/dev-host/dev-log-relay-plugin.ts +469 -0
- package/dist/dev-host/dev-runtime-config.ts +14 -0
- package/dist/dev-host/dev-runtime-platform.ts +419 -0
- package/dist/dev-host/dev-virtual-modules-plugin.ts +63 -0
- package/dist/dev-host/host-main.css +182 -0
- package/dist/dev-host/host-main.tsx +754 -0
- package/dist/dev-host/index.html +56 -0
- package/dist/dev-host/plugin-main.ts +55 -0
- package/dist/dev-host/plugin.html +24 -0
- package/dist/dev-host/start-dev-server.ts +138 -0
- package/dist/dev-host/virtual-modules.d.ts +27 -0
- package/dist/dist-FEPN3BDN.js +16543 -0
- package/dist/dist-FEPN3BDN.js.map +1 -0
- package/dist/{dist-WJRJNFLI.js → dist-FRURQI7Q.js} +4 -2
- package/dist/index.js +3 -3
- package/dist/internal.js +159 -124
- package/dist/internal.js.map +1 -1
- package/dist/runtime-packages/tailwind-config/shared-styles.css +146 -0
- package/dist/runtime-packages/ui/src/components/.gitkeep +0 -0
- package/dist/runtime-packages/ui/src/components/accordion.tsx +66 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/actions.tsx +65 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/artifact.tsx +147 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/branch.tsx +215 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/canvas.tsx +22 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/chain-of-thought.tsx +228 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/code-block.tsx +179 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/confirmation.tsx +158 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/connection.tsx +28 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/context.tsx +408 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/controls.tsx +18 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/conversation.tsx +97 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/edge.tsx +140 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/image.tsx +24 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/inline-citation.tsx +287 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/loader.tsx +96 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/message.tsx +463 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/node.tsx +71 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/open-in-chat.tsx +365 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/panel.tsx +15 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/plan.tsx +142 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/prompt-input.tsx +1380 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/queue.tsx +274 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/reasoning.tsx +182 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/response.tsx +22 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/shimmer.tsx +64 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/sources.tsx +77 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/suggestion.tsx +53 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/task.tsx +87 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/tool.tsx +165 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/toolbar.tsx +16 -0
- package/dist/runtime-packages/ui/src/components/ai-elements/web-preview.tsx +263 -0
- package/dist/runtime-packages/ui/src/components/alert-dialog.tsx +157 -0
- package/dist/runtime-packages/ui/src/components/alert.tsx +66 -0
- package/dist/runtime-packages/ui/src/components/avatar.tsx +53 -0
- package/dist/runtime-packages/ui/src/components/badge.tsx +46 -0
- package/dist/runtime-packages/ui/src/components/button-group.tsx +83 -0
- package/dist/runtime-packages/ui/src/components/button.tsx +65 -0
- package/dist/runtime-packages/ui/src/components/card.tsx +92 -0
- package/dist/runtime-packages/ui/src/components/carousel.tsx +241 -0
- package/dist/runtime-packages/ui/src/components/collapsible.tsx +33 -0
- package/dist/runtime-packages/ui/src/components/command.tsx +184 -0
- package/dist/runtime-packages/ui/src/components/context-menu.tsx +252 -0
- package/dist/runtime-packages/ui/src/components/counter.tsx +11 -0
- package/dist/runtime-packages/ui/src/components/dialog.tsx +146 -0
- package/dist/runtime-packages/ui/src/components/drawer.tsx +132 -0
- package/dist/runtime-packages/ui/src/components/dropdown-menu.tsx +257 -0
- package/dist/runtime-packages/ui/src/components/form.tsx +168 -0
- package/dist/runtime-packages/ui/src/components/header.tsx +13 -0
- package/dist/runtime-packages/ui/src/components/hover-card.tsx +44 -0
- package/dist/runtime-packages/ui/src/components/input-group.tsx +178 -0
- package/dist/runtime-packages/ui/src/components/input.tsx +21 -0
- package/dist/runtime-packages/ui/src/components/item.tsx +193 -0
- package/dist/runtime-packages/ui/src/components/label.tsx +24 -0
- package/dist/runtime-packages/ui/src/components/navigation-menu.tsx +168 -0
- package/dist/runtime-packages/ui/src/components/popover.tsx +55 -0
- package/dist/runtime-packages/ui/src/components/progress.tsx +31 -0
- package/dist/runtime-packages/ui/src/components/radio-group.tsx +45 -0
- package/dist/runtime-packages/ui/src/components/resizable.tsx +56 -0
- package/dist/runtime-packages/ui/src/components/scroll-area.tsx +58 -0
- package/dist/runtime-packages/ui/src/components/select.tsx +187 -0
- package/dist/runtime-packages/ui/src/components/separator.tsx +28 -0
- package/dist/runtime-packages/ui/src/components/skeleton.tsx +13 -0
- package/dist/runtime-packages/ui/src/components/sonner.tsx +25 -0
- package/dist/runtime-packages/ui/src/components/spinner.tsx +16 -0
- package/dist/runtime-packages/ui/src/components/switch.tsx +31 -0
- package/dist/runtime-packages/ui/src/components/table.tsx +137 -0
- package/dist/runtime-packages/ui/src/components/tabs.tsx +74 -0
- package/dist/runtime-packages/ui/src/components/textarea.tsx +23 -0
- package/dist/runtime-packages/ui/src/components/theme-provider.tsx +73 -0
- package/dist/runtime-packages/ui/src/components/tooltip.tsx +61 -0
- package/dist/runtime-packages/ui/src/components/ui/file-upload.tsx +195 -0
- package/dist/runtime-packages/ui/src/hooks/.gitkeep +0 -0
- package/dist/runtime-packages/ui/src/index.ts +68 -0
- package/dist/runtime-packages/ui/src/lib/utils.ts +6 -0
- package/dist/runtime-packages/ui-host-runtime/src/actor-principal.ts +68 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/host-controls.tsx +359 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/host-feedback-toaster.tsx +274 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/host-feedback.tsx +214 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/host-session-metadata.tsx +135 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/index.ts +5 -0
- package/dist/runtime-packages/ui-host-runtime/src/components/perf-overlay.tsx +194 -0
- package/dist/runtime-packages/ui-host-runtime/src/host-controls.tsx +1 -0
- package/dist/runtime-packages/ui-host-runtime/src/host-feedback.tsx +1 -0
- package/dist/runtime-packages/ui-host-runtime/src/host-session-transport.ts +162 -0
- package/dist/runtime-packages/ui-host-runtime/src/index.ts +2 -0
- package/dist/runtime-packages/ui-host-runtime/src/logger.ts +11 -0
- package/dist/runtime-packages/ui-host-runtime/src/perf.ts +253 -0
- package/dist/runtime-packages/ui-host-runtime/src/plugin-bridge.ts +195 -0
- package/dist/runtime-packages/ui-host-runtime/src/plugin-health-check.ts +138 -0
- package/dist/runtime-packages/ui-host-runtime/src/plugin-messages.ts +159 -0
- package/dist/runtime-packages/ui-host-runtime/src/plugin-session-gateway.ts +524 -0
- package/dist/runtime-packages/ui-host-runtime/src/runtime/index.ts +12 -0
- package/dist/runtime-packages/ui-host-runtime/src/screenshot/projection-to-snapshot.ts +122 -0
- package/dist/runtime-packages/ui-host-runtime/src/screenshot/static-store-api.ts +26 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-ingress-controller.ts +477 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-ingress.ts +209 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-live-runtime.ts +112 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-model.ts +318 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-projection.ts +211 -0
- package/dist/runtime-packages/ui-host-runtime/src/session-state-reducer.ts +814 -0
- package/dist/runtime-packages/ui-host-runtime/src/sse-manager.ts +334 -0
- package/dist/runtime-packages/ui-host-runtime/src/unified-session-store.ts +180 -0
- package/dist/scaffold/assets/static/app/tsconfig.framework.json +3 -1
- package/dist/scaffold/assets/static/ui/tsconfig.framework.json +7 -19
- package/package.json +52 -17
- package/skills/dreamboard/SKILL.md +41 -75
- package/LICENSE +0 -89
- package/NOTICE +0 -1
- package/dist/chunk-BMYC6772.js.map +0 -1
- package/dist/chunk-EYYWGWTO.js.map +0 -1
- package/dist/chunk-MOVHYB6E.js.map +0 -1
- package/dist/scaffold/assets/static/ui/App.tsx +0 -22
- package/dist/src-CUL7EGGG.js +0 -634
- package/dist/src-CUL7EGGG.js.map +0 -1
- package/skills/dreamboard/references/authoring-lifecycle.md +0 -102
- package/skills/dreamboard/references/board-surfaces.md +0 -36
- package/skills/dreamboard/references/board-topology.md +0 -443
- package/skills/dreamboard/references/boards-and-topology.md +0 -100
- package/skills/dreamboard/references/card-actions.md +0 -107
- package/skills/dreamboard/references/cli.md +0 -120
- package/skills/dreamboard/references/core-concepts.md +0 -514
- package/skills/dreamboard/references/custom-renderers.md +0 -26
- package/skills/dreamboard/references/derived-values.md +0 -55
- package/skills/dreamboard/references/effects.md +0 -111
- package/skills/dreamboard/references/game-contract.md +0 -89
- package/skills/dreamboard/references/game-definition.md +0 -89
- package/skills/dreamboard/references/game-shell.md +0 -80
- package/skills/dreamboard/references/hand-surfaces.md +0 -33
- package/skills/dreamboard/references/index.md +0 -112
- package/skills/dreamboard/references/inputs-and-targets.md +0 -160
- package/skills/dreamboard/references/interactions.md +0 -158
- package/skills/dreamboard/references/manifest-fields.md +0 -137
- package/skills/dreamboard/references/manifest.md +0 -81
- package/skills/dreamboard/references/package-surfaces.md +0 -69
- package/skills/dreamboard/references/phases.md +0 -145
- package/skills/dreamboard/references/prompts-and-choices.md +0 -55
- package/skills/dreamboard/references/quickstart.md +0 -71
- package/skills/dreamboard/references/rule-authoring.md +0 -144
- package/skills/dreamboard/references/setup-bootstrap.md +0 -78
- package/skills/dreamboard/references/stages-and-zones.md +0 -59
- package/skills/dreamboard/references/static-views.md +0 -67
- package/skills/dreamboard/references/table-queries-and-ops.md +0 -103
- package/skills/dreamboard/references/testing-bases.md +0 -147
- package/skills/dreamboard/references/testing-generated-contracts.md +0 -142
- package/skills/dreamboard/references/testing-runtime-assertions.md +0 -124
- package/skills/dreamboard/references/testing-scenarios.md +0 -148
- package/skills/dreamboard/references/testing-ui-tests.md +0 -174
- package/skills/dreamboard/references/testing.md +0 -161
- package/skills/dreamboard/references/ui-architecture.md +0 -137
- package/skills/dreamboard/references/ui-components.md +0 -34
- package/skills/dreamboard/references/views.md +0 -72
- package/skills/dreamboard/references/workspace-layout.md +0 -136
- /package/dist/{dist-WJRJNFLI.js.map → dist-FRURQI7Q.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dreamboard
|
|
3
|
-
description:
|
|
3
|
+
description: Create multiplayer, rule-enforced, turn-based game on Dreamboard.games platform.
|
|
4
4
|
metadata:
|
|
5
5
|
short-description: Dreamboard Game Development Workflow
|
|
6
6
|
tags: [dreamboard, cli, game-dev, board-game, turn-based, multiplayer]
|
|
@@ -17,91 +17,51 @@ compile, run, and test against the current reducer-native scaffold.
|
|
|
17
17
|
|
|
18
18
|
- Dreamboard CLI installed and available as `dreamboard`
|
|
19
19
|
Install with `npm install -g dreamboard`
|
|
20
|
-
- Authenticated via `dreamboard
|
|
20
|
+
- Authenticated via `dreamboard login`
|
|
21
21
|
|
|
22
|
-
##
|
|
23
|
-
|
|
24
|
-
Copy this checklist and track your progress:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
New Game Development Progress:
|
|
28
|
-
- [ ] Step 1: Author rule.md
|
|
29
|
-
- [ ] Step 2: Author manifest.ts to define game topology
|
|
30
|
-
- [ ] Step 3: Run `dreamboard sync` to update generated type-safe contracts
|
|
31
|
-
- [ ] Step 4: Implement reducer contract, phases, interactions, and views in `app/`
|
|
32
|
-
- [ ] Step 5: Keep reducer files organized by ownership: `game-contract.ts` for schemas, `game.ts` for assembly, phase `index.ts` files for `definePhase` registration, and concept files for reducer bodies
|
|
33
|
-
- [ ] Step 6: Run `dreamboard compile` and fix any type errors
|
|
34
|
-
- [ ] Step 7: Write bases and scenarios in `test/`, then run `dreamboard test generate` and `dreamboard test run`
|
|
35
|
-
- [ ] Step 8: Implement the playable UI in `ui/App.tsx` — start from generated `PromptInbox`, `Interaction`, and `Zone` primitives before writing custom runtime plumbing (see [references/ui-architecture.md](references/ui-architecture.md))
|
|
36
|
-
- [ ] Step 9: Verify end-to-end with `dreamboard dev`
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
For the end-to-end authoring loop, start with [references/quickstart.md](references/quickstart.md) and [references/authoring-lifecycle.md](references/authoring-lifecycle.md).
|
|
22
|
+
## Buliding Your First Game
|
|
23
|
+
See [tutorials/building-your-first-game.md](references/building-your-first-game.md)
|
|
40
24
|
|
|
41
25
|
## References
|
|
42
26
|
|
|
43
27
|
- Quickstart:
|
|
44
28
|
[references/quickstart.md](references/quickstart.md)
|
|
45
|
-
-
|
|
46
|
-
[references/
|
|
47
|
-
- Core concepts:
|
|
48
|
-
[references/core-concepts.md](references/core-concepts.md)
|
|
29
|
+
- Tutorial:
|
|
30
|
+
[references/building-your-first-game.md](references/building-your-first-game.md)
|
|
49
31
|
- CLI:
|
|
50
32
|
[references/cli.md](references/cli.md)
|
|
51
33
|
- Rules:
|
|
52
34
|
[references/rule-authoring.md](references/rule-authoring.md)
|
|
53
35
|
- Manifest:
|
|
54
|
-
[references/manifest.md](references/manifest.md)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
[references/game-
|
|
59
|
-
[references/phases.md](references/phases.md),
|
|
60
|
-
[references/interactions.md](references/interactions.md),
|
|
61
|
-
[references/card-actions.md](references/card-actions.md),
|
|
62
|
-
[references/effects.md](references/effects.md),
|
|
63
|
-
[references/views.md](references/views.md)
|
|
64
|
-
- Tiled Boards:
|
|
65
|
-
[references/board-topology.md](references/board-topology.md)
|
|
66
|
-
- UI:
|
|
67
|
-
[references/ui-architecture.md](references/ui-architecture.md),
|
|
68
|
-
[references/game-shell.md](references/game-shell.md),
|
|
69
|
-
[references/board-surfaces.md](references/board-surfaces.md),
|
|
70
|
-
[references/hand-surfaces.md](references/hand-surfaces.md),
|
|
71
|
-
[references/prompts-and-choices.md](references/prompts-and-choices.md),
|
|
72
|
-
[references/custom-renderers.md](references/custom-renderers.md),
|
|
73
|
-
[references/ui-components.md](references/ui-components.md)
|
|
36
|
+
[references/manifest-authoring.md](references/manifest-authoring.md)
|
|
37
|
+
- Reducer:
|
|
38
|
+
[references/reducer.md](references/reducer.md)
|
|
39
|
+
- Game interface:
|
|
40
|
+
[references/game-interface.md](references/game-interface.md)
|
|
74
41
|
- Testing:
|
|
75
|
-
[references/testing.md](references/testing.md)
|
|
76
|
-
[references/testing-bases.md](references/testing-bases.md),
|
|
77
|
-
[references/testing-scenarios.md](references/testing-scenarios.md),
|
|
78
|
-
[references/testing-runtime-assertions.md](references/testing-runtime-assertions.md),
|
|
79
|
-
[references/testing-ui-tests.md](references/testing-ui-tests.md),
|
|
80
|
-
[references/testing-generated-contracts.md](references/testing-generated-contracts.md)
|
|
42
|
+
[references/testing.md](references/testing.md)
|
|
81
43
|
|
|
82
44
|
## Current Scaffold
|
|
83
45
|
|
|
84
|
-
|
|
46
|
+
The current scaffold centers on these files:
|
|
85
47
|
|
|
86
48
|
- authored source:
|
|
87
|
-
`rule.md`, `manifest.
|
|
49
|
+
`rule.md`, `manifest.json`
|
|
88
50
|
- reducer:
|
|
89
|
-
`app/game-contract.ts`, `app/game.ts`, `app/phases
|
|
90
|
-
`app/setup-profiles.ts
|
|
51
|
+
`app/game-contract.ts`, `app/game.ts`, `app/phases/*.ts`,
|
|
52
|
+
`app/setup-profiles.ts`
|
|
91
53
|
- UI:
|
|
92
|
-
`ui/App.tsx
|
|
54
|
+
`ui/App.tsx`
|
|
93
55
|
- tests:
|
|
94
|
-
`test/bases
|
|
95
|
-
|
|
96
|
-
- generated (do not edit):
|
|
97
|
-
`shared/manifest-contract.ts`, `shared/generated/ui-contract.ts`
|
|
56
|
+
`test/bases/*.base.ts`, `test/scenarios/*.scenario.ts`,
|
|
57
|
+
`test/testing-types.ts`
|
|
98
58
|
|
|
99
59
|
## Command Flow
|
|
100
60
|
|
|
101
61
|
Use the commands for different kinds of state:
|
|
102
62
|
|
|
103
63
|
- `dreamboard sync`
|
|
104
|
-
Upload local authored changes and advance the remote authored head. Run this after editing `rule.md`, `manifest.
|
|
64
|
+
Upload local authored changes and advance the remote authored head. Run this after editing `rule.md`, `manifest.json`, or authored source files that should be part of the next remote build.
|
|
105
65
|
- `dreamboard compile`
|
|
106
66
|
Compile the current remote authored head. Run this after `sync`, or re-run it after a failed compile when you have not made new authored edits.
|
|
107
67
|
- `dreamboard pull`
|
|
@@ -113,36 +73,43 @@ Quick rule:
|
|
|
113
73
|
- compile failed but you have not edited files since: `dreamboard compile` again
|
|
114
74
|
- remote authored head moved: `dreamboard pull` first
|
|
115
75
|
|
|
76
|
+
## Workflow
|
|
77
|
+
|
|
78
|
+
Use this order by default:
|
|
79
|
+
|
|
80
|
+
1. Write or revise `rule.md`.
|
|
81
|
+
2. Align `manifest.json` to the rules.
|
|
82
|
+
3. Run `dreamboard sync`.
|
|
83
|
+
4. Implement reducer state, phases, actions, and views in `app/`.
|
|
84
|
+
5. Implement the playable UI in `ui/App.tsx`.
|
|
85
|
+
6. Run `dreamboard compile`.
|
|
86
|
+
7. Generate test artifacts with `dreamboard test generate`.
|
|
87
|
+
8. Run scenarios with `dreamboard test run`.
|
|
88
|
+
9. Validate the local runtime with `dreamboard run`.
|
|
89
|
+
10. For agent-built games, run `dreamboard dev` and verify the browser UI before handoff. Use Playwright to open the dev host, check that the plugin iframe renders without console errors, and click a primary interaction such as selecting a playable hand card. Reducer scenarios alone are not enough when the game has an interactive UI.
|
|
90
|
+
|
|
116
91
|
## Guardrails
|
|
117
92
|
|
|
118
|
-
- `manifest.
|
|
119
|
-
- Choose files by ownership before editing: schemas in `app/game-contract.ts`, `defineGame` wiring in `app/game.ts`, player projections in view files, and phase reducers in `app/phases/*`.
|
|
120
|
-
- A single `app/phases/<phase>.ts` is fine while small. Once a phase has multiple action families, shared input helpers, card actions, or is roughly 250-300 lines, move to `app/phases/<phase>/index.ts` plus neighboring concept files such as `build.ts`, `trade.ts`, or `dev-cards.ts`.
|
|
121
|
-
- Keep phase `index.ts` files as assembly: import interactions, register them with `definePhase`, and export the phase plus stable test-facing schemas.
|
|
122
|
-
- Use `kind: "simultaneousPlayer"` for hidden concurrent choices. Declare `actors`, a single `submit` descriptor, and a phase-level `resolve` callback; do not hand-roll sealed choices in `hiddenState` unless the mechanic needs custom behavior outside the SDK barrier.
|
|
123
|
-
- Keep `app/reducer-support.ts` small. Split real game rules into `app/rules/*` modules by domain instead of adding unrelated helpers to one catch-all file.
|
|
93
|
+
- `manifest.json` and `rule.md` are the source of truth for scaffolding.
|
|
124
94
|
- Run `dreamboard sync` after authored changes to keep generated files and the remote authored head in sync.
|
|
125
|
-
- Fresh `app/setup-profiles.ts` placeholders are framework-owned until you customize them. `dreamboard sync` refreshes empty placeholder entries to match manifest profile IDs, then preserves the file once you add real setup logic.
|
|
126
95
|
- `dreamboard pull` reconciles authored divergence into the current workspace.
|
|
127
96
|
- `dreamboard compile` is separate from authored sync; failed compiles do not mean the workspace needs a pull or another sync unless you changed authored files again.
|
|
128
97
|
- Use `dreamboard status` to distinguish authored sync from compile health before deciding whether the next command should be `sync`, `compile`, or `pull`.
|
|
129
|
-
- Re-run `dreamboard test generate` after runtime-shape changes in `manifest.
|
|
98
|
+
- Re-run `dreamboard test generate` after runtime-shape changes in `manifest.json` or `app/`.
|
|
130
99
|
- Keep reducer-owned UI data in views; do not reintroduce the old `shared/ui-args.ts` pattern in new scaffolds.
|
|
100
|
+
- When a game exposes clickable hands, markets, boards, or prompts, prove the same interaction works through `dreamboard dev` in a browser. A direct scenario submission can pass even when the rendered surface does not collect the input.
|
|
101
|
+
- For interactive card hands, render generated surfaces such as `handSurface.Hand` and `handSurface.Card` consistently. Do not swap a surface card for a raw `Card` or custom tile based on `me.canAct`; the surface primitive is responsible for disabling unavailable interactions.
|
|
131
102
|
|
|
132
103
|
## Editable Surface
|
|
133
104
|
|
|
134
105
|
Edit:
|
|
135
106
|
|
|
136
107
|
- `rule.md`
|
|
137
|
-
- `manifest.
|
|
108
|
+
- `manifest.json`
|
|
138
109
|
- `app/game-contract.ts`
|
|
139
110
|
- `app/game.ts`
|
|
140
111
|
- `app/phases/*.ts`
|
|
141
|
-
- `app/phases/*/*.ts`
|
|
142
|
-
- `app/rules/*.ts` (when you split game-domain helpers)
|
|
143
112
|
- `app/setup-profiles.ts`
|
|
144
|
-
- `app/reducer-support.ts`
|
|
145
|
-
- `app/*-view.ts` (view files you create, e.g. `app/player-view.ts`)
|
|
146
113
|
- `ui/App.tsx`
|
|
147
114
|
- `test/bases/*.base.ts`
|
|
148
115
|
- `test/scenarios/*.scenario.ts`
|
|
@@ -155,8 +122,7 @@ Do not edit generated or framework-owned files such as:
|
|
|
155
122
|
- `ui/index.tsx`
|
|
156
123
|
- `test/generated/*`
|
|
157
124
|
|
|
158
|
-
##
|
|
159
|
-
|
|
125
|
+
## Offical Documentation
|
|
160
126
|
Visit https://dreamboard.games/docs
|
|
161
127
|
|
|
162
128
|
## Framework Feedback
|
package/LICENSE
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# PolyForm Shield License 1.0.0
|
|
2
|
-
|
|
3
|
-
<https://polyformproject.org/licenses/shield/1.0.0>
|
|
4
|
-
|
|
5
|
-
## Acceptance
|
|
6
|
-
|
|
7
|
-
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
8
|
-
|
|
9
|
-
## Copyright License
|
|
10
|
-
|
|
11
|
-
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
12
|
-
|
|
13
|
-
## Distribution License
|
|
14
|
-
|
|
15
|
-
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
16
|
-
|
|
17
|
-
## Notices
|
|
18
|
-
|
|
19
|
-
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
20
|
-
|
|
21
|
-
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
22
|
-
|
|
23
|
-
## Changes and New Works License
|
|
24
|
-
|
|
25
|
-
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
26
|
-
|
|
27
|
-
## Patent License
|
|
28
|
-
|
|
29
|
-
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
30
|
-
|
|
31
|
-
## Noncompete
|
|
32
|
-
|
|
33
|
-
Any purpose is a permitted purpose, except for providing any product that competes with the software or any product the licensor or any of its affiliates provides using the software.
|
|
34
|
-
|
|
35
|
-
## Competition
|
|
36
|
-
|
|
37
|
-
Goods and services compete even when they provide functionality through different kinds of interfaces or for different technical platforms. Applications can compete with services, libraries with plugins, frameworks with development tools, and so on, even if they're written in different programming languages or for different computer architectures. Goods and services compete even when provided free of charge. If you market a product as a practical substitute for the software or another product, it definitely competes.
|
|
38
|
-
|
|
39
|
-
## New Products
|
|
40
|
-
|
|
41
|
-
If you are using the software to provide a product that does not compete, but the licensor or any of its affiliates brings your product into competition by providing a new version of the software or another product using the software, you may continue using versions of the software available under these terms beforehand to provide your competing product, but not any later versions.
|
|
42
|
-
|
|
43
|
-
## Discontinued Products
|
|
44
|
-
|
|
45
|
-
You may begin using the software to compete with a product or service that the licensor or any of its affiliates has stopped providing, unless the licensor includes a plain-text line beginning with `Licensor Line of Business:` with the software that mentions that line of business. For example:
|
|
46
|
-
|
|
47
|
-
> Licensor Line of Business: YoyodyneCMS Content Management System (http://example.com/cms)
|
|
48
|
-
|
|
49
|
-
## Sales of Business
|
|
50
|
-
|
|
51
|
-
If the licensor or any of its affiliates sells a line of business developing the software or using the software to provide a product, the buyer can also enforce [Noncompete](#noncompete) for that product.
|
|
52
|
-
|
|
53
|
-
## Fair Use
|
|
54
|
-
|
|
55
|
-
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
56
|
-
|
|
57
|
-
## No Other Rights
|
|
58
|
-
|
|
59
|
-
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
60
|
-
|
|
61
|
-
## Patent Defense
|
|
62
|
-
|
|
63
|
-
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
64
|
-
|
|
65
|
-
## Violations
|
|
66
|
-
|
|
67
|
-
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
68
|
-
|
|
69
|
-
## No Liability
|
|
70
|
-
|
|
71
|
-
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
72
|
-
|
|
73
|
-
## Definitions
|
|
74
|
-
|
|
75
|
-
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
76
|
-
|
|
77
|
-
A **product** can be a good or service, or a combination of them.
|
|
78
|
-
|
|
79
|
-
**You** refers to the individual or entity agreeing to these terms.
|
|
80
|
-
|
|
81
|
-
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all its affiliates.
|
|
82
|
-
|
|
83
|
-
**Affiliates** means the other organizations than an organization has control over, is under the control of, or is under common control with.
|
|
84
|
-
|
|
85
|
-
**Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
86
|
-
|
|
87
|
-
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
88
|
-
|
|
89
|
-
**Use** means anything you do with the software requiring one of your licenses.
|
package/NOTICE
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Required Notice: Copyright Dreamboard Games.
|