Settings and activity

  1. 32 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    10 comments  ·  Adobe XD: Feature Requests  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    An error occurred while saving the comment
    Pb commented  · 

    Another extension of this idea is allow us to add custom properties to the layers, simply as a key | value table.
    Having all that we would have enough dynamism to make of Adobe XD anything we want.
    I could make a script to convert my design into HTML automatically.
    I could make a script to convert my design into a custom game UI interface system, binary or not.

    An error occurred while saving the comment
    Pb commented  · 

    1. Script engine that allows to interact with the design and components specs.

    2. As a developer, once my design is finished, I have to perform some quite repetitive tasks, those could be simplified if I could write a script such as JavaScript which has access to the Artboards and Layers containing their specs.
    A script system would open a whole new world for developers to take the best of Adobe XD.
    I could possibly create scripts to transform the design into binary data rather than having to create my own edit tools.
    I could possibly create scripts to automate tasks like saving, renaming + saving, etc.
    Plus a javascript engine embedded can not only benefit developers as front end developers that could have some pre-defined component behavior features, rendering a more interactive design prototype. (I order a design and the designer forgets to make samples of hover buttons and other interactions)

    3. Example of things that I would like to be able to do:

    var artboard = engine.artboards['main-page'];

    //Some possible selections
    var layers = artboard.selectedLayers();
    var layers = artboard.layers;
    var layers = artboard.layersContaining('button');

    //Layer data printing.
    for (layer in layers) {
    print("Layer: " + layer.name + ", x: " + layer.x + ", y: " + layer.y);
    }

    //Cool feature
    layer.getPositionRelative(otherLayer);

    //Maybe automatic layer renaming. (Useful for exporting)

    for(i = 0; i < layers.length; i++)
    layer.name = "Button " + i;

    The possibilities are endless if we have access to the components specs.

    Pb supported this idea  ·