mirror of
https://github.com/THU-MAIC/OpenMAIC.git
synced 2026-10-04 02:08:36 +08:00
Let a learner pick one element on the classroom whiteboard and ask about
it, alongside the existing PPT element and interactive component
references behind the courseware-reference flag.
- Add a `whiteboard_element` reference: { kind, whiteboardId, elementId }.
The Host resolves it only from this request's Stage snapshot
(`stage.whiteboard[0]`), projects the element with the existing slide
element projection, and passes it through the existing Director ->
call_agent evidence path. It grants no Spotlight or other tool access.
- Reuse the playback pick overlay inside the whiteboard, scoped to the
whiteboard DOM so pan/zoom and overlapping elements resolve correctly,
and keep a highlight on the selected element.
- Share one displayed-whiteboard selector for display, picking, and the
pre-send check. A runtime (RuntimeStore) whiteboard disables picking;
runtime-board references are out of scope.
- Before sending, re-check the reference against the snapshot actually
POSTed; if it is stale, keep the learner's text and ask them to pick
again. Server rejections carry a `whiteboard_reference_changed` reason.
- Describe whiteboard references correctly next to page-reported state,
and rename the entry to "Reference content" in all locales.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>