diff --git a/d2renderers/d2ascii/d2ascii.go b/d2renderers/d2ascii/d2ascii.go index 72bf593fc..131a5e6b1 100644 --- a/d2renderers/d2ascii/d2ascii.go +++ b/d2renderers/d2ascii/d2ascii.go @@ -332,16 +332,24 @@ func (c *Canvas) AutoSize() (width, height int) { text string hasUp, hasDown bool hasLeft, hasRight bool + hasDiagonal bool + originalWidth int } boxes := make([]boxInfo, 0) - maxX := 0 // Track rightmost position - // Collect boxes and connections + // Collect boxes and their connections 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++ { if pos.y > 0 && c.grid[pos.y-1][x] == '|' { 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] == '|' { down = true } - maxX = max(maxX, x+1) // Track rightmost position } - // Horizontal connections - for y := pos.y; y < pos.y+pos.h; y++ { - if pos.x > 0 && c.grid[y][pos.x-1] == '-' { - left = true - } - if pos.x+pos.w < c.w && c.grid[y][pos.x+pos.w] == '-' { - right = 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, + 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 for vertical processing + // 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 + // Calculate vertical layout with increased padding currY := 0 yMapping := make(map[int]int) for i, box := range yBoxes { 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 { - yMapping[box.y] = 0 - currY = minHeight + yMapping[box.y] = 2 // Start with some padding + currY = minHeight + 2 continue } - spacing := 1 // minimum spacing - if yBoxes[i-1].hasDown && box.hasUp { - spacing = 2 // space for connections + 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 @@ -406,48 +436,71 @@ func (c *Canvas) AutoSize() (width, height int) { for _, box := range yBoxes { newY := yMapping[box.y] 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) } - // Add padding for edge connections + // Add extra vertical padding for top/bottom connections + topPad := 2 + bottomPad := 2 for x := 0; x < c.w; x++ { - if c.grid[0][x] != ' ' || c.grid[c.h-1][x] != ' ' { - maxH++ - break + if c.grid[0][x] != ' ' { + topPad = 3 + } + if c.grid[c.h-1][x] != ' ' { + bottomPad = 3 } } + maxH += topPad + bottomPad - // Find actual rightmost content - actualMaxX := 0 - for y := 0; y < c.h; y++ { - for x := c.w - 1; x >= 0; x-- { - if c.grid[y][x] != ' ' { - actualMaxX = max(actualMaxX, x+1) - break - } + // 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 minimal padding for edges - if actualMaxX > 0 { - actualMaxX += 1 // Right padding - } - - // Find leftmost content to determine if we need left padding - needLeftPad := false + // Add padding for edge connections + leftPad := 2 + rightPad := 2 for y := 0; y < c.h; y++ { if c.grid[y][0] != ' ' { - needLeftPad = true - break + leftPad = max(leftPad, 3) + } + if c.grid[y][c.w-1] != ' ' { + rightPad = max(rightPad, 3) } } - if needLeftPad { - actualMaxX += 1 - } + maxW += leftPad + rightPad - // Return optimized dimensions - return actualMaxX, maxH + return min(c.w, maxW), min(c.h, maxH) } // 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 - for _, pos := range c.textPositions { + for _, label := range c.textPositions { // Get box dimensions in source coordinates first - srcBoxCenterY := pos.y + pos.h/2 + srcBoxCenterY := label.y + label.h/2 // Split text into lines - lines := strings.Split(pos.text, "\n") + lines := strings.Split(label.text, "\n") textHeight := len(lines) // Calculate text start Y in source coordinates srcStartY := srcBoxCenterY - textHeight/2 // Scale to target coordinates - newX := int(float64(pos.x) * scaleX) + newX := int(float64(label.x) * scaleX) newY := int(float64(srcStartY) * scaleY) - newW := int(float64(pos.w) * scaleX) + newW := int(float64(label.w) * scaleX) // Draw each line centered horizontally for i, line := range lines { diff --git a/docs/examples/chess/dia.txt b/docs/examples/chess/dia.txt index b7c1c140b..02a939136 100644 --- a/docs/examples/chess/dia.txt +++ b/docs/examples/chess/dia.txt @@ -1,23 +1,53 @@ - |------------| - //|ans Niemann | - //////////// -||||----||||////////// - |||||// || || //|| - | ||| || | -||--------------|||----------------|| || -| |--------------| || | -| +-------|------+ || | -| | || | -| | || | -| --------|-------+ || | -| P|ay Magnus Group| || | -| --------|-------+ || | -| | ||| | -| |||endants /////||| | -| |--|--------|//// | | -| |Chess..om | | | -| +------|----+ | | -| | | /|||| -| ||| /////////// -| |-----|---------|//| -| +---------------+ | ------------------------------------+ + |----------| + | | + H|ns Niemann| + / | + /////---||---||-/// + ///// || | //// + ////// ||| ||| ///// + ||| | | | + ||| | | | + | || | || + | | | | + | || || | +||--------------|-------------|| | +| ||| || | +| |---------|--| || | +| | | || | +| |agnus Carlse| || | +| +------------+ || | +| | || | +| | || | +| | || | +| | || | +| | || | +| | || | +| | || | +| |-------------| || | +|Pl|y Magnus Grou| || | +| | | || | +| --------------+ || | +| | || | +| | || | +| | || | +| |efendants || | +| ||| /// | | +| | /// | | +| +---------/// | | +| | | | | +| |Ches..com| | | +| | | | | +| +----|----+ | | +| | | | +| | | | +| | | || +| || | /|| +| || | /// +| || | /// +| |----|--------|/|/ +| | | | +| |ikaru Nakamur| | +| | | | +| +-------------+ | +| | ++-----------------------------+ diff --git a/docs/examples/flipt/output.txt b/docs/examples/flipt/output.txt index 6467ac936..3ee0ca725 100644 --- a/docs/examples/flipt/output.txt +++ b/docs/examples/flipt/output.txt @@ -1,16 +1,37 @@ - |----------------------------------------------------| - | |----------------------------------------------| | - | | | | - | | |----| |----| |----| |----| | | |------------------------------| - | | +----+ +----+ +----+ +----+ | | | |-------| | -|--------------------------------------------------------------| | | | | | ------ | | -| |---------| | | | |----| |----| |----| |----| | | | ||||/ +-------+ | -| |//-----| linked |----///|| +----------+ | | | +----+ +----+ +----+ +----+ | | | |----||| | -| |---------|||| +---------+ |||| | | | | |----| |----|est |----| |----| |-|----------------|---+----|| Release | -| |source | Build | |--|----------------|---| +----+ +----+ +----+ +----+ | | | |||/ |-------| | -| ----------+|| |---------| ||| | | | | | | | /-----| | | -| ||//-----| assets |----///|||| +----------+ | | | |----| |----| |----| |----| | | | +-------+ | -| +---------+ | | | +----+ +----+ +----+ +----+ | | +------------------------------+ -+--------------------------------------------------------------+ | | | | - | -----------------------------------------------+ | - +----------------------------------------------------+ + |-----------------------------------------------------| + | | + | |-----------------------------------------------| | + | | | | + | | | | + | | | | + | | | | + | | |----| |---| |----| |---| | | + | | | | | | | | | | | | |------------------------------| + | | | | | | | | | | | | | | + | | +----+ +---+ +----+ +---+ | | | |------| | ++---------------------------------------------------------------+ | | | | | | | | +| | | | | | | | | | +| | | | |----| |---| |----| |---| | | | ///-----| | | +| |---------| | | | | | | | | | | | | | | || | | | +| | | | | | | | | | | | | | | | | || +------+ | +| | | | | | +----+ +---+ +----+ +---+ | | | +---+|| | +| |///-----|linked |----///|| +-----------+ | | | | | | | | | +| || | | || | | | | | Test |--|----------------|---| | Release | +| |---------|| ----------+ || | | | | +----+ +---+ +----+ +---+ | | | +---| | +| | | | | | | | | | | | | | | | | | | || +------+ | +| | | | | | | | | | | | | | | | | | | || | | | +| | source | Build | |--|----------------|--| | | | | | | | | | | | |/ | | | +| | | | | | | | +----+ +---+ +----+ +---+ | | | //------ | | +| +---------+| |---------| || | | | | | | | | | | +| ||| | | || +-----------+ | | | | | | | | | +| |/// |assets | //|| | | | |----| |---| |----| |---| | | | +------+ | +| -----| |----/ | | | | | | | | | | | | | | | +| | | | | | | | | | | | | | | | +------------------------------+ +| ----------+ | | | +----+ +---+ +----+ +---+ | | +| | | | | | ++---------------------------------------------------------------+ | | | | + | | | | + | | | | + | +-----------------------------------------------+ | + | | + +-----------------------------------------------------+ diff --git a/docs/examples/japan-grid/japan.txt b/docs/examples/japan-grid/japan.txt index 01b9f9b5f..6b087f9fe 100644 --- a/docs/examples/japan-grid/japan.txt +++ b/docs/examples/japan-grid/japan.txt @@ -1,161 +1,286 @@ -|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | 北 海 道 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | 青 森 | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | 秋 田 | 岩 手 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -|----------||-----------|----------|----------||----------|-----------||-----------|----------|----------||----------|-----------|-----------| -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || 鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| 沖 縄 || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+----------++-----------+----------+----------++----------+-----------++-----------+----------+----------++----------+-----------+-----------+ ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | 北 海 道 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | 青 森 | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | 秋 田 | 岩 手 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||-----------|-----------|----------||-----------|----------||------------|----------|-----------||----------|------------|-----------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| ||鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| 沖 縄 || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ diff --git a/docs/examples/twitter/out.txt b/docs/examples/twitter/out.txt index 4ab174354..fe8a8e2fc 100644 --- a/docs/examples/twitter/out.txt +++ b/docs/examples/twitter/out.txt @@ -1,128 +1,288 @@ - |--------------| |--------------| |--------------| - | | | | | | - | | | | | | - | Android | | Iphone | | Web | - | | | | | | - | | | | | | - | | | | | | - +--------------+ +--------------+ +--------------+ - - | | | - || | || - |||| | ||| - ||| | ||| - |||| |-------|------| |||| - |||| |||| - | | - | | - |witter Fronten| - //////| / - //////////// | |/////// - ////////// | | ///// - /////////// +--------------+ ////// - ////////// //// - ||////// ////| - ||| || - || || - ||| ||| - || || - ||| || - +-----------------|----------------------------------------------------------------------------------------------------------------------|---------+ - | | | | - | | +-------|-------+ | - | | | | | - | |-------------|-------------| | | | - | | | |----------------------------------------------------------| | | | - | |TLS--PI (being deprecated) | | ## Tweet//ser content hydration, visibility filtering | | GraphQL | | - | | | +----------------------------------------------------------+ ////////|rated Strato Co/u|n - | +-------------|-------------+ /////////// | |/|//// - | | ///////////// | | | /////// - | | /////////// +---------------+ | /////// - | | /////////// | ///// - | || /////// | || - +-------------------|||--------------------------------------///////-------------------------------------------------------------------------------+ || - || | || - ||| // || - |||| //////////////// ||| - //////////////// | - //////////// ///////////// | - ////////////// /////////////// | - |////////// |---------------------------------------//------------------------------------------------------------------------------------------------|--| - | | | - | | |--------------------------------| | - | | | | | - | | | | | - | | | | | - |-------|------| | | | | - | | | -| ## **Time-in- mixer** | | - | Home mixer | | - |nject-ads, who-to-follow, onboar|ing | - /////////+--------------/ | | - 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 | | servic////////|//////| | -+-------------+ +--------------+ +--------------+ +--------------+ +-------------------+ +------|---------+ +-----////---+ +-----------+ +--------------+ //////---------------+ | | - || ////////// //////////// +--------|-----+ - | ///////// ///////////// | - || //////// //////// || - | ////////////// ///// | - || ///////////////// ///// | - | ///////////// ///// | - //////|/////// //// | - ///////////// | ///// | - |///// | ////// | - | +-------|--------------------------------------///------------------------------------------------------------------+ | - | | || ///////// | |---------------| - |----------------| | |-----------| ///////////// |-----------| |-------| |---------| |----------------| | | | - | | | | ///////// | | | | | | | | | | | - | Home Scorer | | | CrMixer | | EarlyBird | | Utag | | Space | | Communities | | | Feature | - | | | | | | | | | | | | | | ///// | - +--||--||---|----+ | +-----------+ +-----------+ +-------+ +---------+ +----------------+ | ////// /// | - ||| ||| || | | ////// ////+--|--------|---+ - ||| |||| ||| +-------------------------------------------------------------------------------------------------------------------+ //////// ///// || || - / | // |// ||// |/ || || - //// | ///// ///// || | | | - //// //// ///// || | || | - |//// //// ///// ||| | | | - | //// //// ///// || | | | - | ///// ////// ////// || || | | - | //////// ////////// ////////// || || | | - | ///////////////////////////////////////////////// ||| || | | - +-------|-------+ /////////////////////////////////////////////////// ||| || || | - | | //////////////////////////////////////////////////////// ||| || | +---------------+ - | | //////////////////////////////////// /////+---------/|/// |-------------|--| +-------|-----+ | | - | | ///////////////// ////////|/////////| //|///////////////// | | | | - P|ediction Servic| //////////| ...etc |//////| Memcache |///////| Manhattan | | Scoring | - | | | | | | | | | | - | | +---------+ | | +-------------+ | | - | | +----------------+ +------|--------+ - +---------------+ | - | - | - | - | - | - |------|-------| - | | - | | - | | - P|ediction Servi|e - | | - | | - | | - +--------------+ + +---------------+ +--------------+ +---------------+ + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | 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| + | | + | | + | | + | | + | | + | | + | | + | | + +---------------+ diff --git a/docs/examples/vector-grid/vector-grid.txt b/docs/examples/vector-grid/vector-grid.txt index f7acc848b..93e10dc74 100644 --- a/docs/examples/vector-grid/vector-grid.txt +++ b/docs/examples/vector-grid/vector-grid.txt @@ -1,184 +1,261 @@ -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| |-----------------------------------------------------------------------------------------------------------------------------------| |----------------------------------| | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | Random Matrix Generator | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| +-----------------------------------------------------------------------------------------------------------------------------------+ +----------------|-----------------+ | -| | | -| | | -| | | -| | | -| | | -| | | -| || | -| | | -| | | -| | | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------+ - | - | - | - | - | - | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------+ -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| +--------------------------------------------------------------------------------+ +--------------------------+ +----------------------------------|---------------------------+ +----------+ +--------------------------------------------------------------------------------+ | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | +------------+ | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | |-------|--------||----------|-----||-----------|-------||--------| | | | | | | |-----------||----------|-----------||----------| | | | | |--------|-------||-----------|------|----------||--------|--------| | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | . | . |------------ |------------- . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------- ------------- . | . | | | -| | |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 | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | +------------+ | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | --------+--------++----------+-----++-----------+-------++--------+ | | | | +-----------++----------+-----------++----------+ | | | | +--------+-------++-----------+------+----------++--------+--------+ | | -| | | | | | | || | || | | | | | | | -| | | | |---------| | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | +-+ | | | | || | || | | | | | | | -| | | | | | | | | | | || | || | | | | | | | -| | | | |ot |r|duc| | | | 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.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | || | || | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | +-----------++----------+-----------++----------+ | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | || | || | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | | -| | |0.62 | 0.15 ||----------|en Ve||-----------| 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 ||-----------|edmVec|----------|| 0.91 | 0.48 | | | -| | | | || | || | || | | | | | +-----------++----------+-----------++----------+ | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | --------+--------++----------+-----++-----------+-------++--------+ | | | | | | | | +--------+-------++-----------+------+----------++--------+--------+ | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| +--------------------------------------------------------------------------------+ +--------------------------+ +--------------------------------------------------------------+ +----------+ +--------------------------------------------------------------------------------+ | -| | -| | -| | -| | -| | -| | -| | -| | -| | -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------+ | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | 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 | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | | +--------+-------++----------+------+----------++-------+-------+ | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| +-----------------------------------------------------------------------------+ +-------------------------+ +-----------------------------------------------------------+ +----------+ +-----------------------------------------------------------------------------+ | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | +| | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/flow.txt b/docs/flow.txt index 358924ce6..5fc416711 100644 --- a/docs/flow.txt +++ b/docs/flow.txt @@ -1,31 +1,62 @@ - |---------| - |inputFile| - +-----|---+ - | - |-----|---| - |d2parser | - +-----|---+ - | - |---|---| - | d2ast | - +---|---+ - | - |-----|----| - |2compiler | - ------|----+ - | - |----|----| - | d2graph | - +----|----+ - | -|----------|----------| -|2layouts/d2dagrelayou| -+----------|----------+ - | - |-----|----| - |2exporter | - ------|----+ - | - |----|----| - |d2target | - +---------+ + +-----------+ + | | + |inputFile | + | | + +------|----+ + | + | + | + | + |------|----| + | d2parser | + | | + +------|----+ + | + | + | + | + |----|---| + | | + | d2ast | + +----|---+ + | + | + | + | + |------|-----| + | | + |d2compiler | + -------|-----+ + | + | + | + | + +-----|-----+ + | | + | d2graph | + | | + +-----|-----+ + | + | + | + | +|------------|-----------| +|d2layouts//2dagrelayout | +| | ++------------|-----------+ + | + | + | + | + |------|-----| + |d2exporter | + | | + -------|-----+ + | + | + | + | + |-----|-----| + | | + | d2target | + +-----------+