{}OPF
DocsReferenceView source

OpenPresentation ecosystem handoff — 2026-09-08

Windows continuation checkpoint — registry releases complete

Renderer 0.5.0, PPTX 0.5.0 and editor 0.4.0 are all published with provenance after exact-head checks and review. Their published merge refs are recorded in release-plan.json; do not republish them, core 0.7.0 or CLI 0.4.0. Fresh full-set registry ecosystem and pinned rendering/export fidelity checks pass on Windows Node 20/24, including the unchanged 805-slide raster baseline. Registry editor pointer/keyboard typing, formatting and undo pass in Edge. Registry PPTX passes native PowerPoint open/edit/save/reopen/reimport and two targeted border raster assertions; broad pixel equivalence is not established.

Core PR #26 merged as 533b53cd7db3cf58e9ebf5fbd987741323ea2699 after full Node 20/24 coordinated CI, package CI and successful Bugbot review on 3d1c2bbc7c68a3f74f68232d1ae320a4f41ccdfd; merged tree is identical. The complete release plan and immutable CI refs are on main.

Continue CLI 0.5.0 on codex/skills-installer-20260908, PR #27. All six skills are bundled with safe install/update/status, offline packed installation and Windows checks. It remains unpublished. Review found overly strict ancestor-symlink rejection; canonical parent resolution now supports linked project directories while rejecting linked skill destinations, and macOS CI was added. Wait for final CI/review before release.

Main website work is on Data-Advantage/openpresentation-site branch codex/published-ecosystem-adoption-20260908, PR #11, initial head 83ccb57. It adds the accurate published changelog, core 0.7.0 and complete registry showcase, targeted security fixes with zero current local audit advisories, grouped Dependabot and browser/download CI. Local build and three browser tests pass; deployment remains pending. Gallery and pptx.dev adoption/security/full workflow E2E remain open. See current Windows evidence. Historical checkpoints below are superseded where they describe unpublished downstream packages or stale lockfiles.

The user requested an immediate stop and remote checkpoint to move computers. Resume from GitHub; do not depend on the old computer's temporary worktrees, tarballs, logs, or browser state. The goal is ongoing, not completed or blocked. User authorization covers commits, pushes, PR creation/updates/merges, tags and npm publication. Recheck CI/reviews and exact commits before releases. Do not bulk-merge unrelated Dependabot PRs. No subagents unless requested.

Goal

Make OpenPresentation a polished, reliable, fully open presentation ecosystem for people and AI agents: authoring JSON, dynamic layout, browser preview, intuitive WYSIWYG editing and editable PowerPoint export. Keep core free, open source, provider-neutral and usable without a paid service or AI account. Publish compatible packages in dependency order and prove the workflow using clean registry installations. Advance presets, rich text, tables, media, fonts and layout fidelity. Evaluate schema support, browser interactions, rendering and native PowerPoint compatibility separately. Public sites must showcase the same installable tools users receive.

Earlier PR #8 reconciliation and the missing core 0.4.0 changelog entry are already handled; do not repeat them. The NEW public website changelog request below remains open.

Portable checkout map

Clone sibling repositories so the core ecosystem scripts can find their sources. Read each repository's AGENTS.md. Avoid resetting any existing user checkout.

RepositoryBranch to resumeRemote checkpoint
OpenPresentation/opfcodex/styled-table-release-sync-20260908PR #26, this handoff and verification scripts
OpenPresentation/opf-rendercodex/styled-table-cells-20260908PR #6, head b47bba101ab78dc226d9ff848bb8622e3a0109e1
OpenPresentation/opf-pptxcodex/styled-table-cells-20260908PR #10, head prefix a0e9d14
OpenPresentation/opf-editorcodex/styled-table-cells-20260908PR #5, head prefix 21449a7
Data-Advantage/pptx-gallerymainDeployed merge 12fcf77399cb6ae21d3bfcea5cfafb37c3323b79, PR #14
Data-Advantage/openpresentation-sitemainDeployed merge 280a616701320cd1ca8d2484cf166fb91d882137, PR #10
Data-Advantage/pptx-devmasterNewly added integration scope; old checkout 4a1fc69af09addd37fe62500a1ab8b50fa63cbf8, not yet audited or modified

