only auto adjust the height, remove AutoSize()

seems like the layout engine always came up with the optimal width
This commit is contained in:
Fahmi Akbar Wildana 2025-02-23 12:21:55 +07:00
parent 4eb3c2d258
commit 3954431234
No known key found for this signature in database
GPG key ID: 7A0CD14F54006AAE
7 changed files with 814 additions and 1153 deletions

View file

@ -4,7 +4,6 @@ import (
"bytes" "bytes"
"fmt" "fmt"
"math" "math"
"sort"
"strings" "strings"
"oss.terrastruct.com/d2/d2target" "oss.terrastruct.com/d2/d2target"
@ -64,11 +63,9 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
} }
} }
width, height = canvas.AutoSize() height = canvas.AutoHeight()
fmt.Println("==== ", canvas.w, canvas.h, "====") fmt.Println(canvas.h, height)
fmt.Println("==== ", width, height, "====") canvas.ReScale(canvas.w, height)
canvas.ReScale(width, height)
return canvas.TrimBytes(), nil return canvas.TrimBytes(), nil
} }
@ -326,181 +323,34 @@ func (c *Canvas) TrimBytes() []byte {
return buf.Bytes() return buf.Bytes()
} }
func (c *Canvas) AutoSize() (width, height int) { func (c *Canvas) AutoHeight() int {
type boxInfo struct {
x, y, w, h int
text string
hasUp, hasDown bool
hasLeft, hasRight bool
hasDiagonal bool
originalWidth int
}
boxes := make([]boxInfo, 0)
// Collect boxes and their connections
for _, pos := range c.textPositions {
up, down, left, right, diag := false, false, false, false, false
// Check surrounding area for connections
checkRange := 2
minX := max(0, pos.x-checkRange)
maxX := min(c.w, pos.x+pos.w+checkRange)
minY := max(0, pos.y-checkRange)
maxY := min(c.h, pos.y+pos.h+checkRange)
// Check vertical connections
for x := pos.x; x < pos.x+pos.w; x++ {
if pos.y > 0 && c.grid[pos.y-1][x] == '|' {
up = true
}
if pos.y+pos.h < c.h && c.grid[pos.y+pos.h][x] == '|' {
down = true
}
}
// Check horizontal and diagonal connections
for y := minY; y < maxY; y++ {
for x := minX; x < maxX; x++ {
ch := c.grid[y][x]
switch ch {
case '-':
if x < pos.x {
left = true
} else if x >= pos.x+pos.w {
right = true
}
case '/', '\\':
diag = true
}
}
}
boxes = append(boxes, boxInfo{
x: pos.x,
y: pos.y,
w: pos.w,
h: pos.h,
text: pos.text,
hasUp: up,
hasDown: down,
hasLeft: left,
hasRight: right,
hasDiagonal: diag,
originalWidth: pos.w,
})
}
// Sort boxes vertically
yBoxes := make([]boxInfo, len(boxes))
copy(yBoxes, boxes)
sort.Slice(yBoxes, func(i, j int) bool {
return yBoxes[i].y < yBoxes[j].y
})
// Calculate vertical layout with increased padding
currY := 0 currY := 0
yMapping := make(map[int]int) mapping := make(map[int]int)
for i, box := range yBoxes { for i, label := range c.textPositions {
lines := strings.Split(box.text, "\n") lines := strings.Split(label.text, "\n")
minHeight := len(lines) + 4 // padding + border minHeight := len(lines) + 2 // +border
if box.hasDiagonal { // Add extra height for diagonal connections
minHeight += 2
}
if i == 0 { if i == 0 {
yMapping[box.y] = 2 // Start with some padding mapping[label.y] = 0
currY = minHeight + 2 currY = minHeight + 2
continue continue
} }
spacing := 2 // spacing between boxes mapping[label.y] = currY + 3 // +spacing
prevBox := yBoxes[i-1] currY = mapping[label.y] + minHeight
// Add more spacing for connections
if box.hasUp || prevBox.hasDown {
spacing = 3
}
if box.hasDiagonal || prevBox.hasDiagonal {
spacing = 4
}
yMapping[box.y] = currY + spacing
currY = yMapping[box.y] + minHeight
} }
// Calculate final height
maxH := 0 maxH := 0
for _, box := range yBoxes { for _, label := range c.textPositions {
newY := yMapping[box.y] newY := mapping[label.y]
lines := strings.Split(box.text, "\n") lines := strings.Split(label.text, "\n")
boxHeight := len(lines) + 4 // padding + border boxHeight := len(lines) + 2 // +border
if box.hasDiagonal {
boxHeight += 2
}
maxH = max(maxH, newY+boxHeight) maxH = max(maxH, newY+boxHeight)
} }
// Add extra vertical padding for top/bottom connections return maxH
topPad := 2
bottomPad := 2
for x := 0; x < c.w; x++ {
if c.grid[0][x] != ' ' {
topPad = 3
}
if c.grid[c.h-1][x] != ' ' {
bottomPad = 3
}
}
maxH += topPad + bottomPad
// preserve the original width of each box
// but ensure it's wide enough for the content
maxW := 0
for _, box := range boxes {
// Calculate minimum width needed for text
lines := strings.Split(box.text, "\n")
textWidth := 0
for _, line := range lines {
textWidth = max(textWidth, len(line))
}
requiredWidth := textWidth + 4 // Base padding
// Add extra width for connections
if box.hasLeft {
requiredWidth += 2
}
if box.hasRight {
requiredWidth += 2
}
if box.hasDiagonal {
requiredWidth += 4
}
// Use the larger of required width or original width
effectiveWidth := max(requiredWidth, box.originalWidth)
maxW = max(maxW, box.x+effectiveWidth)
}
// Add padding for edge connections
leftPad := 2
rightPad := 2
for y := 0; y < c.h; y++ {
if c.grid[y][0] != ' ' {
leftPad = max(leftPad, 3)
}
if c.grid[y][c.w-1] != ' ' {
rightPad = max(rightPad, 3)
}
}
maxW += leftPad + rightPad
return min(c.w, maxW), min(c.h, maxH)
} }
// ReScale reduces the size of ASCII art using a pixel-like sampling technique // ReScale reduces the size of ASCII art using a pixel-like sampling technique

