Overlays & Feedback
Chat Message
Conversation log entries: incoming and outgoing bubbles, timestamps, read receipts and activity events with XP.
Source captures·from the SEED early-access trailer
Incoming & outgoing

It’s fine! It’s just a way to build strength!
well done chopping wood, do you like it?
Seenchop more wood
SentActivity events
Logged actions sit between messages, with a completion check and optional XP reward.
Harvested wood from
Tree
Slept in
Bridgit’s Tent
Consumed something from
Kernel
Used
Crude Wood Toilet
Conversation thread
When two Seedlings talk, their exchange is grouped in a blue thread with white message cards and affinity changes.
Ask Rasean about his injuries.👍
Rasean

Bridgit
Hey, Rasean.

Rasean
Hey, Bridgit. Glad to see you’re still upright.

Bridgit
How are you holding up? Any more trouble with those injuries?

Conversation in progress…
In context
The conversation window: filter tabs, scrolling log, and a composer. Send a message to see the receipt and a reply.
Guntera

My dreams? I’m going to build something massive! Something that makes everyone in Verdantis stop and stare!

I’m talking empires, huge projects, and being at the very top of it all! I won’t just settle for surviving; I’m going to dominate!
Harvested wood from
Tree
well done chopping wood, do you like it?
Seen
It’s fine! It’s just a way to build strength!
API
| Prop | Type | Default | Description |
|---|---|---|---|
| ChatMessage.from | "them" | "me" | "them" | |
| ChatMessage.variant | "default" | "card" | "default" | card = white message inside a ChatThread. |
| ChatMessage.avatar / author / time | Person / ReactNode / ReactNode | — | |
| ChatMessage.receipt | "sent" | "seen" | — | |
| ChatMessage.reaction | ReactNode | — | Emoji badge on the bubble corner. |
| ChatEvent | { children, time, done, reward } | — | |
| ChatReward | { icon, label, xp } | — | |
| ChatThread | { partner, label, footer, children } | — | |
| ChatAffinity | { person, change: "up" | "down" } | — |