revise AutoSize()

This commit is contained in:
Fahmi Akbar Wildana 2025-02-23 10:37:49 +07:00
parent d94491dc22
commit 4eb3c2d258
No known key found for this signature in database
GPG key ID: 7A0CD14F54006AAE
7 changed files with 1097 additions and 600 deletions

View file

@ -332,16 +332,24 @@ func (c *Canvas) AutoSize() (width, height int) {
text string text string
hasUp, hasDown bool hasUp, hasDown bool
hasLeft, hasRight bool hasLeft, hasRight bool
hasDiagonal bool
originalWidth int
} }
boxes := make([]boxInfo, 0) boxes := make([]boxInfo, 0)
maxX := 0 // Track rightmost position
// Collect boxes and connections // Collect boxes and their connections
for _, pos := range c.textPositions { for _, pos := range c.textPositions {
up, down, left, right := false, false, false, false up, down, left, right, diag := false, false, false, false, false
// Vertical connections // 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++ { for x := pos.x; x < pos.x+pos.w; x++ {
if pos.y > 0 && c.grid[pos.y-1][x] == '|' { if pos.y > 0 && c.grid[pos.y-1][x] == '|' {
up = true up = true
@ -349,52 +357,74 @@ func (c *Canvas) AutoSize() (width, height int) {
if pos.y+pos.h < c.h && c.grid[pos.y+pos.h][x] == '|' { if pos.y+pos.h < c.h && c.grid[pos.y+pos.h][x] == '|' {
down = true down = true
} }
maxX = max(maxX, x+1) // Track rightmost position
} }
// Horizontal connections // Check horizontal and diagonal connections
for y := pos.y; y < pos.y+pos.h; y++ { for y := minY; y < maxY; y++ {
if pos.x > 0 && c.grid[y][pos.x-1] == '-' { for x := minX; x < maxX; x++ {
ch := c.grid[y][x]
switch ch {
case '-':
if x < pos.x {
left = true left = true
} } else if x >= pos.x+pos.w {
if pos.x+pos.w < c.w && c.grid[y][pos.x+pos.w] == '-' {
right = true right = true
} }
case '/', '\\':
diag = true
}
}
} }
boxes = append(boxes, boxInfo{ boxes = append(boxes, boxInfo{
x: pos.x, y: pos.y, x: pos.x,
w: pos.w, h: pos.h, y: pos.y,
w: pos.w,
h: pos.h,
text: pos.text, text: pos.text,
hasUp: up, hasDown: down, hasUp: up,
hasLeft: left, hasRight: right, hasDown: down,
hasLeft: left,
hasRight: right,
hasDiagonal: diag,
originalWidth: pos.w,
}) })
} }
// Sort for vertical processing // Sort boxes vertically
yBoxes := make([]boxInfo, len(boxes)) yBoxes := make([]boxInfo, len(boxes))
copy(yBoxes, boxes) copy(yBoxes, boxes)
sort.Slice(yBoxes, func(i, j int) bool { sort.Slice(yBoxes, func(i, j int) bool {
return yBoxes[i].y < yBoxes[j].y return yBoxes[i].y < yBoxes[j].y
}) })
// Calculate vertical layout // Calculate vertical layout with increased padding
currY := 0 currY := 0
yMapping := make(map[int]int) yMapping := make(map[int]int)
for i, box := range yBoxes { for i, box := range yBoxes {
lines := strings.Split(box.text, "\n") lines := strings.Split(box.text, "\n")
minHeight := len(lines) + 2 // text + borders minHeight := len(lines) + 4 // padding + border
if box.hasDiagonal { // Add extra height for diagonal connections
minHeight += 2
}
if i == 0 { if i == 0 {
yMapping[box.y] = 0 yMapping[box.y] = 2 // Start with some padding
currY = minHeight currY = minHeight + 2
continue continue
} }
spacing := 1 // minimum spacing spacing := 2 // spacing between boxes
if yBoxes[i-1].hasDown && box.hasUp { prevBox := yBoxes[i-1]
spacing = 2 // space for connections
// Add more spacing for connections
if box.hasUp || prevBox.hasDown {
spacing = 3
}
if box.hasDiagonal || prevBox.hasDiagonal {
spacing = 4
} }
yMapping[box.y] = currY + spacing yMapping[box.y] = currY + spacing
@ -406,48 +436,71 @@ func (c *Canvas) AutoSize() (width, height int) {
for _, box := range yBoxes { for _, box := range yBoxes {
newY := yMapping[box.y] newY := yMapping[box.y]
lines := strings.Split(box.text, "\n") lines := strings.Split(box.text, "\n")
boxHeight := len(lines) + 2 boxHeight := len(lines) + 4 // padding + border
if box.hasDiagonal {
boxHeight += 2
}
maxH = max(maxH, newY+boxHeight) maxH = max(maxH, newY+boxHeight)
} }
// Add padding for edge connections // Add extra vertical padding for top/bottom connections
topPad := 2
bottomPad := 2
for x := 0; x < c.w; x++ { for x := 0; x < c.w; x++ {
if c.grid[0][x] != ' ' || c.grid[c.h-1][x] != ' ' { if c.grid[0][x] != ' ' {
maxH++ topPad = 3
break
} }
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))
} }
// Find actual rightmost content requiredWidth := textWidth + 4 // Base padding
actualMaxX := 0
for y := 0; y < c.h; y++ { // Add extra width for connections
for x := c.w - 1; x >= 0; x-- { if box.hasLeft {
if c.grid[y][x] != ' ' { requiredWidth += 2
actualMaxX = max(actualMaxX, x+1)
break
} }
if box.hasRight {
requiredWidth += 2
} }
if box.hasDiagonal {
requiredWidth += 4
} }
// Add minimal padding for edges // Use the larger of required width or original width
if actualMaxX > 0 { effectiveWidth := max(requiredWidth, box.originalWidth)
actualMaxX += 1 // Right padding maxW = max(maxW, box.x+effectiveWidth)
} }
// Find leftmost content to determine if we need left padding // Add padding for edge connections
needLeftPad := false leftPad := 2
rightPad := 2
for y := 0; y < c.h; y++ { for y := 0; y < c.h; y++ {
if c.grid[y][0] != ' ' { if c.grid[y][0] != ' ' {
needLeftPad = true leftPad = max(leftPad, 3)
break }
if c.grid[y][c.w-1] != ' ' {
rightPad = max(rightPad, 3)
} }
} }
if needLeftPad { maxW += leftPad + rightPad
actualMaxX += 1
}
// Return optimized dimensions return min(c.w, maxW), min(c.h, maxH)
return actualMaxX, 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
@ -485,21 +538,21 @@ func (c *Canvas) ReScale(targetWidth, targetHeight int) {
} }
// Then redraw text at scaled positions // Then redraw text at scaled positions
for _, pos := range c.textPositions { for _, label := range c.textPositions {
// Get box dimensions in source coordinates first // Get box dimensions in source coordinates first
srcBoxCenterY := pos.y + pos.h/2 srcBoxCenterY := label.y + label.h/2
// Split text into lines // Split text into lines
lines := strings.Split(pos.text, "\n") lines := strings.Split(label.text, "\n")
textHeight := len(lines) textHeight := len(lines)
// Calculate text start Y in source coordinates // Calculate text start Y in source coordinates
srcStartY := srcBoxCenterY - textHeight/2 srcStartY := srcBoxCenterY - textHeight/2
// Scale to target coordinates // Scale to target coordinates
newX := int(float64(pos.x) * scaleX) newX := int(float64(label.x) * scaleX)
newY := int(float64(srcStartY) * scaleY) newY := int(float64(srcStartY) * scaleY)
newW := int(float64(pos.w) * scaleX) newW := int(float64(label.w) * scaleX)
// Draw each line centered horizontally // Draw each line centered horizontally
for i, line := range lines { for i, line := range lines {

View file

@ -1,23 +1,53 @@
|------------| |----------|
//|ans Niemann | | |
//////////// -||||----||||////////// H|ns Niemann|
|||||// || || //|| / |
| ||| || | /////---||---||-///
||--------------|||----------------|| || ///// || | ////
| |--------------| || | ////// ||| ||| /////
| +-------|------+ || | ||| | | |
||| | | |
| || | ||
| | | |
| || || |
||--------------|-------------|| |
| ||| || |
| |---------|--| || |
| | | || |
| |agnus Carlse| || |
| +------------+ || |
| | || | | | || |
| | || | | | || |
| --------|-------+ || | | | || |
| P|ay Magnus Group| || | | | || |
| --------|-------+ || | | | || |
| | ||| | | | || |
| |||endants /////||| | | | || |
| |--|--------|//// | | | |-------------| || |
| |Chess..om | | | |Pl|y Magnus Grou| || |
| +------|----+ | | | | | || |
| | | /|||| | --------------+ || |
| ||| /////////// | | || |
| |-----|---------|//| | | || |
| +---------------+ | | | || |
-----------------------------------+ | |efendants || |
| ||| /// | |
| | /// | |
| +---------/// | |
| | | | |
| |Ches..com| | |
| | | | |
| +----|----+ | |
| | | |
| | | |
| | | ||
| || | /||
| || | ///
| || | ///
| |----|--------|/|/
| | | |
| |ikaru Nakamur| |
| | | |
| +-------------+ |
| |
+-----------------------------+

View file

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

View file

@ -1,4 +1,10 @@
|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| +-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -11,7 +17,12 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -24,7 +35,23 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -38,7 +65,17 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -51,7 +88,17 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -64,7 +111,18 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -78,7 +136,17 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
|-----------||-----------|-----------|----------||-----------|----------||------------|----------|-----------||----------|------------|-----------|
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -91,7 +159,18 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -104,7 +183,17 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -118,7 +207,17 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -131,20 +230,41 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || 鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| ||鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
@ -158,4 +278,9 @@
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
| || | | || | || | | || | | | | || | | || | || | | || | | |
+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ | || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
| || | | || | || | | || | | |
+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+

View file

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

View file

@ -1,4 +1,4 @@
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| | | |
| | | |
| | | |
@ -9,7 +9,18 @@
| | | |
| | | |
| | | |
| |-----------------------------------------------------------------------------------------------------------------------------------| |----------------------------------| | | |
| |
| |
| |
| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
@ -38,25 +49,38 @@
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +-----------------------------------------------------------------------------------------------------------------------------------+ +----------------|-----------------+ | | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------|-----------------+ |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| || |
| | | | | |
| | | | | |
| | | | | |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------+ | | |
| | |
| | |
| | |
| | |
+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+
| |
| |
| |
| |
| |
| |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------+ |
|
|
+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+
| | | | | |
| | | | | |
| | | | | |
@ -66,7 +90,12 @@
| | | | | |
| | | | | |
| | | | | |
| +--------------------------------------------------------------------------------+ +--------------------------+ +----------------------------------|---------------------------+ +----------+ +--------------------------------------------------------------------------------+ | | | |
| | |
| | |
| | |
| | |
| +-----------------------------------------------------------------------------+ +-------------------------+ +--------------------------------|--------------------------+ +----------+ +-----------------------------------------------------------------------------+ |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
@ -77,13 +106,19 @@
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | +------------+ | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | ------------+ | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | |-------|--------||----------|-----||-----------|-------||--------| | | | | | | |-----------||----------|-----------||----------| | | | | |--------|-------||-----------|------|----------||--------|--------| | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
@ -91,38 +126,57 @@
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------ |------------- . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------- ------------- . | . | | |
| | |0.62 | 0.15 || n-si|en Ve||or | 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-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 | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | ------------+ | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | --------+--------++----------+-----++-----------+-------++--------+ | | | | +-----------++----------+-----------++----------+ | | | | +--------+-------++-----------+------+----------++--------+--------+ | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | |---------| | | | || | || | | | | | | | | | | | +---------+ | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | | | || | || | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | +-+ | | | | || | || | | | | | | | | | | | | +-+ | | | | || | || | | | | | | |
| | | | | | | | | | | || | || | | | | | | | | | | | | | | | | | | || | || | | | | | | |
| | | | |ot |r|duc| | | | 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|en Ve||or | 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 || m-si|edmVec|or || 0.91 | 0.48 | | | | | | | || | || | || | | | | | | || | || | ---------------------- | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . |------------- |------------ . || . | | | | | | || | || | | | | | | . | . |------------ ------------- . | . | | |
| | | 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 | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
@ -130,19 +184,26 @@
| | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | || | || | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | | | | || | || | | | | | | | | | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | +-----------++----------+-----------++----------+ | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | | | | | | | | | || | || | | | | | | |
| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | || | || | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | | | | | | | +----------++----------------------++----------+ | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | | | | | | || | || | | | | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | |
@ -151,16 +212,23 @@
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | | | | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | |
| | |0.62 | 0.15 ||----------|en Ve||-----------| 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 ||-----------|edmVec|----------|| 0.91 | 0.48 | | | | | | 0.62 | 0.15 |-------------nd V|------------ 0.91 ||0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |------------edmVec------------- 0.91 | 0.48 | | |
| | | | || | || | || | | | | | +-----------++----------+-----------++----------+ | | | | | | || | | || | | | | | | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | | | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | | | || | || | || | | | | | | | | | | | || | | || | | | |
| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | | +--------+-------++----------+------+----------++-------+-------+ | |
| | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
@ -171,7 +239,11 @@
| | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | |
| +--------------------------------------------------------------------------------+ +--------------------------+ +--------------------------------------------------------------+ +----------+ +--------------------------------------------------------------------------------+ | | | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +-----------------------------------------------------------------------------+ +-------------------------+ +-----------------------------------------------------------+ +----------+ +-----------------------------------------------------------------------------+ |
| | | |
| | | |
| | | |
@ -181,4 +253,9 @@
| | | |
| | | |
| | | |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |
| |
| |
| |
| |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

View file

@ -1,31 +1,62 @@
|---------| +-----------+
|inputFile| | |
+-----|---+ |inputFile |
| |
+------|----+
| |
|-----|---|
|d2parser |
+-----|---+
| |
|---|---| |
|
|------|----|
| d2parser |
| |
+------|----+
|
|
|
|
|----|---|
| |
| d2ast | | d2ast |
+---|---+ +----|---+
| |
|-----|----|
|2compiler |
------|----+
| |
|----|----| |
|
|------|-----|
| |
|d2compiler |
-------|-----+
|
|
|
|
+-----|-----+
| |
| d2graph | | d2graph |
+----|----+ | |
+-----|-----+
| |
|----------|----------|
|2layouts/d2dagrelayou|
+----------|----------+
| |
|-----|----|
|2exporter |
------|----+
| |
|----|----| |
|d2target | |------------|-----------|
+---------+ |d2layouts//2dagrelayout |
| |
+------------|-----------+
|
|
|
|
|------|-----|
|d2exporter |
| |
-------|-----+
|
|
|
|
|-----|-----|
| |
| d2target |
+-----------+