I had the same dilemma for a level editor for my game engine ( http://opengine.io )
What I ended up doing was using the Three.js editor: http://threejs.org/editor/
I took it a step further and used the source code for the Three.js editor and wrapped it inside an Electron app, which gives me access to the file system.
Screenshot of my editor using threejs: https://pbs.twimg.com/media/Cm3xQC2VMAASaOM.jpg:large
The downside to this approach is it uses a different rendering engine than my own, but it works as a stop gap until my engine is ready for it's own scene editor ( aka I have time to make it ). However, since it's all WebGL wrapped in Chrome, it's cross-platform.