Quote:
Originally Posted by tomsem
I think it would be worth the effort to 'decode everything'. I assume to do this we need an example with all of the current entity types (brush, pen, highlight etc.). I'll try to do this.
|
More notebook examples would help. Having examples of simple drawings, such as a single dot or straight line, would be useful in decoding how drawing data is stored. Seeing the .notebook files associated with annotated documents would also help fill in the gaps.
Quote:
Originally Posted by tomsem
Once that's in place, I think it would be quite useful to be able to export to some standard vector format so that one could continue editing with some 3rd party tools.
|
I am surprised by what we have found so far. I expected the Scribe to store something like SVG (scalable vector graphics). Instead it is keeping lower level data, like pen tilt and pressure, as binary data.
Spoiler:
Code:
'nmdl.stroke_bounds': [3123, 4448, 3447, 4707],
'nmdl.color': 0,
'nmdl.brush_type': 7,
'nmdl.random_seed': 0,
'nmdl.thickness': 23.625,
'nmdl.type': 'nmdl.stroke',
'nmdl.stroke_points': {
'nmdl.thickness_adjust_factor': {{
AQFMAQAAFERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGQ=
}},
'nmdl.density_adjust_factor': {{
AQFMAQAAFERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGQ=
}},
'nmdl.num_points': 332,
'nmdl.position_x': {{
AQFMAQAAHV1ubdRERETW1NVERE1dRdReVE1URNXVTVRU1EXV1EREREREREVNXUVNXURdRURF3V1URERd
1UXVREXUbURERNVEVNREVNRdVE1URE1URNVNVERNXV1FRdRdRU1dVERUTV1ERF1FRE5dVNRF1F1ETVRN
VERF1ERdRERdXV1NRF1NXV3VTV1NXVRN1U1U1dVF1ERdXV1FRNVETVTU1URF1UVF1UVF1rQ=
}},
'nmdl.position_y': {{
AQFMAQAAFF1ERU1ERERF1NbURF1ERURERE1V1EXV1ERF5V5URNVF1dXURF1ERF1ERdRF5URERERETVRE
RERERURF1URERE1E1V1dRNVEXUREXURdXdRdRU1F1ERETW1E1dXV1E1dVE1eVEREXUXV5URdRERERdRE
1dREXURETV1URE1dVERERF1dRNRd1dVETV1ERF1G1FXVREREXVREXW5U1URE1d1F3V5e3RI=
}},
'nmdl.pressure': {{
AQFMAQAAFV1NcZGU3heUSfGRlJ7vYZTZHmkdVJ9FcWdUT01PV5bpGe9E0fVO1HUZGWTX4e5pHfleZpTd
3V9JcZdeHVXU1fTUbW1OfWfk15Xk1k1k3lQdTX5dTUREQZTZFGQZVPfk5U1uVuRGQZfZHlcZafHm5W8f
Zd51VOftTd15VZFlVn0UdEkd7f/V9E517fXdVUfU3Wkd1pbxnVnflGndkfT+mZmRkRERGR13PQofJCgE
FR4cFgUEBAQEBAQEBAUEBAQEBQUEBAUFBAQEBQQFBQQEBAQGBQgGBQYGBQQJBAcFBAUEBAQEBAQEBgQI
BAUGBQQFPpcXZwYGCwUvLCAH
}},
'nmdl.tilt_x': {{
AQFMAQAAJEREQZRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERERERERERERERERERERBlEREREREREREREREREREREREgNZGRkZA==
}},
'nmdl.tilt_y': {{
AQFMAQAAJBlEQZRERERERBlERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
REREkURERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERE
RERERERERERERERERERERERERERESRRERERERERERERERBlERERERERERERERERERERERGwHZGTIyGRk
ZGTIyMjI
}},
},
I have never worked on software for digitizing drawings so I am unfamiliar with the data structures and APIs typically used in that field. Perhaps someone familiar with drawing devices could suggest a documented data format that would be suitable for exporting Scribe drawings.
I do know that
some work has been done to reverse engineer the internal data formats used by reMarkable tablets. That might be worth looking into.
Quote:
Originally Posted by tomsem
I assume the "DL" in "NMDL" expands to 'Description Language'. Is this some standard DL? Even if it is not, these could probably be mapped to one that is.
|
I could not find anything relevant online about "NMDL". I am assuming that it is an acronym made up by Amazon. The phrase "note model" appears often in the Scribe firmware. That might be the source of "NM".