Summary: Creating or editing Kodi skins is a very complex task. At the same time skins are one of the best and most visible features of Kodi. This project would create a textual editor that makes creating and editing Kodi skins easier and faster and allow many users an easier entry into the world of Kodi skinning.
Requirements: The skin editor should be a stand alone tool, rather than a part of Kodi. This would allow the editor to use a lot of existing graphical editor technology. The editor should still work on Windows, Linux and Mac, which should cover most any computer used to develop Kodi skins.
There would be no special hardware requirements.
How will I achieve this: I would start with an editor based on Xtext. After finishing the grammar of Kodi skins Xtext is able to generate a scanner, parser and a basic editor that one can build upon. This editor will than be extended with advanced syntax highlighting, code completion and many correctness checks and helpers.
A real interesting question is in how far the editor will be able to support cross referencing (e.g. includes and referenced IDs), which would be really useful in understanding existing skins.
The textual editor could be extended with graphical elements in the xml editor, like a live preview of single components or preview renders of whole windows.
What will the project focus on: Firstly to create a good text based editor with code completion, syntax highlighting and correctness checks. The secondary focus should be to create a working cross reference implementation. This project will not focus on changing how Kodi skins work or what Kodi skins can do. Its only focus is to make creating them as easy as possible.
This project should also focus on using a clear chain of tools, so that later changes in the Kodi skinning system can be easily adapted to the editor.
Benefits: This would directly benefit everyone who is working with Kodi skins. It would make editing and creating Kodi skins much faster and easier. Many error could be caught before trying the skin in Kodi. GUI element previews could be looked at instantly, e.g. to see if the border settings for this buttons create the button as it was imagined. Indirectly every Kodi user would benefit from more and higher quality skins.
Goals: The goals can be easily broken down with the features of a good textual editor.
- create complete grammar
- create useful syntax highlighting
- create correctness checks
- create good auto completion
- implement cross referencing
- add usefull tools