Like I said, regardless of who it matters to, I don't want to add features that break other features.
Why can't other files be hosted alongside index.html? This sounds like an arbitrary restriction that could potentially break other C2/C3 features as well, so it seems the best solution is to allow this.
No worries. I totally get that you can't afford to break the existing system. I have found a workaround for my client to meet their requirements.
As far as AirConsole goes, I wouldn't actually need to keep everything out of the root directory, I would just need to be able to merge two projects into the same directory:
AirConsole needs both a screen.html and a controller.html in the root directory. Up until now I have coded a very simple controller.html by hand and done all of the heavy game logic in the screen.html using Construct 2. I would like to use Construct 3 for both the screen.html and the controller.html so that I can do full mini-games on the controller while the main game is running on the big screen. The problem is that if I want to make and test a change on the controller, I have to go through a lengthy process of exporting both projects and deconflicting them.
The process currently works like this:
1. Make a modification to the AirConsole controller project.
2. Export the AirConsole controller project to a folder. This overwrites the existing c2runtime.js and data.js used by the screen.
3. Run X3M's macro to rename index.html, c2runtime.js, data.js, and all associated references to something different.
4. Export the AirConsole screen project to the same folder.
5. Rename the the index.html to screen.html.
6. Test the change on a server using the AirConsole API.
On my machine with my existing project, testing a single change on the controller takes about 8 minutes. It really slows things down, and I have had to keep the controller really simple as a result.
In order to make the workflow for AirConsole go faster, I would like to have a way to put the data.js, c2runtime.js, and potentially all of the graphics/sound assets in separate named folders: one folder called "controller/", and another called "screen/", and update all the references to and from these files in the project. All of the other files could stay as they are because it doesn't matter if they overwrite each other.
Could we possibly do an "Export to AirConsole Controller" and an "Export to AirConsole Screen" button?