merge: resolve conflicts with main for on-demand extension loading

Resolve 47 merge conflicts from merging main into the on-demand
extension loading branch. Key decisions:

- Accept main's maskeditor cleanup (composables+stores architecture)
- Keep branch's glob+dispatch on-demand loading in core/index.ts
- Port main's new load3d features (constants, FastPLYLoader, Asset
  Browser button) into branch's extensions/ directory structure
- Combine main's async settings loading with branch's
  processExtensionSettings callback
- Inject on-demand widget loading into main's standalone functions
  in litegraphService.ts
- Fix import paths for files referencing old load3d/maskeditor paths
- Allow processExtensionSettings worker re-registration for test
  compatibility

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rizumu Ayaka
2026-03-16 23:21:41 +08:00
2792 changed files with 367222 additions and 83716 deletions

View File

@@ -10,7 +10,7 @@
/>
</div>
<div>
<div v-if="!hideMaterialMode">
<label>{{ $t('load3d.materialMode') }}</label>
<Select
v-model="materialMode"
@@ -25,12 +25,18 @@
<script setup lang="ts">
import Select from 'primevue/select'
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import type {
MaterialMode,
UpDirection
} from '@/extensions/core/extensions/load3d/interfaces'
import { t } from '@/i18n'
const { t } = useI18n()
const { hideMaterialMode = false, isPlyModel = false } = defineProps<{
hideMaterialMode?: boolean
isPlyModel?: boolean
}>()
const upDirection = defineModel<UpDirection>('upDirection')
const materialMode = defineModel<MaterialMode>('materialMode')
@@ -46,10 +52,22 @@ const upDirectionOptions = [
]
const materialModeOptions = computed(() => {
return [
{ label: t('load3d.materialModes.original'), value: 'original' },
const options = [
{ label: t('load3d.materialModes.original'), value: 'original' }
]
if (isPlyModel) {
options.push({
label: t('load3d.materialModes.pointCloud'),
value: 'pointCloud'
})
}
options.push(
{ label: t('load3d.materialModes.normal'), value: 'normal' },
{ label: t('load3d.materialModes.wireframe'), value: 'wireframe' }
]
)
return options
})
</script>