Draw a Fibonacci Network! What are Fibonacci networks?

In 1202, an Italian mathematician known as Fibonacci posed the following problem:
&quot;A male and a female rabbit are born at the beginning of the year. We assume the following conditions:
1.After reaching the age of two months, each pair produces a mixed pair, (one male, one female), and then another mixed pair each month thereafter.
2.No deaths occur during the year.&quot;
How many rabbits will there be at the end of the year?


Sources for graph and problem statement
Challenge
Your challenge is to write a program/function to draw an ASCII art to output or a text file, or a graphical picture to a file/screen of a graph with following settings:

At 0th tick, there is one newly-born node.

Every newly born node creates a normal node after one tick after being born and gets deactivated.

A normal node creates a normal node and a newly-born node one tick after its birth and gets deactivated.


Your program will get the non-negative value n as input, and will draw the graph at the nth tick. Note that your program can draw newly-born nodes and normal nodes differently, but this is not necessary.
Rules

You must not use any built-in Fibonacci sequence function or mathematical constants or similar.

If your program outputs to a file, it must be either a text file in a suitable and viewable format and encoding, or an image file in a suitable and viewable format with recognizable colors (for example, an image format that can be uploaded to SE).

Your program can draw graph in any size, any shape and any alignment but the nodes and connections must be recognizable. Tree-shaped graphs (like the graph in &quot;What are Fibonacci networks?&quot; section) are recommended, but not necessary.

Common code golf rules apply to this challenge.


Examples
Input: 2
Possible Output: 
*
|
*
| \
* *

Input: 0
Possible Output: 
* 


Input: 5
Possible Graphical Output:

This is a codegolf. Shortest code wins. Good luck!
Pyth, 31 bytes

Ms+0m+Wd+J+G"| "+G1+\-gJtd_UHgb


Try it online

How it works

M                                  def g(G, H):
    m                     _UH        map for d in [H - 1, …, 0]:
         J+G"| "                       assign J = G + "| "
        +       +G1                    J + G + 1
     +Wd                               conditional +, if d is truthy (nonzero):
                   +\-gJtd               "-" + g(J, d - 1)
  +0                                 prepend 0
 s                                   concatenate
                             gbQ   g("\n", input)


Output for 6

0
| 
1-0
| | 
| 1-0
| | | 
| | 1-0
| | | 
| | 1
| | 
| 1-0
| | | 
| | 1
| | 
| 1-0
| | 
| 1
| 
1-0
| | 
| 1-0
| | | 
| | 1
| | 
| 1-0
| | 
| 1
| 
1-0
| | 
| 1-0
| | 
| 1
| 
1-0
| | 
| 1
| 
1-0
| 
1


Pyth, 43 bytes

Mc+WH`G++WG\-+j"
| "g0tH"
`-"j"
  "g1tHbjg0


Try it online

Output for 6

0-1-0-1-0-1-0
  |   |   `-1
  |   `-1-0-1
  |     `-1-0
  |       `-1
  `-1-0-1-0-1
    |   `-1-0
    |     `-1
    `-1-0-1-0
      |   `-1
      `-1-0-1
        `-1-0
          `-1