-*-mode: org-*-

#+TITLE: smmx
#+smmx-root-position: 379.71;543.7
#+smmx-style-key: system.black-and-white
#+smmx-info-position: 0;-70
#+TODO: IDEA TODO ACTV TEST DONT IGNR NOTE QUES | DONE

! simplemind uses .smmx files for storing mind maps (text+assets)
   ! https://simplemind.eu/

! it's a zip file:
   test.smmx
   document/mindmap.xml  (tests/offline created mindmap/document/mindmap.xml)
   images/7cc794179eebf8ac8e38847d07d363e642cdbdc8.png

! test document: [[tests/offline created mindmap.smmx]]

! <meta> header
   <guid guid="FFC052A279954B0AA1228D4805AE2872"/>
   <title text="list layout subtree"/>
   [<images containsImages="True"/>]
   <style key="system.gray-scale"/>
   <auto-numbering style="disabled"/>
   <scrollstate zoom="100" x="271" y="333"/>
   <selection guid="Bv-OUkzi6EifEC9GfV1f-Q" type="node" id="1"/>
   <main-centraltheme id="0"/>
   </meta>

! document styles:
   <style key="system.soft-palette"/>
   <style key="system.colors-on-black-palette"/>
   <style key="system.gray-scale"/>
   <style key="system.black-and-white"/>

! text uses carriage return (13, 0xd) line endings

! node positioning via x="640" y="480"
   ! absolute coordinates
   ! negative y is up (?)
      ! <text guid="Sq_5En0MKWsRaonGi-s9PQ" x="500.48" y="-302.45">

! nodes have ids and guids
   ! id="0"
   ! guid="Sq_5En0MKWsRaonGi-s9PQ"
      ! 22 chars
      ! lower- and uppercase letters, numbers, '-', '_'
      ! may start with a number

   ! parent="1"
      ! "-1" if no parent

! xml can contain multiple <mindmap> elements

! <main-centraltheme id="0"/>
   ! in <meta> area

! <topics>
   ! <topic id="0" parent="-1" guid="57r6qQ6ZPCXZjU2aT6BFPw" x="511.00" y="489.00" palette="1" colorinfo="1" text="offline created mindmap" textfmt="plain">
   ! <topic id="1" parent="0" guid="5541hNL_YQCLBDOaKrJemw" x="442.00" y="654.00" palette="2" colorinfo="2" text="hello" textfmt="plain"/>

! callout text boxes via <children><text><note textfmt="plain">..text..</note><style>
   <style callout="line"/>

! links to other documents via <topic><link></topic>
   ! <link cloudmapref="./projects/project overview.smmx" />
   ! <link urllink="F:\tmp\bla.txt"/>
   ! <link urllink="http://www.google.de"/>
      ! http://www.google.de

! list layout subtrees
   <topic id="2" parent="1" guid="IKLcGrYLlUqOalSHLm9vrg" x="619.00" y="729.00" layout="list" text="list header node" textfmt="plain"/>
   <topic id="3" parent="2" x="627.50" y="773.56" text="list item 1" textfmt="plain"/>
   <topic id="4" parent="2" x="628.00" y="818.12" text="list item 2" textfmt="plain"/>

! image callouts
   ! <meta><images containsImages="True"/></meta>
   ! image callouts via
      <topic>
      <children>
      <image>
      <link/>
      </image>
      </children>
      <images>
      <image>
      <link/>
      </image>
      </images>
      </topic>
      ! the <image> and <link> elements occur twice with the exact same attributes
         <image guid="0XdeoV8J8EaLgiKLfF8Y0w" name="3d6d5f9bb409d574bce32895d14009ee82f96783" x="40.00" y="-56.39" scale="1.00" angle="0.00">
         <link urllink="cloud://../SimpleMind/Images/001.png"/>

! embedded images (shown within topic box)
   <topic>
   <embedded-image name="7cc794179eebf8ac8e38847d07d363e642cdbdc8" scale="1.875"/>
   </topic>

! icons
   ic8_48_roadworks       construction
   ic8_48_hammer          hammer
   ic8_48_information     info
   ic8_48_question        question
   ic8_48_ok              done
   ic8_48_delete          X
   ic8_48_finish_flag     goal
   ic8_48_red_flag        checkpoint red
   ic8_48_yellow_flag     checkpoint yellow
   ic8_48_green_flag      checkpoint green
   ic8_48_light_on        idea
   ic8_48_construction    deadend
   ic8_48_ladybird        bug
   ic8_48_attach          attachment
   ic8_48_tools           hammer and screwdriver
   ic8_48_favorite        star
   ic8_48_emoticon_heart  heart
   ic8_48_emoticon_happy  smiley
   ic8_48_emoticon_wink   wink
   ic8_48_emoticon_lol    laugh
   ic8_48_neutral         umpf
   ic8_48_emoticon_sad    frown
   ic8_48_emoticon_crying cry
   ic8_48_pencil          edit
   ic8_48_shopping_cart   shopping cart
   ic8_48_book_open       book
   ic8_48_phone           phone
   ic8_48_music           music
   ic8_48_youtube         video
   ic8_48_email           URL
    ! <topic id="15" parent="1" guid="GlRMzKvA3kKqqmQoa5lGwA" x="738.57" y="1231.43" icon="ic8_48_attach" text="attachment" textfmt="plain">
    ! note: icons are pixel images (not svgs)

! relations
   ! occurs after <topics> tree
   ! <relations>
      <relation guid="4jiVSrHpIEKGTK578BNFTw" source="2" target="3">
      <path>
      <custom-point x="-1.88" y="36.25"/>   <--  relative coordinate (does not change when both nodes are moved)
      </path>
      </relation>
      </relations>

! checkboxes
! progress bars
    ! manual
    ! rollup

! calendar dates
   <topic id="3" parent="0" guid="QAe4hiO8dEa37JFdEh9E0Q" x="922.22" y="901.11" date="24-12-2020" text="xmas" textfmt="plain"/>



======================================================== index
* index
   :PROPERTIES:
   :was-main: t
   :smmx-position: 258.93;431.02
   :smmx-icon: arrow_left
   :END:
   ! ../index.smmx


======================================================== org state info
* org sub-item types
   :PROPERTIES:
   :was-main: t
   :smmx-position: 1174.34;-426.47
   :smmx-list: t
   :END:
   . . (none)
      :PROPERTIES:
      :smmx-text-callout-position: 83.08;-41.55
      :END:
      > supports custom icon
   ! ! (info)
   % % (idea)
   - -  (todo)
      - [#B] or TODO (prio B)
      - [#C] or TODO (prio C)
   o o (active)
      o [#A] or ACTV (prio A)
   t t (test)
   + + (done)
      + or + (done) when "finish" date is available
         ! F:16Jan2020
   x x (dont)
   X X (ignr)
   ? ? (to-be-discussed / question)
   w w (wait)
   ! > callout
      :PROPERTIES:
      :smmx-text-callout-position: 87.85;-60.4
      :END:
      > highlighted short note
      > (for UI tools like SimpleMind)

* org states
   :PROPERTIES:
   :was-main: t
   :smmx-position: 608.69;-174.13
   :smmx-list: t
   :END:
   ! NOTE
   % IDEA
   - TODO
      - [#B] or TODO (prio B)
      - [#C] or TODO (prio C)
   o ACTV
      > aka NEXT
      o [#A] or ACTV (prio A)
   t TEST
   x DONT
   X IGNR
   + DONE
      + or + (done) when "finish" date is available
         ! F:16Jan2020
   w WAIT




======================================================== SMMX parser
* ACTV smmx parser [3/4] 

** DONE analyze file format
    > zip file with XML
    > and PNG data

** DONE tkzip plugin
** ACTV parse topics [9/10] 

*** DONE id
*** DONE guid
     > can be omitted

*** DONE caption / title
*** DONE style [9/9] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE palette
**** DONE colorinfo
**** DONE fill color
**** DONE border style
**** DONE border width
**** DONE stroke style
**** DONE stroke color
**** DONE text style
**** QUES text color
**** DONE font scale
      :PROPERTIES:
      :smmx-text-callout-position: 34.55;-49.64
      :END:
      > point size / 10.0

*** DONE [#A] convert smmx formatting to neutral format [5/5] 
     > topic title, notes, text callout

**** NOTE notes
       + textfmt="rtf1"
       + bold: text="some \\*bold\\* text"
       + text="some \\/italic\\/ text"
       + text="some \\/underlined\\/ text"
          ! apparently a bug in the windows version of simplemind, should be \\_underlined\\_ text
       + text="some \\~strike-through\\~ text"
       + text="some \\`subscript\\` text"
          ! not converted to org (uses ^{some text} syntax, not displayed in emacs anyway)
       + text="some \\^superscript\\^ text"
          ! not converted to org (uses _{some text} syntax, not displayed in emacs anyway)
       + "note" (callout or topic note) uses slightly different syntax, e.g. \* instead of \\*

**** DONE bold
**** DONE italic
**** DONE underline
**** DONE strikethrough
**** DONT superscript
**** DONT subscript
**** DONE special handling for notes

*** DONE note [1/1] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE org-style properties

*** ACTV text note callouts [6/7] 

**** DONE note
**** DONE position
**** DONE font scale
**** DONE style
      > tapered, line, ..

**** DONE fill color
**** DONE text color
**** ACTV [#A] multiple callouts

*** DONE image callout [5/5] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE name
**** DONE position
**** DONE angle
**** DONE extract image files
**** DONE thumbnail

*** DONE embedded image [2/2] 
     :PROPERTIES:
     :hide: 
     :END:
     > in topic box

**** DONE name
**** DONE scale


*** DONE calendar date

** DONE parse relations [5/5] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE any
*** DONE parent
*** DONE text callout [2/2] 

**** DONE position
**** DONE style [3/3] 
      > tapered, line, ..

      + textcolor
      + fillcolor
      + font scale


*** DONE custom curve point
*** DONE style [5/5] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE shape
**** DONE arrows
**** DONE line style
**** DONE line width
**** DONE color



======================================================== SMMX to MarkDown
* DONE smmx to md [7/7] 

** DONE outline headers
** DONE list subtrees
** DONE topic note
** DONE text notes [1/1] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE single note
*** DONT multiple notes

** DONE image [2/2] 

*** DONE callout
*** DONE embedded

** DONE links [1/1] 
    :PROPERTIES:
    :hide: 
    :END:
*** NOTE notes
         + link (none or local ref or URL "://" (cloud://, http://, ftp://, ..)
            ! editor supports only one link per node
*** DONE replace .smmx by .html or .md

** DONE xrefs [3/3] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE relations
*** DONE parent-relation
*** DONE relation callouts



======================================================== org parser
* DONE org parser [7/7] 

** DONE global properties
    configurable task names

** DONE document title
    :PROPERTIES:
    :smmx-text-callout-position: 47.78;-45.84
    :END:
    > #+TITLE: My Document

** DONE item header + meta data [4/4] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE separators
     > with optional caption
     + "----------------------" separator sub/main node
         or "==============" 
         or "***************" 
         or "_______________________________" 
         or "++++++++++++++++++++++++++"
         or "~~~~~~~~~~~~~~~~~~~~~~"
         or ".............................."
         or "##############################"
         + remember separator style
         + org: separator_style (none, minus, equal, asterisk, underscore, plus, tilde, dot, hash)
         + attach "org-separator" property to next node when converting to smmx
            x but only if no other text follows before next node
            + line has to start with at least 16 separator chars
         + restore separator_style field when converting back to org
         + separator width config option (def=79)
         + optional caption after "-----"
         ! haha, interesting: org-mode actually supports these !

*** ACTV topic title
     + what's left after prio, tags
     % adaptive topic font-scale
        - CalcFontScaleByString() : float
        - write custom font-scale only if it does not equal calculated one

*** DONE state
*** DONE tags [2/2] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE before title
      > my preference

**** DONE after title
      > org-mode col 73


*** DONE priority
*** DONE rollup progress [3/3] 
     :PROPERTIES:
     :hide: 
     :END:
     * myitem [2/3]
     * myitem [50%]

**** DONE percent
**** DONE item count
**** DONE recursive option
      > cookie_data property


** DONE nested headers **
** DONE general info nodes
    > above todo items
    > for arbitrary quick notes

** DONE todo.txt style task trees
    > !.-toxw+?>

** DONE node line data [6/6] 

*** DONE text / note
*** DONE callout lines
     > > callout

*** DONE links
*** DONT anchors <<>>
*** DONE properties
     :PROPERTIES:
     :effort: 01:00
     :ordered: t
     :blocker: previous-sibling    or task_id
     :priority: 1000
     :allocate: dev
     :resource_id: doc
     :limits: { dailymax 6.4h }
     :smmx-text-callout-position: 36.6;-73.21
     :END:
     > time tracking
     > effort estimation
     > project planning
     > (taskjuggler)
     or
     CLOSED: <2020-12-24>
     clock time
     http://www.personal.psu.edu/bam49/notebook/org-mode-for-research/
     taskjuggler
     https://orgmode.org/worg/org-tutorials/org-taskjuggler.html
     http://taskjuggler.org/tj3/manual/Installation.html
     * mytask
     *** Peter Murphy

*** DONE plan [4/4] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE SCHEDULED
**** DONE DEADLINE
**** DONE build task dependencies
**** DONE build resource list [1/1] 
      :PROPERTIES:
      :hide: 
      :END:

      x groups
         > use tags instead,
         > e.g. devs, hw, sw, pm, ..

      + resource availability [1/1] 
         > may be bound by
         > other projects
         + avail property
            > or limits extension

*** DONE timestamps [3/3] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE creation date
      > ! 06Jan2020

**** DONE mod. dates
      > ! C:07Jan2020

**** DONE finish date
      > ! F:06Jan2020



======================================================== org to org
* TODO org to org [0/1] 
   :PROPERTIES:
   :smmx-text-callout-position: 30.83;54.92
   :END:
   > echo

** ACTV cmdline options [1/3] 

*** DONE filter
*** ACTV [#A] remove smmx properties
*** ACTV [#A] stop recursion at norecurse property



======================================================== org to smmx
* ACTV org to smmx [8/13] 

** DONE layout [5/5] 
    :PROPERTIES:
    :smmx-relation: target="org-sub-item-types" position=-64.29;-434.04 text="see" text-position=10.86;1.55 text-color=#ffffff text-fill-color=#d20000
    :smmx-relation: target="org-states" position=-85.22;-290.49 text="see" text-position=-6.21;-4.66 text-color=#ffffff text-fill-color=#d20000
    :END:
*** NOTE notes
      + layout (none or "list")
*** DONE use topdown layout
*** DONE create pages when number of toplevel nodes exceeds 20
     > page nodes

*** DONE global #+smmx-layout+ property
*** DONE allow freeform layout when all nodes have positions
*** DONE switch to list layout for child_nodes
     > todo.txt style trees

** DONE info nodes [3/3] 
    :PROPERTIES:
    :hide: 
    :smmx-text-callout-position: 54.41;-47.7
    :END:
    > before first task node

*** NOTE virtual, not present in .org view
*** DONE move info nodes to info main node
*** DONE as "info" topic org note
*** DONE or as "info" topic subtree (list)

** DONE root node [2/2] 

*** NOTE virtual, not present in .org view
*** DONE store global properties in note
*** DONE store position in global property [1/1] 

**** DONE #+smmx-root-position


** DONE main nodes
    > other freeform nodes

** IGNR item organization?
    :PROPERTIES:
    :hide: 
    :END:

*** NOTE sort by tag, then by sequence index
*** TODO by tag ? [0/1] 

**** TODO [#B] need tag hierarchy [0/1] 

      - [#C] use tag order


*** TODO by date ?

** DONE topic names [1/1] 
    :PROPERTIES:
    :hide: 
    :END:

*** IGNR adaptive font size
     > long title = small font

**** DONE already done by ui

*** DONT abbreviate
     :PROPERTIES:
     :smmx-text-callout-position: 65;-45.28
     :END:
     > remaining text becomes note

**** NOTE can't do that, needed for conversion back to .org


*** DONE keep as-is

** ACTV progress [2/3] 

*** DONE count
*** ACTV [#A] percent
*** DONE cookie-data recursive

** DONE text lines [2/2] 
    > note

*** DONE store textlines in note
*** DONE [#A] convert org formatting to smmx [4/4] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE bold
**** DONE italic
**** DONE underline
**** DONE strikethrough

** DONE meta info [12/12] 
    :PROPERTIES:
    :hide: 
    :smmx-text-callout-position: 78.79;-49.79
    :END:
    > *store in note as org properties*

*** DONE org-prio
     :PROPERTIES:
     :smmx-text-callout-position: 45;-44.95
     :END:
     > priority (A, B, C)

*** DONE org-tags
     :PROPERTIES:
     :smmx-text-callout-position: 25;-49.11
     :END:
     > :tag:list:

*** DONT original sequence index
*** DONE org-scheduled
     :PROPERTIES:
     :smmx-text-callout-position: 4.17;-52.45
     :END:
     > SCHEDULED:

*** DONE org-deadline
     > DEADLINE:

*** DONT org-num-spaces
*** DONT org-num-asterisks
*** DONE org-layout list
     :PROPERTIES:
     :smmx-text-callout-position: 62.22;-49.95
     :END:
     > todo list style child nodes

*** DONE org-empty-line-after-node
*** DONE ! date
*** DONE ! Cdate
     :PROPERTIES:
     :smmx-text-callout-position: 63.28;-49.79
     :END:
     > multiple occurences

*** DONE ! Fdate
*** DONE generic properties

**** NOTE task_id, resource_id, allocate, vacation, ..
      :PROPERTIES:
      :smmx-text-callout-position: 40;-51.45
      :smmx-text-callout-fill-color: #ffffff
      :END:
      > e.g. taskjuggler attribs


*** DONE smmx-calendar-date-type
     :PROPERTIES:
     :smmx-text-callout-position: 12.22;-46.61
     :END:
     > scheduled, deadline, create, finish

*** DONE restore smmx attribs from properties [16/16] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE global properties [3/3] 

      + #+smmx-info-position
         :PROPERTIES:
         :smmx-text-callout-position: -15.56;-47.72
         :END:
         > x;y

      + #+smmx-root-position
      + #+smmx-style-key


**** DONE smmx-position
**** DONE smmx-palette
**** DONE smmx-colorinfo
**** DONE smmx-icon
**** DONE smmx-text-style
**** DONE smmx-font-scale
**** DONE smmx-list
**** DONE smmx-list-md
**** DONE smmx-hull-visible
**** DONE smmx-collapsed [1/1] 

      + hide
         :PROPERTIES:
         :smmx-text-callout-position: 10;-47.72
         :END:
         > preferred name


**** DONE smmx-fill-color
**** DONE smmx-border-style
**** DONE smmx-border-width
**** DONE smmx-stroke-style
**** DONE smmx-stroke-color
**** DONT smmx-calendar-date

** DONE icon [3/3] 

*** DONE state to icon [2/2] 

**** DONE child nodes
**** DONE sub tree nodes


*** DONE restore from smmx-icon

*** DONE resource_id [2/2] 

**** DONE resource_type [5/5] 
      :PROPERTIES:
      :smmx-text-callout-position: 28.18;-51.46
      :END:
      > taskjuggler extension

      + male
      + female
      + group
      + manager
      + dev


**** DONE generic resource icon
      :PROPERTIES:
      :smmx-text-callout-position: 48.32;-48.82
      :END:
      > unspecified :resource_type:

** ACTV links [2/3] 

*** DONE first link becomes topic link
     > leaf nodes only

*** DONE preserve link lists
     > multiple link info
     > child nodes

*** ACTV [#A] replace .org link suffix by .smmx
     ! ../index.org

** ACTV callouts [1/2] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE text note [6/6] 

**** DONE text
**** DONE smmx-text-callout-position
**** DONE dont save default pos
      > 0;-50

**** DONE smmx-text-callout-style
      > tapered, line, ..

**** DONE smmx-text-callout-text-color
**** DONE smmx-text-callout-fill-color


*** TODO image

** TODO norecurse property [0/2] 
    :PROPERTIES:
    :hide: 
    :END:

*** TODO skip subtree entirely [0/1] 
     > e.g. for PM

**** TODO sum sub/child efforts and add to subtree header


*** TODO OR export subtree as org-mode note
     > temporarly hide / collapse technical details

** ACTV cmdline options [1/3] 
    :PROPERTIES:
    :hide: 
    :END:

*** TODO fold all subitem branches
*** DONE use rollup checkboxes when item has subitems
*** ACTV filter [1/4] 

**** DONE filter by tags [2/2] 

      + any
      + all


**** TODO filter by state
**** TODO filter by date
**** TODO keep parent nodes during export
      > for merge later on

** DONT merge mode
    :PROPERTIES:
    :hide: 
    :END:
    > keep smmx layout of
    > unchanged nodes

*** NOTE or to md, merge, back to smmx



======================================================== SMMX to Org
* ACTV smmx to org [5/9] 

** DONE global properties [3/3] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE smmx-info-position
*** DONE smmx-root-position
*** DONE smmx-style-key
*** QUES smmx-layout

** DONE info node note to child hierarchy [1/1] 

*** DONE parse properties

** DONE topic properties [14/14] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE smmx-position [1/1] 

**** DONE not when parent node uses list or top-down layout


*** DONE smmx-palette
*** DONE smmx-colorinfo
*** DONE smmx-text-style
*** DONE smmx-text-scale
*** DONE smmx-list
*** DONE smmx-list-md
*** DONE smmx-hull-visible
     :PROPERTIES:
     :smmx-text-callout-position: 10;-49.95
     :END:
     > show branch borders

*** DONE smmx-collapsed
*** DONE smmx-fill-color
*** DONE smmx-border-style
     "sbsNone"
     "sbsHalfRound"
     "sbsDropRoundRect"
     "sbsRoundRect"

*** DONE smmx-border-width
*** DONE smmx-stroke-style
     "solid",
     "dash-s",
     "dash-m",
     "dash-l"

*** DONE smmx-stroke-color
*** DONT text wrap pos
     > via
     >  => remove

** DONE icon to state [3/3] 
    :PROPERTIES:
    :hide: 
    :END:

*** DONE task state
*** DONE priority [3/3] 

**** DONE next (a)
**** DONE later (b)
**** DONE nice to have (c)


*** DONE resource type
     > when resource-id is present

** ACTV checkbox to item state [1/2] 

*** DONE override when checked / DONE
*** ACTV rollup progress [1/2] 

**** DONE count
**** ACTV [#A] percent

** ACTV text note [7/8] 

*** DONE text
*** DONE callout text to "> description" line
*** DONE smmx-text-callout-position
     > relative coordinate

*** DONE smmx-text-callout-style
     "line",
     "tapered"

*** DONE smmx-text-callout-text-color
*** DONE smmx-text-callout-font-scale
*** DONE smmx-text-callout-fill-color
*** TODO [#A] multiple notes [0/1] 

**** TODO merge


** DONE icon
    :PROPERTIES:
    :smmx-text-callout-position: 86.98;-57.39
    :END:
    > converted to org state (if available)
    > preserve custom icon otherwise

** ACTV links [1/2] 

*** DONE link to info node
*** ACTV [#A] replace .smmx suffix by .org

** ACTV preserve smmx properties [2/3] 
    > convert to org-mode properties

*** DONE embedded-image [2/2] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE name
**** DONE scale

*** DONE image [6/6] 
     :PROPERTIES:
     :hide: 
     :END:

**** DONE name
**** DONE thumbnail
      > preview

**** DONE external links
**** DONE scale
**** DONE angle
**** DONE extract to local fs

*** ACTV xref relations [9/10] 
     > out of tree nodes

**** DONT create links and <<anchors>>
**** DONE target
**** DONE parent
**** DONE store id properties when needed [1/1] 
      :PROPERTIES:
      :hide: 
      :END:

      + generate anchors from title


**** TODO position
      > path custom point

**** DONE line-style
**** DONE target-arrow
**** DONE source arrow
**** DONE line-width
**** DONE color
**** DONE text callout



======================================================== org merge
* TODO org merge [0/2] 
   :PROPERTIES:
   :hide: 
   :END:

** NOTE merge items from one org file into another
    > e.g. after editing a
    > filtered view

** TODO find insert points
** TODO find moved nodes



======================================================== conversion manager
* IDEA conversion manager
   :PROPERTIES:
   :hide: 
   :END:

** NOTE set project directory
    :PROPERTIES:
    :smmx-text-callout-position: 91.88;-53.33
    :END:
    > contains .org, .smmx, .md, .html files

** NOTE check file modification dates

*** TODO check dir modification date (reflects last file modification on windows)

** QUES create backup-<date>.zip before auto-conversion

*** QUES or copy target file to cyclic backup dir ?
*** QUES org push to git

** NOTE auto-convert newer to older files

*** TODO smmx => org
*** TODO org => smmx
*** TODO md => html

** NOTE manually convert

*** DONE smmx => md
*** DONE html => docx



======================================================== org scheduler
* IDEA org scheduler
   :PROPERTIES:
   :hide: 
   :END:

** NOTE find dependencies
** NOTE place tasks on timeline



--------------------------------------------------------- org plan to HTML
* IDEA org plan to html
   :PROPERTIES:
   :hide: 
   :END:

** TODO project plan [0/2] 

*** TODO Gantt graphs [0/2] 

**** TODO via tables
**** TODO later JS editable graphs [0/1] 
      > nsc?

      - copy new org file to clipboard

*** TODO stats [0/3] 

**** TODO total effort
**** TODO total effort by tag
**** TODO total effort by resource

** TODO task list / outline [0/1] 
    > can be imported to word
    > e.g. for technical proposals

*** TODO enumerate

** TODO milestones [0/1] 

*** TODO releases



......................................................... org to xlsx
* IDEA org to xlsx

** TODO tkxlsx plugin
    > via libxlsxwriter
    ! https://libxlsxwriter.github.io/tutorial01.html

** TODO WBS export
** DONE Gantt graph project plan export
*** NOTE Gantt graphs in Excel
     :PROPERTIES:
     :was-main: t
     :END:
     ! https://support.office.com/en-us/article/present-your-data-in-a-gantt-chart-in-excel-f8910ab4-ceda-4521-8207-f0fb34d9e2b6



.............................. org to csv
* IDEA org to csv



.............................. org to source
* IDEA org to source
   :PROPERTIES:
   :hide: 
   :END:

** TODO .h or .tks output suffix
** TODO classes [0/5] 

*** TODO exceptions
*** TODO defines
*** TODO enums
*** TODO members [0/1] 

**** TODO type [0/2] 

      - static
      - non-static

*** ACTV methods [1/2] 

**** TODO type [0/2] 

      - static
      - non-static


**** DONE add <method_*.png> decorator depending on method name
      ! method_*.png

** TODO modules [0/2] 

*** TODO multi module
*** TODO extract dirname from output path

** TODO project templates [0/3] 

*** TODO YAC plugin
*** TODO console app
*** TODO UI app

