lokiplay 0.3.7 → 0.4.0
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/AGENTS.template.md +211 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -119
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Loki integration rules
|
|
2
|
+
|
|
3
|
+
- Install and use `@lokiplay/sdk`; do not import Nakama APIs into game code.
|
|
4
|
+
- Production multiplayer runs only from a Loki-hosted finished browser build.
|
|
5
|
+
- Upload `game.json`, `index.html`, and static assets. Do not upload source-only
|
|
6
|
+
repositories, backend processes, secrets, creator ad scripts, or localhost
|
|
7
|
+
dependencies.
|
|
8
|
+
- MVP multiplayer is host-authoritative. Loki controls identity, tenant
|
|
9
|
+
boundaries, membership, matchmaking, sequencing, snapshots, and host
|
|
10
|
+
migration.
|
|
11
|
+
- Never trust or override the `projectId`, player identity, room membership, or
|
|
12
|
+
sequence returned by Loki.
|
|
13
|
+
- Create rooms with `createRoom()` and join with `joinRoom({ inviteCode })`.
|
|
14
|
+
Do not invent Loki room keys. `create()` stays invite-only unless the
|
|
15
|
+
game explicitly passes `{ visibility: "public" }`. Do not make every room
|
|
16
|
+
public. Confirm for each mode whether entry is private invites, public
|
|
17
|
+
room browsing (`listPublicRooms` + `joinPublic`), automatic matchmaking,
|
|
18
|
+
or a combination. Loki’s SDK does not add a public lobby screen. If
|
|
19
|
+
public-room discovery is enabled, the game agent must build the room
|
|
20
|
+
browser and all loading, empty, joining, full-room, waiting, readiness,
|
|
21
|
+
and error states. The Loki overlay does not list, create, or join public
|
|
22
|
+
rooms.
|
|
23
|
+
- Installing the SDK does not add a create/join screen. If the game has no
|
|
24
|
+
usable room-entry flow, add one before shipping: a minimal lobby (create
|
|
25
|
+
room, join with invite, copy invite, start when ready) or an automatic
|
|
26
|
+
flow (plain URL creates a room; invite or deep-link URL joins it). The
|
|
27
|
+
Loki overlay shows room status, players, invite copy, and chat only; it
|
|
28
|
+
does not create or join rooms. Players still need loading, waiting, and
|
|
29
|
+
error states.
|
|
30
|
+
- Before configuring Loki multiplayer, inspect the game's source, existing UI,
|
|
31
|
+
configuration, documentation, tests, and finished build. Locate its game
|
|
32
|
+
modes, seats, local-player handling, AI opponents, teams, start conditions,
|
|
33
|
+
turn or update loop, win conditions, reconnect behavior, and existing
|
|
34
|
+
networking code.
|
|
35
|
+
- Do not infer multiplayer requirements from the game's name, genre,
|
|
36
|
+
appearance, or common rules. A chess, pool, racing, or strategy game may
|
|
37
|
+
support different player and team arrangements.
|
|
38
|
+
- Determine requirements separately for every supported game mode. Do not
|
|
39
|
+
collapse multiple modes into one profile.
|
|
40
|
+
- Record evidence for each conclusion and distinguish observed facts from
|
|
41
|
+
creator decisions. If any material field is ambiguous, stop and ask the
|
|
42
|
+
creator. Never silently choose a player count, team arrangement, simulation
|
|
43
|
+
model, authority model, update frequency, persistence policy, or
|
|
44
|
+
matchmaking flow.
|
|
45
|
+
- Determine and confirm for each mode: minimum, recommended, and maximum
|
|
46
|
+
players; number of teams, team size, and whether players share control;
|
|
47
|
+
private invite, public room browsing, automatic matchmaking, a
|
|
48
|
+
combination, or asynchronous entry; whether late
|
|
49
|
+
joining and spectators are allowed; turn-based, event-driven, continuous
|
|
50
|
+
realtime, or hybrid simulation; sequential or simultaneous input; required
|
|
51
|
+
authoritative update frequency and latency sensitivity; session duration
|
|
52
|
+
and persistence requirements; host-authoritative trust tolerance or
|
|
53
|
+
server-authority requirement.
|
|
54
|
+
- Classify simulation from how authoritative state progresses, not from
|
|
55
|
+
visual animation. A game animated at 60 FPS may still be turn-based or
|
|
56
|
+
event-driven.
|
|
57
|
+
- Preserve existing game modes and rules. Add online settings and entry UI
|
|
58
|
+
from the confirmed profile, including mode selection, team or seat
|
|
59
|
+
selection, readiness, player limits, invite and join behavior, waiting
|
|
60
|
+
states, and start conditions.
|
|
61
|
+
- Do not invent new `game.json` fields. Current manifests accept only
|
|
62
|
+
`enabled`, `authority`, `maxPlayers`, and `tickRate`. Report the richer
|
|
63
|
+
profile in the final report: values, supporting evidence, and
|
|
64
|
+
creator-confirmed decisions.
|
|
65
|
+
- After inspecting and confirming each game mode's profile, choose
|
|
66
|
+
`createSynchronizedRoom()` for turn-based or event-driven state, or
|
|
67
|
+
`createRealtimeRoom()` for continuous host-authoritative simulation. Do not
|
|
68
|
+
choose by genre or animation smoothness; choose by how authoritative state
|
|
69
|
+
actually progresses. Do not run both room types for the same mode.
|
|
70
|
+
- `createSynchronizedRoom()`: define project-owned state and actions, then
|
|
71
|
+
provide a reducer. Do not implement a parallel authority, version, or
|
|
72
|
+
membership protocol.
|
|
73
|
+
- Keep shared state JSON-compatible and use finite safe integers. Reducers must
|
|
74
|
+
be synchronous, deterministic, and fast. Do not perform rendering, timers,
|
|
75
|
+
network calls, or other I/O inside a reducer. Keep transient visual and
|
|
76
|
+
interpolation data out of synchronized state.
|
|
77
|
+
- Subscribe to synchronized snapshots for state, members, authority, and
|
|
78
|
+
connection status. Keep the same `LokiClient` and synchronized-room instance
|
|
79
|
+
while interrupted. Let the SDK own browser lifecycle detection, socket
|
|
80
|
+
replacement, reconnect retries, snapshot recovery, and pending-action replay.
|
|
81
|
+
- `createRealtimeRoom()`: integrate the game's existing simulation through
|
|
82
|
+
`RealtimeRoom`'s callbacks (predict/interpolate/extrapolate/blendCorrection/
|
|
83
|
+
shouldCorrect/composeRenderState) rather than writing a parallel input queue, RTT estimator, snapshot pacer,
|
|
84
|
+
stale-round rejection, input ledger, interpolation buffer, or reconnect
|
|
85
|
+
netcode; the SDK already owns all of that, including per-submission
|
|
86
|
+
in-flight accounting (a rejected or silently-dropped snapshot always
|
|
87
|
+
releases its slot) and genuine `inputHz` pacing for `setInput()` (call it
|
|
88
|
+
every frame; the SDK paces/coalesces the network send). Keep one
|
|
89
|
+
game-owned render loop driven by `advanceFrame()`/`getRenderState()`
|
|
90
|
+
(call each at most once per rendered frame). Keep authoritative
|
|
91
|
+
snapshots compact and self-contained (no references to transient
|
|
92
|
+
local-only state).
|
|
93
|
+
- `snapshotHz` (default/cap 30) is a ceiling, not a delivery guarantee. Do
|
|
94
|
+
not default to the highest rate. Start conservative — pass
|
|
95
|
+
`adaptiveRate: true` with `initialSnapshotHz` around 12-15 and
|
|
96
|
+
`minSnapshotHz` around 8, or an explicit low fixed `snapshotHz` — and
|
|
97
|
+
raise it only with diagnostic evidence. Prefer `calibrateRealtimeRoom()`
|
|
98
|
+
over guessing: it exercises candidate rates against a real two-client
|
|
99
|
+
`RealtimeRoom` pair at a fixed `snapshotHz` (`adaptiveRate: false` on
|
|
100
|
+
the candidate rooms) and recommends the highest rate that is actually
|
|
101
|
+
delivered without a Loki-owned cliff (acceptance, delivery match,
|
|
102
|
+
extrapolation, held authoritative frames, ack latency, backpressure).
|
|
103
|
+
Optional `evaluate()` can only veto a rate. Write only the returned
|
|
104
|
+
`RealtimeProfile` into `createRealtimeRoom()` (`adaptiveRate: true`,
|
|
105
|
+
`minSnapshotHz: 8`, `initialSnapshotHz` 12 or the ceiling if lower). If
|
|
106
|
+
no candidate qualifies, use that floor profile (8 Hz, adaptive); if
|
|
107
|
+
the sweep is incomplete, calibration throws — fix the run and repeat,
|
|
108
|
+
do not invent a profile. `game.json` `tickRate` is a separate Nakama
|
|
109
|
+
room-loop setting; do not copy `snapshotHz` into it. `publishSnapshot()`
|
|
110
|
+
already coalesces multiple calls made within the same synchronous turn
|
|
111
|
+
to a single send; do not build a separate coalescing layer for that.
|
|
112
|
+
Report the calibrated or selected snapshot/input rates and the observed
|
|
113
|
+
diagnostics (RTT, jitter, acceptance/rejection ratios, reconnect/
|
|
114
|
+
migration duration, dropped/coalesced frames, held authoritative
|
|
115
|
+
frames, and any `onDiagnosticWarning` events) as evidence, not
|
|
116
|
+
assumptions.
|
|
117
|
+
- For multi-entity games, prefer the `createEntityCompositor`/
|
|
118
|
+
`createLocalPrediction` helpers over hand-writing `composeRenderState`/
|
|
119
|
+
`predict` selection logic; they cover the "predict/compose the local
|
|
120
|
+
entity, interpolate the rest" plumbing while the game still supplies the
|
|
121
|
+
selectors for its own State shape. Use `setEntities` (bulk, once per
|
|
122
|
+
frame) over `setEntity` (once per entity) for games with many entities.
|
|
123
|
+
Use `sendEffect()`/`onConfirmedEffect()` to confirm authoritative events
|
|
124
|
+
(e.g. collisions) with a stable id instead of a custom
|
|
125
|
+
event-confirmation channel, so speculative local particles or audio can
|
|
126
|
+
be deduped against the confirmed outcome.
|
|
127
|
+
- For hosted sandbox games, call `createHostedLokiClient({ projectId })`
|
|
128
|
+
once at page boot and reuse the client it returns for every
|
|
129
|
+
Create/Join. It installs the `loki:init` listener and requests the
|
|
130
|
+
session immediately, rather than deferring authentication to a
|
|
131
|
+
Create/Join button click — deferring it risks the hosted shell's own
|
|
132
|
+
~15s "Connecting…" timeout elapsing first. Do not hand-write that
|
|
133
|
+
handshake.
|
|
134
|
+
- Do not claim Loki supplies game physics, collision resolution, rendering
|
|
135
|
+
optimization, or competitive/anti-cheat integrity for `createRealtimeRoom()`
|
|
136
|
+
games. Loki owns transport, sequencing, fencing, and delivery only; the game
|
|
137
|
+
owns simulation and rendering.
|
|
138
|
+
- `createRealtimeRoom()` requires every present room member to be
|
|
139
|
+
realtime-capable before it activates; a legacy or non-realtime-capable
|
|
140
|
+
client blocks activation and cannot join an already-active realtime room.
|
|
141
|
+
Native clients cannot join realtime-mode rooms until a later parity
|
|
142
|
+
release; do not offer `createRealtimeRoom()` for cross-client modes yet.
|
|
143
|
+
- Do not implement competing reconnect behavior for `visibilitychange`,
|
|
144
|
+
`pagehide`, `pageshow`, `blur`, `focus`, `online`, or `offline`. Never call
|
|
145
|
+
`leave()`, `close()`, transport disconnect, or create a replacement room
|
|
146
|
+
because the page became hidden, blurred, offline, or unloaded. Call `leave()`
|
|
147
|
+
only for an explicit user Leave/End Game action.
|
|
148
|
+
- Call `dispatch()` only while `connection` is `connected`. For `suspended`,
|
|
149
|
+
`reconnecting`, or `resynchronizing`, lock authoritative input, preserve the
|
|
150
|
+
last rendered state, show a temporary reconnecting message, and wait for an
|
|
151
|
+
authoritative snapshot. Do not assume the player is still host afterward.
|
|
152
|
+
- Loki replays unresolved actions with the same `(senderId, actionId)`. Do not
|
|
153
|
+
repeat one under a new action ID. Treat `indeterminate` or "authoritative
|
|
154
|
+
confirmation timed out" as an unknown outcome, not proof of failure. Treat
|
|
155
|
+
`room_closed` as terminal. Resolve `leave_failed` before starting another
|
|
156
|
+
room with that client.
|
|
157
|
+
- Handle rejected actions from `dispatch()` without inventing a parallel
|
|
158
|
+
protocol. Build and deploy from this repository.
|
|
159
|
+
- Include `<meta name="viewport"
|
|
160
|
+
content="width=device-width, initial-scale=1, viewport-fit=cover">`. Do not
|
|
161
|
+
globally disable browser zoom. Make the game root `width: 100%`,
|
|
162
|
+
`height: 100vh`, then `height: 100dvh`, with `overflow: hidden`. Account for
|
|
163
|
+
`env(safe-area-inset-*)`; gameplay must not require document scrolling,
|
|
164
|
+
though internal menus may scroll.
|
|
165
|
+
- Recalculate layout from the game container on resize. Handle
|
|
166
|
+
`visualViewport.resize` when available and `orientationchange` as a fallback.
|
|
167
|
+
Preserve logical game coordinates and fit them to the available area instead
|
|
168
|
+
of hard-coding desktop pixels. Support both orientations unless the game
|
|
169
|
+
clearly explains a required orientation.
|
|
170
|
+
- For canvas games, separate CSS size from backing resolution, scale the
|
|
171
|
+
backing store by `devicePixelRatio` with a reasonable cap such as 2, and
|
|
172
|
+
resize and redraw after viewport changes without replacing the canvas node.
|
|
173
|
+
Keep critical controls inside safe-area boundaries.
|
|
174
|
+
- Use Pointer Events for touch, mouse, pen, and trackpad. Apply
|
|
175
|
+
`touch-action: none` only to a direct-manipulation playfield, use pointer
|
|
176
|
+
capture for dragging or aiming, handle `pointercancel` and lost capture, make
|
|
177
|
+
primary targets at least 44x44 CSS pixels, and do not rely on hover.
|
|
178
|
+
- Use one controlled `requestAnimationFrame` rendering loop. Pause or throttle
|
|
179
|
+
rendering while hidden without leaving the Loki room, then render the latest
|
|
180
|
+
authoritative snapshot. Cap canvas resolution and avoid allocating large
|
|
181
|
+
buffers every frame.
|
|
182
|
+
- Loki-hosted games run in a sandbox iframe with a strict CSP. Do not use
|
|
183
|
+
inline `<script>` tags, inline event handlers, Google Fonts or other remote
|
|
184
|
+
stylesheets, or `<form>` submissions. Put JavaScript and fonts in same-origin
|
|
185
|
+
files and use `<button type="button">` for create/join controls.
|
|
186
|
+
- Run `npx lokiplay validate` before `npx lokiplay deploy`. Report whether
|
|
187
|
+
mobile Safari and Android Chrome were tested; never claim real-device testing
|
|
188
|
+
unless it was actually performed. Exercise resize, orientation changes,
|
|
189
|
+
interrupted gestures, hide/restore, temporary offline recovery, host
|
|
190
|
+
migration, and return after an extended background period when the available
|
|
191
|
+
test environment supports them.
|
|
192
|
+
- For `createRealtimeRoom()` games, run one required two-client calibration
|
|
193
|
+
test to get real diagnostics rather than tuning by feel: two distinct
|
|
194
|
+
player identities (two isolated browser contexts/profiles, or two
|
|
195
|
+
real players — two tabs sharing one signed-in player are not two
|
|
196
|
+
players) driving the game's real `predict`/`interpolate`/`setInput`/
|
|
197
|
+
`publishSnapshot` wiring through `calibrateRealtimeRoom()` or an
|
|
198
|
+
equivalent sweep, reading Loki's own diagnostics (not a
|
|
199
|
+
game-invented HUD) as the shared signal. Prefer running it against the
|
|
200
|
+
real hosted play URL (through `createHostedLokiClient()`'s handshake);
|
|
201
|
+
if browser automation cannot drive the hosted iframe, run it against a
|
|
202
|
+
local/preview build with two real player sessions injected instead. If
|
|
203
|
+
that test skipped the hosted iframe, also run one short hosted-shell
|
|
204
|
+
smoke check (one page load of the real play URL, confirming the
|
|
205
|
+
handshake completes and a room can be created before the shell's own
|
|
206
|
+
timeout) so a working calibration cannot ship alongside a broken
|
|
207
|
+
hosted bootstrap. Write only the returned `RealtimeProfile` into
|
|
208
|
+
`createRealtimeRoom()`. Do not copy `snapshotHz` into `game.json`
|
|
209
|
+
`tickRate`. Do not pick a lowest-healthy rate or invent a second
|
|
210
|
+
profile. `evaluate()` is optional; skip it unless the game already
|
|
211
|
+
measures error. If calibration throws, fix the harness and rerun.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA2BA,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,QAAQ,GACR,eAAe,GACf,SAAS,CAAC;AAEd,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAuBD,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAwBzB;AAWD,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuC3E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAgBlE;AAkED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAgDjB;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAwC1E;AAeD,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAiDD;AAED,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWzE;AA2RD,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAqQD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT"}
|
package/dist/index.js
CHANGED
|
@@ -8,124 +8,11 @@ import path from "node:path";
|
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
9
|
import { zipSync } from "fflate";
|
|
10
10
|
import { GameManifestSchema } from "@lokiplay/protocol";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
repositories, backend processes, secrets, creator ad scripts, or localhost
|
|
17
|
-
dependencies.
|
|
18
|
-
- MVP multiplayer is host-authoritative. Loki controls identity, tenant
|
|
19
|
-
boundaries, membership, matchmaking, sequencing, snapshots, and host
|
|
20
|
-
migration.
|
|
21
|
-
- Never trust or override the \`projectId\`, player identity, room membership, or
|
|
22
|
-
sequence returned by Loki.
|
|
23
|
-
- Create rooms with \`createRoom()\` and join with \`joinRoom({ inviteCode })\`.
|
|
24
|
-
Games must not invent Loki room keys.
|
|
25
|
-
- Installing the SDK does not add a create/join screen. If the game has no
|
|
26
|
-
usable room-entry flow, add one before shipping: a minimal lobby (create
|
|
27
|
-
room, join with invite, copy invite, start when ready) or an automatic
|
|
28
|
-
flow (plain URL creates a room; invite or deep-link URL joins it). The
|
|
29
|
-
Loki overlay shows room status, players, invite copy, and chat only; it
|
|
30
|
-
does not create or join rooms. Players still need loading, waiting, and
|
|
31
|
-
error states.
|
|
32
|
-
- Before configuring Loki multiplayer, inspect the game's source, existing UI,
|
|
33
|
-
configuration, documentation, tests, and finished build. Locate its game
|
|
34
|
-
modes, seats, local-player handling, AI opponents, teams, start conditions,
|
|
35
|
-
turn or update loop, win conditions, reconnect behavior, and existing
|
|
36
|
-
networking code.
|
|
37
|
-
- Do not infer multiplayer requirements from the game's name, genre,
|
|
38
|
-
appearance, or common rules. A chess, pool, racing, or strategy game may
|
|
39
|
-
support different player and team arrangements.
|
|
40
|
-
- Determine requirements separately for every supported game mode. Do not
|
|
41
|
-
collapse multiple modes into one profile.
|
|
42
|
-
- Record evidence for each conclusion and distinguish observed facts from
|
|
43
|
-
creator decisions. If any material field is ambiguous, stop and ask the
|
|
44
|
-
creator. Never silently choose a player count, team arrangement, simulation
|
|
45
|
-
model, authority model, update frequency, persistence policy, or
|
|
46
|
-
matchmaking flow.
|
|
47
|
-
- Determine and confirm for each mode: minimum, recommended, and maximum
|
|
48
|
-
players; number of teams, team size, and whether players share control;
|
|
49
|
-
private invite, lobby, matchmaking, or asynchronous entry; whether late
|
|
50
|
-
joining and spectators are allowed; turn-based, event-driven, continuous
|
|
51
|
-
realtime, or hybrid simulation; sequential or simultaneous input; required
|
|
52
|
-
authoritative update frequency and latency sensitivity; session duration
|
|
53
|
-
and persistence requirements; host-authoritative trust tolerance or
|
|
54
|
-
server-authority requirement.
|
|
55
|
-
- Classify simulation from how authoritative state progresses, not from
|
|
56
|
-
visual animation. A game animated at 60 FPS may still be turn-based or
|
|
57
|
-
event-driven.
|
|
58
|
-
- Preserve existing game modes and rules. Add online settings and entry UI
|
|
59
|
-
from the confirmed profile, including mode selection, team or seat
|
|
60
|
-
selection, readiness, player limits, invite and join behavior, waiting
|
|
61
|
-
states, and start conditions.
|
|
62
|
-
- Do not invent new \`game.json\` fields. Current manifests accept only
|
|
63
|
-
\`enabled\`, \`authority\`, \`maxPlayers\`, and \`tickRate\`. Report the richer
|
|
64
|
-
profile in the final report: values, supporting evidence, and
|
|
65
|
-
creator-confirmed decisions.
|
|
66
|
-
- After confirming each mode's profile, choose \`createSynchronizedRoom()\` for
|
|
67
|
-
turn-based or event-driven state, or \`createRealtimeRoom()\` for continuous
|
|
68
|
-
host-authoritative simulation. Choose by how authoritative state actually
|
|
69
|
-
progresses, not by genre or animation smoothness.
|
|
70
|
-
- \`createSynchronizedRoom()\`: keep synchronized state JSON-compatible and use
|
|
71
|
-
finite safe integers. Reducers must be synchronous, deterministic, and fast,
|
|
72
|
-
with no rendering, timers, network calls, or I/O.
|
|
73
|
-
- Subscribe to synchronized snapshots for state, members, authority, and
|
|
74
|
-
connection status. Keep the same client and room instance while interrupted.
|
|
75
|
-
Let Loki own lifecycle detection, socket replacement, reconnect retries,
|
|
76
|
-
snapshot recovery, and unresolved-action replay.
|
|
77
|
-
- \`createRealtimeRoom()\`: integrate the game's existing simulation through its
|
|
78
|
-
predict/interpolate/extrapolate/blendCorrection callbacks instead of writing
|
|
79
|
-
a parallel input queue, RTT estimator, snapshot pacer, stale-round
|
|
80
|
-
rejection, input ledger, interpolation buffer, or reconnect netcode. Keep
|
|
81
|
-
one game-owned render loop, keep authoritative snapshots compact and
|
|
82
|
-
self-contained. \`snapshotHz\` (default/cap 30) is a ceiling, not a delivery
|
|
83
|
-
guarantee; start conservative (\`adaptiveRate: true\` with
|
|
84
|
-
\`initialSnapshotHz\` around 12-15) or use \`calibrateRealtimeRoom()\` against
|
|
85
|
-
a real two-player pair to pick a profile, rather than defaulting to the
|
|
86
|
-
highest rate. \`game.json\` \`tickRate\` is separate and does not need to
|
|
87
|
-
match \`snapshotHz\`. Report the selected rates plus observed diagnostics
|
|
88
|
-
(including acceptance/rejection ratios) as evidence. Do not claim Loki
|
|
89
|
-
supplies physics, collision, rendering optimization, or competitive
|
|
90
|
-
integrity for realtime rooms.
|
|
91
|
-
- Do not implement competing reconnect behavior for \`visibilitychange\`,
|
|
92
|
-
\`pagehide\`, \`pageshow\`, \`blur\`, \`focus\`, \`online\`, or \`offline\`.
|
|
93
|
-
Never leave, close, disconnect, reload, or replace a room because the page is
|
|
94
|
-
hidden or offline. Call \`leave()\` only from an explicit Leave/End Game action.
|
|
95
|
-
- Call \`dispatch()\` only while connection is \`connected\`. During
|
|
96
|
-
\`suspended\`, \`reconnecting\`, or \`resynchronizing\`, lock authoritative
|
|
97
|
-
input, preserve the rendered state, show a reconnecting message, and wait for
|
|
98
|
-
an authoritative snapshot. Do not assume host authority survives reconnect.
|
|
99
|
-
- Do not repeat unresolved actions under new IDs. Treat \`indeterminate\` and
|
|
100
|
-
"authoritative confirmation timed out" as unknown outcomes, not proof of
|
|
101
|
-
failure. Treat \`room_closed\` as terminal and resolve \`leave_failed\` before
|
|
102
|
-
starting another room with that client.
|
|
103
|
-
- Include the viewport metadata
|
|
104
|
-
\`width=device-width, initial-scale=1, viewport-fit=cover\`; do not globally
|
|
105
|
-
disable zoom. Fill the visible viewport with a 100vh fallback followed by
|
|
106
|
-
100dvh, account for safe-area insets, and avoid document scrolling in play.
|
|
107
|
-
- Recalculate layout from the game container on resize,
|
|
108
|
-
\`visualViewport.resize\`, and orientation changes. Preserve logical
|
|
109
|
-
coordinates rather than hard-coding desktop pixels.
|
|
110
|
-
- For canvas games, separate CSS size from backing resolution, cap
|
|
111
|
-
\`devicePixelRatio\` at a reasonable value such as 2, and resize and redraw
|
|
112
|
-
without replacing the canvas node.
|
|
113
|
-
- Use Pointer Events across touch and desktop input. Restrict
|
|
114
|
-
\`touch-action: none\` to direct-manipulation playfields, use pointer capture
|
|
115
|
-
for drag/aim gestures, handle cancellation, provide 44x44 CSS-pixel primary
|
|
116
|
-
targets, and do not depend on hover.
|
|
117
|
-
- Use one controlled \`requestAnimationFrame\` loop. Pause or throttle rendering
|
|
118
|
-
while hidden without leaving the room, resume from the latest authoritative
|
|
119
|
-
snapshot, cap canvas resolution, and avoid large per-frame allocations.
|
|
120
|
-
- Loki-hosted games run in a sandbox iframe with a strict CSP. Do not use
|
|
121
|
-
inline \`<script>\` tags, inline event handlers, Google Fonts or other remote
|
|
122
|
-
stylesheets, or \`<form>\` submissions. Put JavaScript and fonts in same-origin
|
|
123
|
-
files and use \`<button type="button">\` for create/join controls.
|
|
124
|
-
- Connect and ship with \`npx lokiplay connect --project <uuid>\` followed by
|
|
125
|
-
\`npx lokiplay ship\`. Run \`npx lokiplay validate\` before deployment.
|
|
126
|
-
- Report whether mobile Safari and Android Chrome were tested. Do not claim
|
|
127
|
-
real-device testing unless it actually occurred.
|
|
128
|
-
`;
|
|
11
|
+
// Single source of truth: packages/agent-instructions/templates/AGENTS.md.
|
|
12
|
+
// This file is a synced copy (see scripts/sync-agent-instructions.mjs and
|
|
13
|
+
// test/layer-one.test.ts's equality check) so a freshly scaffolded game's
|
|
14
|
+
// AGENTS.md can never silently drift from the canonical instructions.
|
|
15
|
+
const AGENT_INSTRUCTIONS_TEMPLATE_PATH = fileURLToPath(new URL("./AGENTS.template.md", import.meta.url));
|
|
129
16
|
async function exists(file) {
|
|
130
17
|
try {
|
|
131
18
|
await stat(file);
|
|
@@ -389,7 +276,8 @@ export async function initializeProject(directory, input) {
|
|
|
389
276
|
networkAllowlist: [],
|
|
390
277
|
}, null, 2)}\n`);
|
|
391
278
|
}
|
|
392
|
-
await
|
|
279
|
+
const agentInstructions = await readFile(AGENT_INSTRUCTIONS_TEMPLATE_PATH, "utf8");
|
|
280
|
+
await writeFile(path.join(directory, "AGENTS.md"), agentInstructions);
|
|
393
281
|
if (input.projectId) {
|
|
394
282
|
await mkdir(path.join(directory, ".loki"), { recursive: true });
|
|
395
283
|
await writeFile(path.join(directory, ".loki", "project.json"), `${JSON.stringify({ projectId: input.projectId }, null, 2)}\n`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lokiplay",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Command-line tools for Loki game projects and deployments.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"lokiplay": "./dist/index.js"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
|
-
"build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -b --force && node ../../scripts/rewrite-package-imports.mjs dist",
|
|
32
|
+
"build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && node ../../scripts/sync-agent-instructions.mjs && tsc -b --force && node -e \"require('node:fs').copyFileSync('src/AGENTS.template.md','dist/AGENTS.template.md')\" && node ../../scripts/rewrite-package-imports.mjs dist",
|
|
33
33
|
"prepublishOnly": "npm run build"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@lokiplay/protocol": "0.
|
|
42
|
+
"@lokiplay/protocol": "0.4.0",
|
|
43
43
|
"fflate": "^0.8.3"
|
|
44
44
|
}
|
|
45
45
|
}
|