feat: (hopefully) better intermediate representation

ref: N25B-376
This commit is contained in:
2025-12-17 15:33:27 +01:00
parent 742e36b94f
commit 1d36d2e089
4 changed files with 581 additions and 32 deletions

View File

@@ -1,4 +1,5 @@
from enum import Enum
from typing import Literal
from pydantic import UUID4, BaseModel
@@ -133,9 +134,17 @@ class SpeechAction(ProgramElement):
text: str
# TODO: gestures
class Gesture(Enum):
RAISE_HAND = "RAISE_HAND"
class Gesture(BaseModel):
"""
Represents a gesture to be performed. Can be either a single gesture,
or a random gesture from a category (tag).
:ivar type: The type of the gesture, "tag" or "single".
:ivar name: The name of the single gesture or tag.
"""
type: Literal["tag", "single"]
name: str
class GestureAction(ProgramElement):