@open-press/cli 0.7.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.md +29 -13
  2. package/dist/cli.js +44 -195
  3. package/package.json +4 -5
  4. package/template/core/AGENTS.md +18 -14
  5. package/template/core/CHANGELOG.md +57 -9
  6. package/template/core/README.md +6 -3
  7. package/template/core/engine/cli.mjs +8 -8
  8. package/template/core/engine/commands/_shared.mjs +37 -15
  9. package/template/core/engine/commands/dev.mjs +2 -2
  10. package/template/core/engine/commands/image.mjs +29 -0
  11. package/template/core/engine/commands/skills-sync.mjs +71 -0
  12. package/template/core/engine/commands/typecheck.mjs +63 -1
  13. package/template/core/engine/commands/upgrade.mjs +3 -3
  14. package/template/core/engine/document-export.mjs +1 -1
  15. package/template/core/engine/output/chrome-pdf.mjs +110 -3
  16. package/template/core/engine/output/static-server.mjs +87 -9
  17. package/template/core/engine/react/comment-endpoint.mjs +13 -39
  18. package/template/core/engine/react/comment-marker.mjs +43 -19
  19. package/template/core/engine/react/document-entry.mjs +46 -28
  20. package/template/core/engine/react/document-export.mjs +328 -164
  21. package/template/core/engine/react/http-json.mjs +24 -0
  22. package/template/core/engine/react/mdx-compile.mjs +126 -3
  23. package/template/core/engine/react/measurement-css.mjs +114 -1
  24. package/template/core/engine/react/object-entities.mjs +204 -0
  25. package/template/core/engine/react/pagination/allocator.mjs +48 -3
  26. package/template/core/engine/react/pagination.mjs +1 -1
  27. package/template/core/engine/react/pipeline/allocate.mjs +41 -72
  28. package/template/core/engine/react/pipeline/frame-measurement.mjs +6 -0
  29. package/template/core/engine/react/press-tree-inspection.mjs +172 -0
  30. package/template/core/engine/react/project-asset-endpoint.mjs +6 -24
  31. package/template/core/engine/react/source-edit-endpoint.d.mts +10 -0
  32. package/template/core/engine/react/source-edit-endpoint.mjs +75 -0
  33. package/template/core/engine/react/sources/mdx-resolver.mjs +13 -15
  34. package/template/core/engine/react/style-discovery.mjs +23 -8
  35. package/template/core/engine/runtime/config.d.mts +8 -0
  36. package/template/core/engine/runtime/config.mjs +57 -60
  37. package/template/core/engine/runtime/file-utils.mjs +9 -1
  38. package/template/core/engine/runtime/file-walk.mjs +22 -0
  39. package/template/core/engine/runtime/inspection.mjs +1 -20
  40. package/template/core/engine/runtime/page-geometry.mjs +131 -0
  41. package/template/core/engine/runtime/path-utils.mjs +20 -0
  42. package/template/core/engine/runtime/source-text-tools.d.mts +102 -0
  43. package/template/core/engine/runtime/source-text-tools.mjs +551 -16
  44. package/template/core/engine/runtime/source-workspace.mjs +16 -34
  45. package/template/core/engine/runtime/validation.mjs +19 -10
  46. package/template/core/openpress.config.mjs +3 -7
  47. package/template/core/package.json +3 -5
  48. package/template/core/src/main.tsx +2 -2
  49. package/template/core/src/openpress/app/OpenPressApp.tsx +296 -0
  50. package/template/core/src/openpress/{renderer.tsx → app/OpenPressRuntime.tsx} +20 -9
  51. package/template/core/src/openpress/app/WorkspaceGalleryPage.tsx +219 -0
  52. package/template/core/src/openpress/app/index.ts +2 -0
  53. package/template/core/src/openpress/core/Frame.tsx +26 -15
  54. package/template/core/src/openpress/core/FrameContext.tsx +10 -3
  55. package/template/core/src/openpress/core/MdxArea.tsx +11 -12
  56. package/template/core/src/openpress/core/Press.tsx +25 -4
  57. package/template/core/src/openpress/core/Workspace.tsx +36 -0
  58. package/template/core/src/openpress/core/cn.ts +4 -0
  59. package/template/core/src/openpress/core/index.tsx +11 -3
  60. package/template/core/src/openpress/core/primitives.tsx +74 -6
  61. package/template/core/src/openpress/core/types.ts +94 -41
  62. package/template/core/src/openpress/core/useSource.ts +1 -1
  63. package/template/core/src/openpress/{anchorMap.ts → document-model/anchorMapModel.ts} +1 -1
  64. package/template/core/src/openpress/{indexes.ts → document-model/documentIndexes.ts} +1 -1
  65. package/template/core/src/openpress/{types.ts → document-model/documentTypes.ts} +51 -0
  66. package/template/core/src/openpress/document-model/index.ts +7 -0
  67. package/template/core/src/openpress/document-model/objectEntityModel.ts +55 -0
  68. package/template/core/src/openpress/{projectIdentity.ts → document-model/projectIdentityModel.ts} +1 -1
  69. package/template/core/src/openpress/{reactDocumentMetadata.ts → document-model/reactDocumentMetadataModel.ts} +1 -1
  70. package/template/core/src/openpress/document-model/workspaceManifestModel.ts +57 -0
  71. package/template/core/src/openpress/manuscript/index.tsx +49 -7
  72. package/template/core/src/openpress/mdx/index.ts +15 -7
  73. package/template/core/src/openpress/reader/PageThumbnailsPanel.tsx +168 -0
  74. package/template/core/src/openpress/{publicPage.tsx → reader/PublicReaderPage.tsx} +31 -51
  75. package/template/core/src/openpress/{workbenchPanels.tsx → reader/ReaderNavigationPanel.tsx} +6 -5
  76. package/template/core/src/openpress/reader/index.ts +11 -0
  77. package/template/core/src/openpress/reader/pageViewportScaleModel.ts +73 -0
  78. package/template/core/src/openpress/reader/readerTypes.ts +4 -0
  79. package/template/core/src/openpress/reader/usePageViewportScale.ts +119 -0
  80. package/template/core/src/openpress/reader/usePanelState.ts +56 -0
  81. package/template/core/src/openpress/reader/useReaderHashSync.ts +61 -0
  82. package/template/core/src/openpress/reader/useReaderKeyboardNav.ts +48 -0
  83. package/template/core/src/openpress/reader/useReaderRuntime.ts +146 -0
  84. package/template/core/src/openpress/reader/useReaderScrollAnchor.ts +64 -0
  85. package/template/core/src/openpress/shared/Panel.tsx +77 -0
  86. package/template/core/src/openpress/shared/index.ts +4 -0
  87. package/template/core/src/openpress/shared/numberUtils.ts +3 -0
  88. package/template/core/src/openpress/{runtimeMode.ts → shared/runtimeMode.ts} +0 -11
  89. package/template/core/src/openpress/workbench/Workbench.tsx +506 -0
  90. package/template/core/src/openpress/workbench/actions/DeploymentControl.tsx +157 -0
  91. package/template/core/src/openpress/workbench/actions/ExportImageControl.tsx +96 -0
  92. package/template/core/src/openpress/workbench/actions/PageZoomControl.tsx +182 -0
  93. package/template/core/src/openpress/workbench/actions/SearchControl.tsx +345 -0
  94. package/template/core/src/openpress/workbench/actions/deploymentStatusModel.ts +112 -0
  95. package/template/core/src/openpress/workbench/actions/index.ts +6 -0
  96. package/template/core/src/openpress/workbench/actions/useDeploymentWorkbench.ts +136 -0
  97. package/template/core/src/openpress/workbench/dialog/WorkbenchDialog.tsx +72 -0
  98. package/template/core/src/openpress/workbench/dialog/index.ts +1 -0
  99. package/template/core/src/openpress/workbench/document/components/DocumentPanel.tsx +127 -0
  100. package/template/core/src/openpress/workbench/document/components/InlineSourceEditorLayer.tsx +207 -0
  101. package/template/core/src/openpress/workbench/document/components/ReaderStage.tsx +9 -0
  102. package/template/core/src/openpress/workbench/document/hooks/useDocumentWorkbenchModel.ts +34 -0
  103. package/template/core/src/openpress/workbench/document/hooks/useInlineDocumentEditor.ts +525 -0
  104. package/template/core/src/openpress/workbench/document/index.ts +10 -0
  105. package/template/core/src/openpress/workbench/index.ts +2 -0
  106. package/template/core/src/openpress/workbench/inspector/InlineInspectorLayer.tsx +459 -0
  107. package/template/core/src/openpress/workbench/inspector/index.ts +5 -0
  108. package/template/core/src/openpress/workbench/inspector/inlineCommentModel.ts +125 -0
  109. package/template/core/src/openpress/workbench/inspector/inspectorGeometryModel.ts +160 -0
  110. package/template/core/src/openpress/workbench/inspector/inspectorModel.ts +408 -0
  111. package/template/core/src/openpress/workbench/inspector/useInspectorComments.ts +254 -0
  112. package/template/core/src/openpress/workbench/mentions/MentionSuggestionList.tsx +41 -0
  113. package/template/core/src/openpress/workbench/mentions/index.ts +2 -0
  114. package/template/core/src/openpress/{composerMentions.ts → workbench/mentions/useComposerMentions.ts} +1 -4
  115. package/template/core/src/openpress/workbench/panels/Panel.tsx +1 -0
  116. package/template/core/src/openpress/workbench/panels/PendingCommentsPanel.tsx +80 -0
  117. package/template/core/src/openpress/workbench/panels/WorkbenchControlPanel.tsx +29 -0
  118. package/template/core/src/openpress/workbench/panels/index.ts +3 -0
  119. package/template/core/src/openpress/workbench/project/ProjectEntryPanel.tsx +525 -0
  120. package/template/core/src/openpress/workbench/project/ProjectPreviewDialog.tsx +35 -0
  121. package/template/core/src/openpress/workbench/project/index.ts +2 -0
  122. package/template/core/src/openpress/workbench/project/projectPreviewTypes.ts +11 -0
  123. package/template/core/src/openpress/workbench/shell/WorkbenchShell.tsx +167 -0
  124. package/template/core/src/openpress/workbench/shell/index.ts +1 -0
  125. package/template/core/src/openpress/workbench/workbenchFormatters.ts +120 -0
  126. package/template/core/src/openpress/workbench/workbenchTypes.ts +35 -0
  127. package/template/core/src/styles/openpress/print-route.css +0 -2
  128. package/template/core/src/styles/openpress/{project-workspace.css → project-preview-panel.css} +13 -407
  129. package/template/core/src/styles/openpress/public-viewer.css +25 -320
  130. package/template/core/src/styles/openpress/reader-runtime.css +252 -55
  131. package/template/core/src/styles/openpress/responsive.css +145 -270
  132. package/template/core/src/styles/openpress/workbench-panels.css +327 -178
  133. package/template/core/src/styles/openpress/workbench.css +986 -451
  134. package/template/core/src/styles/openpress/workspace-gallery.css +300 -0
  135. package/template/core/src/styles/openpress.css +2 -1
  136. package/template/core/tsconfig.json +1 -1
  137. package/template/core/vite.config.ts +50 -0
  138. package/template/core/engine/commands/init.mjs +0 -24
  139. package/template/core/engine/init.mjs +0 -90
  140. package/template/core/src/openpress/App.tsx +0 -127
  141. package/template/core/src/openpress/inspector.ts +0 -282
  142. package/template/core/src/openpress/projectWorkspace.tsx +0 -919
  143. package/template/core/src/openpress/readerRuntime.ts +0 -230
  144. package/template/core/src/openpress/workbench.tsx +0 -1265
  145. package/template/core/src/openpress/workbenchTypes.ts +0 -4
  146. package/template/packs/academic-paper/document/chapters/01-introduction/content/01-introduction.mdx +0 -35
  147. package/template/packs/academic-paper/document/chapters/02-methods/content/01-methods.mdx +0 -50
  148. package/template/packs/academic-paper/document/chapters/03-results-and-discussion/content/01-results.mdx +0 -47
  149. package/template/packs/academic-paper/document/chapters/04-acknowledgment/content/01-acknowledgment.mdx +0 -26
  150. package/template/packs/academic-paper/document/chapters/05-references/content/01-references.mdx +0 -32
  151. package/template/packs/academic-paper/document/components/ChapterOpenerVisual/index.tsx +0 -76
  152. package/template/packs/academic-paper/document/components/Page.tsx +0 -60
  153. package/template/packs/academic-paper/document/components/TokenSwatchGrid/index.tsx +0 -46
  154. package/template/packs/academic-paper/document/components/TokenSwatchGrid/style.css +0 -63
  155. package/template/packs/academic-paper/document/components/TypeSpecimen/index.tsx +0 -38
  156. package/template/packs/academic-paper/document/components/TypeSpecimen/style.css +0 -111
  157. package/template/packs/academic-paper/document/design.md +0 -279
  158. package/template/packs/academic-paper/document/index.tsx +0 -123
  159. package/template/packs/academic-paper/document/media/README.md +0 -13
  160. package/template/packs/academic-paper/document/media/figure-placeholder.svg +0 -9
  161. package/template/packs/academic-paper/document/openpress.config.mjs +0 -26
  162. package/template/packs/academic-paper/document/theme/README.md +0 -11
  163. package/template/packs/academic-paper/document/theme/base/page-contract.css +0 -522
  164. package/template/packs/academic-paper/document/theme/base/print.css +0 -93
  165. package/template/packs/academic-paper/document/theme/base/typography.css +0 -333
  166. package/template/packs/academic-paper/document/theme/fonts.css +0 -3
  167. package/template/packs/academic-paper/document/theme/page-surfaces/back-cover.css +0 -43
  168. package/template/packs/academic-paper/document/theme/page-surfaces/chapter-opener.css +0 -205
  169. package/template/packs/academic-paper/document/theme/page-surfaces/cover.css +0 -294
  170. package/template/packs/academic-paper/document/theme/page-surfaces/toc.css +0 -149
  171. package/template/packs/academic-paper/document/theme/patterns/_chart-frame.css +0 -49
  172. package/template/packs/academic-paper/document/theme/patterns/figure-grid.css +0 -68
  173. package/template/packs/academic-paper/document/theme/patterns/table-utilities.css +0 -66
  174. package/template/packs/academic-paper/document/theme/shell/reader-controls.css +0 -761
  175. package/template/packs/academic-paper/document/theme/tokens.css +0 -80
  176. package/template/packs/academic-paper/openpress.config.mjs +0 -5
  177. package/template/packs/claude-document/document/chapters/01-document-shape/content/01-document-shape.mdx +0 -51
  178. package/template/packs/claude-document/document/chapters/02-review-loop/content/01-review-loop.mdx +0 -31
  179. package/template/packs/claude-document/document/components/ChapterOpenerVisual.tsx +0 -96
  180. package/template/packs/claude-document/document/components/Page.tsx +0 -37
  181. package/template/packs/claude-document/document/design.md +0 -142
  182. package/template/packs/claude-document/document/index.tsx +0 -94
  183. package/template/packs/claude-document/document/media/README.md +0 -13
  184. package/template/packs/claude-document/document/openpress.config.mjs +0 -26
  185. package/template/packs/claude-document/document/theme/README.md +0 -15
  186. package/template/packs/claude-document/document/theme/base/page-contract.css +0 -525
  187. package/template/packs/claude-document/document/theme/base/print.css +0 -93
  188. package/template/packs/claude-document/document/theme/base/typography.css +0 -612
  189. package/template/packs/claude-document/document/theme/fonts.css +0 -4
  190. package/template/packs/claude-document/document/theme/page-surfaces/back-cover.css +0 -72
  191. package/template/packs/claude-document/document/theme/page-surfaces/chapter-opener.css +0 -236
  192. package/template/packs/claude-document/document/theme/page-surfaces/cover.css +0 -309
  193. package/template/packs/claude-document/document/theme/page-surfaces/toc.css +0 -225
  194. package/template/packs/claude-document/document/theme/patterns/_chart-frame.css +0 -53
  195. package/template/packs/claude-document/document/theme/patterns/figure-grid.css +0 -68
  196. package/template/packs/claude-document/document/theme/patterns/table-utilities.css +0 -66
  197. package/template/packs/claude-document/document/theme/shell/reader-controls.css +0 -789
  198. package/template/packs/claude-document/document/theme/tokens.css +0 -89
  199. package/template/packs/claude-document/openpress.config.mjs +0 -5
  200. package/template/packs/editorial-monograph/document/chapters/01-product-and-use-cases/content/01-product-and-use-cases.mdx +0 -31
  201. package/template/packs/editorial-monograph/document/chapters/02-workflow/content/01-workflow.mdx +0 -89
  202. package/template/packs/editorial-monograph/document/chapters/03-agent-skills-contributors/content/01-agent-skills-contributors.mdx +0 -51
  203. package/template/packs/editorial-monograph/document/chapters/04-validation-deploy/content/01-validation-deploy.mdx +0 -39
  204. package/template/packs/editorial-monograph/document/components/ChapterOpenerVisual/index.tsx +0 -76
  205. package/template/packs/editorial-monograph/document/components/Page.tsx +0 -37
  206. package/template/packs/editorial-monograph/document/components/TokenSwatchGrid/index.tsx +0 -46
  207. package/template/packs/editorial-monograph/document/components/TokenSwatchGrid/style.css +0 -63
  208. package/template/packs/editorial-monograph/document/components/TypeSpecimen/index.tsx +0 -38
  209. package/template/packs/editorial-monograph/document/components/TypeSpecimen/style.css +0 -111
  210. package/template/packs/editorial-monograph/document/design.md +0 -279
  211. package/template/packs/editorial-monograph/document/index.tsx +0 -97
  212. package/template/packs/editorial-monograph/document/media/README.md +0 -13
  213. package/template/packs/editorial-monograph/document/openpress.config.mjs +0 -26
  214. package/template/packs/editorial-monograph/document/theme/README.md +0 -11
  215. package/template/packs/editorial-monograph/document/theme/base/page-contract.css +0 -505
  216. package/template/packs/editorial-monograph/document/theme/base/print.css +0 -93
  217. package/template/packs/editorial-monograph/document/theme/base/typography.css +0 -336
  218. package/template/packs/editorial-monograph/document/theme/fonts.css +0 -3
  219. package/template/packs/editorial-monograph/document/theme/page-surfaces/back-cover.css +0 -43
  220. package/template/packs/editorial-monograph/document/theme/page-surfaces/chapter-opener.css +0 -205
  221. package/template/packs/editorial-monograph/document/theme/page-surfaces/cover.css +0 -147
  222. package/template/packs/editorial-monograph/document/theme/page-surfaces/toc.css +0 -149
  223. package/template/packs/editorial-monograph/document/theme/patterns/_chart-frame.css +0 -49
  224. package/template/packs/editorial-monograph/document/theme/patterns/figure-grid.css +0 -68
  225. package/template/packs/editorial-monograph/document/theme/patterns/table-utilities.css +0 -66
  226. package/template/packs/editorial-monograph/document/theme/shell/reader-controls.css +0 -761
  227. package/template/packs/editorial-monograph/document/theme/tokens.css +0 -80
  228. package/template/packs/editorial-monograph/openpress.config.mjs +0 -5
  229. /package/template/core/src/openpress/{readerPageRegistry.ts → reader/readerPageRegistry.ts} +0 -0
  230. /package/template/core/src/openpress/{pageRoute.ts → reader/readerPageRoute.ts} +0 -0
  231. /package/template/core/src/openpress/{readerScroll.ts → reader/readerScroll.ts} +0 -0
  232. /package/template/core/src/openpress/{readerState.ts → reader/readerStateModel.ts} +0 -0
  233. /package/template/core/src/openpress/{frameScheduler.ts → shared/frameScheduler.ts} +0 -0
  234. /package/template/core/src/openpress/{projectSources.ts → workbench/project/projectSourceModel.ts} +0 -0
