Changelog

v1.0.4 (2025-05-10)

Bug fixes

  • Corrected the RP66 V1 representation code table (critical fix). The numeric values for codes 8–27 were each off by 2 because FDOUB1 (code 8) and FDOUB2 (code 9) were missing, shifting every subsequent code. Affected codes before this release:

    Mnemonic

    Old code

    Correct

    CSINGL

    8

    10

    CDOUBL

    9

    11

    SSHORT

    10

    12

    SNORM

    11

    13

    SLONG

    12

    14

    USHORT

    13

    15

    UNORM

    14

    16

    ULONG

    15

    17

    UVARI

    16

    18

    IDENT

    17

    19

    ASCII

    18

    20

    DTIME

    19

    21

    ORIGIN

    20

    22

    OBNAME

    21

    23

    OBJREF

    22

    24

    ATTREF

    23

    25

    STATUS

    24

    26

    UNITS

    25

    27

    Practical impact: files using SNORM (code 13) channels — such as acoustic/CBL waveforms with 16-bit signed samples — were decoded at half the correct byte width, causing misalignment for all channels that follow.

  • Added ``FDOUB1`` (code 8) and ``FDOUB2`` (code 9) to the RC table and BinaryReader.val() dispatcher.

  • ``asciiStr()`` safety fallback — when a 4-byte ASCII length prefix encodes an unreasonably large value (> 65 536) the reader automatically retries with 1-byte IDENT encoding. This handles a known Baker Hughes Atlas pattern where LONG-NAME attributes are written with ASCII repcodes but IDENT-encoded data.

  • PARAMETER fallback for well metadata — when the ORIGIN EFLR cannot be decoded (a Baker Hughes Atlas encoding quirk), the library now extracts well metadata from the PARAMETER EFLR using the standard mnemonics WN, FN, CN, WI, RUN, and SON.

  • TypeScript declarations updated to reflect the corrected RC numeric values.

v1.0.3 (2025-04-28)

  • Dual-scan scanChannelOBNAMEs — fallback OBNAME scanner now tries both the standard 2-byte copy encoding and the Baker Hughes 1-byte copy variant, returning whichever scan yields the longer channel list.

  • showMeta() overhaul in the companion viewer: all ORIGIN fields, all PARAMETER values, and miscellaneous EFLRs (EQUIPMENT, TOOL, CALIBRATION, COMMENT) are now displayed.

  • buildTree() always shows the WELL INFO section, PARAMETERS section, and OTHER EFLRs section regardless of whether data is present.

  • Baker Hughes ORIGIN selection prefers objects that carry actual well data over empty-name header objects.

v1.0.2

  • Baker Hughes ATLAS ABSATR extension: consume extra bytes that some ATLAS encoders write on absent-attribute descriptors.

  • Baker Hughes FRAME EFLR carry-forward: channel list from the empty-name header object is inherited by the subsequent named FRAME object.

  • Schlumberger VR version byte 0x00 accepted alongside standard 0x01.

v1.0.1

  • Frame key reconciliation: name-suffix matching and single-unmatched-pair fallback for files where the FDATA IFLR OBNAME does not exactly match the FRAME EFLR OBNAME.

  • Multi-dimensional channel dimension handling (dim.reduce product).

v1.0.0

  • Initial release: full RP66 V1 / DLIS parsing, FDATA decoding, CSV and LAS 2.0 export, TypeScript declarations.