← WebMCP Directory

squig.sh

squig.sh

live Unverified (seed import) Developer Tools 14 tools imperative implementation

An infinite canvas of real UI components that all render like you sketched them on a napkin. Argue about structure, not corner radius.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 4 · Act 10 · Transact 0 · Score: Not yet scored

Tool inspector

squig_update_node

act imperative

Update an unlocked node's fields or component props. Keeps its ID; one undo step.

Page: /

Input schema

PropertyTypeRequiredDescription
documentId string yes Current documentId returned by squig_read_canvas; protects against editing a different file
id string yes —
patch object yes Fields to change; props merge with existing component props
Raw JSON schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "documentId": {
      "type": "string",
      "minLength": 1,
      "description": "Current documentId returned by squig_read_canvas; protects against editing a different file"
    },
    "id": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]{1,80}$"
    },
    "patch": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "minimum": -1000000,
          "maximum": 1000000
        },
        "y": {
          "type": "number",
          "minimum": -1000000,
          "maximum": 1000000
        },
        "w": {
          "type": "number",
          "minimum": 0,
          "maximum": 1000000
        },
        "h": {
          "type": "number",
          "minimum": 0,
          "maximum": 1000000
        },
        "seed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 2147483647
        },
        "groupIds": {
          "maxItems": 32,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 80
          }
        },
        "locked": {
          "type": "boolean"
        },
        "flipX": {
          "type": "boolean"
        },
        "flipY": {
          "type": "boolean"
        },
        "rotation": {
          "type": "number"
        },
        "fill": {
          "type": "string",
          "enum": [
            "none",
            "paper",
            "light",
            "strong"
          ]
        },
        "stroke": {
          "type": "string",
          "enum": [
            "light",
            "regular",
            "heavy"
          ]
        },
        "ink": {
          "type": "string",
          "enum": [
            "ink",
            "muted",
            "faint"
          ]
        },
        "dashed": {
          "type": "boolean"
        },
        "fontSize": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 1000
        },
        "text": {
          "type": "string",
          "maxLength": 100000
        },
        "align": {
          "type": "string",
          "enum": [
            "left",
            "center",
            "right"
          ]
        },
        "verticalAlign": {
          "type": "string",
          "enum": [
            "top",
            "center",
            "bottom"
          ]
        },
        "fixedW": {
          "type": "boolean"
        },
        "fixedH": {
          "type": "boolean"
        },
        "bold": {
          "type": "boolean"
        },
        "italic": {
          "type": "boolean"
        },
        "underline": {
          "type": "boolean"
        },
        "boxed": {
          "type": "boolean"
        },
        "boxBorder": {
          "type": "boolean"
        },
        "boxDashed": {
          "type": "boolean"
        },
        "boxFill": {
          "type": "string",
          "enum": [
            "none",
            "paper",
            "light",
            "strong"
          ]
        },
        "boxStroke": {
          "type": "string",
          "enum": [
            "light",
            "regular",
            "heavy"
          ]
        },
        "boxInk": {
          "type": "string",
          "enum": [
            "ink",
            "muted",
            "faint"
          ]
        },
        "points": {
          "maxItems": 10000,
          "type": "array",
          "items": {
            "type": "array",
            "items": [
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              },
              {
                "type": "number",
                "minimum": -1000000,
                "maximum": 1000000
              }
            ],
            "additionalItems": false,
            "minItems": 2,
            "maxItems": 2
          }
        },
        "head": {
          "type": "boolean"
        },
        "bind": {
          "type": "array",
          "items": [
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "type": [
                "string",
                "null"
              ]
            }
          ],
          "additionalItems": false,
          "minItems": 2,
          "maxItems": 2
        },
        "anchors": {
          "type": "array",
          "items": [
            {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "top",
                    "right",
                    "bottom",
                    "left",
                    "center"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "top",
                    "right",
                    "bottom",
                    "left",
                    "center"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            }
          ],
          "additionalItems": false,
          "minItems": 2,
          "maxItems": 2
        },
        "lineStyle": {
          "type": "string",
          "enum": [
            "straight",
            "elbow",
            "curved"
          ]
        },
        "elbowAxis": {
          "type": "string",
          "enum": [
            "x",
            "y"
          ]
        },
        "elbowOffset": {
          "type": "array",
          "items": [
            {
              "type": "number",
              "minimum": -1000000,
              "maximum": 1000000
            },
            {
              "type": "number",
              "minimum": -1000000,
              "maximum": 1000000
            }
          ],
          "additionalItems": false,
          "minItems": 2,
          "maxItems": 2
        },
        "curveBend": {
          "type": "array",
          "items": [
            {
              "type": "number",
              "minimum": -1000000,
              "maximum": 1000000
            },
            {
              "type": "number",
              "minimum": -1000000,
              "maximum": 1000000
            }
          ],
          "additionalItems": false,
          "minItems": 2,
          "maxItems": 2
        },
        "snap": {
          "type": "boolean",
          "const": false
        },
        "crop": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "y": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "w": {
              "type": "number",
              "exclusiveMinimum": 0,
              "maximum": 1
            },
            "h": {
              "type": "number",
              "exclusiveMinimum": 0,
              "maximum": 1
            }
          },
          "required": [
            "x",
            "y",
            "w",
            "h"
          ],
          "additionalProperties": false
        },
        "link": {
          "type": "string",
          "maxLength": 2000
        },
        "kind": {
          "type": "string"
        },
        "props": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "shape": {
          "type": "string",
          "enum": [
            "rect",
            "ellipse"
          ]
        },
        "src": {
          "type": "string"
        },
        "naturalW": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "naturalH": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false,
      "description": "Fields to change; props merge with existing component props"
    }
  },
  "required": [
    "documentId",
    "id",
    "patch"
  ],
  "additionalProperties": false
}

Similar websites

morphus.myles4miles.chatgpt.site

morphus.myles4miles.chatgpt.site

Morphus is an AI-native workspace for designing worlds and generating playable game experiences.

live Unverified Developer Tools Transact tools
154 tools A23 / Act124 / T7 Not yet scored Seen 2026-11-05
list_nodes get_scene_settings get_node_details get_terrain_state get_forest_state
Inspect tools
damnpdfs.com

damnpdfs.com

Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.

live Unverified Developer Tools Transact tools
81 tools A3 / Act77 / T1 Not yet scored Seen 2026-11-05
scan_to_pdf workflow merge_pdf alternate_mix_pdf compress_pdf
Inspect tools
insignifi4nt.github.io

insignifi4nt.github.io

broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.

live Unverified Developer Tools Transact tools
80 tools A29 / Act49 / T2 Not yet scored Seen 2026-11-05
edm_inspect_approach edm_describe_edits edm_get_context edm_list_projects edm_get_project
Inspect tools
cabinet.varera.studio

cabinet.varera.studio

The Cartographer's Cabinet

live Unverified Developer Tools Transact tools
64 tools A10 / Act50 / T4 Not yet scored Seen 2026-11-05
inspect_daylight inspect_cartographers_project list_project_hierarchy inspect_open_map search_project_objects
Inspect tools

Related on Influzer