Use fresh fetches to resolve full commit IDs/current PR states. The old machine's primary downstream checkouts were deliberately left untouched and lag origin; release work happened in temporary clones. Gallery's primary checkout contains a pre-existing untracked pnpm-workspace.yaml; not part of this work. Temporary PPTX artifacts/ contains generated evidence/build outputs; source fixtures and builders are committed and can regenerate it.

Already published — do not republish

Core PR #25 merged as 21e4cfca617ddfebeee85f79b09c35b2e82637e1, with tree identical to reviewed head e71f7c3d1b9a99bf210d038ceac613f72f41f894.

  • @openpresentation/opf@0.7.0, tag opf-v0.7.0, successful publish run 34243706990.
  • @openpresentation/cli@0.4.0, tag cli-v0.4.0, successful publish run 34244109903.
  • Both registry gitHeads match the merge and have SLSA provenance. Tarball integrities matched the tested candidates. A fresh global CLI registry install reported CLI 0.4/core 0.7 and validated the styled fixture.
  • Core 404 tests, CLI 70 command checks, packed package checks, strict installed TypeScript fixture and coordinated Node20/24 CI passed before release. These results do not establish that later downstream edits are verified.

Core 0.7 introduces strict styled cells {value, style?, rowSpan?, colSpan?} with covered positions null; merge ownership validation; shared anchor geometry and .value editing paths; padding, alignment and spanning row heights; pagination that keeps connected vertical merges. Equal column widths and content-fit row heights remain limitations for importing native arbitrary table geometry.

Immediate release gates

Renderer PR #6: draft, not published

Version 0.5.0, core dependency ^0.7.0, registry lockfile current. Prior head b63bd0e passed standalone Node20/24 full suites and unchanged 126-deck/805-slide raster baseline against actual registry core 0.7. A fresh candidate consumer passed and matched runtime bytes.

Bugbot review on that head completed neutral with two findings. They must be assessed, not treated as a passing review:

  1. Claimed vertical alignment was ignored. Core layoutTable already offsets cell.textBox.y; scalar and rich renderer paths consume that box. New baseline assertions prove top/middle/bottom movement. Do not add a second offset.
  2. Valid finding: default neighboring edges could cover custom borders. Follow-up commits dabf91b and 80ae8bb render defaults before explicit edges and remove overlapping default segments, including zero-width/transparent/dashed edges and partial merge boundaries. Legacy tables without custom borders retain their prior rendering path.

The final head is b47bba1, including the regenerated tracked dist/svg.js. On the identical source/build from 80ae8bb, focused styled-table regressions pass on Node20/24 and renderer syntax checks pass. Full suite/raster baseline, renewed CI/review, and a new packed candidate remain required. The previous tarball integrity is obsolete. Review threads were left open for evidence-based follow-up. PR description records these distinctions.

Next: run checks on exact head, address review findings, mark ready, wait for CI/review, merge with exact-head protection, verify merged tree, tag opf-render-v0.5.0, monitor trusted npm publish, verify registry version/gitHead/provenance/integrity against the new tested tarball.

PPTX PR #10 and editor PR #5: draft release preparation

Their implementation and final README/CHANGELOG/package.json version changes are pushed. Lockfiles still describe the preceding dependency set. This is an explicit unfinished checkpoint because renderer 0.5.0 does not exist on npm yet. Do not merge or publish these drafts as-is.

After renderer publication, regenerate lockfiles from the registry and run clean installs. PPTX targets 0.5.0; editor targets 0.4.0. Both require core ^0.7.0 and renderer ^0.5.0 (optional peer, exact 0.5.0 development dependency). Use Node20 and Node24; prior toolchain was npm11.16/pnpm10.33.2. Run standalone suites without NODE_OPTIONS source loaders. Pack final versions, test fresh consumers, verify runtime bytes, update PR evidence, review/merge and tag in dependency order. Inspect workflows for exact tag patterns (PPTX opf-pptx-v0.5.0; verify editor pattern before tagging).

PPTX implementation preserves supported native fills/alpha, margins, alignments, borders/dashes, rich runs and dense merges; conditional styles resolve band/edge/corner precedence and archive-local line references. Malformed merges retain source text with diagnostics. Different border segments on merge continuations preserve anchor style with a diagnostic. Native arbitrary row/column geometry, effects and PowerPoint raster parity are incomplete.