View file

@ -1,53 +1,29 @@
|----------| |-----------------|
| | / Hans Niemann |
H|ns Niemann| ///////////+---|||------|||--///////
/ | ||////////// |||| ||| ///////|
/////---||---||-/// ||||| || || ||
///// || | //// | || | ||
////// ||| ||| ///// |-|---------------------||---------------------|| ||
||| | | | | |--------------|---| || |
||| | | | | | Magnus Carlsen | || |
| || | || | +---------|--------+ || |
| | | | | | || |
| || || | | | || |
||--------------|-------------|| | | | || |
| ||| || | | |----------|----------| || |
| |---------|--| || | | | Play Magnus Group | || |
| | | || | | +----------|----------+ || |
| |agnus Carlse| || | | | || |
| +------------+ || | | || defendants |||| |
| | || | | |||| //////|| | |
| | || | | |---|----------|///// | |
| | || | | | Chess.com | | |
| | || | | +-------|------+ | |
| | || | | | | |
| | || | | || | ||||
| | || | | ||| | /////////|
| |-------------| || | | |-------|------------|///|///
|Pl|y Magnus Grou| || | | | Hikaru Nakamura | |
| | | || | | +--------------------+ |
| --------------+ || | +----------------------------------------------+
| | || |
| | || |
| | || |
| |efendants || |
| ||| /// | |
| | /// | |
| +---------/// | |
| | | | |
| |Ches..com| | |
| | | | |
| +----|----+ | |
| | | |
| | | |
| | | ||
| || | /||
| || | ///
| || | ///
| |----|--------|/|/
| | | |
| |ikaru Nakamur| |
| | | |
| +-------------+ |
| |
+-----------------------------+

View file

