Skip to content

feat(editor): wire the Bones structural X-ray plugin into the standalone editor - #649

Merged
wass08 merged 20 commits into
mainfrom
feat/plugin-bones
Aug 14, 2026
Merged

feat(editor): wire the Bones structural X-ray plugin into the standalone editor#649
wass08 merged 20 commits into
mainfrom
feat/plugin-bones

Conversation

@wass08

@wass08 wass08 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

What

Registers @pascal-app/plugin-bones (the engineering X-ray: framing, girders, rafters, foundations) in the standalone editor app, mirroring how trees / mint / streetscape are already wired.

Net diff vs main is 4 files / 13 lines — the 19 commits on this branch are almost entirely chore: bump plugin-bones to <sha> churn, since the plugin itself lives in pascalorg/plugin-bones. Squash merge.

  • apps/editor/lib/bootstrap.tsextendPluginDiscovery(async () => [bonesPlugin]) + registerEditorHostPanel({ ...bonesHostPanel, defaultInstalled: false })
  • apps/editor/next.config.ts — adds @pascal-app/plugin-bones to transpilePackages
  • apps/editor/package.json — pins github:pascalorg/plugin-bones#a480fd81
  • bun.lock

Opt-in by design

Bones ships uninstalled (defaultInstalled: false). Users enable it per scene from the Plugins panel — an engineering X-ray is a specialist view, not a default.

Why this PR exists

private-editor #340 already shipped the hosted side, but it pinned the editor submodule directly at this branch's head (d323bff2) rather than at a commit on editor main. That left main without the wiring and the private-repo pin pointing at unreviewed, never-CI'd code — this is the first CI run these changes have ever had.

Once this squash-merges, private-editor needs a follow-up submodule bump to the new main SHA, since the squash orphans d323bff2.


Note

Low Risk
Small, additive plugin wiring with no changes to auth, persistence, or core editor logic; Bones is opt-in by default.

Overview
Wires @pascal-app/plugin-bones into the standalone editor the same way trees, mint, and streetscape already are.

Bootstrap extends plugin discovery with bonesPlugin and registers bonesHostPanel with defaultInstalled: false, so the engineering X-ray stays off until a user enables it per scene from the Plugins panel.

Build/deps: pins the GitHub package in apps/editor/package.json, adds it to Next transpilePackages, and updates bun.lock.

Reviewed by Cursor Bugbot for commit 56362c5. Bugbot is set up for automated code reviews on this repo. Configure here.

Snoopy147 and others added 19 commits August 12, 2026 23:50
Third-party plugin by @Snoopy147 — github:Snoopy147/plugin-bones.
Registered like streetscape/mint: static import in bootstrap,
transpilePackages entry, pinned-commit dependency.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
All systems online: wall framing, CMU, floor, roof, foundation,
electrical, plumbing, HVAC, jurisdiction profiles (51 states),
takeoff. 191 plugin tests green; verified live in this editor.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…p-override plumbing seam

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…on corners)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rom the Plugins panel

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ers)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d323bff. Configure here.

extendPluginDiscovery(async () => [bonesPlugin])
// Opt-in: Bones ships uninstalled — users enable it per scene from the
// Plugins panel (engineering X-ray is a specialist view, not a default).
registerEditorHostPanel({ ...bonesHostPanel, defaultInstalled: false })

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bones missing Tailwind source scan

Medium Severity

Bones is registered like trees, mint, and streetscape, but apps/editor/app/globals.css never adds a Tailwind v4 @source for @pascal-app/plugin-bones. Those other plugins are scanned from node_modules/.../src, so utility classes in the Bones host panel and renderers are likely omitted from generated CSS. After install, the engineering X-ray UI can render unstyled.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d323bff. Configure here.

Biome's organizeImports assist wants it after @pascal-app/nodes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@wass08
wass08 merged commit a1deb80 into main Aug 14, 2026
4 checks passed
@wass08
wass08 deleted the feat/plugin-bones branch August 14, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants