Vlt Format specifications

From Valentina Project's Wiki
Jump to navigation Jump to search

In this document, we will document the specification of the new *.vlt file format


Not update anymore, to be updated!

Data that we need[edit | edit source]

  • Layout File : *.vlt
  • the file contains the following information:
    • layout
      • layout informations
        • unit
        • title
        • description
      • list of pieces (for the unplaced pieces, see sheet pieces for the definition of each piece)
      • list of sheets, for each sheet
        • information of the sheet
          • size
          • margin
          • control
            • follow grainline
            • sticky edges
            • pieces gap
        • tile information
          • margins
          • format
          • show grid on layout
          • matching mark type
        • list of pieces, with for each piece
          • informations of the piece original coming from valentina, not editable
            • piece name
            • cutting line
            • seam line
            • passmarks
            • grainline
            • labels
            • buttons
            • internal paths
            • UUID (for instance val file name + id of the detail inside of the val file name?)
          • Information of the piece defined in puzzle, editable
            • Transformation (placement and rotation)
            • seamline visible
            • piece mirrored
            • line type and color ?

*.vlt Format - 2nd draft[edit | edit source]

<?xml version="1.0" encoding="UTF-8"?>
<layout version="X.Y.Z">
    <properties>
        <unit>cm</unit>    
        <description>Description of the layout</description>
        <control warningSuperposition="true" warningOutOfBound="true"/>
    </properties>
    <unplacedPieces>
        <piece id="uuidFromValentina1" type="simple" name="Piece name" mirrored="false" transform="string representation of transformation">
            <cuttingLine style="..." color="..." p="p 21.00 29.70 p 0.00 0.70..."/>
            <seamLine style="..." color="..." visible="true" p="p 21.00 29.70 p 0.00 0.70..." />
            <grainline angle="32.05" p="p ......." />
            <passMark p="p ......"/>
            <passMark p="p ......"/>
            <internalPath p="p......"/>
            <placeLabel p="p........."/>
            ....
            <labels>
                <label width="4" height="4" transform="string representation of the transformation">
                   <text align="center" decoration="bold;italic" fsize="6">My first line</text>
                   <text align="center" decoration="" size="2">My second line</text>
                   ...
                </label>
                ...
            </labels>
        </piece>
        <piece id="uuidFromValentina2" type="multipleSize" gradationIndex="1">
            ... same as the simple pieces each gradation is stored with it's full piece info ...
        </piece>
        ...
    </unplacedPieces>
    <sheets>
        <sheet>
            <name>Sheet #1</name>    
            <size width="84.10" length="150"/>
            <margin top="2.00" right="2.00" bottom="2.00" left="2.00"/>
            <control followGrainLine="no" stickyEdges="true" piecesGap="1.00"/>
            <tiles visible="true" matchingMarks="standard">
                <size width="21.00" length="29.70"/>
                <margin top="1.00" right="1.00" bottom="1.00" left="1.00"/>
            </tiles>
            <pieces>
                <piece>
                    ...
                </piece>
                ...
            </pieces>
        </sheet>
    </sheets>
</layout>