A package on ludic.base alone. DevlinkNet is the transport (a game binds Udp, the test a fake); DevlinkWorld's members are the verbs, each defaulting to "not offered" (err unbound): ping, hello (with Build.schema_hash as 16 hex digits), cam_get / cam_set / cam_release, goto, map_load, time, weather, shot, pause / resume / step. One request a frame, parsed in place from a fixed 8 KB buffer and answered into another; map_load, shot and step answer later by id, one at a time, 5 s at most. Loopback senders only, opened only when enabled() (dev_tools), co-op refuses everything but ping and hello. tests/devlink_test: each answer byte for byte, bad arguments, a stranger dropped, co-op, the late answers and their timeout, a closed build that never opens. Compiles; not run (the Master runs the package tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
13 lines
462 B
Text
13 lines
462 B
Text
# ludic.devlink - one request a frame from an editor on this machine: parsed in place from one fixed 8 KB
|
|
# buffer and answered into another, each verb a port member the game binds; the slow ones answer later
|
|
module ludic_devlink uses ludic_base
|
|
numbers float
|
|
import "ludic.base"
|
|
import "port.ludic"
|
|
import "state.ludic"
|
|
import "wire_read.ludic"
|
|
import "wire_write.ludic"
|
|
import "verbs.ludic"
|
|
import "verbs_world.ludic"
|
|
import "late.ludic"
|
|
import "system.ludic"
|