Embeds
...

Embed は、app.embedRegistry によって管理されている。

EmbedRegistry
...

type EmbedCreator = (info: any, file: TFile, subpath: string) => Component;

class EmbedRegistry {
    embedByExtension: Record<string, EmbedCreator>;

    registerExtension(extension: string, embedCreator: EmbedCreator): void;
    unregisterExtension(extension: string): void;
    registerExtensions(extensions: string[], embedCreator: EmbedCreator): void;
    unregisterExtensions(extensions: string[]): void;
    isExtensionRegistered(extension: string): boolean;
    getEmbedCreator(file: TFile) => EmbedCreator | null;
}

registerExtension することによって、プラグインから独自の埋め込み方を指定することができるはず。

app.embedRegistry.unregisterExtension('md');

してから .md 用の EmbedCreator として MarkdownView を登録したら、editable embed が実現できないか?などと安直に考えたが、ダメだった。