@@ -1,4 +0,0 @@
1
- import type { IndexedHtmlPage } from "./indexes";
2
- import type { HtmlPageBlock } from "./types";
3
-
4
- export type DisplayPage = IndexedHtmlPage & Pick<HtmlPageBlock, "source">;
@@ -1,35 +0,0 @@
1
- ## Introduction
2
-
3
- The purpose of this paper template is to provide a compact, readable structure for a
4
- machine-learning research manuscript written in a formal journal style.
5
-
6
- ### Background and Motivation
7
-
8
- Recent studies have shown that modern experiments produce larger datasets and richer
9
- artifact pipelines, but the writing process is often bottlenecked by repeated formatting
10
- adjustments. A lightweight drafting layer can decouple scientific reasoning from
11
- typesetting concerns and let the author focus on experimental validity first.
12
-
13
- ### Problem Statement
14
-
15
- The key challenge addressed in this draft is to keep the manuscript internally
16
- consistent while moving from scratch notes to a submission-ready narrative. The
17
- workflow should preserve section hierarchy, citation order, and figure/table integrity
18
- without requiring manual renumbering.
19
-
20
- ### Contribution
21
-
22
- This demo paper includes the following contributions:
23
-
24
- - A reproducible chapter flow (`Introduction → Methods → Results and Discussion →
25
- Conclusion`),
26
- - Consistent heading levels for major and minor sections,
27
- - Placeholder media and tables that can be swapped with real results,
28
- - A reference block and placeholder metadata for a clean handoff to final publication
29
- tooling.
30
-
31
- ### Paper Organization
32
-
33
- The paper is organized as follows: Section 2 details the methodology,
34
- Section 3 reports results and discusses representative scenarios,
35
- Section 4 summarizes conclusions and practical recommendations.
@@ -1,50 +0,0 @@
1
- ## Methods
2
-
3
- This section describes a hypothetical experimental design suitable for an applied
4
- machine-learning paper.
5
-
6
- ### Data and Problem Setup
7
-
8
- We assume a synthetic dataset with 3,200 anonymized samples collected under three
9
- operational conditions. Each sample includes paired feature vectors, timestamped
10
- metadata, and a binary outcome label. The baseline split is 70/15/15 for training,
11
- validation, and held-out test sets.
12
-
13
- ### Core Pipeline
14
-
15
- The pipeline has three stages:
16
-
17
- 1. **Preprocessing**: normalization, missing-value handling, and feature screening.
18
- 2. **Modeling**: training a compact baseline model and a comparison ablation set.
19
- 3. **Evaluation**: calibration-aware scoring and bootstrapped confidence intervals.
20
-
21
- For this draft, preprocessing includes clipping extreme values and aligning all
22
- continuous fields to SI-style unit notation.
23
-
24
- ### Equations
25
-
26
- The main objective is written as:
27
-
28
- $$
29
- \mathcal{L}(\theta) = \sum_{i=1}^{N}\left(\hat{y}_{i}(\theta)-y_{i}\right)^2
30
- $$
31
-
32
- where $\theta$ are trainable parameters and the objective is minimized on the
33
- training subset.
34
-
35
- ### Evaluation Protocol
36
-
37
- Model quality is measured by macro-averaged F1, AUROC, and an uncertainty-aware
38
- calibration score. Reproducibility is ensured by fixing the random seed and logging
39
- all preprocessing parameters.
40
-
41
- ### Implementation Notes
42
-
43
- - All runs were executed on a dual-socket compute node with two GPUs.
44
- - Checkpoints were stored every 5 epochs.
45
- - Logging followed a single JSON schema shared across all experiments.
46
-
47
- ### Validation and Quality Control
48
-
49
- Validation is automated through a script that checks missing captions, file path
50
- consistency, and reference formatting before final export.
@@ -1,47 +0,0 @@
1
- ## Results and Discussion
2
-
3
- ### Benchmark Results
4
-
5
- The synthetic experiment yields a consistent improvement trend across three datasets.
6
- Performance gains are modest but stable after hyperparameter tuning.
7
-
8
- | Metric | Baseline | Proposed | Improvement |
9
- | --- | --- | --- | --- |
10
- | Macro-F1 | 0.61 | 0.67 | +9.8% |
11
- | AUROC | 0.74 | 0.81 | +9.5% |
12
- | Calibration Error | 0.082 | 0.043 | -47.6% |
13
-
14
- The proposed model retains a similar variance profile while improving score
15
- stability in low-sample conditions.
16
-
17
- ### Representative Visualization
18
-
19
- <img
20
- src="media/figure-placeholder.svg"
21
- alt="Example of a figure placeholder"
22
- style={{ maxWidth: "420px", width: "100%", height: "auto" }}
23
- />
24
-
25
- Figure 1. Example of a result trend visualization (placeholder image).
26
-
27
- ### Error Analysis
28
-
29
- Some error cases cluster around edge classes with incomplete metadata. These cases
30
- benefit from better augmentation and a revised class-balanced loss.
31
-
32
- ### Sensitivity Study
33
-
34
- - Training set size below 40% causes a steeper drop in recall.
35
- - Early stopping thresholds above 3 epochs reduce overfitting in our setting.
36
- - Calibrated post-processing improves confidence robustness.
37
-
38
- ### Discussion
39
-
40
- The most practical takeaway is that small engineering changes in preprocessing and
41
- evaluation discipline can produce measurable gains even when architecture changes are
42
- minimal.
43
-
44
- ### Limitations
45
-
46
- This section reports synthetic results only; real-world deployment would require
47
- cross-domain validation, privacy checks, and a stronger external benchmark suite.
@@ -1,26 +0,0 @@
1
- ## Conclusions
2
-
3
- This template run shows that a simple methodology with consistent evaluation
4
- accounting can achieve reliable gains without dramatic architectural complexity.
5
-
6
- ### Key Takeaways
7
-
8
- - Keep preprocessing and metric reporting deterministic.
9
- - Use a calibrated validation protocol before reporting final headline scores.
10
- - Reserve model complexity for problems that cannot be solved with better data
11
- discipline.
12
-
13
- ### Practical Recommendations
14
-
15
- Authors are encouraged to replace each placeholder paragraph with real study details,
16
- including hardware, code provenance, and full reproducibility statements.
17
-
18
- ### Limitations and Future Work
19
-
20
- The current draft is synthetic; external generalization remains to be demonstrated.
21
- Future work should add domain transfer tests and a public benchmark release.
22
-
23
- ### Acknowledgments
24
-
25
- We thank the hypothetical reviewers and platform contributors who would have reviewed
26
- this draft in a real submission round.
@@ -1,32 +0,0 @@
1
- ## References
2
-
3
- Please number references consecutively within brackets `[1]`.
4
- Sentence punctuation follows the bracketed number.
5
-
6
- ---
7
-
8
- [1] G. Eason, B. Noble, and I. N. Sneddon, “On certain integrals of
9
- Lipschitz-Hankel type involving products of Bessel functions,” *Phil. Trans. Roy.
10
- Soc. London*, vol. A247, pp. 529–551, April 1955.
11
-
12
- [2] J. Clerk Maxwell, *A Treatise on Electricity and Magnetism*, 3rd ed., vol. 2.
13
- Oxford: Clarendon, 1892, pp. 68–73.
14
-
15
- [3] I. S. Jacobs and C. P. Bean, “Fine particles, thin films and exchange anisotropy,”
16
- in *Magnetism*, vol. III, G. T. Rado and H. Suhl, Eds. New York: Academic,
17
- 1963, pp. 271–350.
18
-
19
- [4] K. Elissa, “Title of paper if known,” unpublished.
20
-
21
- [5] R. Nicole, “Title of paper with only first word capitalized,” *J. Name Stand.
22
- Abbrev.*, in press.
23
-
24
- [6] Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy studies
25
- on magneto-optical media and plastic substrate interface,” *IEEE Trans. J. Magn.
26
- Japan*, vol. 2, pp. 740–741, August 1987.
27
-
28
- [7] M. Young, *The Technical Writer&apos;s Handbook*. Mill Valley, CA: University
29
- Science, 1989.
30
-
31
- > Open-press is used for iteration. Remove all template placeholder text and replace
32
- > references before submission.
@@ -1,76 +0,0 @@
1
- const TONES = new Set(["sage", "lavender", "mint", "amber"]);
2
-
3
- const VISUALS = {
4
- "linked-list": `<svg viewBox="0 0 520 330" focusable="false" aria-hidden="true">
5
- <rect class="chapter-opener-illustration__paper" x="42" y="96" width="116" height="82" rx="4" />
6
- <rect class="chapter-opener-illustration__paper" x="204" y="96" width="116" height="82" rx="4" />
7
- <rect class="chapter-opener-illustration__paper" x="366" y="96" width="116" height="82" rx="4" />
8
- <path class="chapter-opener-illustration__stroke" d="M158 137 H204" />
9
- <path class="chapter-opener-illustration__stroke" d="M320 137 H366" />
10
- <path class="chapter-opener-illustration__arrow" d="M190 122 206 137 190 152" />
11
- <path class="chapter-opener-illustration__arrow" d="M352 122 368 137 352 152" />
12
- <path class="chapter-opener-illustration__thin" d="M72 128 H118 M72 150 H128 M234 128 H280 M234 150 H286 M396 128 H442 M396 150 H452" />
13
- <circle class="chapter-opener-illustration__node" cx="144" cy="137" r="13" />
14
- <circle class="chapter-opener-illustration__node" cx="306" cy="137" r="13" />
15
- <circle class="chapter-opener-illustration__node" cx="468" cy="137" r="13" />
16
- <path class="chapter-opener-illustration__stroke" d="M262 178 C262 222 220 244 158 244 C98 244 68 222 68 190" />
17
- <path class="chapter-opener-illustration__arrow" d="M52 204 68 188 84 204" />
18
- </svg>`,
19
- tree: `<svg viewBox="0 0 520 330" focusable="false" aria-hidden="true">
20
- <path class="chapter-opener-illustration__paper" d="M232 40 316 40 352 86 330 132 218 132 194 86Z" />
21
- <path class="chapter-opener-illustration__paper" d="M88 198 170 178 228 218 204 288 100 288 58 240Z" />
22
- <path class="chapter-opener-illustration__paper" d="M314 198 400 176 466 224 450 292 328 292 282 238Z" />
23
- <path class="chapter-opener-illustration__stroke" d="M262 118 160 214 M270 118 374 214" />
24
- <path class="chapter-opener-illustration__stroke" d="M160 214 122 258 M160 214 204 258 M374 214 330 258 M374 214 420 258" />
25
- <circle class="chapter-opener-illustration__node" cx="266" cy="100" r="24" />
26
- <circle class="chapter-opener-illustration__node" cx="160" cy="214" r="22" />
27
- <circle class="chapter-opener-illustration__node" cx="374" cy="214" r="22" />
28
- <circle class="chapter-opener-illustration__dot" cx="122" cy="258" r="13" />
29
- <circle class="chapter-opener-illustration__dot" cx="204" cy="258" r="13" />
30
- <circle class="chapter-opener-illustration__dot" cx="330" cy="258" r="13" />
31
- <circle class="chapter-opener-illustration__dot" cx="420" cy="258" r="13" />
32
- </svg>`,
33
- code: `<svg viewBox="0 0 520 330" focusable="false" aria-hidden="true">
34
- <path class="chapter-opener-illustration__paper" d="M92 52 338 52 386 104 386 286 92 286Z" />
35
- <path class="chapter-opener-illustration__paper" d="M348 82 438 82 476 122 452 226 356 226 326 154Z" />
36
- <path class="chapter-opener-illustration__thin" d="M132 112 H250 M132 146 H292 M132 180 H238 M132 214 H276" />
37
- <path class="chapter-opener-illustration__stroke" d="M308 114 C340 122 356 148 356 180 C356 220 332 244 292 250" />
38
- <path class="chapter-opener-illustration__arrow" d="M304 226 288 250 316 260" />
39
- <path class="chapter-opener-illustration__stroke" d="M406 124 V202" />
40
- <circle class="chapter-opener-illustration__node" cx="406" cy="124" r="17" />
41
- <circle class="chapter-opener-illustration__node" cx="406" cy="202" r="17" />
42
- </svg>`,
43
- answers: `<svg viewBox="0 0 520 330" focusable="false" aria-hidden="true">
44
- <path class="chapter-opener-illustration__paper" d="M128 44 396 44 440 90 418 292 104 292 82 86Z" />
45
- <path class="chapter-opener-illustration__thin" d="M178 116 H350 M178 168 H350 M178 220 H322" />
46
- <path class="chapter-opener-illustration__stroke" d="M128 112 148 134 190 88" />
47
- <path class="chapter-opener-illustration__stroke" d="M128 164 148 186 190 140" />
48
- <path class="chapter-opener-illustration__stroke" d="M128 216 148 238 190 192" />
49
- <circle class="chapter-opener-illustration__node" cx="386" cy="92" r="18" />
50
- <path class="chapter-opener-illustration__stroke" d="M386 92 C420 126 424 172 394 208" />
51
- <path class="chapter-opener-illustration__arrow" d="M380 186 394 210 420 200" />
52
- </svg>`,
53
- };
54
-
55
- export type ChapterOpenerVisualVariant = keyof typeof VISUALS;
56
-
57
- export interface ChapterOpenerVisualProps {
58
- variant?: ChapterOpenerVisualVariant;
59
- tone?: string;
60
- }
61
-
62
- export default function ChapterOpenerVisual({
63
- variant = "linked-list",
64
- tone = "sage",
65
- }: ChapterOpenerVisualProps) {
66
- const visual = VISUALS[variant] ?? VISUALS["linked-list"];
67
- const safeTone = TONES.has(tone) ? tone : "sage";
68
-
69
- return (
70
- <figure
71
- className={`chapter-opener-illustration chapter-opener-illustration--${variant} chapter-opener-tone--${safeTone}`}
72
- aria-hidden="true"
73
- dangerouslySetInnerHTML={{ __html: visual }}
74
- />
75
- );
76
- }
@@ -1,60 +0,0 @@
1
- import { Frame, MdxArea } from "@open-press/core";
2
- import type { SectionsPageProps } from "@open-press/core/manuscript";
3
- import { useEffect, useRef } from "react";
4
-
5
- export default function Page({
6
- frameKey,
7
- chainId,
8
- pageIndex,
9
- totalPages,
10
- sectionSlug,
11
- sectionTitle,
12
- sectionTone,
13
- }: SectionsPageProps) {
14
- const pageBodyRef = useRef<HTMLElement | null>(null);
15
-
16
- const runningHeader =
17
- "This is a non-peer reviewed Express letter submitted to J SEDI";
18
- const runningRight = "Your short title goes here";
19
-
20
- useEffect(() => {
21
- const area = pageBodyRef.current?.querySelector(".openpress-mdx-area");
22
- if (!area) return;
23
-
24
- area.querySelectorAll<HTMLElement>("h2[data-chapter]").forEach((heading) => {
25
- const chapterValue = heading.getAttribute("data-chapter");
26
- if (!chapterValue) return;
27
- if (!/^\d+$/.test(chapterValue)) return;
28
- const normalized = String(Number.parseInt(chapterValue, 10));
29
- heading.setAttribute("data-chapter", normalized);
30
- });
31
- }, [chainId]);
32
-
33
- return (
34
- <Frame
35
- frameKey={frameKey}
36
- role="manuscript.content"
37
- className="reader-page--content"
38
- data-page-index={pageIndex}
39
- data-total-pages={totalPages}
40
- data-section-id={sectionSlug}
41
- data-chapter-tone={sectionTone}
42
- >
43
- <div className="page-frame">
44
- <header className="page-header" aria-hidden="true">
45
- <span className="running-head-left">{runningHeader}</span>
46
- <span className="running-head-right">{runningRight}</span>
47
- </header>
48
- <main className="page-body" ref={pageBodyRef}>
49
- <MdxArea chainId={chainId} overflow="extend" />
50
- </main>
51
- <footer className="page-footer" aria-hidden="true">
52
- <span className="footer-left">{sectionTitle}</span>
53
- <span className="footer-right">
54
- {totalPages > 1 ? `${pageIndex + 1}/${totalPages}` : pageIndex + 1}
55
- </span>
56
- </footer>
57
- </div>
58
- </Frame>
59
- );
60
- }
@@ -1,46 +0,0 @@
1
- import type { CSSProperties } from "react";
2
-
3
- export interface TokenSwatch {
4
- name: string;
5
- hex: string;
6
- summary: string;
7
- swatchVar: string;
8
- swatchBorderVar?: string;
9
- dark?: boolean;
10
- }
11
-
12
- export interface TokenSwatchGridProps {
13
- ariaLabel?: string;
14
- swatches: TokenSwatch[];
15
- }
16
-
17
- export default function TokenSwatchGrid({
18
- ariaLabel = "Color specimen",
19
- swatches,
20
- }: TokenSwatchGridProps) {
21
- return (
22
- <section className="token-swatch-grid" data-openpress-component="TokenSwatchGrid" aria-label={ariaLabel}>
23
- {swatches.map((swatch) => (
24
- <article
25
- key={swatch.name}
26
- className={swatch.dark ? "token-swatch token-swatch--dark" : "token-swatch"}
27
- style={swatchStyle(swatch)}
28
- >
29
- <div className="token-swatch__sample" />
30
- <div className="token-swatch__body">
31
- <h4>{swatch.name}</h4>
32
- <code>{swatch.hex}</code>
33
- <p>{swatch.summary}</p>
34
- </div>
35
- </article>
36
- ))}
37
- </section>
38
- );
39
- }
40
-
41
- function swatchStyle(swatch: TokenSwatch): CSSProperties {
42
- return {
43
- "--swatch": swatch.swatchVar,
44
- ...(swatch.swatchBorderVar ? { "--swatch-border": swatch.swatchBorderVar } : {}),
45
- } as CSSProperties;
46
- }
@@ -1,63 +0,0 @@
1
- /* token-swatch-grid
2
- * Color specimen grid referenced by design.md to display each color token with
3
- * its sample, hex, and usage note.
4
- */
5
-
6
- .token-swatch-grid {
7
- display: grid;
8
- grid-template-columns: repeat(3, minmax(0, 1fr));
9
- gap: 3mm;
10
- margin: var(--openpress-space-3) 0 var(--openpress-space-4);
11
- break-inside: avoid;
12
- }
13
-
14
- .token-swatch {
15
- min-height: 42mm;
16
- overflow: hidden;
17
- border: 1px solid var(--openpress-color-line);
18
- border-radius: 6px;
19
- background: var(--openpress-color-document);
20
- box-sizing: border-box;
21
- break-inside: avoid;
22
- }
23
-
24
- .token-swatch__sample {
25
- height: 17mm;
26
- background: var(--swatch);
27
- border-bottom: 1px solid var(--swatch-border, var(--openpress-color-line));
28
- }
29
-
30
- .token-swatch__body {
31
- padding: 3mm;
32
- }
33
-
34
- .token-swatch h4 {
35
- margin: 0;
36
- color: var(--openpress-color-ink);
37
- font-family: var(--openpress-font-body);
38
- font-size: 9pt;
39
- font-weight: 600;
40
- line-height: 1.25;
41
- letter-spacing: 0;
42
- }
43
-
44
- .token-swatch code {
45
- display: block;
46
- margin-top: 1mm;
47
- color: var(--openpress-color-muted);
48
- font-size: 8pt;
49
- line-height: 1.35;
50
- }
51
-
52
- .token-swatch p {
53
- margin: 2mm 0 0;
54
- color: #333333;
55
- font-size: 8.4pt;
56
- line-height: 1.45;
57
- }
58
-
59
- @media (max-width: 899px) {
60
- .token-swatch-grid {
61
- grid-template-columns: repeat(2, minmax(0, 1fr));
62
- }
63
- }
@@ -1,38 +0,0 @@
1
- export type TypeSpecimenVariant =
2
- | "metric"
3
- | "cover-title"
4
- | "chapter-title"
5
- | "section-title"
6
- | "body"
7
- | "caption";
8
-
9
- export interface TypeSpecimenRow {
10
- name: string;
11
- spec: string;
12
- sample: string;
13
- sampleVariant: TypeSpecimenVariant;
14
- }
15
-
16
- export interface TypeSpecimenProps {
17
- ariaLabel?: string;
18
- rows: TypeSpecimenRow[];
19
- }
20
-
21
- export default function TypeSpecimen({
22
- ariaLabel = "Typography specimen",
23
- rows,
24
- }: TypeSpecimenProps) {
25
- return (
26
- <section className="type-specimen" data-openpress-component="TypeSpecimen" aria-label={ariaLabel}>
27
- {rows.map((row) => (
28
- <div className="type-specimen__row" key={row.name}>
29
- <div className="type-specimen__meta">
30
- <strong>{row.name}</strong>
31
- <span>{row.spec}</span>
32
- </div>
33
- <p className={`type-specimen__sample type-specimen__sample--${row.sampleVariant}`}>{row.sample}</p>
34
- </div>
35
- ))}
36
- </section>
37
- );
38
- }
@@ -1,111 +0,0 @@
1
- /* type-specimen
2
- * Typography specimen block referenced by design.md to display each typography
3
- * token alongside a sample in document context.
4
- */
5
-
6
- .type-specimen {
7
- margin: var(--openpress-space-3) 0 var(--openpress-space-4);
8
- border-top: 1px solid var(--openpress-color-line);
9
- break-inside: avoid;
10
- }
11
-
12
- .type-specimen__row {
13
- display: grid;
14
- grid-template-columns: minmax(30mm, 38mm) minmax(0, 1fr);
15
- gap: var(--openpress-space-3);
16
- align-items: center;
17
- min-height: 20mm;
18
- padding: 3mm 0;
19
- border-bottom: 1px solid var(--openpress-color-line);
20
- }
21
-
22
- .type-specimen__meta strong {
23
- display: block;
24
- font-size: 8.8pt;
25
- font-weight: 600;
26
- line-height: 1.35;
27
- letter-spacing: 0;
28
- color: var(--openpress-color-ink);
29
- }
30
-
31
- .type-specimen__meta span {
32
- display: block;
33
- margin-top: 1mm;
34
- color: var(--openpress-color-muted);
35
- font-size: 8pt;
36
- line-height: 1.45;
37
- font-variant-numeric: tabular-nums;
38
- letter-spacing: 0;
39
- }
40
-
41
- .type-specimen__sample {
42
- margin: 0 !important;
43
- color: var(--openpress-color-ink);
44
- text-align: center;
45
- overflow-wrap: anywhere;
46
- }
47
-
48
- .type-specimen__sample--metric {
49
- font-family: var(--openpress-font-body);
50
- font-size: 34pt;
51
- font-weight: 700;
52
- line-height: 1;
53
- font-variant-numeric: tabular-nums;
54
- letter-spacing: 0;
55
- }
56
-
57
- .type-specimen__sample--cover-title {
58
- font-family: var(--openpress-font-serif);
59
- font-size: 30pt;
60
- font-weight: 300;
61
- line-height: 1.05;
62
- letter-spacing: 0.01em;
63
- }
64
-
65
- .type-specimen__sample--chapter-title {
66
- font-family: var(--openpress-font-serif);
67
- font-size: 17pt;
68
- font-weight: 300;
69
- line-height: 1.35;
70
- letter-spacing: 0.04em;
71
- }
72
-
73
- .type-specimen__sample--section-title {
74
- font-family: var(--openpress-font-serif);
75
- font-size: 13pt;
76
- font-weight: 400;
77
- line-height: 1.45;
78
- letter-spacing: 0.03em;
79
- }
80
-
81
- .type-specimen__sample--body {
82
- max-width: 112mm;
83
- margin-right: auto !important;
84
- margin-left: auto !important;
85
- font-family: var(--openpress-font-body);
86
- font-size: 10pt;
87
- font-weight: 400;
88
- line-height: 1.75;
89
- letter-spacing: 0;
90
- }
91
-
92
- .type-specimen__sample--caption {
93
- font-family: var(--openpress-font-body);
94
- font-size: 8pt;
95
- font-weight: 400;
96
- line-height: 1.5;
97
- color: var(--openpress-color-muted);
98
- letter-spacing: 0.02em;
99
- }
100
-
101
- @media (max-width: 899px) {
102
- .type-specimen__row {
103
- grid-template-columns: 1fr;
104
- gap: 2mm;
105
- align-items: start;
106
- }
107
-
108
- .type-specimen__sample {
109
- text-align: left;
110
- }
111
- }