ea 0.6.49 → 0.6.50

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4735ff087541add85998eedbde491751da68513387014dadccd50c84fa8daaf7
4
- data.tar.gz: 5e9a3b35f13099b105791506a67b0e7c2854cce7f54d736e82420aa7cd268a57
3
+ metadata.gz: b916fbabbb74feb86f428a75fc8619acad646f676767544c1128e0ba635d3f52
4
+ data.tar.gz: dc470c0abf5864ccf0fa0c5d42d76a429b2491c30df15e6c19ff1231416b88f7
5
5
  SHA512:
6
- metadata.gz: 7d7331be8f61f4c3b704781ca458f3989e8d57d3547a19df796373744f674fad552e2d191bfc637b7ee1d83faf5eadd3d39f18013dbc08040e0eb27f4cc3cea2
7
- data.tar.gz: '0688908443b70ea4ebe4582b78657ef9988aeb81c55f6ec23b9e2ee5e74d9f1005075a0e296697f5f3c41e33a5205ba0ed8044dd03e153ae3d6b8bb22a1912db'
6
+ metadata.gz: 49e1694bc33b133631b8baae3abe2cc0e0b154b06dbc1dc39b1ad6801b781939a80ab17edb63eb07bb58726aeff81d6210e3ae9198172cee2e68943cb7ae9de6
7
+ data.tar.gz: fc902135136a3103cc8456651d56c2945320f208aebfc8fd72be47c20bc389f9206f0704e559e7c824b2a1818dd238e5ab02c4559f48992e2047babd7d572ea1
@@ -18,6 +18,7 @@ module Ea
18
18
  # coordinate math changes don't ripple into rendering.
19
19
  class CompartmentGeometry
20
20
  attr_reader :bounds, :size, :header_lines_count, :header_ghost,
21
+ :header_ghost_tight,
21
22
  :attr_lines_count, :op_lines_count,
22
23
  :tagged_values_count,
23
24
  :constraints_count,
@@ -38,7 +39,8 @@ module Ea
38
39
  divider_offset: 8,
39
40
  attr_line_offset: 6,
40
41
  attr_first_offset: 7,
41
- header_ghost: false)
42
+ header_ghost: false,
43
+ header_ghost_tight: false)
42
44
  @bounds = bounds
43
45
  @size = size
44
46
  @header_lines_count = header_lines_count
@@ -54,6 +56,7 @@ module Ea
54
56
  @attr_line_offset = attr_line_offset
55
57
  @attr_first_offset = attr_first_offset
56
58
  @header_ghost = header_ghost
59
+ @header_ghost_tight = header_ghost_tight
57
60
  end
58
61
 
59
62
  def header_first_y
@@ -71,9 +74,9 @@ module Ea
71
74
  return nil if header_lines_count.zero?
72
75
 
73
76
  # The off-canvas parent ghost shifts every following
74
- # header line +6, and the divider tracks the LAST header
75
- # baseline + 8 (DD2AC61B: name baseline 85, divider 93).
76
- ghost_shift = header_ghost ? 6 : 0
77
+ # header line +3, and the divider tracks the LAST header
78
+ # baseline + 8 (936AA434: ghost 100, stereo 116 = +16).
79
+ ghost_shift = header_ghost ? (header_ghost_tight ? 3 : 6) : 0
77
80
 
78
81
  header_first_y +
79
82
  ([header_lines_count, 1].max - 1) * (size + (header_line_offset || 6)) +
@@ -15,7 +15,7 @@ module Ea
15
15
  name = context.off_canvas_parent_name
16
16
  return [] unless name
17
17
 
18
- [[name, :italic]]
18
+ [[name, context.classifier.is_a?(Ea::Model::Interface) ? :italic_tight : :italic]]
19
19
  end
20
20
  end
21
21
  end
@@ -23,11 +23,16 @@ module Ea
23
23
  else weight_normal
24
24
  end
25
25
  font_style = (style == :italic || style == :bold_italic) ? "italic" : "normal"
26
- # EA spaces the line AFTER a right-aligned ghost 6px
27
- # wider (ghost +13, next +32 at 7pt) - verified against
28
- # EA-published reference SVGs.
26
+ # EA spaces the line AFTER a right-aligned ghost 3px
27
+ # wider than the pitch. Interfaces use a tighter +3
28
+ # (936AA434/Surface: ghost 100, «interface» 116).
29
+ ghost_shift = case lines.first.last
30
+ when :italic then 6
31
+ when :italic_tight then 3
32
+ else 0
33
+ end
29
34
  y = first_y + (idx * line_h) +
30
- (idx >= 1 && lines.first.last == :italic ? 6 : 0)
35
+ (idx >= 1 && ghost_shift.positive? ? ghost_shift : 0)
31
36
  x = if style == :italic
32
37
  # EA right-aligns the off-canvas parent ghost at
33
38
  # the box's right edge by its integer textLength.
@@ -235,7 +235,9 @@ module Ea
235
235
  enum_literals_count: 0)
236
236
  CompartmentGeometry.new(bounds: bounds, size: size,
237
237
  header_ghost: header_lines.any? &&
238
- header_lines.first.last == :italic,
238
+ %i[italic italic_tight].include?(header_lines.first.last),
239
+ header_ghost_tight: header_lines.any? &&
240
+ header_lines.first.last == :italic_tight,
239
241
  header_lines_count: header_lines.size,
240
242
  attr_lines_count: attr_lines.size,
241
243
  op_lines_count: op_lines.size,
data/lib/ea/version.rb CHANGED
@@ -4,5 +4,5 @@ module Ea
4
4
  # Gem release version. Extracted to its own file so the
5
5
  # `gem-release` tool's `gem bump` can find and update it via the
6
6
  # standard `lib/<gem>/version.rb` convention.
7
- VERSION = "0.6.49"
7
+ VERSION = "0.6.50"
8
8
  end
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.49
4
+ version: 0.6.50
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-10-05 00:00:00.000000000 Z
11
+ date: 2026-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model