add save option for 3d node on context menu (#6319)

## Summary

add save option for 3d node on context menu

## Changes
allow to export model from context menu, supported in
preview3d/load3d/saveMesh




https://github.com/user-attachments/assets/1f0f1a93-9cdb-477f-8bd3-e298c7e3892b

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-6319-add-save-option-for-3d-node-on-context-menu-2996d73d365081f7853cd2ae9c69fe4d)
by [Unito](https://www.unito.io)
This commit is contained in:
Terry Jia
2025-10-29 20:52:02 -04:00
committed by GitHub
parent 5e212156e1
commit c76f017f92
5 changed files with 148 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
import { nextTick } from 'vue'
import Load3D from '@/components/load3d/Load3D.vue'
import { createExportMenuOptions } from '@/extensions/core/load3d/exportMenuHelper'
import Load3DConfiguration from '@/extensions/core/load3d/Load3DConfiguration'
import { type CustomInputSpec } from '@/schemas/nodeDef/nodeDefSchemaV2'
import { ComponentWidgetImpl, addWidget } from '@/scripts/domWidget'
@@ -60,6 +61,10 @@ useExtensionService().registerExtension({
const load3d = useLoad3dService().getLoad3d(node)
if (load3d) {
node.getExtraMenuOptions = createExportMenuOptions(load3d)
}
const modelWidget = node.widgets?.find((w) => w.name === 'image')
if (load3d && modelWidget) {