Commit Graph

25 Commits

Author SHA1 Message Date
Iisyourdad 6b40396053 Make sample guide generation deterministic; regenerate examples
Template tests / tests (push) Failing after 17s
Fixed guide/step ids stop examples/ from churning on every verify run.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 21:40:49 -05:00
Iisyourdad a0a1bb5cfc Add sample guide, sample exports, and enriched build report
- examples/: sample guide store, .sfgz share archive, and exported
  output in all nine formats (JSON/MD/HTML×2/PDF/GIF/images/DOCX/PPTX)
- build_report.md now records packaging tool availability, fallback
  policy, offline guarantee, and verification entrypoints
- artifacts_manifest.json with sha256 checksums for packages + samples
- CHANGELOG entries for the welcome screen and renderer fixes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 21:33:58 -05:00
Iisyourdad 03bd9b0e2b Fix renderer scope collisions, editor bugs; add welcome screen
Bug fixes from code review:
- Wrap renderer modules (canvas/dialogs/editor/app) in IIFEs: duplicate
  top-level 'const api' across plain scripts threw a SyntaxError that
  prevented app.js from ever running (blank window), and dialogs.js/
  editor.js silently overrode each other's labeledRow/makeSelect
- Focused-view toggle now writes step.focusedView.enabled instead of a
  nonexistent flat field that the schema dropped on save
- Annotation property edits no longer rebuild the panel on every
  keystroke (focus was stolen mid-typing); debounced save instead
- flushStep/undo/redo keep this.steps in sync with stepMap so the step
  list stops going stale after the first save
- Escape now deselects the annotation; Delete remains the delete key

Welcome screen (per spec): app opens to a title at top and three
buttons at the bottom — New Capture (creates a guide, opens the editor,
starts a capture session), Existing Workspace (library), Settings.
Brand click returns to the welcome screen.

Adds an env-gated dev screenshot hook (STEPFORGE_SCREENSHOT[_JS]) used
to visually verify welcome/library/editor views under WSLg.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 21:29:14 -05:00
Iisyourdad 4ab18080ce Revert "welcome screen"
Template tests / tests (push) Failing after 16s
This reverts commit 34fe8183b6.
2026-06-10 20:05:39 -05:00
Iisyourdad 34fe8183b6 welcome screen
Template tests / tests (push) Failing after 16s
2026-06-10 20:03:18 -05:00
Iisyourdad a21e086ac7 Revert "Add welcome landing screen"
Template tests / tests (push) Failing after 16s
This reverts commit 78247ac9ba.
2026-06-10 19:50:01 -05:00
Iisyourdad 78247ac9ba Add welcome landing screen
Template tests / tests (push) Failing after 16s
2026-06-10 19:48:41 -05:00
Iisyourdad e20af548a0 Ignore Electron download skip flag during startup
Template tests / tests (push) Failing after 15s
2026-06-10 19:34:00 -05:00
Iisyourdad a94f262565 Rebuild Electron binary when startup finds it missing
Template tests / tests (push) Failing after 15s
2026-06-10 19:08:46 -05:00
Iisyourdad 3bcac9f673 Repair Electron startup and install CI deps
Template tests / tests (push) Failing after 15s
2026-06-10 19:01:58 -05:00
Iisyourdad 814a593887 Resolve Electron binary directly at startup
Template tests / tests (push) Failing after 3s
2026-06-10 18:58:07 -05:00
Iisyourdad 6cae669767 Run Gitea tests on MOMP 2026-06-10 18:53:28 -05:00
Iisyourdad 3da4239338 Add getting started guide and Windows packaging
Template tests / tests (push) Failing after 6s
2026-06-10 18:48:27 -05:00
Iisyourdad f47aca67c2 Finish Electron shell and workflow wiring
Template tests / tests (push) Failing after 4s
2026-06-10 18:32:30 -05:00
Iisyourdad a5bbdde480 Add binary exporters and template manager
Template tests / tests (push) Failing after 52s
- Native PDF exporter (cover, TOC, bookmarks, images, code, tables,
  text blocks); validated under Ghostscript
