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"
"fmt"
"math"
"sort"
"strings"
"oss.terrastruct.com/d2/d2target"
@ -64,11 +63,9 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
}
}
width, height = canvas.AutoSize()
fmt.Println("==== ", canvas.w, canvas.h, "====")
fmt.Println("==== ", width, height, "====")
canvas.ReScale(width, height)
height = canvas.AutoHeight()
fmt.Println(canvas.h, height)
canvas.ReScale(canvas.w, height)
return canvas.TrimBytes(), nil
}
@ -326,181 +323,34 @@ func (c *Canvas) TrimBytes() []byte {
return buf.Bytes()
}
func (c *Canvas) AutoSize() (width, height 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
func (c *Canvas) AutoHeight() int {
currY := 0
yMapping := make(map[int]int)
mapping := make(map[int]int)
for i, box := range yBoxes {
lines := strings.Split(box.text, "\n")
minHeight := len(lines) + 4 // padding + border
if box.hasDiagonal { // Add extra height for diagonal connections
minHeight += 2
}
for i, label := range c.textPositions {
lines := strings.Split(label.text, "\n")
minHeight := len(lines) + 2 // +border
if i == 0 {
yMapping[box.y] = 2 // Start with some padding
mapping[label.y] = 0
currY = minHeight + 2
continue
}
spacing := 2 // spacing between boxes
prevBox := yBoxes[i-1]
// 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
mapping[label.y] = currY + 3 // +spacing
currY = mapping[label.y] + minHeight
}
// Calculate final height
maxH := 0
for _, box := range yBoxes {
newY := yMapping[box.y]
lines := strings.Split(box.text, "\n")
boxHeight := len(lines) + 4 // padding + border
if box.hasDiagonal {
boxHeight += 2
}
for _, label := range c.textPositions {
newY := mapping[label.y]
lines := strings.Split(label.text, "\n")
boxHeight := len(lines) + 2 // +border
maxH = max(maxH, newY+boxHeight)
}
// Add extra vertical padding for top/bottom connections
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)
return maxH
}
// ReScale reduces the size of ASCII art using a pixel-like sampling technique

View file

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

View file

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

View file

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

View file

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

View file

@ -1,261 +1,276 @@
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | 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 | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | ------------+ | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | | | | || | || | | | | | | |
| | | | +---------+ | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | +-+ | | | | || | || | | | | | | |
| | | | | | | | | | | || | || | | | | | | |
| | | | 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.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 | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +-----------------------------------------------------------------------------+ +-------------------------+ +-----------------------------------------------------------+ +----------+ +-----------------------------------------------------------------------------+ |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| +----------------------------------------------------------------------------------------------------------------------------------------+ +------------------------------------+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | Random Matrix Generator | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +----------------------------------------------------------------------------------------------------------------------------------------+ +-----------------|------------------+ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
|
|
|
|
|
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| +-----------------------------------------------------------------------------------+ +---------------------------+ +-----------------------------------|----------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | +------------+ | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | +-----------++-----------+-----------++-----------+ | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------- |------------- . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------- -------------- . | . | | |
| | | 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 | | | | | | |
| | | | | | | | | | | || | || | | | | | | |
| | | | | +-+ | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | +---------+ | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | ----------------------- | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------- |------------- . || . | | | | | | || | || | | | | | | . | . |------------- -------------- . | . | | |
| | | 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 |-------------zen V|------------- 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |-------------zem Ve-------------- 0.91 | 0.48 | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +-----------------------------------------------------------------------------------+ +---------------------------+ +----------------------------------------------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

View file

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