Editor uses .value inline paths, preserves styles/spans, rejects invalid structure, supports rich promotion/selection formatting and undo; covered slots have no editable target. Browser and model fixtures are committed.

Core release sync: draft

This branch adds installed-package styled editor browser fixture generation to scripts/test-packed-ecosystem.mjs and styled renderer/PPTX tests to scripts/test-registry-fidelity.mjs. The latter clears NODE_OPTIONS in child tests to prevent a source loader invalidating registry claims. Syntax and diff checks pass; final full registry checks are pending.

release-plan.json still describes the previous complete published set. Update it and .github/workflows/ecosystem-ci.yml immutable downstream refs only after all new packages are available. Use the published core merge for core fixtures. Run fresh Node20/24 registry ecosystem/fidelity checks and actual installed-package browser interactions. Do not conflate generated browser bundles with executed UI tests.

Useful core commands: pnpm test:registry-ecosystem, pnpm test:registry-fidelity, pnpm prepare:gallery:registry, pnpm build:showcase:registry. Read their scripts and release plan for arguments/setup. Source-coordinated tests may use scripts/register-local-opf.mjs; registry verification must not.

Evidence and public integration status

Before the final renderer border follow-up, actual Edge browser interaction verified:

  • PPTX native styled import: 12 checks; rich import: 20 cases; conditional table styles: 11 checks.
  • Editor legacy rich fixture: 14 checks. Styled fixture: 37 passing assertions including repeated style/undo checks, real Roboto/Roboto Mono loading, double-click/keyboard edits, empty values, scalar promotion, Bold, partial selection/Italic, cancellation, merged glyph containment and undo.
  • These were coordinated development builds; final installed-registry browser runs still remain. No styled-table native Keynote inspection was completed. No native PowerPoint raster equivalence claim is supported.

Gallery and main site were deployed and verified against the PREVIOUS full package set: core 0.6, renderer 0.4, PPTX 0.4, editor 0.3, CLI 0.3. Prior checks covered 854 gallery documents, 593 site routes, six skills and 584 raw resources. They do not yet showcase the full new styled release set. Update assets, docs and deployments only after final registry verification, then test actual public workflows. pptx.dev has not yet been assessed.

New user priorities to address after resume

  1. Dependabot overload. Inspect notices/open PRs across all relevant repos. Screenshot examples from core: TypeScript 5.9.3→7.0.2 (#16), @types/node20→26 (#15), Biome (#14), json-schema-to-typescript15→16 (#13), pnpm/action-setup5→6 (#12), setup-node4→7 and checkout4→7 (#10). These are examples, not a current authoritative PR inventory. Evaluate runtime/schema/build compatibility, security significance and CI; safely group/schedule updates and reduce redundant reviewer notifications where appropriate. Preserve security visibility. Do not blindly merge major upgrades or suppress useful alerts.
  2. Public changelog. Update https://www.openpresentation.org/changelog from actual published release contents and dates. Clearly distinguish live npm releases from upcoming drafts and ensure site deployment is verified. The earlier core CHANGELOG0.4 fix does not satisfy this request.
  3. Easy skill installation. User wants a supported npx-style skill installer like Convex's AI-file installation experience, documented and suggested in relevant CLI output. Current docs/agent-skills.md instructs copying entire self-contained folders; do not assume an npx installer already exists. Research current official Convex/installer guidance before choosing syntax, implement/test actual clean-project installation and sensible updates across supported agents, keep provider-neutral, document it on site/repo, and add concise actionable CLI guidance. Avoid overwriting existing user skill configuration without an explicit update flow. Six OPF skill entrypoints: author, layout, presets, edit, export, inspect.
  4. Real downstream adoption and E2E quality. Audit openpresentation.org, pptx.gallery and Data-Advantage/pptx-dev (https://pptx.dev) for exact dependencies/bundles and user workflows. Adopt the tested published set and assess quality visually and functionally. Inventory existing model, package, browser and E2E tests; automate missing end-to-end paths from author/import through layout/preview, editing/undo, export and reimport. Test deployment versions and editable native output; report native-app fidelity gaps explicitly. Do not answer “all integrated” or “E2E complete” from the existing unit/corpus evidence alone.

Continue in reviewable milestones under existing authorization. Keep a concise evidence trail, preserve user work and stop relying on old-machine absolute paths.