@ -1,37 +1,24 @@
|-----------------------------------------------------| +--------------------------------------------------------+
| | | |
| |-----------------------------------------------| | | |-------------------------------------------------| |
| | | | | | | |
| | | | | | | |
| | | | | | |----| |----| |----| |----| | | +--------------------------------+
| | | | | | | | | | | | | | | | | |
| | |----| |---| |----| |---| | | | | +----+ +----+ +----+ +----+ | | | |-------| |
| | | | | | | | | | | | |------------------------------| |------------------------------------------------------------------| | | | | | | | |
| | | | | | | | | | | | | | | +----------+ | | | |----| |----| |----| |----| | | | ||//-----| | |
| | +----+ +---+ +----+ +---+ | | | |------| | | | | | | | | | | | | | | | | | | ||| +-------+ |
+---------------------------------------------------------------+ | | | | | | | | | ///-----| linked |----///| | | | +----+ +----+ +----+ +----+ | | | |----|| |
| | | | | | | | | | | |||| | | |||||-----------| | | | Test |--|-----------------|---| | Release |
| | | | |----| |---| |----| |---| | | | ///-----| | | | |----------| +----------+ | | | | | |----| |----| |----| |----| | | | +----||| +-------+ |
| |---------| | | | | | | | | | | | | | | || | | | | | source | Build | |--|-----------------|---| | | | | | | | | | | | ||| | | |
| | | | | | | | | | | | | | | | | || +------+ | | | | | | | | | +----+ +----+ +----+ +----+ | | | ///-----| | |
| | | | | | +----+ +---+ +----+ +---+ | | | +---+|| | | +----------+||| |----------| ||| | | | | | | | | | |
| |///-----|linked |----///|| +-----------+ | | | | | | | | | | |///------ assets -----///||| +-----------+ | | | |----| |----| |----| |----| | | | +-------+ |
| || | | || | | | | | Test |--|----------------|---| | Release | | | | | | | | | | | | | | | | | +--------------------------------+
| |---------|| ----------+ || | | | | +----+ +---+ +----+ +---+ | | | +---| | | +----------+ | | | +----+ +----+ +----+ +----+ | |
| | | | | | | | | | | | | | | | | | | || +------+ | +------------------------------------------------------------------+ | | | |
| | | | | | | | | | | | | | | | | | | || | | | | | | |
| | source | Build | |--|----------------|--| | | | | | | | | | | | |/ | | | | +-------------------------------------------------+ |
| | | | | | | | +----+ +---+ +----+ +---+ | | | //------ | | +--------------------------------------------------------+
| +---------+| |---------| || | | | | | | | | | |
| ||| | | || +-----------+ | | | | | | | | |
| |/// |assets | //|| | | | |----| |---| |----| |---| | | | +------+ |
| -----| |----/ | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | +------------------------------+
| ----------+ | | | +----+ +---+ +----+ +---+ | |
| | | | | |
+---------------------------------------------------------------+ | | | |
| | | |
| | | |
| +-----------------------------------------------+ |
| |
+-----------------------------------------------------+

View file

@ -1,286 +1,241 @@
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | 北 海 道 |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | 北 海 道 | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | 青 森 | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | 青 森 | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | 秋 田 | 岩 手 |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | 秋 田 | 岩 手 | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 |
| || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
|-----------||-----------|-----------|----------||-----------|----------||------------|----------|-----------||----------|------------|-----------| | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || 鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | |-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------|
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | 沖 縄 || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | +-----------++------------+-----------+-----------++-----------+-----------++------------+-----------+-----------++-----------+------------+------------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| ||鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| 沖 縄 || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+

View file

