binding
A binding is the layer that lets a program in one language use code written in another.
What the word means
The engine is written in one language, Rust, and that is where the work happens. A program written in Python cannot simply call it: the two do not agree on how a number, a piece of text or a list is held in memory.
The binding is the translator standing between them. A call on the Python side hands the arguments across, runs the real code, and hands the answer back. It is written once, and everybody working in Python gets it.
What it does on a real document
Every example on this site is published twice, once in each language, drawing the very same document. The two files come out identical byte for byte, which is what proves the binding hides nothing and adds nothing of its own.
There is a third way, which is not a binding at all: sending a description of the document to a server over the network. A program in any language can do that, without linking to anything.
Where it comes from, and why
The problem is as old as having more than one language. A library worth writing is worth using from everywhere, and rewriting it in each language means as many versions to keep in step, and as many places for them to drift apart.
The way out has always been the same: write the work once, in the language that suits it, and wrap it thinly for the others. What has changed over the years is only how thin the wrapping can be.