- Animated GIF exporter (title card, title overlay, progress bar)
- Image bundle exporter with watermark compositing
- DOCX and PPTX emitters (hand-built OOXML over our zip writer) with
  structural + relationship + XML well-formedness validation in tests
- Per-format template manager with .sfglt share archives
- Unified export dispatcher covering all nine formats
- 10 more workflow tests (52 total)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:59:19 -05:00
Iisyourdad ca73db68e3 Add Render AST and text exporters: JSON, Markdown, HTML simple/rich
- Render AST: placeholder expansion, hierarchical numbering (1, 1.1),
  hidden/skipped filtering, preview step limit, annotated image rendering
- JSON exporter with sidecar annotated PNGs
- Markdown exporter: TOC with resolving anchors, text blocks as
  blockquotes, fenced code, tables, Azure-wiki image sizing option
- Self-contained HTML exporters (data-URI images, zero external refs);
  rich variant adds floating TOC, checkboxes, localStorage progress
- HTML->Markdown converter for the sanitizer-allowed tag set
- 7 exporter workflow tests (42 total)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:53:23 -05:00
Iisyourdad b7e64c79b4 Add imaging/document primitives: PNG codec, rasterizer, GIF, PDF
- Pure-JS PNG decode (grey/RGB/palette/alpha) + RGBA encode, CRC-checked;
  decode verified byte-identical with ImageMagick
- Software rasterizer: shapes, arrows, blur, highlight, magnify, tooltip,
  number badges, cursor, bitmap text (vendored public-domain font8x8),
  crop/resize, focused-view rendering
- GIF89a encoder with LZW (cross-validated pixel-for-pixel against
  ImageMagick decode) + NETSCAPE looping
- Minimal PDF 1.4 writer: pages, fonts, rects, images, outlines, valid
  xref; rendering validated under Ghostscript
- 12 imaging workflow tests (35 total)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:48:57 -05:00
Iisyourdad 0edcc38886 Add full-text search index over guides, steps, blocks, and placeholders
Pure-JS inverted index persisted under library/index/ (documented FTS5
fallback). AND queries, last-token prefix matching, title boosting,
step deep-links, snippets. 4 workflow tests (23 total).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:39:49 -05:00
Iisyourdad 3c51cf6f81 Add archive layer: zip, .sfgz share files, locks, snapshots
- Hand-rolled ZIP writer/reader (node:zlib only) with CRC verification,
  UTF-8 names, store/deflate, path-traversal validation; verified
  interoperable with system unzip
- .sfgz guide archives: export, copy-import (fresh ids, remapped
  substeps), linked-import with explicit write-back save
- Advisory .lock-sfgz sidecar locks with stale detection and force-steal
- Snapshot backups with pruning and undoable restore
- 7 more workflow tests (19 total)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:38:30 -05:00
Iisyourdad 2a602d7477 Add core domain layer: schema, store, sanitizer, placeholders, settings
- Folder-based GuideStore with atomic writes, trash/restore, duplicate,
  substep reparenting, folders/favorites, working-image crop/reset
- Allowlist HTML sanitizer applied on every store write
- Placeholder scopes (guide > global > system) and collection
- Persisted app settings with deep default merge
- 16 workflow tests exercising real on-disk round-trips

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:34:15 -05:00
Iisyourdad 70d812007f Scaffold StepForge: docs, license, audit, npm project
- Environment audit and stack decision in build/agent_audit.md
  (Node + Electron shell over dependency-free core; deviation recorded)
- Rewrite README/ARCHITECTURE/CONTRIBUTING for StepForge
- Add SECURITY.md threat model, CODE_OF_CONDUCT.md, CHANGELOG.md, MPL-2.0
- Replace template grep checks with structural workflow check

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:29:20 -05:00
Iisyourdad e15f95d22c Add prompt.md build specification
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 16:20:11 -05:00
Tyler 6a3b4838e1 Update tests/checks/test_readme.sh
Template tests / tests (push) Failing after 3s
2026-06-10 21:13:52 +00:00
Tyler b6487194d5 Update README.md
Template tests / tests (push) Failing after 4s
2026-06-10 21:13:05 +00:00
Tyler 1a506d1892 Initial commit 2026-06-10 21:12:07 +00:00