ea 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ea/sources/qea/diagram_builder.rb +9 -23
- data/lib/ea/svg/ea_emitter/label/end_label.rb +8 -7
- data/lib/ea/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 80dad306c8a1e15bbabb2a01af81700b3ab4ca4010f1fd9c4d9f0e2136ccf834
|
|
4
|
+
data.tar.gz: 07a78eefd9c86ef3b025621a6b89013d1f988529a2bcd835b465cd43e0b98fa3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 274a1276005d3863049b801c9d044dd7aa4952749041b7ad6ed63b691771bb73779c0a1567a6068c436033c758c7beb59c14e39d7e95cc467058fd6b89f28065
|
|
7
|
+
data.tar.gz: 6600d5ecef1586cd5a566236237b0a6fb1692357ec41a7a7f0b887d294e8ed757611a9473b920807b75c499feb0e107ae953447d01ff5e9c0843482e7a942ede
|
|
@@ -377,9 +377,15 @@ module Ea
|
|
|
377
377
|
element_edge_point(target_placement, :target, edge_out)
|
|
378
378
|
|
|
379
379
|
intermediate = intermediate_waypoints(link_row)
|
|
380
|
-
if
|
|
381
|
-
|
|
382
|
-
|
|
380
|
+
if edge_out == 2 && source_port && target_port
|
|
381
|
+
# EA computes tree routes at DRAW TIME from current
|
|
382
|
+
# element positions — the stored Path is stale for them
|
|
383
|
+
# (hand-verified: SY 8542 stored corner (271,-42) vs EA
|
|
384
|
+
# drawn (298,70)). Route: source port -> corner at
|
|
385
|
+
# (target dock x, source exit y) -> target port.
|
|
386
|
+
points = [[source_point[0], source_point[1]],
|
|
387
|
+
[target_point[0], source_point[1]],
|
|
388
|
+
[target_point[0], target_point[1]]]
|
|
383
389
|
elsif intermediate.any?
|
|
384
390
|
points = [source_point, *intermediate, target_point]
|
|
385
391
|
elsif source_port || target_port
|
|
@@ -395,26 +401,6 @@ module Ea
|
|
|
395
401
|
end
|
|
396
402
|
end
|
|
397
403
|
|
|
398
|
-
# EA's tree-style routing (Geometry EDGE=2 with a single Path
|
|
399
|
-
# bend): the visible line leaves the SOURCE's right edge at
|
|
400
|
-
# the bend's y, runs horizontally to the bend x, then
|
|
401
|
-
# vertically to the target's facing edge — replacing the
|
|
402
|
-
# ray-cast ports entirely. Verified against the
|
|
403
|
-
# CityObjectGroup reference (parent + groupMember lines).
|
|
404
|
-
def tree_route?(edge_out, intermediate)
|
|
405
|
-
edge_out == 2 && intermediate.size == 1
|
|
406
|
-
end
|
|
407
|
-
|
|
408
|
-
def tree_waypoints(source_placement, target_placement, bend)
|
|
409
|
-
src = bounds_from_rect(source_placement)
|
|
410
|
-
tgt = bounds_from_rect(target_placement)
|
|
411
|
-
bend_x = bend[0]
|
|
412
|
-
source_point = [src.x + src.width, bend[1]]
|
|
413
|
-
going_up = tgt.y + tgt.height <= src.y
|
|
414
|
-
target_y = going_up ? tgt.y + tgt.height : tgt.y
|
|
415
|
-
[source_point, [bend_x, bend[1]], [bend_x, target_y]]
|
|
416
|
-
end
|
|
417
|
-
|
|
418
404
|
# Absolute connection point EA docks the connector's visible
|
|
419
405
|
# endpoint at, derived from the Geometry SX/SY (source) and
|
|
420
406
|
# EX/EY (target) offsets. The offsets are measured inward from
|
|
@@ -69,11 +69,12 @@ module Ea
|
|
|
69
69
|
|
|
70
70
|
private
|
|
71
71
|
|
|
72
|
-
# EA's tree-route label clusters (verified against
|
|
73
|
-
# EA-published reference
|
|
74
|
-
# the exit point (role +3/-23,
|
|
75
|
-
#
|
|
76
|
-
# the role
|
|
72
|
+
# EA's tree-route label clusters (hand-verified against the
|
|
73
|
+
# EA-published reference, SY 8542 with canvas=(0,0)):
|
|
74
|
+
# source-end pairs stack at the exit point (role +3/-23,
|
|
75
|
+
# mult +3/0); target-end pairs sit just above the dock
|
|
76
|
+
# astride the trunk — role right edge at trunk+7, mult
|
|
77
|
+
# starting at trunk+8, both at dock_y - 8.
|
|
77
78
|
def zero_offset?(text_box, mult_box)
|
|
78
79
|
[text_box, mult_box].compact.all? do |b|
|
|
79
80
|
b["ox"].to_i.zero? && b["oy"].to_i.zero?
|
|
@@ -88,8 +89,8 @@ module Ea
|
|
|
88
89
|
width = Ea::Fonts::Metrics.text_length(
|
|
89
90
|
role.to_s, font_size, family: font_family
|
|
90
91
|
) || role.to_s.length * 6
|
|
91
|
-
[[anchor[0] +
|
|
92
|
-
[anchor[0] + 8,
|
|
92
|
+
[[anchor[0] + 7 - width, anchor[1] - 8],
|
|
93
|
+
[anchor[0] + 8, anchor[1] - 8]]
|
|
93
94
|
end
|
|
94
95
|
end
|
|
95
96
|
|
data/lib/ea/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ea
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: lutaml-model
|