arrolio 0.1.4 → 0.1.5

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: f0b6af09c229c5ee869a2e052c61933ccf441cccf02ace5b965acaf2dcdfa277
4
- data.tar.gz: 650539bee9ae880208f9986e26ccc4a9ffe38acbf773a47a1471a54cfb43f688
3
+ metadata.gz: edfcfe9ff191c034c3702c111c0ac2a023d4290966f594be72b018940998584a
4
+ data.tar.gz: a724d7703f6893aea53756e0141bd43ab416809381c75ba61b434e57f07f47cf
5
5
  SHA512:
6
- metadata.gz: c8ea9131445f66cdcae37550aebb04036bcbedc995e713220f3e2c76391b2c35e6daa6f71b6e2d32a51f6ad33b526c36e6d2fdc5fac5dd92d0440b31bb7c2a7c
7
- data.tar.gz: 19a06bdb5726413dcea2de7022eab8ede88c9a10133ad78545211eb294e1ec5884bd47c7753fdaed9ddc6ef5afac1e71b177fdc30b6061f5af39a03ff894b30e
6
+ metadata.gz: f2214e2fc97366287645096f3b2969caa1c879204039bc5cce2018171739e8a95a3c8753127c167faa377b8e0c8a5894687ad2ff99f5f289c0c97fd0d2af44bd
7
+ data.tar.gz: ddedc8d9ddc9449a582a781d8741b829f3d90268d6a1b55eea430c54e58781ce586996f3b1a041b26aab0ce25c2654092a542e8ead2aa6a080f933d7d8c5db12
@@ -512,6 +512,28 @@ or the layout differs from the pipeline.
512
512
  gaps reproduce (p8 69 vs 76) but nets -6pp; still blocked by the
513
513
  p9-p15 fill mismatch.
514
514
 
515
+ ## C2 margin unification — attempt executed and reverted (2026-08-31)
516
+
517
+ Round-5 attempt with the prepared MarginCollapse seam. The
518
+ implementation (margins inside every List/Image/Note/Table
519
+ flowable, CSS inset = max(pa,b) - pa + b, page-top exception,
520
+ Spacer workarounds deleted, block-style neutralization for the
521
+ dead note/list margins) measured 31.7% / 30pp vs the committed
522
+ 68.92% / 28-28 - outside the correction budget, reverted clean.
523
+
524
+ ROOT CAUSE DECODED (the load-bearing finding): the OLD model
525
+ under-charges every counting flowable's space_before - ink is
526
+ drawn ABOVE the cursor, inside the previous flowable's consumed
527
+ space_after zone. The reference's calibrated constants ride that
528
+ under-charging; a geometrically correct model shifts every b>0
529
+ charge. Page-top behavior also differs from paper analysis
530
+ (heading ink at landings implies the old fresh-page path consumes
531
+ mt INSIDE the page - re-derive from HeadingFlowable's emit before
532
+ the next attempt, and note TableFlowable still needs the
533
+ convention added). Unification = dedicated re-tuning session, not
534
+ a release-day change. Full convention map now on Flowable's
535
+ contract doc.
536
+
515
537
  ## Measurement
516
538
 
517
539
  `bundle exec rake parity:check` — 64.07% (2026-08-17).
@@ -16,6 +16,20 @@
16
16
  #
17
17
  # A flowable's height() and emit() must agree on whether margins
18
18
  # are included, or fit checks and drawing diverge.
19
+ #
20
+ # Convention map: TextFlowable (and HeadingFlowable, its
21
+ # subclass) count margins. ListFlowable + its subclasses (lists,
22
+ # notes), ImageFlowable, and TableFlowable do not — spacing
23
+ # around them travels as explicit Spacers.
24
+ #
25
+ # UNIFICATION DECODED (2026-08-31 attempt, reverted): the old
26
+ # model UNDER-CHARGES every counting flowable's space_before —
27
+ # its ink is drawn ABOVE the cursor, inside the previous
28
+ # flowable's already-consumed space_after zone. The reference's
29
+ # calibrated constants ride that under-charging. A correct CSS
30
+ # model (inset = max(pa,b) - pa + b, margins inside every
31
+ # flowable) measures 31.7% / 30pp: every b>0 charge shifts
32
+ # geometry. Unify only with a full re-tuning session.
19
33
  module Arrolio
20
34
  class Flowable
21
35
  attr_reader :style
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arrolio
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.5'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arrolio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.