Skip to content

Allow Vue to output to targets other than the html/page DOM #3291

@remcohuijser

Description

@remcohuijser

I have been working with Vue and must say it is a real pleasure to work with after the other frameworks we have worked with.

As a startup we offer a solution for manufacturers and retailers to showcase product in 3D right inside product pages. I don't think it is really appropriate to promote any of our customers here so here is a small demo http://teaser.binki.es/demo/index.html?content=g7x and some shots:

canon

Now Vue would be an excellent solution for doing any kind of html based UI in our player, but what would be really useful is the ability to use Vue for interfaces on our 3D content.

The basic idea is inspired on the work done by the people at Flipboard with their React Canvas implementation (found here: https://github.com/Flipboard/react-canvas). What they basically do is implement a system with a custom DOM that can draw content to a canvas. They use elements like , , , etc for this. For the creation of the virtual DOM they use React which they updates changes to their own interface system.

With Vue 2.0 and the inclusion of a virtual DOM I think it might actually be feasible to achieve this with Vue as well. The main thing that would be needed is the ability to provide custom rendering and events functionality that instead of updating the html DOM updates the DOM of the interface framework. This interface framework can then take care of (re)rendering itself to for example a canvas or directly to a webGL texture.

I am not intimately familiar with the codebase but I believe the current implementation is tightly coupled to outputting the result to the page DOM. Are there any plans to make an abstraction for this part of the view model or is this something to consider for 2.0?

If appreciated we can participate in the development of this feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions