-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Description
Visual editors
@Rich-Harris has often talked about more visual ways of creating applications. Flow editors are a great way of doing this as are tools like FrameX.
However in order to have great tools that know what can connect to what we need to expose types at runtime. Normally this information is thrown away by the compiler. But because Svelte is a compiler framework I think (with TypeScript landing soon) we should have a standard way of making type information available at runtime if requested.
One way might be to have the Svelte compiler recognise a new extension e.g. .runtime-types.
export {Coord3dType} from './geometetry.ts'This would tell the Svelte complier to turn the Coord3dType into a JS object that can be imported from another .js or .svelte file and used to tag a store so subscribers know what to expect. It may also be helpful to have a compiler option that includes runtime type information in components describing their props at runtime.
If this is built into the Svelte compiler then we can establish unified ecosystem of Svelte components and stores that can talk to each other at runtime. These can then be snapped together in visual editors and flow editors. If you combine this with dynamic imports from IPFS based CDNs you can then have applications that auto suggest stores and components based on the type of inputs and outputs you are working with for totally open-ended applications.

