Low-Context Execution Packet
Use branch stage/d3-07-local-cockpit-mockup.
Keep the mockup local. Do not add Pi networking in this stage.
Suggested modules:
frontend/kos/src/text_buffer.c
frontend/kos/src/text_buffer.h
frontend/kos/src/message_queue.c
frontend/kos/src/message_queue.h
frontend/kos/src/cockpit_input.c
frontend/kos/src/cockpit_input.h
frontend/kos/src/cockpit_render.c
frontend/kos/src/cockpit_render.h
Required control split:
- analog stick controls logo/snow atmosphere only
- D-pad navigates text/history only
- Start sends current text
- B or equivalent backspaces
- A or equivalent selects/enters from the current UI mode
Search before implementing controller and text rendering details:
scripts/intel/query-shachi-atoms.sh search "maple controller"
scripts/intel/query-shachi-atoms.sh search "font texture"
Required data structures:
typedef struct {
char chars[256];
uint16_t len;
uint16_t cursor;
} TextBuffer;
typedef enum {
MSG_USER,
MSG_AGENT,
MSG_SYSTEM
} MessageSource;
typedef struct {
MessageSource source;
char text[512];
float age_seconds;
float z_offset;
float alpha;
} MessageLine;
Local echo behavior:
- when Start is pressed, move the current buffer into the queue as
MSG_USER - clear the input buffer immediately
- after about 1 second, append a deterministic
MSG_AGENTreply - older messages move up/back at an angle and fade
Verification:
make -C frontend/kos clean all
The report must include a capture showing text entry, send, local echo, and analog logo motion. It must also cite any Shachi atom IDs used for controller, PVR, or text rendering choices.