Open GfEW opened 1 week ago
I would really like to do this but I don't think the tool I'm using (gnuclad) supports it...
For reference, this is the documentation on configuration options (below is the default config file):
# gnuclad config file
# This configuration file has been generated by gnuclad 0.2.2
# If you comment or delete an option,
# gnuclad will use the built-in defaults.
# Allowed syntax is:
# option=value
# option = value
# option= 'value'
# option ="value"
# option = three word value
# option = "three word value"
# ...
# Show debug information when running gnuclad. (0 = off, 1 = on)
debug = 0
# Modify the appearance of your info box
# To disable the box:
# Set both font size parameters to 0, set the width and height to 0
infoBoxTitle = Title
infoBoxTitleSize = 18
infoBoxText = Lorem ipsum dolor sit amet,
infoBoxText = consectetuer adipiscing elit
infoBoxTextSize = 12
infoBoxFont = Liberation Sans, Arial, Helvetica
infoBoxFontColor = #000
infoBoxColor1 = #51b1f1
infoBoxColor2 = #3181f1
infoBoxX = 10
infoBoxY = 45
infoBoxWidth = 166
infoBoxHeight = 60
# Slice one node name with children, ignore the rest.
slice =
# Correction factor for font pixel width/height.
# It is normalised for Liberation Sans (= Arial) and will
# affect the alignment of all text in your output. Since this
# one option affects all text instances, it's recommended
# to use 'similarly spaced' fonts throughout your settings.
fontCorrectionFactor = 1
# Orientation of the timeline
# 0 = left to right, 1 = top to bottom
# 2 = right to left, 3 = bottom to top
orientation = 0
# The layout of the tree
# 0 = branch to both sides
# 1 = branch only on lower side
# 2 = branch only on lower side, inverse (good for CSV output)
treeMode = 0
# Chose: 0 = don't presort, 1 = by name, 2 = by date
sortKey = 0
# Set optimisation between 0 and 99. See manual for details.
# First digit: isolated nodes. Second digit: trees.
optimise = 99
# This guesses if optimisation should overlap in some rare cases
# 1 = forbid overlaps, 0 = allow overlaps (better optimisation)
strictOverlaps = 0
# How much space (in offsets) to add before/after trees
treeSpacing = 1
# How big (total children) a tree has to be before it gets spaced
treeSpacingBiggerThan = 5
# Background color in hexadecimal RGB (#abc or #abcdef)
mainBackground = #fff
# Customise the background lines separating the years and months
rulerWidth = 2
rulerColor = #ddd
rulerMonthWidth = 1
rulerMonthColor = #eee
# Width of all node lines
lineWidth = 2
# Number of pixels between node lines (== 1 offset)
offsetPX = 20
# Set to 0 if you want 'dying' lines to stop abruptly
stopFadeOutPX = 30
# When optimising, gnuclad will inline nodes if possible. This sets
# the minimum time distance between the stop of one node and the
# start of another which will allow the latter to get appended.
# Format: 'y.m.d' or 'y.m' or 'y' (year, month, day)
stopSpacing = 0.2
# How many pixels one year should have
yearPX = 100
# Customise the node labels
labelFont = Liberation Sans, Arial, Helvetica
labelFontSize = 16
labelFontColor = #000
# An experimental feature you might want to use with derivType > 1
# Opacity takes values between 0 (transparent) and 100 (opaque).
# It DOES NOT work flawlessly with SVG 1.1 output.
# (hoping for v1.2 or CSS3 ...)
labelBGOpacity = 0
# This sets the heuristic used for determining label background width
# 0 = standard, will sometimes generate suboptimal width values
# 1 = improved, but only if the majority of your characters fall into
# the ASCII charset and you use a fairly standard font
# playing around with fontCorrectionFactor might help
asciiStrings = 0
# Useful if you want to use the renames only as version bumps.
# 0 = rename above the dot to the right, like the first name
# 1 = rename centered within the dot
nameChangeType = 0
# Set the way the lines should derive from the parent.
# 0 = orthogonal, 1 = from parent's starting point
# 2 = diagonal (45 degrees)
# 3 = curved (1 year wide curves), 4 = curved (quadratic scaling)
# 5 = curved (from parent's starting point)
derivType = 0
# The size of the node dots
dotRadius = 10
smallDotRadius = 5
# Determines how the dots look.
# 0 = full dots, 1 = circles
# Circles might be useful together with nameChangeType = 1
dotType = 0
# Specifies the amount a node's line thickness should increase
# relative to the count of it's children. (recommended 0.0 - 1.0)
bigParent = 0
# Adds small half-circles to connector starting points
connectorDots = 1
# 1 = connectors have a dashed stroke
# 0 = connectors are full lines
connectorsDashed = 1
# Customise the year line encompassing the cladogram.
yearLinePX = 40
yearLineColor1 = #037
yearLineColor2 = #37d
yearLineFont = Liberation Sans, Arial, Helvetica
yearLineFontSize = 28
yearLineFontColor = #fff
How many (empty) years to append at the end
appendYears = 0
How many (empty) years to prepend at the beginning
prependYears = 0
# Remember to adjust your input data after changing these averages.
daysInMonth = 30
monthsInYear = 12
# Not setting endOfTime will use the current date.
#endOfTime = 2012.12
# How the description field should be used.
# 0 = ignore
# 1 = weblink URL
descriptionType = 0
# When parsing direcories, show dot (hidden) files (0 = off, 1 = on)
dir_showDotFiles = 0
# Color of files, directories and links
dir_colorFile = 0ff
dir_colorDir = 00f
dir_colorLink = 0f0
# Directories with greater than specified size will get a domain of
# the given intensity (0-100). Set size = 0 to turn off.
dir_domainSize = 0
dir_domainIntensity = 3
I would really like to do this but I don't think the tool I'm using (gnuclad) supports it...
OIC! - I've never used gnuclad before, so you certainly know it much better. Regardless, I might try some ideas by myself (takes time, don't hold your breath), based on your gnuclad config. Thanks for sharing it!
First off, the OS family tree is just awesome! I really appreciate the sisyphean work behind those comparisons and presentations.
By this issue, I'm suggesting a minor improvement to the family tree graph that would, however, greatly improve its "ease of comprehension" - by indicating temporal relations more locally.
The Problem
Currently, the vertical lines look all the same (aside from the horizontal gradient), so it's rather difficult to tell the year you're looking at - unless you scroll all the way up (or down), and then again, all the way back to the spot you're interested in, each time you've lost track. This becomes even more of a nuisance the more you're zoomed in.
That difficulty would vanish if decades were locally recognizable.
Suggested Solutions
Two ideas come to mind:
Additional Remarks
Whilst (a) might be simpler to implement, (b) would be more expressive, allowing to fully recognize decades without scrolling. Actually, you could even combine (b) with (a), as especially the 5 mod 10 lines would further improve reading within each decade. - Anyway, the family tree can be made more easily comprehensible by either solution.
Thanks a lot for considering!