Read some of the previous threads on Plugins / Extensions and from the replies felt like Affinity is interested in building a closed solution, not one that allows the community to expand on it.
From my point of view, currently successful solutions are the ones that go with Community in mind first.
You can see from Sketch and how opening access to their tool made it grow even further.
Fusion by Autodesk as also created extension capabilities from the ground up and use the community to drive their business model and upcoming features, several tools where created as extensions months before Fusion had them built-in, some by Autodesk themselves (internal Autodesk users outside the core team) and others by the community.
Microsoft with Visual Studio Code, providing a team of developers pushing the editor forward and enabling the community to extend it and even contribute to the core base.
Now, it's not my request that you Open Source the software or allow access to the code base.
My request is that you empower us, the community of users, to become more efficient, which should be on your top list of priorities.
As such, I see the following as key enablers for us, the community of users:
API for custom exports
API for custom personas
API for custom tools
The ability to create a plugin / extension for custom exports enables several key integrations, such as:
Ability to export to currently unsupported formats
Ability to export to in-house formats
Ability to create specific pre and post processors
Ability to integrate the output directly into other tools
This could be a bit more work, but the ability to create a visual plugin / extension for custom persons enables new work models, such as:
Ability to create visual review screens that can integrate with other tools
Ability to create special preview screens or slideshows with effects
Ability to create an isolated zone where special editing can occur
Ability to integrate with a cloud tool and provide a visual link with it (imagine linking artboards to invision or other directly on a specific persona)
The ability to create a plugin / extension for custom tools:
This can enhance the toolset before some tools get implemented, this can even lead to that specific plugin being redesigned as part of the app.
All of these can be created in an isolation mode:
Custom exports can provide only read access to the main structure, enabling exports without causing any harm to the baseline.
Custom personas could provide a sandbox visual area with limited write to pixel and vector mode, while having the ability to save custom data on a isolated custom data area that could be later used by custom exports.
Custom tools could be limited to performing changes to pixel and vector, but with a set of constraints.
These are ways to enable the community without having to make much changes to the system, all of these suggestions can work in isolation and wouldn't require such a daunting effort.
All of these suggestions can help us, the community of users, progress faster and also bring the apps into our pipelines.
I do understand the intention of keeping a close watch on the platform as it progresses.
Towards that end you can force plugins / extensions to go through your own "Plugin / Extension Store" that enables you to track which ones are often used / popularity, user rating and comments / feedback. Enabling you to understand what could be interesting to become part of the core app.
Given that the team is small and progress isn't as fast as the community may need, we would be enabled to progress faster before you finish something, and when you do, that plugin / extension simply becomes obsolete.
We are offering you the ability to grow faster, for free and at the same time making us happier with what you are building.
The more flexibility we have, the more plugins / extensions we use that are tailored for our needs and are only available to your app, the more we will feel empowered and at the same time, the less we feel the need to look anywhere else for that specific tool we need.