Skip to content

feat: 1.7.0 - #48

Open
jasonjgardner wants to merge 1 commit into
mainfrom
feat/draxionmc-issues-1
Open

feat: 1.7.0#48
jasonjgardner wants to merge 1 commit into
mainfrom
feat/draxionmc-issues-1

Conversation

@jasonjgardner

@jasonjgardner jasonjgardner commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added Display Settings support, including tools to view, edit, and enter display mode for models.
    • Newly created textures now keep their selected render mode and render sides, so viewport appearance matches expectations.
  • Bug Fixes

    • Improved group creation defaults and made pivot/rotation fields easier to use.
    • Updated keyframe value handling to better preserve per-axis edits and scale behavior.
  • Documentation

    • Refreshed API reference content and version info to include the latest tools and settings.

- Updated version number in package.json and prompts/manifest.json to 1.7.0.
- Modified index.html to reflect the new version and updated tool counts.
- Added new "Display Settings" category in the API reference with tools for managing display transforms.
- Introduced new Zod schemas for display slots and vectors to ensure proper validation.
- Implemented display tools in server/tools/display.ts for getting and setting display transforms, and entering display mode.
- Enhanced existing tools to utilize new vector schemas for better type safety and clarity.
- Updated animation tools to apply keyframe values correctly.
- Adjusted texture tools to ensure render settings are preserved after texture creation.
@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1d622bf7-a35f-4704-a3d7-40b154d9f052

📥 Commits

Reviewing files that changed from the base of the PR and between 6b069e3 and 7429e63.

📒 Files selected for processing (11)
  • build/docs-manifest.ts
  • docs/api.json
  • docs/index.html
  • lib/zodObjects.ts
  • package.json
  • prompts/manifest.json
  • server/tools.ts
  • server/tools/animation.ts
  • server/tools/display.ts
  • server/tools/element.ts
  • server/tools/texture.ts

Walkthrough

This PR adds new Display Settings MCP tools (get_display_transform, set_display_transform, enter_display_mode) with supporting schemas and docs, fixes add_group's shared-schema/required-fields bug, fixes silent keyframe value discarding in manage_keyframes, fixes create_texture ignoring render_mode/render_sides, and bumps version/manifest metadata to 1.7.0.

Changes

Display Settings feature

Layer / File(s) Summary
Shared vec3 factory and slot enum
lib/zodObjects.ts
Adds a vec3() schema factory returning fresh 3-element array schemas and a displaySlotEnum for Java Edition display slot keys.
Display tool implementation
server/tools/display.ts
Defines parameter schemas, docs, runtime helpers (serializeSlot, precondition checks), and execute logic for reading, writing, and entering display transforms/mode.
Registration wiring
server/tools.ts
Imports and registers registerDisplayTools in the core registration list.
Docs/manifest and version updates
build/docs-manifest.ts, docs/api.json, docs/index.html, package.json, prompts/manifest.json
Wires Display Settings docs into the manifest, adds generated API docs/sections, and bumps version/timestamps to 1.7.0.

add_group schema fix

Layer / File(s) Summary
vec3-based schemas
server/tools/element.ts
Replaces shared vector3Schema with per-call vec3() for findElementsByCriteriaParameters and addGroupParameters, making origin/rotation optional with [0,0,0] defaults.
Documentation updates
docs/api.json, docs/index.html
Updates add_group descriptions, defaults, and reduces required to only name.

manage_keyframes value persistence fix

Layer / File(s) Summary
Per-axis value application
server/tools/animation.ts
Adds applyKeyframeValues helper and applies it in both create and edit actions to properly persist keyframe data via Keyframe.set.

create_texture render settings fix

Layer / File(s) Summary
Wire render settings into texture creation
server/tools/texture.ts
Destructures render_mode/render_sides, passes them to the Texture constructor, and re-applies them with updateMaterial() after import.

Estimated code review effort: 3 (Moderate) | ~30 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant registerDisplayTools
  participant Project
  participant DisplaySlot
  participant Canvas

  Client->>registerDisplayTools: set_display_transform(slot, transform)
  registerDisplayTools->>Project: getDisplaySettingsOrThrow()
  registerDisplayTools->>registerDisplayTools: assertDisplayModeSupported()
  registerDisplayTools->>DisplaySlot: create slot if missing / reset
  registerDisplayTools->>DisplaySlot: extend(transform fields)
  registerDisplayTools->>Canvas: updateAll()
  registerDisplayTools-->>Client: serialized transform
Loading
sequenceDiagram
  participant Client
  participant registerDisplayTools
  participant Project
  participant ReferenceModel
  participant ScreenshotCapture

  Client->>registerDisplayTools: enter_display_mode(slot, reference?)
  registerDisplayTools->>Project: ensure project + display mode support
  registerDisplayTools->>Project: enter display mode if not active
  registerDisplayTools->>Project: activate slot (via runtime-detected strategy)
  opt reference provided
    registerDisplayTools->>ReferenceModel: load validated reference model
  end
  registerDisplayTools->>ScreenshotCapture: capture screenshot
  registerDisplayTools-->>Client: notes + screenshot content
Loading

Possibly related PRs

  • jasonjgardner/blockbench-mcp-plugin#32: Shares the same auto-generated docs pipeline (build/docs-manifest.ts categories feeding docs/api.json/docs/index.html) that this PR extends with a new Display Settings category.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is too generic and only states the release version, not the main change. Use a specific title like "Add display settings tools and fix tool schemas".
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed The PR appears to implement the linked fixes for display tools, add_group, keyframes, and texture rendering as requested.
Out of Scope Changes check ✅ Passed The changes align with the linked issues and release update; no clearly unrelated code changes stand out.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/draxionmc-issues-1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

github-actions Bot added a commit that referenced this pull request Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Preview Deployment

Your changes have been deployed for preview:

Plugin URL: https://jasonjgardner.github.io/blockbench-mcp-plugin/pr/48/mcp.js

Load in Blockbench via File > Plugins > Load Plugin from URL.

This preview will be automatically cleaned up when the PR is closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment