Tool tree
gradeNot graded
playground.get_stateAnswer
Inspect the current NottyDuck playground: duck, mission progress, toys, and spark locations. This is read-only and uses no account or network storage.
View tool JSON
{
"name": "playground.get_state",
"kind": "answer",
"impl": "imperative",
"description": "Inspect the current NottyDuck playground: duck, mission progress, toys, and spark locations. This is read-only and uses no account or network storage.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}playground.move_duckAction
Move the duck a small number of steps in one cardinal direction. The movement is animated in the same canvas the person sees and may collect nearby sparks.
View tool JSON
{
"name": "playground.move_duck",
"kind": "act",
"impl": "imperative",
"description": "Move the duck a small number of steps in one cardinal direction. The movement is animated in the same canvas the person sees and may collect nearby sparks.",
"inputSchema": {
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"up",
"down",
"left",
"right"
],
"description": "Cardinal direction to waddle."
},
"steps": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "Small movement units; use 1-4 for precise play."
}
},
"required": [
"direction",
"steps"
],
"additionalProperties": false
}
}playground.set_targetAction
Send the duck toward a normalized point in the playground. Coordinates are between 0 and 1. A person can immediately interrupt the movement with keyboard or pointer input.
View tool JSON
{
"name": "playground.set_target",
"kind": "act",
"impl": "imperative",
"description": "Send the duck toward a normalized point in the playground. Coordinates are between 0 and 1. A person can immediately interrupt the movement with keyboard or pointer input.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0.08,
"maximum": 0.92,
"description": "Horizontal target; 0 is left and 1 is right."
},
"y": {
"type": "number",
"minimum": 0.16,
"maximum": 0.9,
"description": "Vertical target; 0 is top and 1 is bottom."
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}
}playground.spawn_toyAction
Add one harmless toy to the shared playground. Toys are visual and local to this browser. At most 12 toys are kept.
View tool JSON
{
"name": "playground.spawn_toy",
"kind": "act",
"impl": "imperative",
"description": "Add one harmless toy to the shared playground. Toys are visual and local to this browser. At most 12 toys are kept.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"ball",
"donut",
"paper-plane"
],
"description": "Toy to add."
},
"x": {
"type": "number",
"minimum": 0.08,
"maximum": 0.92,
"description": "Horizontal spawn position."
},
"y": {
"type": "number",
"minimum": 0.16,
"maximum": 0.9,
"description": "Vertical spawn position."
}
},
"required": [
"kind",
"x",
"y"
],
"additionalProperties": false
}
}playground.quackAction
Make the duck show a playful text quack in the shared canvas. This does not use audio, a microphone, or an external service.
View tool JSON
{
"name": "playground.quack",
"kind": "act",
"impl": "imperative",
"description": "Make the duck show a playful text quack in the shared canvas. This does not use audio, a microphone, or an external service.",
"inputSchema": {
"type": "object",
"properties": {
"style": {
"type": "string",
"enum": [
"tiny",
"loud",
"question"
],
"description": "The personality of the quack."
}
},
"required": [
"style"
],
"additionalProperties": false
}
}playground.customize_duckAction
Change the local duck's short display name and color. This updates the visible UI and localStorage only.
View tool JSON
{
"name": "playground.customize_duck",
"kind": "act",
"impl": "imperative",
"description": "Change the local duck's short display name and color. This updates the visible UI and localStorage only.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 18,
"description": "A friendly duck name, up to 18 characters."
},
"color": {
"type": "string",
"enum": [
"yellow",
"coral",
"mint",
"purple"
],
"description": "Duck body color."
}
},
"required": [
"name",
"color"
],
"additionalProperties": false
}
}playground.create_surpriseAction
Create one bounded random playground moment: add a toy, make the duck quack, or give it a nearby destination. It never spends money, contacts anyone, or leaves the page.
View tool JSON
{
"name": "playground.create_surprise",
"kind": "act",
"impl": "imperative",
"description": "Create one bounded random playground moment: add a toy, make the duck quack, or give it a nearby destination. It never spends money, contacts anyone, or leaves the page.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}playground.get_local_memoryAnswer
Read the recent playful event log stored on this device. It contains only in-game actions and is read-only.
View tool JSON
{
"name": "playground.get_local_memory",
"kind": "answer",
"impl": "imperative",
"description": "Read the recent playful event log stored on this device. It contains only in-game actions and is read-only.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}playground.reset_local_worldAction
Reset the duck, score, toys, and event history in this browser. This is destructive only to this page's local saved game and requires the exact confirmation phrase.
View tool JSON
{
"name": "playground.reset_local_world",
"kind": "act",
"impl": "imperative",
"description": "Reset the duck, score, toys, and event history in this browser. This is destructive only to this page's local saved game and requires the exact confirmation phrase.",
"inputSchema": {
"type": "object",
"properties": {
"confirmation": {
"type": "string",
"const": "reset tiny playground",
"description": "Must exactly equal: reset tiny playground"
}
},
"required": [
"confirmation"
],
"additionalProperties": false
}
}