retain text/label
This commit is contained in:
parent
3c92ce1679
commit
24a413a737
7 changed files with 428 additions and 395 deletions
|
|
@ -79,6 +79,11 @@ func Render(diagram *d2target.Diagram, opts *RenderOpts) ([]byte, error) {
|
|||
}
|
||||
|
||||
// Canvas handles the ASCII grid and drawing operations
|
||||
type TextPosition struct {
|
||||
x, y, w, h int
|
||||
text string
|
||||
}
|
||||
|
||||
type Canvas struct {
|
||||
grid [][]rune
|
||||
w, h int
|
||||
|
|
@ -87,6 +92,9 @@ type Canvas struct {
|
|||
scaleX, scaleY float64
|
||||
offsetX, offsetY int
|
||||
pad int
|
||||
|
||||
// Track text positions
|
||||
textPositions []TextPosition
|
||||
}
|
||||
|
||||
func NewCanvas(w, h int) *Canvas {
|
||||
|
|
@ -250,6 +258,9 @@ func (c *Canvas) drawLine(x1, y1, x2, y2 int) {
|
|||
}
|
||||
|
||||
func (c *Canvas) drawCenteredText(x, y, w, h int, text string) {
|
||||
// Record position first
|
||||
c.textPositions = append(c.textPositions, TextPosition{x, y, w, h, text})
|
||||
|
||||
lines := strings.Split(text, "\n")
|
||||
startY := y + (h-len(lines))/2
|
||||
|
||||
|
|
@ -322,62 +333,84 @@ func (c *Canvas) TrimBytes() []byte {
|
|||
}
|
||||
|
||||
// ReScale reduces the size of ASCII art using a pixel-like sampling technique
|
||||
// BUG: somehow the text label disappear 😂
|
||||
func (c *Canvas) ReScale(targetWidth, targetHeight int) {
|
||||
// Calculate sampling box size
|
||||
boxWidth := float64(c.w) / float64(targetWidth)
|
||||
boxHeight := float64(c.h) / float64(targetHeight)
|
||||
scaleX := float64(targetWidth) / float64(c.w)
|
||||
scaleY := float64(targetHeight) / float64(c.h)
|
||||
|
||||
// Create new grid
|
||||
newGrid := make([][]rune, targetHeight)
|
||||
for i := range newGrid {
|
||||
newGrid[i] = make([]rune, targetWidth)
|
||||
for j := range newGrid[i] {
|
||||
newGrid[i][j] = ' '
|
||||
}
|
||||
}
|
||||
|
||||
// Sample characters from original grid
|
||||
for y := 0; y < targetHeight; y++ {
|
||||
for x := 0; x < targetWidth; x++ {
|
||||
// Calculate sampling box boundaries
|
||||
startX := int(float64(x) * boxWidth)
|
||||
endX := int(float64(x+1) * boxWidth)
|
||||
startY := int(float64(y) * boxHeight)
|
||||
endY := int(float64(y+1) * boxHeight)
|
||||
// First scale the borders and lines (source -> target mapping)
|
||||
for y := 0; y < c.h; y++ {
|
||||
targetY := int(float64(y) * scaleY)
|
||||
if targetY >= targetHeight {
|
||||
continue
|
||||
}
|
||||
|
||||
// Count character occurrences in the sampling box
|
||||
charCount := make(map[rune]int)
|
||||
for sy := startY; sy < endY && sy < c.h; sy++ {
|
||||
for sx := startX; sx < endX && sx < c.w; sx++ {
|
||||
ch := c.grid[sy][sx]
|
||||
charCount[ch]++
|
||||
}
|
||||
for x := 0; x < c.w; x++ {
|
||||
targetX := int(float64(x) * scaleX)
|
||||
if targetX >= targetWidth {
|
||||
continue
|
||||
}
|
||||
|
||||
// Choose the most appropriate character
|
||||
var maxCount int
|
||||
var dominant rune = ' '
|
||||
ch := c.grid[y][x]
|
||||
if ch == '+' || ch == '-' || ch == '|' || ch == '/' || ch == '\\' || ch == '.' {
|
||||
newGrid[targetY][targetX] = ch
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Priority order for characters
|
||||
priorities := []rune{'+', '|', '-', '/', '\\', '.', ' '}
|
||||
for _, ch := range priorities {
|
||||
if count := charCount[ch]; count > maxCount {
|
||||
maxCount = count
|
||||
dominant = ch
|
||||
}
|
||||
// Then redraw text at scaled positions
|
||||
for _, pos := range c.textPositions {
|
||||
// Get box dimensions in source coordinates first
|
||||
srcBoxCenterY := pos.y + pos.h/2
|
||||
|
||||
// Split text into lines
|
||||
lines := strings.Split(pos.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)
|
||||
newY := int(float64(srcStartY) * scaleY)
|
||||
newW := int(float64(pos.w) * scaleX)
|
||||
|
||||
// Draw each line centered horizontally
|
||||
for i, line := range lines {
|
||||
targetY := newY + i
|
||||
if targetY >= targetHeight {
|
||||
break
|
||||
}
|
||||
if targetY < 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
// Special cases for line preservation
|
||||
hasVertical := charCount['|'] > 0 || charCount['+'] > 0
|
||||
hasHorizontal := charCount['-'] > 0 || charCount['+'] > 0
|
||||
// Center text horizontally within the scaled box
|
||||
startX := newX + (newW-len(line))/2
|
||||
for j, ch := range line {
|
||||
targetX := startX + j
|
||||
if targetX >= targetWidth {
|
||||
break
|
||||
}
|
||||
if targetX < 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
// Determine final character
|
||||
if hasVertical && hasHorizontal {
|
||||
newGrid[y][x] = '+'
|
||||
} else if hasVertical {
|
||||
newGrid[y][x] = '|'
|
||||
} else if hasHorizontal {
|
||||
newGrid[y][x] = '-'
|
||||
} else {
|
||||
newGrid[y][x] = dominant
|
||||
// Only overwrite space or existing text
|
||||
existing := newGrid[targetY][targetX]
|
||||
if existing == ' ' || (existing != '+' && existing != '-' &&
|
||||
existing != '|' && existing != '/' && existing != '\\' &&
|
||||
existing != '.') {
|
||||
newGrid[targetY][targetX] = ch
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,26 @@
|
|||
+-----------------+
|
||||
|-----------------|
|
||||
| |
|
||||
| Hans Niemann |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-----|------|----|
|
||||
|| ||
|
||||
| ||
|
||||
|| ||
|
||||
| || ||
|
||||
|| | | |
|
||||
|| | || |
|
||||
/ |
|
||||
/////+-----|------|----//
|
||||
///// || | ////
|
||||
//// || | ///
|
||||
///// || | ////
|
||||
||// | | /|
|
||||
||| || | ||
|
||||
|| | || |
|
||||
| | | |
|
||||
| || | ||
|
||||
| | | ||
|
||||
| | | |
|
||||
| || || |
|
||||
| | | ||
|
||||
| || | |
|
||||
+-|---------------------+|+--------------------+| |
|
||||
| ||| || |
|
||||
| +--------------|+--+ || |
|
||||
| | | || |
|
||||
| | | || |
|
||||
|-|---------------------||---------------------|| |
|
||||
| ||| || |
|
||||
| |--------------|---| || |
|
||||
| | | || |
|
||||
| | | || |
|
||||
| | Magnus Carlsen | || |
|
||||
| | | || |
|
||||
| +---------|--------+ || |
|
||||
| | || |
|
||||
|
|
@ -33,9 +32,10 @@
|
|||
| | || |
|
||||
| | || |
|
||||
| | || |
|
||||
| +----------|----------+ || |
|
||||
| | | || |
|
||||
| | || |
|
||||
| |----------|----------| || |
|
||||
| | | || |
|
||||
| | Play Magnus Group | || |
|
||||
| | | || |
|
||||
| | | || |
|
||||
| +----------|----------+ || |
|
||||
|
|
@ -43,32 +43,32 @@
|
|||
| | || |
|
||||
| | || |
|
||||
| | || |
|
||||
| || || |
|
||||
| | || | |
|
||||
| || | |
|
||||
| || | |
|
||||
| || | |
|
||||
| +--+|---------- | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
| || defendants ||| |
|
||||
| || /|| | |
|
||||
| || /// | |
|
||||
| || /// | |
|
||||
| || /// | |
|
||||
| |---|----------|/ | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
| | Chess.com | | |
|
||||
| | | | |
|
||||
| +-------|------+ | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | ||
|
||||
| | | ||
|
||||
| | | ||
|
||||
| || |
|
||||
| || |
|
||||
| || |
|
||||
| +------+|------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| || | ||
|
||||
| | | /||
|
||||
| | | ////
|
||||
| | | ////
|
||||
| | |///
|
||||
| |-------|------------|///|
|
||||
| | | |
|
||||
| | | |
|
||||
| | Hikaru Nakamura | |
|
||||
| | | |
|
||||
| +--------------------+ |
|
||||
| |
|
||||
| |
|
||||
+----------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -1,60 +1,60 @@
|
|||
+------------------------------+
|
||||
| |
|
||||
| |
|
||||
| +--------------------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | +--+ +--+ +--+ +--+ | |
|
||||
| | | | | | | | | | | |
|
||||
| | | | | | | | | | | | +-----------------+
|
||||
| | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
| | +--+ +--+ +--+ +--+ | | | +---+ |
|
||||
| | | | | | | |
|
||||
| | | | | | | |
|
||||
+-----------------------------------+ | | | | | | | |
|
||||
| | | | | | | | | |
|
||||
| | | | +--+ +--+ +--+ +--+ | | | /---+ | |
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
| +-----+ | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | +---+ |
|
||||
| | | | | | +--+ +--+ +--+ +--+ | | | +--+ |
|
||||
| ---- ---/ | | | | | | | | |
|
||||
| / | | | | | | | | | | | |
|
||||
| || | | | +-----+ | | | +-+---------+-+ | |
|
||||
| | | | ||| | | | | | | | | | |
|
||||
| +-----| +-----+ || | | | | | | | | | |
|
||||
| | | | | | | | +--+ +--+ +--+ +--+ | | | +--| |
|
||||
| | | | | | | | | | | | | | | | | | | || +---+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | +-+---------+-+ | | | | | | | | | | | || | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | +--+ +--+ +--+ +--+ | | | / | | |
|
||||
| | | | | | | | | | | ---+ | |
|
||||
| +-----+ +-----+ | | | | | | | | | | |
|
||||
| || | | || | | | | | | | | | |
|
||||
| || | | ||+-----+ | | | | | | | | |
|
||||
| | | | || | | | +--+ +--+ +--+ +--+ | | | +---+ |
|
||||
| /---+ +--/ | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | +-----------------+
|
||||
| +-----+ | | | +--+ +--+ +--+ +--+ | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
+-----------------------------------+ | | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +--------------------------+ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+------------------------------+
|
||||
+-------------------------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |--------------------------| |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | |--| |--| |--| |--| | |
|
||||
| | | | | | | | | | | | +-----------------+
|
||||
| | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
| | ---+ +--+ ---+ +--+ | | | |----||
|
||||
| | | | | | ||
|
||||
+------------------------------------+ | | | | | | ||
|
||||
| | | | | | | | ||
|
||||
| | | | | | | --- ||
|
||||
| | | | |--| |--| |--| |--| | | | // | ||
|
||||
| +-----+ | | | | | | | | | | | | | | || | ||
|
||||
| | | | | | | | | | | | | | | | | | | ||
|
||||
| | | | | | | | | | | | | | | | | || +----+|
|
||||
| | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | ---+ +--+ ---+ +--+ | | | --+| |
|
||||
| /--|linke|--// | | | | | | | | |
|
||||
| |/ | | | +------+ | | | | | | | | |
|
||||
| | | | || | | | | Test |-|--------|--| |Release |
|
||||
| | | | || | | | | | | | | | |
|
||||
| |-----| +-----+ | | | | | ---+ +--+ ---+ +--+ | | | --| |
|
||||
| | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | |----||
|
||||
| | | | | | | | | | | | | | | | | | | | | ||
|
||||
| |sourc| Build | |-|--------|--| | | | | | | | | | | | | | ||
|
||||
| | | | | | | | ---+ +--+ ---+ +--+ | | | / | ||
|
||||
| | | | | | | | | | | /--- ||
|
||||
| | | +-----+ | | | | | | | | | ||
|
||||
| +-----+| | | | | | | | | | | | ||
|
||||
| || | | || | | | | | | | | ||
|
||||
| | | | ||+------+ | | | ---+ +--+ ---+ +--+ | | | +----+|
|
||||
| // |asset| /| | | | | | | | | | | | | | | |
|
||||
| --| |--/ | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | +-----------------+
|
||||
| +-----+ | | | ---+ +--+ ---+ +--+ | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
+------------------------------------+ | | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| ---------------------------+ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-------------------------------+
|
||||
|
|
|
|||
|
|
@ -1,78 +1,78 @@
|
|||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
| || | | || | | | | || | | |
|
||||
+-------++--------+-------+-------++-------+-------+--------+-------+-------++-------+--------+--------+
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | |北 海 道 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
--------+--------+-------+-------++-------+-------++------------------------+----------------+--------+
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | |青 森 | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | |秋 田 | 岩 手 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | 川 | |新 潟 |山 形 | 宮 城 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | 井 | 山 |群 馬 |栃 木 | 福 島 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
--------+--------+-------+-------++-------+-------++------------------------+----------------+--------+
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | |山 口 |島 根 ||鳥 取 |兵 庫 || 京 都 | 賀 | 野 |山 梨 |埼 玉 | 茨 城 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | |広 島 ||岡 山 |大 阪 || 奈 良 | 阜 | 知 |静 岡 |TOKYO | 千 葉 |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| 崎 | 佐 賀 |福 岡 | || | ||和 歌 山 | 重 | | | 奈 川 | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | 熊 本 |大 分 | ||愛 媛 |香 川 || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
|-------|--------|-------|-------||-------|-------||--------|-------|-------|--------|-------|--------|
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| |鹿 児 島 |宮 崎 | ||高 知 |徳 島 || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
--------+--------+-------+-------++-------+-------++------------------------+----------------+--------+
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| 縄 | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
| | | | || | || | | | | | |
|
||||
--------+--------+-------+-------++-------+-------++------------------------+----------------+--------+
|
||||
|
|
|
|||
|
|
@ -1,83 +1,83 @@
|
|||
+----+ +-----+ +-----+
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
+----+ +-----+ +-----+
|
||||
| | |
|
||||
|| | |
|
||||
||| | |||
|
||||
|||+--+--+|||
|
||||
|| ||
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-----+
|
||||
|
||||
|| ||
|
||||
|| |
|
||||
|| ||
|
||||
|| |
|
||||
+------+--------------------------------------------+---+
|
||||
| | +--+--+|
|
||||
| +----+----+ +----------------------+ | ||
|
||||
| | - | | | | ||
|
||||
| +----+----+ +----------------------+ | ||
|
||||
| | | ||
|
||||
| | +-----+|
|
||||
+------++-----------------------------------------------+ |
|
||||
|| | |
|
||||
|| | ||
|
||||
|| ||
|
||||
|
|
||||
| +----------------------------------------------------++
|
||||
| | +------------+ |
|
||||
| | | | |
|
||||
| | | | |
|
||||
+--+--+ | | | |
|
||||
| | | + - -- | |
|
||||
+--++++ | | | |
|
||||
|| |||||| | | | |
|
||||
|| | || || | | | |
|
||||
| || | || ||| | +------------+ |
|
||||
|| || || | | || || +-+----+----+---------+-------+---------------+-------+
|
||||
|| || | | | || || | | | | | |
|
||||
| | | | | | || | | | | | |
|
||||
|| || || | | || || | || | | | |
|
||||
| | | | || || ||| | | | |
|
||||
| | | | || ||| ||| || | | | +-----+
|
||||
+--+--+ +-+--+ +--+--+ +--+-+ +--+---+ ++----+ +----+ +--+-+ +-----+ +------+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----+ +----+ +-----+ +----+ +------+ +--+--+ | | +----+ | | | | | |
|
||||
|| +----+ +-----+ + -----+ +--+--+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
|| |
|
||||
| | |
|
||||
| +--+----------------------------------------+ |
|
||||
+--+--+ | ++--+ +----+ +---+ +---+ +-----+| +-----+
|
||||
| | | | | | | | | | | | || | |
|
||||
| | | | | | | | | | | | || | |
|
||||
+++++++ | +---+ +----+ +---+ +---+ +-----+| ++---++
|
||||
|| || || +-------------------------------------------+ | |
|
||||
| || || || | | |
|
||||
| | || | |
|
||||
| | || | |
|
||||
| | | | |
|
||||
| ||| || | |
|
||||
+--+--+ || | || |
|
||||
| | +---||+-----++ +--+-+ +-----+
|
||||
| | | | | | | | | |
|
||||
| | | | | | | | | |
|
||||
| | +---+ +------+ +----+ | |
|
||||
+-----+ +--+--+
|
||||
|
|
||||
|
|
||||
|
|
||||
+--+--+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-----+
|
||||
|-----| |-----| |-----|
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
|ndroi| |phone| | Web |
|
||||
| | | | | |
|
||||
+-----+ ------+ +-----+
|
||||
| | |
|
||||
|| | ||
|
||||
||| | |||
|
||||
||||-----|||
|
||||
|| |
|
||||
| |
|
||||
Tw////| Fron/end
|
||||
////// | |///
|
||||
//////// ------+ ///
|
||||
////// ///
|
||||
|| |
|
||||
|| ||
|
||||
|| |
|
||||
--------------------------------------------------------+
|
||||
| | | |
|
||||
| | |-----||
|
||||
||----------| |---------------------| | ||
|
||||
TLS-AP||(-eing/dep|ec|ted)/ hydration, visi|ility filt//ingQL||
|
||||
|+-----|----+ ----------------------+ F////////|Strat||/olumn
|
||||
| | /////// | ||////
|
||||
| | //////// ------+| ////
|
||||
-------||---------------//------------------------------+ |
|
||||
|| |/ ||
|
||||
||| ///// ||
|
||||
///////// |
|
||||
/////// ///////// |
|
||||
|///// |--------------/------------------------------------||
|
||||
| | |------------| |
|
||||
| | | | |
|
||||
| | | | |
|
||||
|-----| | ## *|Timeline mix|r** |
|
||||
H/|e mix|r | - Inject ads,|wh--t--follo|, onboard|ng
|
||||
//////|-||||// | - Co|versation mo|ule |
|
||||
////////|| | |||/// | - Cur|oring,pagina|ion |
|
||||
////////// ||| | || ||/// | - Tw-------------+ion |
|
||||
///// /// || || || || /// | - Served data logging |
|
||||
||| | | | | || || -|-----|----|---------|-------|--------------|-------+
|
||||
|| | | | | | || | | | | | |
|
||||
|| || || | | || || | || | | | |
|
||||
|| || | | || || |/ /| || || | | |
|
||||
| | | | || || //// || || | | |
|
||||
| | | | || ///| /|/|-----+ | +-----+ -------+ |----|
|
||||
|----| |-----| |----| |-----| |------| |-----| /| | |----| | | | | | |
|
||||
Tw|ety |ie|ial g|ap|modu|kM|nhatt|nl|ne Ser|ic| Rank|ri|elin| A| mix|On|oardi|g Peopl| disco|e/|/tch|
|
||||
-----+ +-----+ -----+ +-----+ -------+ --|---+//|//er| +----+ |ervic| |e/////|/ | |
|
||||
| --/////// +-----+ ////////-----+ ---||+
|
||||
| ///// /////// |
|
||||
| ///////// //// |
|
||||
| ///////// /// |
|
||||
/////|//// /// |
|
||||
|//// | //// |
|
||||
| |--|-----------////-------------------------| ------+
|
||||
|-----| ||----| ////// |---| |--| |--| |-----| | | |
|
||||
Hom| Scor|r ||rMix|/// Ea|lyB|rd|ta| S|ac|Co|munit|e| F|ature|
|
||||
| | || | | | | | | | | | | /|/ |
|
||||
||||||+ |+----+ ----+ +--+ ---+ +-----+ | /////-|--|-+
|
||||
|| || || --------------------------------------------+ //////// || |
|
||||
/// |// //// || || | ||
|
||||
/// /// /// || | || |
|
||||
|/// //// //// || || | |
|
||||
| /// /// //// || || | |
|
||||
| //////////////////////// ||| || | |
|
||||
|----| ///////////////////////// || || || |
|
||||
| | ///////////////////---|/|///---| |----| |-----|
|
||||
Predic|ion |ervice ///////|.//|/| ////|//|hatt|n | |
|
||||
| | | |M|mcache| | | S|oring|
|
||||
| | ----+ -------+ -----+ ------+
|
||||
-----+ |
|
||||
|
|
||||
|
|
||||
|
|
||||
|-----|
|
||||
| |
|
||||
Predic|ion S|rvice
|
||||
| |
|
||||
| |
|
||||
------+
|
||||
|
|
|
|||
|
|
@ -1,76 +1,76 @@
|
|||
+--------------------------------------------------------------------------------------------------------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| +------------------------------------------------+ +------------+ |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| +------------------------------------------------+ +-----+------+ |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
+-----------------------------------------------------------+--------------------------------------------------+
|
||||
|
|
||||
|
|
||||
+-----------------------------------------------------------+--------------------------------------------------+
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| +-----------------------------+ +---------+ +------------+---------+ +---+ +-----------------------------+ |
|
||||
| | | | | | | | | | | | |
|
||||
| | | | | | || | | | | | |
|
||||
| | | | | | | | | | | | |
|
||||
| | | | +----+ | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | | | +----+---+---++---+ | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | +----+ +---+ | | | | | | | | | | | || | | | | | | | |+---+ +----+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | +----+ | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | +----+---+---++---+ | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | +---+ | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | || | | | | | | |
|
||||
| | | | | + | | | | | | || | | | | | | |
|
||||
| | | | | + | | | | | | || | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | | | | | | || | | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | | | | | | | | | +---+ | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | +----+---+---++---+ | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | || | +-+---+-+ | | || | | | | | | |
|
||||
| | | | +----+ +---+ | | | | | | | | | || | | | | | | | |+---+ +----+ | | | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | | | | || | | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | | | | | | || | | | | | | |
|
||||
| | | | | | +----+---+---++---+ | | | | | |
|
||||
| | | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | || | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | | | | || | | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | || | | | | | | | || | | | | | | |
|
||||
| | | | +----+ +---+ | | | | | | | | | || | | | | | | | |+---+ +----+ | | | |
|
||||
| | | | | | | | | | | | | | +----+---+---++---+ | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | || | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | || | | | | | | |
|
||||
| | +--+--+----+-+---+---+--+ | | | | | | | | +--+--++---+-+----+--+--+ | |
|
||||
| | | | | | | | | | | |
|
||||
| | | | | | | | | | | |
|
||||
| | | | | | | | | | | |
|
||||
| +-----------------------------+ +---------+ +----------------------+ +---+ +-----------------------------+ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+--------------------------------------------------------------------------------------------------------------+
|
||||
|-------------------------------------------------------------------------------------------------------------|
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |------------------------------------------------| |------------| |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | Ran|o| Matrix Gene|ator |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| -------------------------------------------------+ -------------+ |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
------------------------------------------------------------|-------------------------------------------------+
|
||||
|
|
||||
--------------------------------------------------------------------------------------------------------------+
|
||||
| || |
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
| |-----------------------------| |---------||------------|----------||----| |-----------------------------| |
|
||||
| | | | || | || | | | |
|
||||
| | | | || | || | | | |
|
||||
| | | | || | || | | | |
|
||||
| | | | |----| || | || | | | |
|
||||
| | | | | | || || | | | |
|
||||
| | +--+-------+-+-------+---+ | | | | || ----+--------+----+ || | | +------+----------+------+ | |
|
||||
| | | | | | || | || | | | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | |..|..5|---|n||---|9.||.8| | | | | || |..1||.32|..2|0.13| || | | |..0|.5|----| |---||.0|.8| | |
|
||||
| | | | | | || | || | | | -----+ || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | +--+-------+-+-------+---+ | | ---+ || |---||---|---|----| || | | +------+----------+------+ | |
|
||||
| | | | | | || | || | | | || | | | |
|
||||
| | | | | | || | || | | | || | | | |
|
||||
| | |D|t ||||uct|| |..4||.15|..3|0.21| || | | | |
|
||||
| | | | |++| || | || | | | || | | | |
|
||||
| | |--|---|---|-||---|--||--| | | | | || | || | | | || | | |---|--|----|-|---||--|--| | |
|
||||
| | | | | | || | || | | | ---+ || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | ||ar|---||---|---|----|x --------- | | | | | || | | | |
|
||||
| | | .| . ----- |----- .||. | | | || | || | | | || | | | . |. ------ ------. |. | | |
|
||||
| | |.6|.15|siz|n||ec0|91||48| | | || | || | | | || | | |.60|15|size| |ect||90|48| | |
|
||||
| | | | | | || | || | | | || | . ||. | . | . | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || |.97||.45|.11|0.05| || | | | | | | | || | | | |
|
||||
| | +--+-------+-+-------+---+ | | || | || | | | || | | +------+----------+------+ | |
|
||||
| | | | || | || | | | || | | | |
|
||||
| | | | || |---||---|---|----| || | | | |
|
||||
| | | | || | || | | | || | | | |
|
||||
| | | | || | || | | | || | | | |
|
||||
| | |--|---|---|-||---|--||--| | | || | || | | | || | | |---|--|----|-|---||--|--| | |
|
||||
| | | | | | || | || | | | || |..1||.77|..9|0.83| || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || | || | | | || | | | | | | | || | | | |
|
||||
| | |..|..5|---|n||---|9.||.8| | | || ----+--------+----+ || | | |..0|.5|----| |---||.0|.8| | |
|
||||
| | | | | | || | || | | | || || | | | | | | | || | | | |
|
||||
| | | | | | || | || | | | || || | | | | | | | || | | | |
|
||||
| | +--+-------+-+-------+---+ | | || || | | +------+----------+------+ | |
|
||||
| | | | || || | | | |
|
||||
| | | | || || | | | |
|
||||
| | | | || || | | | |
|
||||
| | | | || || | | | |
|
||||
| ------------------------------+ ----------++-----------------------++----+ ------------------------------+ |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
--------------------------------------------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
+------------+
|
||||
| |
|
||||
|------------|
|
||||
| |
|
||||
| inputFile |
|
||||
| |
|
||||
+------|-----+
|
||||
|
|
||||
|
|
@ -8,20 +8,20 @@
|
|||
|
|
||||
|
|
||||
|
|
||||
|------|-----|
|
||||
| |
|
||||
| d2parser |
|
||||
| |
|
||||
+------|-----+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+------------+
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
+----|----+
|
||||
| |
|
||||
|----|----|
|
||||
| |
|
||||
| d2ast |
|
||||
| |
|
||||
+----|----+
|
||||
|
|
||||
|
|
@ -29,20 +29,20 @@
|
|||
|
|
||||
|
|
||||
|
|
||||
|-------|------|
|
||||
| |
|
||||
| d2compiler |
|
||||
| |
|
||||
+-------|------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-------+------+
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
+-----|------+
|
||||
| |
|
||||
|-----|------|
|
||||
| |
|
||||
| d2graph |
|
||||
| |
|
||||
+-----|------+
|
||||
|
|
||||
|
|
@ -50,12 +50,11 @@
|
|||
|
|
||||
|
|
||||
|
|
||||
|-------------|-------------|
|
||||
| |
|
||||
| d2layouts/d2dagrelayout |
|
||||
| |
|
||||
+-------------|-------------+
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
+-------------+-------------+
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -63,7 +62,7 @@
|
|||
|
|
||||
+-------|------+
|
||||
| |
|
||||
| |
|
||||
| d2exporter |
|
||||
| |
|
||||
+-------|------+
|
||||
|
|
||||
|
|
@ -71,8 +70,9 @@
|
|||
|
|
||||
|
|
||||
|
|
||||
+-----|------+
|
||||
| |
|
||||
|
|
||||
|-----|------|
|
||||
| |
|
||||
| d2target |
|
||||
| |
|
||||
+------------+
|
||||
|
|
|
|||
Loading…
Reference in a new issue