@ -1,288 +1,187 @@
+---------------+ +--------------+ +---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | Android | | Iphone | | Web |
| | | | | | | | | | | |
| | | | | | | | | | | |
| Android | | Iphone | | Web | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | +---------------+ +---------------+ +---------------+
| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | || | ||
+---------------+ +--------------+ +---------------+ || | ||
|| | ||
||| | |||
|| +-------|-------+ ||
| | | ||| | | |||
| | | ||| |||
| | | | |
|| | | | |
| | | | |
|| | || |witter Frontend|
|| | || ///| |
|| | || //////// | |///
|| | || //////// | | ////
| | | ///// | | ///
| +------|-------+ | //////// | | ////
|| | | || //////// +---------------+ ////
| | | | /////// ////
|| || //////// ////
| | ||/ /|
| | || |
| | | |
| | || ||
| | || ||
|witter Fronten| ||| |
// | || |
///// | / || |
///// | |/// | |
/// | | / |-----------------|---------------------------------------------------------------------------------------------------------------------------|----------|
///// | | /// | | | |
///// | | /// | | | |
///// | | // | | |-------|-------| |
///// +--------------+ /// | | | | |
////// /// | +-------------|--------------+ | | |
// / | | | | | |
///// /// | | | |-------------------------------------------------------------| | | |
////// // | | TLS-API (being deprecated) | | ## Tweet/user content hydration, visibility filtering | | GraphQL | |
|/// /// | | | | | ////|rated Strato Co|um|
| | | | | +-------------------------------------------------------------+ //////// | |//|
| | | +-------------|--------------+ //////// | | |////
| | | | ////// | | | ///
| | | | //////// | | | ////
| || | | //////// +---------------+ | /////
|| | | | ///////// | /////
|| | | | /////// | ///|
|| | | || ////// | ||
| || +-------------------||---------------------------------------------///-----------------------------------------------------------------------------------+ ||
| | ||| |//// ||
|| || || | ||
| | || | ||
| | || ///////// ||
+-----------------|-------------------------------------------------------------------------------------------------------------------------|----------+ || ////////// ||
| | | | |/////////// |
| | | | /////// /////// |
| | | | ////////// /////////// |
| | | | ////////// //////////// |
| | |-------|-------| | ////////// /////////// |
| | | | | |///// |-----------------------------------------//----------------------------------------------------------------------------------------------------|--|
| | | | | | | |
| +-------------|-------------+ | | | | | |
| | | | | | | | |----------------------------------| |
| | | | | | | | | | |
| | | |------------------------------------------------------------| | | | | | | | |
| | | | | | | | | | | | |
| |TLS--PI (being deprecated) | | ## Tweet//ser content hydration, visibility filtering | | GraphQL | | | | | | |
| | | | | Fe//rated Strato Co|um| |-------|-------| | | | |
| | | | | /// | | | | | | | | |
| | | +------------------------------------------------------------+ ///// | / | | | | -| ## **Time-in- mixer** | |
| +---------------------------+ ////// | |/// | Home mixer | | -|Inject-ads, who-to-follow, onboard|ng |
| | ///// | | |//// ///| | | | - Conversation module | |
| | ////// | | | /// /////////+---------------/ | | - Cursoring,pagination | |
| | ///// | | | // ////// //// || | || || /// | | - Tweat deduplication | |
| | /// | | | / //// // || || | || // | | - Served data logging | |
| | ///// +---------------+ | /// ////// //// || | || ||| /// | | | |
| | ///// | //// ////// //// || | || ||| /// | | | |
| | ////// | /// ////// //// || || || ||| /// | | | |
| | ///// | /// ////// //// ||| | | || /// | +----------------------------------+ |
| | //// | | ////// //// ||| || | || /// | |
| | //// | | |/// /// | | || | // | |
+-------------------|-----------------------------------------------/----------------------------------------------------------------------------------+ | || || | | | || || +---|--------------|-------------|--------------------------|----------------------|-----------------------------------------|---------------------+
| //// | || || || | || || || | | | | | |
|| |// || || || | | | || || | | | | | |
| | | || || || | | || || | | | | | |
|| | | || || | | || | || | | | | | |
|| | || || || || | | | | | | | | | |
| // | || || | | | | | || || | | | |
|| /////// || || || || | || || || || || || | | |
|| /////// | || || | | | || |/ /| || | | | |
||/ ////// | | | | | || ||| /////// || || | | |
//////// | | | | | || ||| //// /// ||| || | | |
////// /////// | | | | | || ||| //// //// || || | | |
/// //// | | | | | | /|| ///|| || | | | +--------------+
/////// /////// | | | | | || //// ||| ||/// +------------+ | +---------------+ +-------------------+ | |
/////// //////// | |--------------| |---------------| |--------------| |--------------| |-------------------| |----------------| ////| | |------------| | | | | | |
/////// /////// | | | | | | | | | | | | | | | | | | | | | | |
////// //////// | | | | | | | | | | | | | | Timeline | | | | Onboarding | | People discovery | | |
|///// |-----------------------------------------//--------------------------------------------------------------------------------------------------|--| | Tweety Pie | | Social graph | | Gizmoduck | | Manhattan | | Timeline Service | | Home Ranker | | Scorer | | Ad mixer | | service | | service | /////Fetch |
| | | | | | | | | | | | | | |//// | | | | | | | //////////| |
| | | | | | | | | | | | | | | //// | | | | | | ////// | | |
| | | +--------------+ +---------------+ +--------------+ +--------------+ +-------------------+ +------|---------+ +-----//-----+ +------------+ +---------------+ +-///---------------+ | |
| | +----------------------------------+ | || /////// ///////// +--------|-----+
| | | | | | /////// ////////// ||
| | | | | | /////// ////////// |
| | | | | || ////// //////// ||
| | | | | | ////// // |
| | | | | | ////////// //// |
| | | | | || /////////// /// |
| | | | | | ////////// /// |
+-------|-------+ | | | | | /////////// //// |
| | | | | | ///|/////// /// |
| | | | | | ////////// || /// |
| | | | | | /////// | /// |
| | | -| ## **Time-in- mixer** | | |///// | //// |
| Home mixer | | - |nject -ds, who-to-follow, onboardi|g | | || //////// |
| | | | - Conversation module | | | |-------|--------------------------------------/////---------------------------------------------------------------------| |
///| | | | - Cursoring,pagination | | | | || //////// | |----------------|
//// //| | | | - Tweat deduplication | | | | | //////// | | |
// // +---------------/ | | - Served data logging | | |----------------| | |-----------| ///// |------------| |--------| |---------| |----------------| | | |
//// // || | | || // | | | | | | | | | //////// | | | | | | | | | | |
//// /// || | | || // | | | | | | | | |/ | | | | | | | | | | |
/// /// || | | | // | | | | | Home Scorer | | | CrMixer | | EarlyBird | | Utag | | Space | | Communities | | | Feature |
//// // || | | || // | | | | | | | | | | | | | | | | | | ///// |
//// /// || | | || // | | | | +---|--||---|----+ | +-----------+ +------------+ +--------+ +---------+ +----------------+ | ///// |// |
// / | | | | / | | | | || || || | | //// //| |
//// // || || | || // | | | | || | | | | | //// // +--|--------|----+
//// /// || | | || // | | | | || ||| || +------------------------------------------------------------------------------------------------------------------------+ ///// /// || ||
//// // || | | || // | +----------------------------------+ | || ||| || ///// /// || ||
//// /// || | | | // | | // | // // || |/ || ||
//// /// || | | || // | | /// | //// //// || | | |
|/ / | | | | / | | /// | /// //// || || || |
|| | | | | | | +---|--------------|-------------|-------------------------|----------------------|----------------------------------------|---------------------+ // // /// | | | |
|| | | | | | | | | | | | | |/// //// //// || | | |
|| || | | || || | | | | | | | | /// /// /// | || | |
|| || | | | | | | | | | | | | /// /// //// || || || |
|| | | | | | | | | | | | | | /// //// //// || | | |
|| | | | | || || | | | | | | | /// /// //// || | | |
| | | | | | | | | | | | | | /////// //////// //////// | | | |
| | | | | | | | | | | | | | ///////////// ////////////// //////////////// || || | |
| || || | | | | | | | | | | | ////////////// ////////////// //////////////// || || | |
| | | | | || | | | | | | | |-------|-------| ///////////// ////////////// /////////////// ||| || | |
| | | | | | || | | | | | | | | ///////////// ////////////// //////////////// ||| || | +----------------+
| | || | | | || | || | | | | | | ///////////// /////////////// //////////////// ||| |--------------|--| | | |
| | | | | | | | | | | | | | | ////////////// //////////////---------||/////|/////// | |--------|-----| | |
|| | | | | | / /| | | | | | | | //////// |/////////| | /////////// | | | |
| | | | || || /// /// || | | | | | | //////////// |//////| |///////| | | |
| | | | || | /// || | | | | |rediction Servi|e | ...etc | | Memcache | | Manhattan | | Scoring |
| | | | || || /// // || | | | | | | | | | | | | | |
| | | | || || // /// | | | | | | | +---------+ | | +--------------+ | |
| | | | || ||/ // || | | | | | | | | | |
| | | | | / | //| | | | | +--------------+ | | +-----------------+ +-------|--------+
| | | | | /// | |// || | | | | | +---------------+ |
| | | | | // || || // |------------| | |---------------| |------------------| | | |
|--------------| |---------------| |-------------| |--------------| |-------------------| |----------------| ///| | |-----------| | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | |
| Tweety Pie | | Social graph | | Gizmoduck | | Manhattan | | Timeline Service | | Home Ranker | | Timeline | | Ad mixer | | Onboarding | |People discovery | | Fetch | |
| | | | | | | | | | | | | Scorer | | | | service | | service | ///// | |
| | | | | | | | | | | |// | | | | | | | |///////| | |
| | | | | | | | | | | | //// | | | | | | | /////| | | |-------|-------|
+--------------+ +---------------+ +-------------+ +--------------+ +-------------------+ +------|---------+ /|/// | +-----------+ | | | ////// | | | | |
| | // | | | | /// | | | | |
| +-----////---+ +---------------+ //////--------------+ | | | |
|| ///// ////// +--------|-----+ | |
| ///// /////// | | |
| //// ////// | |rediction Servi|e
| ///// /////// | | |
|| //// ////// | | |
| // // | | |
| ////// // | | |
| /////// /// | +---------------+
| /////// // |
|| /////// // |
| /////// // |
| /// / |
| //////// /// |
| /////// // |
///|/// // |
////// || // |
/////// | /// |
/// | / |
|///// | // |
| | //// |
| || ////// |
| +-------|----------------------------------------///--------------------------------------------------------------------+ |
| | | ///// | |
| | || ///// | |----------------|
| | | /// | | |
| | | ///// | | |
|----------------| | |-----------| ///// |------------| |-------| |---------| |----------------| | | |
| | | | | ////// | | | | | | | | | | |
| | | | //// | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| Home Scorer | | | CrMixer | | EarlyBird | | Utag | | Space | | Communities | | | Feature |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |/// |
| | | | | | | | | | | | | | //| |
+---|--||---|----+ | +-----------+ +------------+ +-------+ +---------+ +----------------+ | //// |// |
| || || | | /// /| |
| || | | | / / | |
|| | | | | | //// // +--|--------|----+
| ||| | +-----------------------------------------------------------------------------------------------------------------------+ /// // | |
|| || | /// // | |
|| | | | //// // || ||
/| | / / | |/ || ||
// | // /// | || | |
/ | / / | | | |
// | /// /// | | | |
// | // // | | || |
// // /// | | | |
|// // // || | | |
| // /// /// || | | |
| / / / | | | |
| // // /// || | | |
| // // // || || || |
| // // /// | | | |
| // /// // | || | |
| // // /// | | | |
| /////// //////// //////// | | | |
| ///// //// ////// | | | |
| //////// ////////// ////////// | || | |
| ///////// ///////// ////////// || || | |
| ///////// ////////// ////////// || || || |
|-------|-------| ///////// ///////// ////////// || || | |
| | ///////// ///////// /////////// || || |
| | //// //// ///// | | | +----------------+
| | ///////// ////////// ////////// || |----------------| | | |
| | //////// ///////// +---------/|/// | | +--------|-----+ | |
| | ///////// ////////// | //|/////// | | | | |
| | //////// |/////////| | ////////// | | | |
| | ///////// | |/////// |//////// | | |
| | /// | | | | | | |
P|ediction Servic| | ...etc | | Memcache | | Manhattan | | Scoring |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | +---------+ | | +--------------+ | |
| | | | | |
| | +----------------+ | |
| | +-------|--------+
+---------------+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|-------|-------|
| |
| |
| |
| |
| |
| |
| |
P|ediction Servic|
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+

