docs(server/scene): mark ExternalPosition2D as an unimplemented stub - #86
Merged
Merged
Conversation
The server accepts an ExternalPosition2D animation, returns a valid handle and reports Running, but `animation_advance` never opens the shm segment and the stimulus never moves. Four sites independently document a per-frame shm read that does not exist: - animation_advance.rs — the stub match arm - animation_kind.rs — "Read 2-D position from a POSIX shm float array" - animations.proto — the same claim on the wire type - animations_client.py — the Python docstring A client reading the proto or the Python API has no way to discover the command does nothing. Mark all four with TODO(#84) rather than only the Rust arm. No behaviour change. Refs #84, #79, #83 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TovGgCFRVaGjUhKHLVKgUF
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Marks the
ExternalPosition2Danimation as an unimplemented stub at every site that currently claims it reads shared memory. No behaviour change.Why
The server accepts an
ExternalPosition2Danimation, returns a valid handle, reportsRunningfromQueryAnimation, and round-trips it through config save/load. The stimulus never moves. The entire implementation isanimation_advance.rs:No
shm_open, nommap, nomove_to. The comment describes an intent, not a behaviour.Everything around the read exists, which is what makes it hard to notice — the enum variant, the proto message, the
command.rscreate/query wiring and the Python client method all ship today. Three of them promise a per-frame shm read in their doc comments. A client author readinganimations.protoor the Python docstring has no way to discover the command does nothing; they get a success response and a motionless stimulus, with nothing in the log.So this marks all four sites rather than only the Rust arm:
server/src/scene/animation/animation_advance.rs— the stub match armserver/src/scene/animation/animation_kind.rs— "Read 2-D position from a POSIX shm float array each frame."proto/vstimd/v1/animations.proto— the same claim on the wire typeclient/python/vstimd/animations/animations_client.py— the Python docstring, as a Sphinx.. warning::Scope
Documentation only. Deciding whether to reject at create time with
UNIMPLEMENTEDor implement the read is #84; that issue argues for rejecting if #79 is close and implementing if it is not, but rules out leaving it accepting-and-ignoring.Not folded into #79 because that issue implements this arm as one part of a feature depending on the
vinputcrate (#77) and the device registry (#78), inside epic #81. The defect — a shipped command that silently does nothing — stands independently of whether that epic lands.Verification
cargo clippyclean (the one warning,module_inceptioninscene/stimulus/mod.rs, is pre-existing)make typecheckpasses*_pb2.*files stagedRefs #84, #79, #83
🤖 Generated with Claude Code
https://claude.ai/code/session_01TovGgCFRVaGjUhKHLVKgUF