== What ==
* MediaWiki will provide a registry, PlugableEditor, for software to 'offer' to be "the editor" based on content type and other concerns.
* The core editing interface ('Bob') will be separated from EditPage.php into a default-bundled extension.
* Editor extensions will be able to register themselves as providing additional "editor" interfaces.
* EditPage.php will become solely a code interface for editing.
* Wiki sysadmins will be able to (**?? how**) configure additionally the availability of installed editors.
== Why ==
Right now `EditPage.php` provides an editor, and then extensions either replace it (//e.g.// VisualEditor) or augment it (//e.g.// WikiEditor) and reach into it to disable other aspects. Some extensions extend other extensions (//e.g.// CodeEditor and Drafts over-ride WikiEditor). This is inefficient for the system, complex for developers, and results in poor user outcomes. For example, if you don't like WikiEditor's toolbar as 'noise' because you already know wikitext, you can't use CodeEditor when editing JS and so on (which you might want).
== Registry options ==
* What content type(s) does the editor support? (//e.g.// 'Bob' supports all textual content types; 'CodeEditor' supports CONTENT_MODEL_JAVASCRIPT, CONTENT_MODEL_JSON, CONTENT_MODEL_CSS; 'ScriptEditor' supports CONTENT_MODEL_LUA; 'ImageEditor' supports CONTENT_MODEL_IMAGEBINAR; …)
* What user right(s) does the editor require? (//e.g.// 'UploadWizard' requires 'upload' right as well as 'create' and 'edit'; 'Flow' requires 'flow-board-create' for some operations; …)
…