Example Project
Yuris Cakranegara edited this page 2026-08-22 20:59:01 +07:00

Page revisions

7 Commits

Author SHA1 Message Date
ab4bc71f5c docs(install): point the archive URLs at v4.0.2 2026-08-22 20:59:01 +07:00
yuris
cf73bde7b3 docs: humanize the prose across the wiki
No technical claim changed. This is a pass over how the pages read, not
what they say.

Removed 419 em and en dashes, which were the most consistent tell in the
text, along with mechanical boldface and explanatory mid-sentence colons.
Then the judgement work the humanizer skill asks for: rule-of-three
padding, announced counts, signposting, passive voice with the actor
hidden, verbless noun-phrase lists that should have been sentences, and
filler.

Every measured number, file and line reference, version, quoted error
string and piece of reasoning survives. That specificity is what makes
these pages worth reading, and over-editing would have flattened it.

Two accuracy fixes fell out of the pass, both found by reading closely
enough to rewrite:

  * API-Reference misquoted the editor command's failure. The real
    message is `stdb: no schema from <url>. Is the server running, and is
    curl on PATH?`, with a period, not the em dash the page had.
  * Roadmap still listed "an example project you can open and run" under
    what is missing. `dev/example-chat` has been exactly that for a
    while, with its own `game.project` and a headless variant CI runs.
    What is genuinely still absent is a staged tutorial of the kind
    upstream ships for Unity, Godot and Unreal, so the entry now says
    that instead.
2026-08-22 17:21:29 +07:00
yuris
38402d71ca docs: 4.2.4 with no patch, and the quickstart moves here
extension-websocket 4.2.4 fixes defold/extension-websocket#67, so the
HTML5 subprotocol patch is gone. Every page that carried the patching
instructions, a vendored-fork workflow, or a 4.2.3 pin is corrected.

Quickstart is now the SDK's tutorial rather than a section of the
README. It walks an unpublished module through to a connected game that
replicates positions between clients, and it absorbed the parts of the
old page the README version did not carry.

API-Reference and Usage-Guide are brought in line with PR #111:
`schema = gen`, `json` no longer required, `stdb.query` on the facade,
`db:ping` as `(err, seconds)`, `stdb.await`/`await_event` including the
Lua 5.1 limit on yielding across `pcall`, `stdb.builder(opts)`, the full
`on_event` type list with payload keys, and a section for the mistakes
that now raise instead of failing quietly.

Protocol-Notes and Roadmap no longer describe `stdb/protocol.lua` or the
v1 JSON wire in the present tense; both went in 4.0.0.
2026-08-22 16:57:42 +07:00
08c5c09077 wiki: one wire — drop the v1 JSON pages and claims for 4.0.0
The SDK deleted the v1 JSON wire in 4.0.0, so the wiki stops offering it.

V1-Opt-Out is deleted outright: it documented an opt-out that no longer
exists. Its nav entry and Home row go with it, and all 11 inbound links
across the Usage Guide are gone.

Every page that named a removed API is corrected rather than trimmed:
the protocol option, light, json on connect, Builder:with_protocol, the
legacy whole-set db:subscribe, subscription_replaced, and
Call:on_out_of_energy. json stays documented on auth.exchange and
schema.fetch, which are HTTP and still need it. The API Reference gains
connection.dispatch, decode_bytes and decodable_tag; the Usage Guide
gains the fourth undescribed reason, which the page had been missing
independently of this change.

A table with no types is now always skipped and reported. Four places
described an untyped positional fallback that no longer exists.

Protocol Notes keeps its v1 findings as archive, reframed: they are still
true of the server, the committed fixtures were captured over that wire,
and the decoder that reads them survives as dev/test/crosscheck_v1.lua -
a cross-check on the BSATN reader, since BSATN is opaque and a wrong type
belief returns a plausible number instead of raising.

One factual error corrected on the way through. The Roadmap claimed the
official TypeScript SDK 'prefers v3, falls back to v2, and does not offer
v1 at all'. It is on v1.bsatn.spacetimedb
(packages/sdk/src/db_connection_impl.ts:233) - a protocol version behind
this SDK. The wire-ceiling section now tables where every official client
actually sits, read off source, and says what v3 actually is: not a new
message schema but permission to coalesce several v2 ServerMessages into
one payload.

Install URLs at v4.0.0. Benchmark tables measured on the JSON wire keep
their numbers and gain a note saying so - re-running the sweep on the
current branch is what retires them, and inventing replacements would be
worse than dated figures.
2026-08-22 14:51:00 +07:00
3cdeb3d547 Point the install URLs at v3.1.0
game.project and the tag are both 3.1.0; the install instructions still named
v3.0.0. The Roadmap mention stays - that one is the note recording the release
where this went wrong.
2026-08-22 12:08:19 +07:00
c68d2690b1 Fix the quickstart's send-before-socket bug, and bump the install URLs
A reducer call or a subscribe before the socket exists does not queue - it
raises `stdb: send before the socket was created` (stdb/init.lua's pre-socket
send stub). Both quickstarts issued them straight after connect, outside any
connected handler, so anyone pasting them hit that raise. They now sit in the
connected branch, where the conformance harness has always put them.

Install URLs and the patch URL move to v3.0.0.
2026-08-22 02:44:20 +07:00
parity-docs
8feebeaba9 Document 3.0.0 parity: query builder, coroutine mode, connection state/latency, example project 2026-08-22 02:27:08 +07:00