diff --git a/d2renderers/d2ascii/d2ascii.go b/d2renderers/d2ascii/d2ascii.go index 131a5e6b1..410dc2b15 100644 --- a/d2renderers/d2ascii/d2ascii.go +++ b/d2renderers/d2ascii/d2ascii.go @@ -4,7 +4,6 @@ import ( "bytes" "fmt" "math" - "sort" "strings" "oss.terrastruct.com/d2/d2target" @@ -64,11 +63,9 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) { } } - width, height = canvas.AutoSize() - fmt.Println("==== ", canvas.w, canvas.h, "====") - fmt.Println("==== ", width, height, "====") - canvas.ReScale(width, height) - + height = canvas.AutoHeight() + fmt.Println(canvas.h, height) + canvas.ReScale(canvas.w, height) return canvas.TrimBytes(), nil } @@ -326,181 +323,34 @@ func (c *Canvas) TrimBytes() []byte { return buf.Bytes() } -func (c *Canvas) AutoSize() (width, height int) { - type boxInfo struct { - x, y, w, h int - text string - hasUp, hasDown bool - hasLeft, hasRight bool - hasDiagonal bool - originalWidth int - } - - boxes := make([]boxInfo, 0) - - // Collect boxes and their connections - for _, pos := range c.textPositions { - up, down, left, right, diag := false, false, false, false, false - - // Check surrounding area for connections - checkRange := 2 - minX := max(0, pos.x-checkRange) - maxX := min(c.w, pos.x+pos.w+checkRange) - minY := max(0, pos.y-checkRange) - maxY := min(c.h, pos.y+pos.h+checkRange) - - // Check vertical connections - for x := pos.x; x < pos.x+pos.w; x++ { - if pos.y > 0 && c.grid[pos.y-1][x] == '|' { - up = true - } - if pos.y+pos.h < c.h && c.grid[pos.y+pos.h][x] == '|' { - down = true - } - } - - // Check horizontal and diagonal connections - for y := minY; y < maxY; y++ { - for x := minX; x < maxX; x++ { - ch := c.grid[y][x] - switch ch { - case '-': - if x < pos.x { - left = true - } else if x >= pos.x+pos.w { - right = true - } - case '/', '\\': - diag = true - } - } - } - - boxes = append(boxes, boxInfo{ - x: pos.x, - y: pos.y, - w: pos.w, - h: pos.h, - text: pos.text, - hasUp: up, - hasDown: down, - hasLeft: left, - hasRight: right, - hasDiagonal: diag, - originalWidth: pos.w, - }) - } - - // Sort boxes vertically - yBoxes := make([]boxInfo, len(boxes)) - copy(yBoxes, boxes) - sort.Slice(yBoxes, func(i, j int) bool { - return yBoxes[i].y < yBoxes[j].y - }) - - // Calculate vertical layout with increased padding +func (c *Canvas) AutoHeight() int { currY := 0 - yMapping := make(map[int]int) + mapping := make(map[int]int) - for i, box := range yBoxes { - lines := strings.Split(box.text, "\n") - minHeight := len(lines) + 4 // padding + border - - if box.hasDiagonal { // Add extra height for diagonal connections - minHeight += 2 - } + for i, label := range c.textPositions { + lines := strings.Split(label.text, "\n") + minHeight := len(lines) + 2 // +border if i == 0 { - yMapping[box.y] = 2 // Start with some padding + mapping[label.y] = 0 currY = minHeight + 2 continue } - spacing := 2 // spacing between boxes - prevBox := yBoxes[i-1] - - // Add more spacing for connections - if box.hasUp || prevBox.hasDown { - spacing = 3 - } - if box.hasDiagonal || prevBox.hasDiagonal { - spacing = 4 - } - - yMapping[box.y] = currY + spacing - currY = yMapping[box.y] + minHeight + mapping[label.y] = currY + 3 // +spacing + currY = mapping[label.y] + minHeight } - // Calculate final height maxH := 0 - for _, box := range yBoxes { - newY := yMapping[box.y] - lines := strings.Split(box.text, "\n") - boxHeight := len(lines) + 4 // padding + border - - if box.hasDiagonal { - boxHeight += 2 - } + for _, label := range c.textPositions { + newY := mapping[label.y] + lines := strings.Split(label.text, "\n") + boxHeight := len(lines) + 2 // +border maxH = max(maxH, newY+boxHeight) } - // Add extra vertical padding for top/bottom connections - topPad := 2 - bottomPad := 2 - for x := 0; x < c.w; x++ { - if c.grid[0][x] != ' ' { - topPad = 3 - } - if c.grid[c.h-1][x] != ' ' { - bottomPad = 3 - } - } - maxH += topPad + bottomPad - - // preserve the original width of each box - // but ensure it's wide enough for the content - maxW := 0 - for _, box := range boxes { - // Calculate minimum width needed for text - lines := strings.Split(box.text, "\n") - textWidth := 0 - for _, line := range lines { - textWidth = max(textWidth, len(line)) - } - - requiredWidth := textWidth + 4 // Base padding - - // Add extra width for connections - if box.hasLeft { - requiredWidth += 2 - } - if box.hasRight { - requiredWidth += 2 - } - if box.hasDiagonal { - requiredWidth += 4 - } - - // Use the larger of required width or original width - effectiveWidth := max(requiredWidth, box.originalWidth) - maxW = max(maxW, box.x+effectiveWidth) - } - - // Add padding for edge connections - leftPad := 2 - rightPad := 2 - for y := 0; y < c.h; y++ { - if c.grid[y][0] != ' ' { - leftPad = max(leftPad, 3) - } - if c.grid[y][c.w-1] != ' ' { - rightPad = max(rightPad, 3) - } - } - maxW += leftPad + rightPad - - return min(c.w, maxW), min(c.h, maxH) + return maxH } // ReScale reduces the size of ASCII art using a pixel-like sampling technique diff --git a/docs/examples/chess/dia.txt b/docs/examples/chess/dia.txt index 02a939136..4014dcbfa 100644 --- a/docs/examples/chess/dia.txt +++ b/docs/examples/chess/dia.txt @@ -1,53 +1,29 @@ - |----------| - | | - H|ns Niemann| - / | - /////---||---||-/// - ///// || | //// - ////// ||| ||| ///// - ||| | | | - ||| | | | - | || | || - | | | | - | || || | -||--------------|-------------|| | -| ||| || | -| |---------|--| || | -| | | || | -| |agnus Carlse| || | -| +------------+ || | -| | || | -| | || | -| | || | -| | || | -| | || | -| | || | -| | || | -| |-------------| || | -|Pl|y Magnus Grou| || | -| | | || | -| --------------+ || | -| | || | -| | || | -| | || | -| |efendants || | -| ||| /// | | -| | /// | | -| +---------/// | | -| | | | | -| |Ches..com| | | -| | | | | -| +----|----+ | | -| | | | -| | | | -| | | || -| || | /|| -| || | /// -| || | /// -| |----|--------|/|/ -| | | | -| |ikaru Nakamur| | -| | | | -| +-------------+ | -| | -+-----------------------------+ + |-----------------| + / Hans Niemann | + ///////////+---|||------|||--/////// + ||////////// |||| ||| ///////| + ||||| || || || + | || | || +|-|---------------------||---------------------|| || +| |--------------|---| || | +| | Magnus Carlsen | || | +| +---------|--------+ || | +| | || | +| | || | +| | || | +| |----------|----------| || | +| | Play Magnus Group | || | +| +----------|----------+ || | +| | || | +| || defendants |||| | +| |||| //////|| | | +| |---|----------|///// | | +| | Chess.com | | | +| +-------|------+ | | +| | | | +| || | |||| +| ||| | /////////| +| |-------|------------|///|/// +| | Hikaru Nakamura | | +| +--------------------+ | ++----------------------------------------------+ diff --git a/docs/examples/flipt/output.txt b/docs/examples/flipt/output.txt index 3ee0ca725..a56cb3d78 100644 --- a/docs/examples/flipt/output.txt +++ b/docs/examples/flipt/output.txt @@ -1,37 +1,24 @@ - |-----------------------------------------------------| - | | - | |-----------------------------------------------| | - | | | | - | | | | - | | | | - | | | | - | | |----| |---| |----| |---| | | - | | | | | | | | | | | | |------------------------------| - | | | | | | | | | | | | | | - | | +----+ +---+ +----+ +---+ | | | |------| | -+---------------------------------------------------------------+ | | | | | | | | -| | | | | | | | | | -| | | | |----| |---| |----| |---| | | | ///-----| | | -| |---------| | | | | | | | | | | | | | | || | | | -| | | | | | | | | | | | | | | | | || +------+ | -| | | | | | +----+ +---+ +----+ +---+ | | | +---+|| | -| |///-----|linked |----///|| +-----------+ | | | | | | | | | -| || | | || | | | | | Test |--|----------------|---| | 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 6b087f9fe..6ddb09ea4 100644 --- a/docs/examples/japan-grid/japan.txt +++ b/docs/examples/japan-grid/japan.txt @@ -1,286 +1,241 @@ -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | 北 海 道 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | 青 森 | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | 秋 田 | 岩 手 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -|-----------||-----------|-----------|----------||-----------|----------||------------|----------|-----------||----------|------------|-----------| -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| ||鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| 沖 縄 || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -| || | | || | || | | || | | | -+-----------+------------+----------------------++-----------+----------++-----------------------+-----------++----------+------------+-----------+ +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | 北 海 道 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | 青 森 | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | 秋 田 | 岩 手 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | 石 川 | || 新 潟 | 山 形 | 宮 城 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | 福 井 | 富 山 || 群 馬 | 栃 木 | 福 島 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | 山 口 | 島 根 || 鳥 取 | 兵 庫 || 京 都 | 滋 賀 | 長 野 || 山 梨 | 埼 玉 | 茨 城 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | 広 島 || 岡 山 | 大 阪 || 奈 良 | 岐 阜 | 愛 知 || 静 岡 | TOKYO | 千 葉 | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| 長 崎 || 佐 賀 | 福 岡 | || | || 和 歌 山 | 三 重 | || | 神 奈 川 | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || 熊 本 | 大 分 | || 愛 媛 | 香 川 || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || 鹿 児 島 | 宮 崎 | || 高 知 | 徳 島 || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +|-----------||------------|-----------|-----------||-----------|-----------||------------|-----------|-----------||-----------|------------|------------| +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| 沖 縄 || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | +| || | | || | || | | || | | | ++-----------++------------+-----------+-----------++-----------+-----------++------------+-----------+-----------++-----------+------------+------------+ diff --git a/docs/examples/twitter/out.txt b/docs/examples/twitter/out.txt index fe8a8e2fc..ee47d9815 100644 --- a/docs/examples/twitter/out.txt +++ b/docs/examples/twitter/out.txt @@ -1,288 +1,187 @@ - +---------------+ +--------------+ +---------------+ - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | Android | | Iphone | | Web | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - | | | | | | - +---------------+ +--------------+ +---------------+ - - - - | | | - | | | - | | | - || | | - | | | - || | || - || | || - || | || - || | || - | | | - | +------|-------+ | - || | | || - | | | | - || || - | | - | | - | | - | | - | | - |witter Fronten| - // | - ///// | / - ///// | |/// - /// | | / - ///// | | /// - ///// | | /// - ///// | | // - ///// +--------------+ /// - ////// /// - // / - ///// /// - ////// // - |/// /// - | | - | | - | | - | | - | || - || | - || | - || | - | || - | | - || || - | | - | | - +-----------------|-------------------------------------------------------------------------------------------------------------------------|----------+ - | | | | - | | | | - | | | | - | | | | - | | |-------|-------| | - | | | | | - | | | | | - | +-------------|-------------+ | | | - | | | | | | - | | | | | | - | | | |------------------------------------------------------------| | | | - | | | | | | | | - | |TLS--PI (being deprecated) | | ## Tweet//ser content hydration, visibility filtering | | GraphQL | | - | | | | | Fe//rated Strato Co|um| - | | | | | /// | | | - | | | +------------------------------------------------------------+ ///// | / | - | +---------------------------+ ////// | |/// - | | ///// | | |//// - | | ////// | | | /// - | | ///// | | | // - | | /// | | | / - | | ///// +---------------+ | /// - | | ///// | //// - | | ////// | /// - | | ///// | /// - | | //// | | - | | //// | | - +-------------------|-----------------------------------------------/----------------------------------------------------------------------------------+ | - | //// | - || |// || - | | | - || | | - || | || - | // | - || /////// || - || /////// | - ||/ ////// | - //////// | - ////// /////// | - /// //// | - /////// /////// | - /////// //////// | - /////// /////// | - ////// //////// | - |///// |-----------------------------------------//--------------------------------------------------------------------------------------------------|--| - | | | - | | | - | | | - | | +----------------------------------+ | - | | | | | - | | | | | - | | | | | - | | | | | - | | | | | - | | | | | - | | | | | - +-------|-------+ | | | | - | | | | | | - | | | | | | - | | | | | | - | | | -| ## **Time-in- mixer** | | - | Home mixer | | - |nject -ds, who-to-follow, onboardi|g | - | | | | - Conversation module | | - ///| | | | - Cursoring,pagination | | - //// //| | | | - Tweat deduplication | | - // // +---------------/ | | - Served data logging | | - //// // || | | || // | | | | - //// /// || | | || // | | | | - /// /// || | | | // | | | | - //// // || | | || // | | | | - //// /// || | | || // | | | | - // / | | | | / | | | | - //// // || || | || // | | | | - //// /// || | | || // | | | | - //// // || | | || // | +----------------------------------+ | - //// /// || | | | // | | - //// /// || | | || // | | - |/ / | | | | / | | - || | | | | | | +---|--------------|-------------|-------------------------|----------------------|----------------------------------------|---------------------+ - || | | | | | | | | | | | | - || || | | || || | | | | | | | - || || | | | | | | | | | | | - || | | | | | | | | | | | | - || | | | | || || | | | | | | - | | | | | | | | | | | | | - | | | | | | | | | | | | | - | || || | | | | | | | | | | - | | | | | || | | | | | | | - | | | | | | || | | | | | | - | | || | | | || | || | | | | - | | | | | | | | | | | | | - || | | | | | / /| | | | | | - | | | | || || /// /// || | | | | - | | | | || | /// || | | | | - | | | | || || /// // || | | | | - | | | | || || // /// | | | | | - | | | | || ||/ // || | | | | - | | | | | / | //| | | | | +--------------+ - | | | | | /// | |// || | | | | | - | | | | | // || || // |------------| | |---------------| |------------------| | | -|--------------| |---------------| |-------------| |--------------| |-------------------| |----------------| ///| | |-----------| | | | | | | -| | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | -| | | | | | | | | | | | | | | | | | | | | | -| Tweety Pie | | Social graph | | Gizmoduck | | Manhattan | | Timeline Service | | Home Ranker | | Timeline | | Ad mixer | | Onboarding | |People discovery | | Fetch | -| | | | | | | | | | | | | Scorer | | | | service | | service | ///// | -| | | | | | | | | | | |// | | | | | | | |///////| | -| | | | | | | | | | | | //// | | | | | | | /////| | | -+--------------+ +---------------+ +-------------+ +--------------+ +-------------------+ +------|---------+ /|/// | +-----------+ | | | ////// | | | - | | // | | | | /// | | | - | +-----////---+ +---------------+ //////--------------+ | | - || ///// ////// +--------|-----+ - | ///// /////// | - | //// ////// | - | ///// /////// | - || //// ////// | - | // // | - | ////// // | - | /////// /// | - | /////// // | - || /////// // | - | /////// // | - | /// / | - | //////// /// | - | /////// // | - ///|/// // | - ////// || // | - /////// | /// | - /// | / | - |///// | // | - | | //// | - | || ////// | - | +-------|----------------------------------------///--------------------------------------------------------------------+ | - | | | ///// | | - | | || ///// | |----------------| - | | | /// | | | - | | | ///// | | | - |----------------| | |-----------| ///// |------------| |-------| |---------| |----------------| | | | - | | | | | ////// | | | | | | | | | | | - | | | | //// | | | | | | | | | | | - | | | | | | | | | | | | | | | | - | Home Scorer | | | CrMixer | | EarlyBird | | Utag | | Space | | Communities | | | Feature | - | | | | | | | | | | | | | | | | - | | | | | | | | | | | | | | |/// | - | | | | | | | | | | | | | | //| | - +---|--||---|----+ | +-----------+ +------------+ +-------+ +---------+ +----------------+ | //// |// | - | || || | | /// /| | - | || | | | / / | | - || | | | | | //// // +--|--------|----+ - | ||| | +-----------------------------------------------------------------------------------------------------------------------+ /// // | | - || || | /// // | | - || | | | //// // || || - /| | / / | |/ || || - // | // /// | || | | - / | / / | | | | - // | /// /// | | | | - // | // // | | || | - // // /// | | | | - |// // // || | | | - | // /// /// || | | | - | / / / | | | | - | // // /// || | | | - | // // // || || || | - | // // /// | | | | - | // /// // | || | | - | // // /// | | | | - | /////// //////// //////// | | | | - | ///// //// ////// | | | | - | //////// ////////// ////////// | || | | - | ///////// ///////// ////////// || || | | - | ///////// ////////// ////////// || || || | - |-------|-------| ///////// ///////// ////////// || || | | - | | ///////// ///////// /////////// || || | - | | //// //// ///// | | | +----------------+ - | | ///////// ////////// ////////// || |----------------| | | | - | | //////// ///////// +---------/|/// | | +--------|-----+ | | - | | ///////// ////////// | //|/////// | | | | | - | | //////// |/////////| | ////////// | | | | - | | ///////// | |/////// |//////// | | | - | | /// | | | | | | | - P|ediction Servic| | ...etc | | Memcache | | Manhattan | | Scoring | - | | | | | | | | | | - | | | | | | | | | | - | | | | | | | | | | - | | +---------+ | | +--------------+ | | - | | | | | | - | | +----------------+ | | - | | +-------|--------+ - +---------------+ | - | - | - | - | - | - | - | - | - | - | - | - | - | - |-------|-------| - | | - | | - | | - | | - | | - | | - | | - P|ediction Servic| - | | - | | - | | - | | - | | - | | - | | - | | - +---------------+ + +---------------+ +---------------+ +---------------+ + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | Android | | Iphone | | Web | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + | | | | | | + +---------------+ +---------------+ +---------------+ + + | | | + | | | + || | || + || | || + || | || + ||| | ||| + || +-------|-------+ || + ||| | | ||| + ||| ||| + | | + | | + | | + |witter Frontend| + ///| | + //////// | |/// + //////// | | //// + ///// | | /// + //////// | | //// + //////// +---------------+ //// + /////// //// + //////// //// + ||/ /| + || | + | | + || || + || || + ||| | + || | + || | + | | + |-----------------|---------------------------------------------------------------------------------------------------------------------------|----------| + | | | | + | | | | + | | |-------|-------| | + | | | | | + | +-------------|--------------+ | | | + | | | | | | + | | | |-------------------------------------------------------------| | | | + | | TLS-API (being deprecated) | | ## Tweet/user content hydration, visibility filtering | | GraphQL | | + | | | | | ////|rated Strato Co|um| + | | | +-------------------------------------------------------------+ //////// | |//| + | +-------------|--------------+ //////// | | |//// + | | ////// | | | /// + | | //////// | | | //// + | | //////// +---------------+ | ///// + | | ///////// | ///// + | | /////// | ///| + | || ////// | || + +-------------------||---------------------------------------------///-----------------------------------------------------------------------------------+ || + ||| |//// || + || | || + || | || + || ///////// || + || ////////// || + |/////////// | + /////// /////// | + ////////// /////////// | + ////////// //////////// | + ////////// /////////// | + |///// |-----------------------------------------//----------------------------------------------------------------------------------------------------|--| + | | | + | | | + | | |----------------------------------| | + | | | | | + | | | | | + | | | | | + | | | | | + |-------|-------| | | | | + | | | | | | + | | | -| ## **Time-in- mixer** | | + | Home mixer | | -|Inject-ads, who-to-follow, onboard|ng | + ///| | | | - Conversation module | | + /////////+---------------/ | | - Cursoring,pagination | | + ////// //// || | || || /// | | - Tweat deduplication | | + //// // || || | || // | | - Served data logging | | + ////// //// || | || ||| /// | | | | + ////// //// || | || ||| /// | | | | + ////// //// || || || ||| /// | | | | + ////// //// ||| | | || /// | +----------------------------------+ | + ////// //// ||| || | || /// | | + |/// /// | | || | // | | + || || | | | || || +---|--------------|-------------|--------------------------|----------------------|-----------------------------------------|---------------------+ + || || || | || || || | | | | | | + || || | | | || || | | | | | | + || || || | | || || | | | | | | + || || | | || | || | | | | | | + || || || | | | | | | | | | | + || || | | | | | || || | | | | + || || || | || || || || || || | | | + || || | | | || |/ /| || | | | | + | | | | || ||| /////// || || | | | + | | | | || ||| //// /// ||| || | | | + | | | | || ||| //// //// || || | | | + | | | | | /|| ///|| || | | | +--------------+ + | | | | || //// ||| ||/// +------------+ | +---------------+ +-------------------+ | | +|--------------| |---------------| |--------------| |--------------| |-------------------| |----------------| ////| | |------------| | | | | | | +| | | | | | | | | | | | | | | | | | | | | | +| | | | | | | | | | | | | Timeline | | | | Onboarding | | People discovery | | | +| Tweety Pie | | Social graph | | Gizmoduck | | Manhattan | | Timeline Service | | Home Ranker | | Scorer | | Ad mixer | | service | | service | /////Fetch | +| | | | | | | | | | | |//// | | | | | | | //////////| | +| | | | | | | | | | | | //// | | | | | | ////// | | | ++--------------+ +---------------+ +--------------+ +--------------+ +-------------------+ +------|---------+ +-----//-----+ +------------+ +---------------+ +-///---------------+ | | + || /////// ///////// +--------|-----+ + | /////// ////////// || + | /////// ////////// | + || ////// //////// || + | ////// // | + | ////////// //// | + || /////////// /// | + | ////////// /// | + | /////////// //// | + ///|/////// /// | + ////////// || /// | + /////// | /// | + |///// | //// | + | || //////// | + | |-------|--------------------------------------/////---------------------------------------------------------------------| | + | | || //////// | |----------------| + | | | //////// | | | + |----------------| | |-----------| ///// |------------| |--------| |---------| |----------------| | | | + | | | | | //////// | | | | | | | | | | | + | | | | |/ | | | | | | | | | | | + | Home Scorer | | | CrMixer | | EarlyBird | | Utag | | Space | | Communities | | | Feature | + | | | | | | | | | | | | | | ///// | + +---|--||---|----+ | +-----------+ +------------+ +--------+ +---------+ +----------------+ | ///// |// | + || || || | | //// //| | + || | | | | | //// // +--|--------|----+ + || ||| || +------------------------------------------------------------------------------------------------------------------------+ ///// /// || || + || ||| || ///// /// || || + // | // // || |/ || || + /// | //// //// || | | | + /// | /// //// || || || | + // // /// | | | | + |/// //// //// || | | | + | /// /// /// | || | | + | /// /// //// || || || | + | /// //// //// || | | | + | /// /// //// || | | | + | /////// //////// //////// | | | | + | ///////////// ////////////// //////////////// || || | | + | ////////////// ////////////// //////////////// || || | | + |-------|-------| ///////////// ////////////// /////////////// ||| || | | + | | ///////////// ////////////// //////////////// ||| || | +----------------+ + | | ///////////// /////////////// //////////////// ||| |--------------|--| | | | + | | ////////////// //////////////---------||/////|/////// | |--------|-----| | | + | | //////// |/////////| | /////////// | | | | + | | //////////// |//////| |///////| | | | + |rediction Servi|e | ...etc | | Memcache | | Manhattan | | Scoring | + | | | | | | | | | | + | | +---------+ | | +--------------+ | | + | | | | | | + | | +-----------------+ +-------|--------+ + +---------------+ | + | + | + | + | + | + | + | + | + |-------|-------| + | | + | | + | | + | | + | | + |rediction Servi|e + | | + | | + | | + | | + +---------------+ diff --git a/docs/examples/vector-grid/vector-grid.txt b/docs/examples/vector-grid/vector-grid.txt index 93e10dc74..913ff4d14 100644 --- a/docs/examples/vector-grid/vector-grid.txt +++ b/docs/examples/vector-grid/vector-grid.txt @@ -1,261 +1,276 @@ -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------------------------+ | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | Random Matrix Generator | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| | | | | | -| +-------------------------------------------------------------------------------------------------------------------------------+ +----------------|-----------------+ | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+ - | - | - | - | - | - | - | - | - | -+----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------+ -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| | | -| +-----------------------------------------------------------------------------+ +-------------------------+ +--------------------------------|--------------------------+ +----------+ +-----------------------------------------------------------------------------+ | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | | | | | | | | | | -| | | | ------------+ | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | | | | | | | | | | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | . | . |------------- |------------ . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------ ------------- . | . | | | -| | | 0.62 | 0.15 || n-si|nd V||tor | 0.91 ||0.48 | | | | | | | | 0.41 || 0.32 | 0.92 || 0.13 | | | | | | 0.62 | 0.15 || m-si|edmVec|or || 0.91 | 0.48 | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | ------------+ | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | +----------++----------------------++----------+ | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | | | | || | || | | | | | | | -| | | | +---------+ | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | +-+ | | | | || | || | | | | | | | -| | | | | | | | | | | || | || | | | | | | | -| | | | Dot |r|duct | | | . || . | . || . | | | | | | | -| | | | | | | | | | | 0.74 || 0.15 | 0.53 || 0.21 | | | | | | | -| | | | | | | | | | | || | || | | | | | | | -| | | | | +-+ | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | | | | | | | | || | || | | | | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | +---------+ | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | ---------------------- | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | . | . |------------- |------------ . || . | | | | | | || | || | | | | | | . | . |------------ ------------- . | . | | | -| | | 0.62 | 0.15 || n-si|nd V||tor | 0.91 ||0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 || m-si|edmVec|or || 0.91 | 0.48 | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | +----------++----------------------++----------+ | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | | | | | | || | || | | | | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | | || | || | | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | | -| | | 0.62 | 0.15 |-------------nd V|------------ 0.91 ||0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |------------edmVec------------- 0.91 | 0.48 | | | -| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | +----------++----------------------++----------+ | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | | | || | || | || | | | | | | | | | | | || | | || | | | | -| | +-------+-------++----------------++----------+--------+--------+ | | | | | | | | +--------+-------++----------+------+----------++-------+-------+ | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| | | | | | | | | | | | -| +-----------------------------------------------------------------------------+ +-------------------------+ +-----------------------------------------------------------+ +----------+ +-----------------------------------------------------------------------------+ | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -| | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | +| | +| | +| | +| | +| | +| | +| | +| | + +| | +| | +| | +| | +| | +| +----------------------------------------------------------------------------------------------------------------------------------------+ +------------------------------------+ | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | + +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | Random Matrix Generator | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | + +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| +----------------------------------------------------------------------------------------------------------------------------------------+ +-----------------|------------------+ | +| | | +| | | +| | | +| | | + +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+ + | + | + | + | + | + | + + | + | + | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------+ +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | +| | | + +| | | +| +-----------------------------------------------------------------------------------+ +---------------------------+ +-----------------------------------|----------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | | | | | | | | | | +| | | | +------------+ | | | | | | | | | +| | | | | | | | | | | | | | + +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | +| | | | | | | | | | | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | +-----------++-----------+-----------++-----------+ | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | + +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | . | . |------------- |------------- . || . | | | | | | | | . || . | . || . | | | | | | . | . |------------- -------------- . | . | | | +| | | 0.62 | 0.15 || n-s|zen V||tor | 0.91 || 0.48 | | | | | | | | 0.41 || 0.32 | 0.92 || 0.13 | | | | | | 0.62 | 0.15 || m-s|zem Ve|tor || 0.91 | 0.48 | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | +------------+ | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | +-----------++-----------+-----------++-----------+ | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | | | | || | || | | | | | | | +| | | | +---------+ | | | || | || | | | | | | | + +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | +-+ | | | | || | || | | | | | | | +| | | | | | | | | | | || | || | | | | | | | +| | | | Dot |r|duct | | | . || . | . || . | | | | | | | +| | | | | | | | | | | 0.74 || 0.15 | 0.53 || 0.21 | | | | | | | +| | | | | | | | | | | || | || | | | | | | | +| | | | | +-+ | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | | | | | | | | || | || | | | | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | + +| | | | || | || | || | | | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | +---------+ | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | ----------------------- | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | . | . |------------- |------------- . || . | | | | | | || | || | | | | | | . | . |------------- -------------- . | . | | | +| | | 0.62 | 0.15 || n-s|zen V||tor | 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 || m-s|zem Ve|tor || 0.91 | 0.48 | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | + +| | | | || | || | || | | | | | | 0.97 || 0.45 | 0.11 || 0.05 | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | +-----------++-----------+-----------++-----------+ | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | + +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | | | | | | || | || | | | | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | || | || | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | . || . | . || . | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | 0.61 || 0.77 | 0.59 || 0.83 | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | + +| | | . | . || - | || | . || . | | | | | | || | || | | | | | | . | . || - | | || . | . | | | +| | | 0.62 | 0.15 |-------------zen V|------------- 0.91 || 0.48 | | | | | | || | || | | | | | | 0.62 | 0.15 |-------------zem Ve-------------- 0.91 | 0.48 | | | +| | | | || | || | || | | | | | | || | || | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | +-----------++-----------+-----------++-----------+ | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | | | || | || | || | | | | | | | | | | | || | | || | | | | +| | +--------+--------++-----------+-----++-----------+--------++--------+ | | | | | | | | +--------+--------++-----------+------+-----------++--------+--------+ | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | + +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| | | | | | | | | | | | +| +-----------------------------------------------------------------------------------+ +---------------------------+ +----------------------------------------------------------------+ +-----------+ +-----------------------------------------------------------------------------------+ | +| | +| | +| | +| | +| | +| | + +| | +| | +| | +| | +| | +| | +| | +| | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/flow.txt b/docs/flow.txt index 5fc416711..10b73cf24 100644 --- a/docs/flow.txt +++ b/docs/flow.txt @@ -1,62 +1,41 @@ - +-----------+ - | | - |inputFile | - | | - +------|----+ - | - | - | - | - |------|----| - | d2parser | - | | - +------|----+ - | - | - | - | - |----|---| - | | - | d2ast | - +----|---+ - | - | - | - | - |------|-----| - | | - |d2compiler | - -------|-----+ - | - | - | - | - +-----|-----+ - | | - | d2graph | - | | - +-----|-----+ - | - | - | - | -|------------|-----------| -|d2layouts//2dagrelayout | -| | -+------------|-----------+ - | - | - | - | - |------|-----| - |d2exporter | - | | - -------|-----+ - | - | - | - | - |-----|-----| - | | - | d2target | - +-----------+ + |------------| + | inputFile | + +------|-----+ + | + | + |------|-----| + | d2parser | + +------|-----+ + | + | + | + |----|----| + | d2ast | + +----|----+ + | + | + |-------|------| + | d2compiler | + +-------|------+ + | + | + | + |-----|------| + | d2graph | + +-----|------+ + | + | +|-------------|-------------| +| d2layouts/d2dagrelayout | ++-------------|-------------+ + | + | + +-------|------+ + | | + | d2exporter | + +-------|------+ + | + | + |-----|------| + | d2target | + +------------+