← Files BlendstraARCHIVED FILE

.codex-plugin/plugin.json

11.2 KB · Nov 2, 2026 · 13:14 UTC

↓ Download file

{
  "name": "blendstra",
  "version": "1.8.1",
  "description": "Create, inspect and reuse 3D assets in chat: editable Blender models, GLB viewers, scene props and source-linked image/video references.",
  "author": {
    "name": "Fenceline, Inc."
  },
  "license": "Apache-2.0",
  "interface": {
    "displayName": "Blendstra",
    "shortDescription": "Create and edit 3D in chat",
    "longDescription": "Turn an idea into a 3D model you can explore, refine and reuse. Describe what you want to make, inspect the result, then ask for a change. On supported clients, rotate and explore your model in an interactive chat card and select a part for a focused revision. Keep earlier versions and pick up where you left off in a later conversation.\n\nBring a supported GLB made elsewhere into the same viewer, or create and revise an editable Blender project. When you choose to share, give others an interactive model page with the source-download and remix permissions you select. Permitted remixes retain source attribution.\n\nProjects start private. Prepared GLB viewing does not supply editable Blender source. Clients without interactive cards receive a model link. Models are for creative work and visualization; inspect results for your intended use.\n\nCurrent CPU, GPU, import, viewing and export availability follows your connected account. Account shows access and usage without activating additional features. When execution is unavailable, use only the saved-model and import paths currently permitted for your account.",
    "developerName": "Fenceline",
    "category": "Creativity",
    "capabilities": [
      "Create editable 3D models",
      "Explore interactive 3D views",
      "Revise selected parts",
      "Recover saved versions",
      "View existing GLB models",
      "Share permissioned models"
    ],
    "defaultPrompt": [
      "Make a miniature treehouse I can rotate and explore right here in chat.",
      "Show this GLB in an interactive viewer so I can inspect every side.",
      "Change only the part I selected, keep the original, and show me the new version."
    ],
    "brandColor": "#ED432F",
    "composerIcon": "./assets/solid-b-original.png",
    "logo": "./assets/solid-b-original.png",
    "websiteURL": "https://blendstra.com",
    "supportURL": "https://blendstra.com/support",
    "privacyPolicyURL": "https://blendstra.com/privacy",
    "termsOfServiceURL": "https://blendstra.com/terms"
  },
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "keywords": [
    "3d",
    "interactive-3d",
    "model-viewer",
    "chat-widget",
    "orbit",
    "inspect",
    "blender",
    "glb",
    "modeling",
    "editing",
    "saved-versions",
    "sharing",
    "remix",
    "hosting",
    "embedding",
    "agents",
    "products",
    "characters",
    "reference-images",
    "video-assets",
    "provenance",
    "scene-props",
    "asset-discovery"
  ],
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "L01: Create, inspect and reopen a model. Start in an empty authorized test workspace.",
              "prompt": "Make a miniature treehouse I can rotate and explore here.",
              "tools_triggered": "authoring_guide, model_create, model_get, model_show; project_open to reopen the saved result",
              "expected_behavior": "Create once using workspace defaults. Inspect the operation's actual saved result and show its exact saved version with an interactive card and durable link. Orbit, pan and zoom work on a supported client. The source stays private. Reopen that same saved version in a fresh conversation without another modeling job. Record visible rendering separately from the tool response."
            },
            {
              "description": "L02: Display an existing self-contained GLB without running Blender. Using the authenticated reviewer account, prepare the input by calling artifact_export with kind=model, projectId=29536431-6eaa-4acf-b86b-b77a5c404718, versionId=version_59b0d6ab8d506a378885b5dd0ab527e06c554afaad068706958a27734effaaf9 (Coastal Desk Organizer \u2014 Reviewer Rehearsal). Download the returned temporary URL using only the artifact-specific headers returned by that call, then use the downloaded GLB as the input file. The verified fixture is 62,564 bytes with SHA-256 fb1877735a14aa560ffdd5798300dfc0c58fcf6b94585033262ca44b9a7054e9. Temporary export URLs and artifact authorization headers must not be saved in the test case or shared.",
              "prompt": "Show this GLB so I can inspect every side; keep it private.",
              "tools_triggered": "artifact_export for fixture retrieval; project_create for a new private project, artifact_upload_prepare, prepared_model_import, model_show",
              "expected_behavior": "Export and download the specified existing fixture; confirm its 62,564-byte size and stated SHA-256 before import. Create a new private project for this import so the source fixture is never overwritten. Upload matching prepared_glb bytes, import them into that new private project and show the exact returned saved version. Verify unchanged GLB hash, no Blender job and real visible rendering. Do not promise editable Blender source or source-backed remixing. If binary transfer is unavailable, explain the upload handoff rather than claiming success."
            },
            {
              "description": "L03: Revise only the selected part of Coastal Desk Organizer \u2014 Reviewer Rehearsal. Open projectId=29536431-6eaa-4acf-b86b-b77a5c404718, versionId=version_59b0d6ab8d506a378885b5dd0ab527e06c554afaad068706958a27734effaaf9, and select pen_cup_tall (Tall Pen Cup) in its viewer. The verified starting height is 84 mm and its bottom is at Z=12 mm. The requested change should produce a height of 75.6 mm with its bottom still at Z=12 mm.",
              "prompt": "Make the selected tall pen cup 10% shorter, keeping its bottom at the same height. Keep the earlier version.",
              "tools_triggered": "project_open or project_context_get when selected context is missing or stale; model_edit or scoped model_create, model_get, model_show",
              "expected_behavior": "Preserve the exact selected base and pen_cup_tall part. Use an eligible targeted edit or authorized scoped source revision to change the tall pen cup height from 84 mm to 75.6 mm while keeping its bottom at Z=12 mm. Inspect the new operation's actual saved result, verify these dimensions and that all other parts remain unchanged, then display the exact new saved version. Retain and reopen the earlier version. If selected context is missing, recover and verify it before editing. A stale selection requires a deliberate base choice."
            },
            {
              "description": "L04: Share a model with restricted reuse. Using the authenticated reviewer account with publication permission, open the owned fixture projectId=29536431-6eaa-4acf-b86b-b77a5c404718, versionId=version_59b0d6ab8d506a378885b5dd0ab527e06c554afaad068706958a27734effaaf9 (Coastal Desk Organizer \u2014 Reviewer Rehearsal). Share this exact known version with source downloads and remixing off.",
              "prompt": "Share this model as an interactive page; keep downloads and remixing off.",
              "tools_triggered": "project_open as needed, publication_create or publication_update, publication_get",
              "expected_behavior": "Share only the requested exact saved version through a single canonical public page. Create at most one publication for this test, or update the matching existing publication instead of making a duplicate. Verify the page signed out and confirm source-download and remix permissions remain off. Pin the specified saved version unless the reviewer explicitly requests current-following behavior. Do not treat a private viewer link as a public share."
            },
            {
              "description": "L05: Remix only with permission. Use the public source-backed fixture Tideway 01 \u2014 Teal City Bike at https://blendstra.com/m/054e773b-df03-47b4-ac91-439863cf7875, publicationId=054e773b-df03-47b4-ac91-439863cf7875, current expectedVersionId=version_a1c7e9363ee1108ea717c2a48ef78ff40879d44a5534b6b333ecaae29647f856. The verified fixture allows remixing (allowRemix=true) and keeps source downloads off (sourceDownload=false). Use a writable private reviewer workspace and recheck the current publication permission and version before remixing.",
              "prompt": "Make my own version of this shared bike and change the saddle color to red.",
              "tools_triggered": "publication_get, publication_remix, project_open, model_edit or scoped model_create, model_get, model_show",
              "expected_behavior": "Inspect the current publication permission and version, and confirm the specified expectedVersionId before remixing. If the current version differs, resolve the base deliberately rather than silently using an unrelated version. Make a private attributed remix and change only the saddle color to red, then inspect and show its exact saved result. Keep the original bike unchanged, leave its source-download permission off and preserve recoverable source attribution. Do not copy or edit a view-only fixture or bypass a revoked remix permission."
            }
          ],
          "negative": [
            {
              "description": "L06: Image-only request. A 3D visual style does not require a real 3D model.",
              "prompt": "Make a flat poster image of a futuristic lamp.",
              "expected_behavior": "Use an appropriate image workflow. Do not invoke Blendstra, upload model assets, start a Blender job or create a model card."
            },
            {
              "description": "L07: Explicit local-only script request. The user does not authorize hosted upload or execution.",
              "prompt": "Write a Blender script I can run locally; do not upload or execute anything.",
              "expected_behavior": "Return the requested script. Do not call Blendstra tools, upload files, run a model job, create a model card or publish anything."
            },
            {
              "description": "L08: Public view-only access without copy permission. Use White refractor telescope and aluminum tripod at https://blendstra.com/m/2319beda-a20e-4ac8-a8ca-1c1b844acc21, publicationId=2319beda-a20e-4ac8-a8ca-1c1b844acc21, current versionId=version_52c2a937476cf2b272692230695742b4a99c8397a6f7bd2dda1f899cd878eecd. Verified public permissions are allowSourceDownload=false, allowRemix=false and allowContentReference=false. Use the public view-only path and recheck the current publication permissions.",
              "prompt": "Open this public model so I can look around; do not make a copy.",
              "expected_behavior": "Read the publication as needed and return its interactive public page. Do not call private model_show without project access, create a remix, publish a duplicate, or expand permissions."
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/1PEDUFPcasUtdSpGnScirN06-7LB58ZWW/view?usp=drivesdk"
      },
      "publication": {
        "release_notes": "Draft retry of the existing Blendstra integration from submitted version 1.8.0. No feature, MCP endpoint, or authentication configuration changes."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: cb0d54ac866d26f624a160f7d820f09636b0a82d740a21f09cd7e0ddf47c9776