KDX — Koder Document eXchange (formato universal de documento)

ratified

Summary

KDX é um proposto formato universal de documento, portável e autocontido — a resposta Koder ao PDF — porém melhor estruturado que o PDF e capaz de representar objetos/funcionalidades que o PDF não contempla (reflow, objetos interativos declarativos, dados embutidos, malhas de cor, 3D, motion, versionamento e acessibilidade by construction).

A tese central: KDX não é um formato novo monolítico; é a composição disciplinada de peças que a Stack já tem —

  • KMD = o significado (árvore semântica do documento),
  • KVG = as marcas (modelo de imagem vetorial: 2D + mesh + 3D + motion),
  • um contrato de página/tema (a ponte reflow ↔ paginado-fixo),
  • um container autocontido (fontesimagenscor/dados embutidos),
  • perfis de conformância progressiva,

tudo unificado por um render-core canônico consumido tanto pelo Dok (ediçãoexibição) quanto pelos exportadores (PDFHTMLEPUBraster).

Extensão: .kdx. Editor de referência: Dok.

Motivation

Por que não simplesmente usar PDF

O PDF é um modelo de imagem de 1993 (operadores estilo PostScript) com um container de documento parafusado por cima e 30 anos de acreções opcionais (AcroForms, XFA, tagged-PDF, JS, U3D/PRC). Problemas estruturais:

  1. Visual, não semântico: texto = glifos posicionados; tabela = linhas+texto.

    Acessibilidadeextraçãoreflow são afterthoughts (tagged-PDF é opcional e quase sempre quebrado).

  2. Dois mundos paralelos (content-stream visual × structure-tree lógico) que

    precisam ser sincronizados à mão → drift → a11y ruim.

  3. Object model frágil (indirect objects + xref) — difícil de diffar/versionar;

    opaco; corrompe.

  4. Layout fixo só — péssimo em mobile/acessibilidade.
  5. Insegurança (JS embutido — vetor histórico de exploits).

Por que não HTML

A plataforma web (HTML+CSS+SVG+Canvas) cobre e excede o PDF no domínio telaRGB, mas não contempla (a) malhas de cor (PDF shadings 4–7 — Coons tensorGouraud) nem (b) cor de impressão (CMYK real, spotSeparation/DeviceN, overprint). O KVG já tem mesh gradient e, com um perfil Print, fecha as duas lacunas — por isso KVG (não HTML) é o substrato de imaging certo.

Goal

Um formato fonte-da-verdade que: (1) renderiza em reflow (tela/mobile) e paginado-fixo (impressão) da mesma fonte; (2) exporta para PDFHTMLEPUB/ DOCX como projeções; (3) é autocontido e self-hosted-first; (4) é diffável em git; (5) tem acessibilidade e determinismo como invariantes.

Naming

  • Nome/display: Koder Document · token/extensão: kdx / .kdx
  • "X" = eXchange (intercâmbio/portabilidade universal — posicionamento de

    rival do PDF), não "Format".

  • Padrão da família k+stem: kmd · kvg · kpkg · kzip · kdx.
  • Colisões avaliadas e descartadas: kdf (≡ Key Derivation Function, em

    kzip/pair) · kpage (≡ kpages existente) · ked (desfaz dok#011 + colide com kad) · Kodex (≈ Kodix, o SO). kdx = exact-match único no registry (forms.kmd R2/R4; proximidade kd* permitida por R4.5).

  • Nota histórica irrelevante: existiu um obscuro "KDX" (servidor Hotline-era,

    morto) — sem conflito prático.

Non-goals

  • KDX não substitui KMD nem KVG — ele os compõe. KMD segue sendo o formato

    de doc-prosa leve; KVG segue sendo o formato de gráfico vetorial.

  • KVG não vira um formato de documento (não absorve fontestagsannotations/

    formsbookmarksmetadata) — isso seria um "clone de PDF". KVG é dono só das marcas.

  • Sem scripting Turing-completo no Core (a insegurança do JS-em-PDF).
  • Não buscamos pixel-replay de PDFs arbitrários externos — paridade é

    determinística através do render-core Koder, não replay de bytes alheios.

Architecture

O princípio: semântica é fonte da verdade; layout é projeção derivada

            ┌──────────────── KDX (.kdx) ────────────────┐
            │  significado (KMD AST)  +  marcas (KVG)     │
            │  + contrato de página/tema + assets         │
            └──────────────────────┬──────────────────────┘
                                   │  render-core (único)
            ┌──────────────────────┼──────────────────────┐
            ▼                      ▼                       ▼
      reflow (tela)         paginado-fixo (print)     export
      Dok / mobile          Dok print-preview         PDF · HTML · EPUB · raster

O significado (seções, headings, parágrafos, tabelas, figuras, math, refs) é o primário; o layout fixo (caixas de página, glifos posicionados) é uma projeção cacheável dele. Isso resolve o pecado nº 1/2 do PDF: a11y e reflow saem por construção, a a11y-tree é gerada (não pode driftar).

As camadas

Camada Peça Papel
Significado KMD (AST) prosa, estrutura, tabelas, refs, dados, forms
Marcas/gráfico KVG (Core+Print) toda marca visual + projeção de página fixa
Página/tema novo contrato (kmd-ext) page-sizemargensmasters/capa + binding de tema (Verge)
Empacotamento container .kdx (zip-like) fontesimagensICC/dados embutidos
Conformância perfis Core → Interactive → Motion → Solid → Print → Archive
Render render-core tela-reflow · página-fixa · export

Modelo de objetos do PDF, mapeado

O universo de objetos do PDF se parte em duas famílias disjuntas:

Família Objetos Dono no KDX
Imaging / paint pathsBézier, fillstroke, shadings (axial/radial