View file

@ -1,261 +1,276 @@
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |
| | | |
| | | |
| | | |
| | | |
| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------+ | | |
| | | | | | | +----------------------------------------------------------------------------------------------------------------------------------------+ +------------------------------------+ |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | Random Matrix Generator | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | Random Matrix Generator | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------|-----------------+ | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | +----------------------------------------------------------------------------------------------------------------------------------------+ +-----------------|------------------+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+ | | |
| | | |
| | | |
| | | |
| +----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+ |
| | |
| | | |
| | | |
| | | |
| | | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +-----------------------------------------------------------------------------+ +-------------------------+ +--------------------------------|--------------------------+ +----------+ +-----------------------------------------------------------------------------+ | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | +-----------------------------------------------------------------------------------+ +---------------------------+ +-----------------------------------|----------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | ------------+ | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | +------------+ | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | +-----------++-----------+-----------++-----------+ | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------- |------------ . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------ ------------- . | . | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | 0.62 | 0.15 || n-si|nd V||tor | 0.91 ||0.48 | | | | | | | | 0.41 || 0.32 | 0.92 || 0.13 | | | | | | 0.62 | 0.15 || m-si|edmVec|or || 0.91 | 0.48 | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | ------------+ | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | . | . |------------- |------------- . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------- -------------- . | . | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | 0.62 | 0.15 || n-s|zen V||tor | 0.91 || 0.48 | | | | | | | | 0.41 || 0.32 | 0.92 || 0.13 | | | | | | 0.62 | 0.15 || m-s|zem Ve|tor || 0.91 | 0.48 | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | | | | | | || | || | || | | | +------------+ | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | +---------+ | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | || | || | | | | | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | +-----------++-----------+-----------++-----------+ | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | +-+ | | | | || | || | | | | | | | | | | | +---------+ | | | || | || | | | | | | |
| | | | | | | | | | | || | || | | | | | | |
| | | | Dot |r|duct | | | . || . | . || . | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | | | 0.74 || 0.15 | 0.53 || 0.21 | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | +-+ | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | +-+ | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | Dot |r|duct | | | . || . | . || . | | | | | | |
| | | | || | || | || | | | +---------+ | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | 0.74 || 0.15 | 0.53 || 0.21 | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | +-+ | | | | || | || | | | | | | |
| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | ---------------------- | | || | | || | | | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------- |------------ . || . | | | | | | || | || | | | | | | . | . |------------ ------------- . | . | | |
| | | 0.62 | 0.15 || n-si|nd V||tor | 0.91 ||0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 || m-si|edmVec|or || 0.91 | 0.48 | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | +---------+ | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | ----------------------- | | || | | || | | | |
| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | . | . |------------- |------------- . || . | | | | | | || | || | | | | | | . | . |------------- -------------- . | . | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | 0.62 | 0.15 || n-s|zen V||tor | 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 || m-s|zem Ve|tor || 0.91 | 0.48 | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | |
| | | | | | +----------++----------------------++----------+ | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | +-----------++-----------+-----------++-----------+ | | | | | |
| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | | | | || | || | | | | | | |
| | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | 0.62 | 0.15 |-------------nd V|------------ 0.91 ||0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |------------edmVec------------- 0.91 | 0.48 | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | | | | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | | +--------+-------++----------+------+----------++-------+-------+ | | | | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | |
| | | | | | | | | | | | | | | 0.62 | 0.15 |-------------zen V|------------- 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |-------------zem Ve-------------- 0.91 | 0.48 | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | | | | | | | | | | | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | | | | | | | | | | | | | | | | | | | | |
| +-----------------------------------------------------------------------------+ +-------------------------+ +-----------------------------------------------------------+ +----------+ +-----------------------------------------------------------------------------+ | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | +-----------------------------------------------------------------------------------+ +---------------------------+ +----------------------------------------------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

View file

@ -1,62 +1,41 @@
+-----------+ |------------|
| | | inputFile |
|inputFile | +------|-----+
| | |
+------|----+ |
| |------|-----|
| | d2parser |
| +------|-----+
| |
|------|----| |
| d2parser | |
| | |----|----|
+------|----+ | d2ast |
| +----|----+
| |
| |
| |-------|------|
|----|---| | d2compiler |
| | +-------|------+
| d2ast | |
+----|---+ |
| |
| |-----|------|
| | d2graph |
| +-----|------+
|------|-----| |
| | |
|d2compiler | |-------------|-------------|
-------|-----+ | d2layouts/d2dagrelayout |
| +-------------|-------------+
| |
| |
| +-------|------+
+-----|-----+ | |
| | | d2exporter |
| d2graph | +-------|------+
| | |
+-----|-----+ |
| |-----|------|
| | d2target |
| +------------+
|
|------------|-----------|
|d2layouts//2dagrelayout |
| |
+------------|-----------+
|
|
|
|
|------|-----|
|d2exporter |
| |
-------|-----+
|
|
|
|
|-----|-----|
| |
| d2target |
+-----------+