Skip to content

Update Specifications#4

Open
The-Nice-One wants to merge 2 commits into
mainfrom
documentation
Open

Update Specifications#4
The-Nice-One wants to merge 2 commits into
mainfrom
documentation

Conversation

@The-Nice-One
Copy link
Copy Markdown
Member

@The-Nice-One The-Nice-One commented May 29, 2026

Summary by CodeRabbit

  • New Features
    • Added a command to generate snippet-based documentation and expanded the generator to create more documentation scaffolds automatically.
  • Documentation
    • Many new and improved documentation snippets for character, color, font, and pixmap tables.
    • Harmonized naming and clarified wording around code point/count and related fields.
    • Updated generator output behavior and final messaging to guide next steps.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 29, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

Adds many Markdown snippet stubs and updates table documentation; extends the snippet generation script to produce additional placeholder categories, adjusts naming comments, changes default document output to src/${tableName}.md, and adds a new npm script entry.

Changes

Documentation generation and content updates

Layer / File(s) Summary
Snippet tool and npm scripts
package.json, scripts/snippet-tool.ts
Extends generateStructure to create additional condition/flag placeholders, corrects inline naming comments, changes default document output to src/${tableName}.md, expands the completion log, and adds snippet:document npm script.
New/updated snippet files and table docs
snippets/..., src/Character Table.md, src/Color Table.md
Adds many new Markdown snippet stubs across character/color/font/pixmap tables, updates wording and naming (e.g., use_constant_code_point_count / constant_code_point_count), and adjusts character record field types and snippet references; adds src/Color Table.md.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A rabbit hopped through docs all night,
Left stubs and tweaks in morning light.
Scripts now write where files belong,
Snippets sprouted, tidy and strong.
Hooray — small hops that feel just right! 🐇✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'Update Specifications' is vague and generic, using non-descriptive terms that don't convey meaningful information about the changeset's primary focus. Provide a more specific title that reflects the main changes, such as 'Add Color Table documentation and standardize code_point naming' or similar.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch documentation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@snippets/character_table/configurations/condition/constant_codepoint_count.md`:
- Line 1: The sentence "If `use_constant_codepoint_count` enabled." is missing a
verb; update the wording to "If `use_constant_codepoint_count` is enabled." (or
an equivalent grammatically correct variant) in the documentation snippet for
the condition referencing use_constant_codepoint_count to restore readability;
locate the phrase in the
character_table/configurations/condition/constant_codepoint_count.md content and
insert "is" after the backticked variable name.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 84effb04-6767-4f99-8710-4a07407c93a2

📥 Commits

Reviewing files that changed from the base of the PR and between bb8d582 and ff56ff5.

📒 Files selected for processing (1)
  • snippets/character_table/configurations/condition/constant_codepoint_count.md

Comment thread snippets/character_table/configurations/condition/constant_codepoint_count.md Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/snippet-tool.ts`:
- Line 98: generateStructure now writes link flag files to links/flag using
writePlaceholder (e.g., writePlaceholder(... "links/flag", ...)), but the
document builder still loads link-flag docs from links/condition, causing files
under links/flag to be ignored; update the document builder code that currently
reads the "links/condition" directory (search for any loader function or method
that reads "links/condition", e.g., readLinkFlags/readLinks or the code path
that parses condition files) to instead read from "links/flag" (or adjust the
read path to accept both locations), ensuring the reader code and
generateStructure (writePlaceholder) agree on "links/flag" so new link_<name>.md
files are consumed.

In `@snippets/character_table/configurations/brief/constant_code_point_count.md`:
- Line 1: Replace the misspelled term "codepoint" with the project-approved term
"code point" in the documentation line that describes the exact codepoint length
for the `code_points` field (the string containing "codepoint" in the brief
description for constant_code_point_count). Update that single word so the
sentence reads "code point" to satisfy the Vale linter.

In `@snippets/character_table/records/condition/code_points.md`:
- Line 1: The phrase "codepoint" in the `code_points` condition text should use
the repository's accepted spelling "code point"; update the string "UTF-8
encoded codepoint sequence (null-terminated unless `constant_code_point_count`
is set)." to "UTF-8 encoded code point sequence (null-terminated unless
`constant_code_point_count` is set)." in the `code_points` condition
documentation so Vale no longer flags it.

In `@snippets/color_table/brief.md`:
- Around line 1-6: The brief uses non-conforming casing for the term
"pixmap"/"Pixmap"; update all occurrences in this file to the project's accepted
glossary form (use "pixmap" consistently) so lint (Vale) passes; edit the lines
in the description and list items that reference Pixmap Table or pixmap palettes
to use "pixmap" lowercase and ensure surrounding phrasing remains grammatical.

In `@snippets/color_table/records/condition/color_type.md`:
- Around line 1-3: Update the documentation so the heading and prose use
human-readable text instead of the underscored identifier: change the heading
from "# color_type" to something like "# Color type" and replace occurrences of
plain `color_type` in the body with human-readable phrases such as "color type",
reserving the backticked `color_type` only when referencing the exact schema
identifier or code example; ensure the file still documents the schema named
`color_type` but uses natural language for headings and explanatory sentences.

In `@snippets/font_table/records/condition/character_table_indexes.md`:
- Around line 1-3: Change the Markdown heading to sentence-style text and
mention the field name as inline code in the body: replace the all-lowercase
heading "character_table_indexes" with a sentence-style heading (e.g.,
"Character table indexes") and update the body to refer to the identifier as
`character_table_indexes` within prose so Vale accepts heading/body token usage
while preserving the exact field name.

In `@snippets/font_table/records/condition/font_type.md`:
- Around line 1-3: The heading and body use a raw underscored token that fails
Vale; change the heading from the underscored markdown heading to sentence case
(e.g., "Font type") and rewrite the body sentence to use normal sentence style
while keeping the exact identifier as inline code (`font_type`) where
referenced; update the first line to a sentence-style heading and replace the
body line "Write the documentation content for font_type here." with a proper
sentence that refers to `font_type` in backticks.

In `@src/Character` Table.md:
- Line 58: The table row for the `code_points` field uses a wrong snippet
include path
`\textinput{../snippets/character_table/records/brief/codepoints.md}` which
doesn't exist; update that include to the correct filename
`\textinput{../snippets/character_table/records/brief/code_points.md}` in the
`code_points` table row so the brief snippet matches the actual `code_points.md`
file.

In `@src/Color` Table.md:
- Around line 52-58: Add a language tag to both fenced code blocks containing
"[EXAMPLE_PLACEHOLDER]" so markdownlint stops warning: replace the opening ```
with ```text for the code block under the "Example 2: With optional fields"
section and the earlier example block (the two occurrences of
"[EXAMPLE_PLACEHOLDER]" around lines 52 and 57) so both fenced blocks become
```text ... ```; no other changes needed.
- Around line 67-70: Replace the lint-violating header text "Byte(s)" with
"Bytes" in the table header and replace the literal "..." cells in the second
row with lint-compliant phrasing such as "Additional rows" (for the
Byte(s)/Bytes column) and "Other entries" or "More values" as appropriate; also
keep the placeholder tokens `[BINARY_PLACEHOLDER]`, `[HEX_PLACEHOLDER]`, and
`[DESCRIPTION_PLACEHOLDER]` intact but ensure their surrounding cell text is
updated so the row reads like: Bytes | `[BINARY_PLACEHOLDER]` |
`[HEX_PLACEHOLDER]` | `[DESCRIPTION_PLACEHOLDER]` with the second-row first cell
using "Additional rows" instead of "...".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9535a640-841b-47ea-8d00-5489ec8db1ed

📥 Commits

Reviewing files that changed from the base of the PR and between ff56ff5 and 656077e.

⛔ Files ignored due to path filters (1)
  • vale.log is excluded by !**/*.log
📒 Files selected for processing (40)
  • package.json
  • scripts/snippet-tool.ts
  • snippets/character_table/configurations/brief/constant_code_point_count.md
  • snippets/character_table/configurations/brief/constant_codepoint_count.md
  • snippets/character_table/configurations/condition/constant_code_point_count.md
  • snippets/character_table/configurations/condition/constant_codepoint_count.md
  • snippets/character_table/configurations/flag/use_constant_code_point_count.md
  • snippets/character_table/configurations/flag/use_constant_codepoint_count.md
  • snippets/character_table/records/brief/code_points.md
  • snippets/character_table/records/condition/code_points.md
  • snippets/color_table/brief.md
  • snippets/color_table/configurations/brief/constant_alpha.md
  • snippets/color_table/configurations/condition/constant_alpha.md
  • snippets/color_table/configurations/flag/use_constant_alpha.md
  • snippets/color_table/records/condition/alpha.md
  • snippets/color_table/records/condition/blue.md
  • snippets/color_table/records/condition/color_type.md
  • snippets/color_table/records/condition/green.md
  • snippets/color_table/records/condition/red.md
  • snippets/font_table/links/condition/character_tables.md
  • snippets/font_table/links/flag/link_character_tables.md
  • snippets/font_table/records/condition/author.md
  • snippets/font_table/records/condition/character_table_indexes.md
  • snippets/font_table/records/condition/font_type.md
  • snippets/font_table/records/condition/name.md
  • snippets/font_table/records/condition/version.md
  • snippets/pixmap_table/configurations/condition/constant_bits_per_pixel.md
  • snippets/pixmap_table/configurations/condition/constant_height.md
  • snippets/pixmap_table/configurations/condition/constant_width.md
  • snippets/pixmap_table/configurations/flag/use_constant_bits_per_pixel.md
  • snippets/pixmap_table/configurations/flag/use_constant_height.md
  • snippets/pixmap_table/configurations/flag/use_constant_width.md
  • snippets/pixmap_table/links/condition/color_tables.md
  • snippets/pixmap_table/links/flag/link_color_tables.md
  • snippets/pixmap_table/records/condition/bits_per_pixel.md
  • snippets/pixmap_table/records/condition/data.md
  • snippets/pixmap_table/records/condition/height.md
  • snippets/pixmap_table/records/condition/width.md
  • src/Character Table.md
  • src/Color Table.md
💤 Files with no reviewable changes (4)
  • snippets/character_table/configurations/brief/constant_codepoint_count.md
  • snippets/character_table/configurations/flag/use_constant_codepoint_count.md
  • snippets/color_table/configurations/brief/constant_alpha.md
  • snippets/character_table/configurations/condition/constant_codepoint_count.md
✅ Files skipped from review due to trivial changes (14)
  • snippets/character_table/configurations/flag/use_constant_code_point_count.md
  • snippets/pixmap_table/records/condition/height.md
  • snippets/pixmap_table/configurations/flag/use_constant_height.md
  • snippets/pixmap_table/configurations/flag/use_constant_width.md
  • snippets/pixmap_table/configurations/condition/constant_width.md
  • snippets/font_table/records/condition/name.md
  • snippets/pixmap_table/configurations/condition/constant_bits_per_pixel.md
  • package.json
  • snippets/pixmap_table/records/condition/width.md
  • snippets/pixmap_table/configurations/condition/constant_height.md
  • snippets/pixmap_table/records/condition/bits_per_pixel.md
  • snippets/font_table/records/condition/version.md
  • snippets/pixmap_table/records/condition/data.md
  • snippets/pixmap_table/configurations/flag/use_constant_bits_per_pixel.md

Comment thread scripts/snippet-tool.ts
for (const name of links) {
await writePlaceholder(path.join(root, "links", "brief", toFileName(name)), name);
await writePlaceholder(path.join(root, "links", "condition", toFileName(name)), `${name} condition`);
await writePlaceholder(path.join(root, "links", "flag", toFileName(`link_${name}`)), `link_${name}`);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix link-flag snippet path contract mismatch.

generateStructure now creates links/flag/link_<name>.md, but the document builder still reads link flag descriptions from links/condition. This leaves new links/flag files unused and can generate broken references.

Suggested fix
-    const flagPath = getRelativeSnippetPath(snippetType, "links/condition", flagName);
+    const flagPath = getRelativeSnippetPath(snippetType, "links/flag", flagName);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/snippet-tool.ts` at line 98, generateStructure now writes link flag
files to links/flag using writePlaceholder (e.g., writePlaceholder(...
"links/flag", ...)), but the document builder still loads link-flag docs from
links/condition, causing files under links/flag to be ignored; update the
document builder code that currently reads the "links/condition" directory
(search for any loader function or method that reads "links/condition", e.g.,
readLinkFlags/readLinks or the code path that parses condition files) to instead
read from "links/flag" (or adjust the read path to accept both locations),
ensuring the reader code and generateStructure (writePlaceholder) agree on
"links/flag" so new link_<name>.md files are consumed.

@@ -0,0 +1 @@
The exact codepoint length of each `code_points` field in this table No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Resolve Vale spelling failure (codepoint).

CI is failing on this line. Replace codepoint with code point (or project-approved term) to satisfy the linter.

🧰 Tools
🪛 GitHub Actions: vale / vale

[error] 1-1: [Vale.Spelling] Did you really mean 'codepoint'?

🪛 GitHub Check: vale

[failure] 1-1: [vale] snippets/character_table/configurations/brief/constant_code_point_count.md#L1
[Vale.Spelling] Did you really mean 'codepoint'?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/character_table/configurations/brief/constant_code_point_count.md`
at line 1, Replace the misspelled term "codepoint" with the project-approved
term "code point" in the documentation line that describes the exact codepoint
length for the `code_points` field (the string containing "codepoint" in the
brief description for constant_code_point_count). Update that single word so the
sentence reads "code point" to satisfy the Vale linter.

@@ -1 +1 @@
UTF-8 encoded codepoint sequence (null-terminated unless `constant_codepoint_count` is set). No newline at end of file
UTF-8 encoded codepoint sequence (null-terminated unless `constant_code_point_count` is set). No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix CI-blocking spelling in code_points condition text.

Vale fails on codepoint here as well. Please switch to code point (or the repository’s accepted spelling).

🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 1-1: Vale.Spelling: Did you really mean 'codepoint'?

🪛 GitHub Actions: vale / vale

[error] 1-1: [Vale.Spelling] Did you really mean 'codepoint'?

🪛 GitHub Check: vale

[notice] 1-1: [vale] snippets/character_table/records/condition/code_points.md#L1
[Google.Parens] Use parentheses judiciously.


[failure] 1-1: [vale] snippets/character_table/records/condition/code_points.md#L1
[Vale.Spelling] Did you really mean 'codepoint'?


[notice] 1-1: [vale] snippets/character_table/records/condition/code_points.md#L1
[write-good.E-Prime] Try to avoid using 'is'.


[notice] 1-1: [vale] snippets/character_table/records/condition/code_points.md#L1
[Google.Passive] In general, use active voice instead of passive voice ('is set').


[warning] 1-1: [vale] snippets/character_table/records/condition/code_points.md#L1
[write-good.Passive] 'is set' may be passive voice. Use active voice if you can.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/character_table/records/condition/code_points.md` at line 1, The
phrase "codepoint" in the `code_points` condition text should use the
repository's accepted spelling "code point"; update the string "UTF-8 encoded
codepoint sequence (null-terminated unless `constant_code_point_count` is set)."
to "UTF-8 encoded code point sequence (null-terminated unless
`constant_code_point_count` is set)." in the `code_points` condition
documentation so Vale no longer flags it.

Comment on lines +1 to +6
Stores RGBA color values that can be referenced by pixmap data.

Write the documentation content for color_table table here. No newline at end of file
## Use Cases

- **Pixmap palettes** - When linked to a Pixmap Table, provides the color palette for indexed pixel data.
- **Color storage** - Can store color sets independently for other purposes. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Address Vale spelling failures for pixmap/Pixmap in brief content.

This file currently fails lint. Please use lint-approved wording (or the project’s accepted glossary form) so docs checks pass.

🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 1-1: Vale.Spelling: Did you really mean 'pixmap'?


[error] 5-5: Vale.Spelling: Did you really mean 'Pixmap'?


[error] 5-5: Vale.Spelling: Did you really mean 'Pixmap'?

🪛 GitHub Actions: vale / vale

[error] 1-1: [Vale.Spelling] Did you really mean 'pixmap'?


[error] 5-5: [Vale.Spelling] Did you really mean 'Pixmap'?


[error] 5-5: [Vale.Spelling] Did you really mean 'Pixmap'?

🪛 GitHub Check: vale

[notice] 1-1: [vale] snippets/color_table/brief.md#L1
[Google.Acronyms] Spell out 'RGBA', if it's unfamiliar to the audience.


[warning] 1-1: [vale] snippets/color_table/brief.md#L1
[write-good.Passive] 'be referenced' may be passive voice. Use active voice if you can.


[notice] 1-1: [vale] snippets/color_table/brief.md#L1
[write-good.E-Prime] Try to avoid using 'be'.


[notice] 1-1: [vale] snippets/color_table/brief.md#L1
[Google.Passive] In general, use active voice instead of passive voice ('be referenced').


[failure] 1-1: [vale] snippets/color_table/brief.md#L1
[Vale.Spelling] Did you really mean 'pixmap'?


[warning] 3-3: [vale] snippets/color_table/brief.md#L3
[Google.Headings] 'Use Cases' should use sentence-style capitalization.


[failure] 5-5: [vale] snippets/color_table/brief.md#L5
[Vale.Spelling] Did you really mean 'Pixmap'?


[failure] 5-5: [vale] snippets/color_table/brief.md#L5
[Vale.Spelling] Did you really mean 'Pixmap'?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/color_table/brief.md` around lines 1 - 6, The brief uses
non-conforming casing for the term "pixmap"/"Pixmap"; update all occurrences in
this file to the project's accepted glossary form (use "pixmap" consistently) so
lint (Vale) passes; edit the lines in the description and list items that
reference Pixmap Table or pixmap palettes to use "pixmap" lowercase and ensure
surrounding phrasing remains grammatical.

Comment on lines +1 to +3
# color_type

Write the documentation content for color_type here. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Replace underscore identifier prose to pass Vale (color_type).

This file fails lint on color_type. Use human-readable text (e.g., “color type”) in heading/body while keeping schema identifiers in backticks only where necessary.

🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 1-1: Vale.Spelling: Did you really mean 'color_type'?


[error] 3-3: Vale.Spelling: Did you really mean 'color_type'?

🪛 GitHub Actions: vale / vale

[error] 1-1: [Vale.Spelling] Did you really mean 'color_type'?


[error] 3-3: [Vale.Spelling] Did you really mean 'color_type'?

🪛 GitHub Check: vale

[failure] 1-1: [vale] snippets/color_table/records/condition/color_type.md#L1
[Vale.Spelling] Did you really mean 'color_type'?


[warning] 1-1: [vale] snippets/color_table/records/condition/color_type.md#L1
[Google.Headings] 'color_type' should use sentence-style capitalization.


[failure] 3-3: [vale] snippets/color_table/records/condition/color_type.md#L3
[Vale.Spelling] Did you really mean 'color_type'?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/color_table/records/condition/color_type.md` around lines 1 - 3,
Update the documentation so the heading and prose use human-readable text
instead of the underscored identifier: change the heading from "# color_type" to
something like "# Color type" and replace occurrences of plain `color_type` in
the body with human-readable phrases such as "color type", reserving the
backticked `color_type` only when referencing the exact schema identifier or
code example; ensure the file still documents the schema named `color_type` but
uses natural language for headings and explanatory sentences.

Comment on lines +1 to +3
# character_table_indexes

Write the documentation content for character_table_indexes here. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix Vale spelling failures in heading/body token usage (Line 1, Line 3).

character_table_indexes is currently triggering pipeline errors. Use sentence-style heading text and reference the identifier as inline code in prose to satisfy Vale while keeping the exact field name.

Suggested patch
-# character_table_indexes
+# Character table indexes
 
-Write the documentation content for character_table_indexes here.
+Write the documentation content for `character_table_indexes` here.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# character_table_indexes
Write the documentation content for character_table_indexes here.
# Character table indexes
Write the documentation content for `character_table_indexes` here.
🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 1-1: Vale.Spelling: Did you really mean 'character_table_indexes'?


[error] 3-3: Vale.Spelling: Did you really mean 'character_table_indexes'?

🪛 GitHub Check: vale

[failure] 1-1: [vale] snippets/font_table/records/condition/character_table_indexes.md#L1
[Vale.Spelling] Did you really mean 'character_table_indexes'?


[warning] 1-1: [vale] snippets/font_table/records/condition/character_table_indexes.md#L1
[Google.Headings] 'character_table_indexes' should use sentence-style capitalization.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/font_table/records/condition/character_table_indexes.md` around
lines 1 - 3, Change the Markdown heading to sentence-style text and mention the
field name as inline code in the body: replace the all-lowercase heading
"character_table_indexes" with a sentence-style heading (e.g., "Character table
indexes") and update the body to refer to the identifier as
`character_table_indexes` within prose so Vale accepts heading/body token usage
while preserving the exact field name.

Comment on lines +1 to +3
# font_type

Write the documentation content for font_type here. No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Resolve CI-breaking spelling errors for font_type (Line 1, Line 3).

The raw underscored token is failing Vale in both the heading and body. Switch heading to sentence style and keep the exact identifier in inline code where needed.

Suggested patch
-# font_type
+# Font type
 
-Write the documentation content for font_type here.
+Write the documentation content for `font_type` here.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# font_type
Write the documentation content for font_type here.
# Font type
Write the documentation content for `font_type` here.
🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 1-1: Vale.Spelling: Did you really mean 'font_type'?


[error] 3-3: Vale.Spelling: Did you really mean 'font_type'?

🪛 GitHub Check: vale

[failure] 1-1: [vale] snippets/font_table/records/condition/font_type.md#L1
[Vale.Spelling] Did you really mean 'font_type'?


[warning] 1-1: [vale] snippets/font_table/records/condition/font_type.md#L1
[Google.Headings] 'font_type' should use sentence-style capitalization.


[failure] 3-3: [vale] snippets/font_table/records/condition/font_type.md#L3
[Vale.Spelling] Did you really mean 'font_type'?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@snippets/font_table/records/condition/font_type.md` around lines 1 - 3, The
heading and body use a raw underscored token that fails Vale; change the heading
from the underscored markdown heading to sentence case (e.g., "Font type") and
rewrite the body sentence to use normal sentence style while keeping the exact
identifier as inline code (`font_type`) where referenced; update the first line
to a sentence-style heading and replace the body line "Write the documentation
content for font_type here." with a proper sentence that refers to `font_type`
in backticks.

Comment thread src/Character Table.md
| `pixmap_table_index` | `Index<PixmapTable>` | \textinput{../snippets/character_table/records/condition/pixmap_table_index.md} | \textinput{../snippets/character_table/records/brief/pixmap_table_index.md} |
| `codepoints` | `str` | \textinput{../snippets/character_table/records/condition/codepoints.md} | \textinput{../snippets/character_table/records/brief/codepoints.md} |
| `pixmap_table_index` | `u8` | \textinput{../snippets/character_table/records/condition/pixmap_table_index.md} | \textinput{../snippets/character_table/records/brief/pixmap_table_index.md} |
| `code_points` | `String` | \textinput{../snippets/character_table/records/condition/code_points.md} | \textinput{../snippets/character_table/records/brief/codepoints.md} |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify both possible brief snippet filenames and all references.
fd -i 'code_points.md|codepoints.md' snippets/character_table/records/brief snippets/character_table/records/condition
rg -n 'records/(brief|condition)/(code_points|codepoints)\.md' src snippets

Repository: SimplePixelFont/Specification

Length of output: 408


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Confirm whether the mistakenly referenced file exists anywhere.
echo "== Files named codepoints.md under character_table snippets =="
fd -i 'codepoints\.md$' snippets/character_table/records/brief snippets/character_table/records/condition snippets/character_table/records || true

echo "== Any codepoints.md references in src =="
rg -n 'snippets/character_table/records/brief/codepoints\.md' src || true

echo "== Any codepoints.md filename references in src/snippets =="
rg -n 'codepoints\.md' src snippets || true

Repository: SimplePixelFont/Specification

Length of output: 684


Fix snippet include path mismatch for code_points (Line 58).

src/Character Table.md line 58 references \textinput{../snippets/character_table/records/brief/codepoints.md}, but the actual file is snippets/character_table/records/brief/code_points.md (no brief/codepoints.md exists), which will break generation.

| `code_points`         | `String`                | \textinput{../snippets/character_table/records/condition/code_points.md} | \textinput{../snippets/character_table/records/brief/codepoints.md} |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/Character` Table.md at line 58, The table row for the `code_points` field
uses a wrong snippet include path
`\textinput{../snippets/character_table/records/brief/codepoints.md}` which
doesn't exist; update that include to the correct filename
`\textinput{../snippets/character_table/records/brief/code_points.md}` in the
`code_points` table row so the brief snippet matches the actual `code_points.md`
file.

Comment thread src/Color Table.md
Comment on lines +52 to +58
```
[EXAMPLE_PLACEHOLDER]
```

**Example 2: With optional fields**
```
[EXAMPLE_PLACEHOLDER]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add language tags to fenced code blocks (Line 52, Line 57).

This removes markdownlint warnings and keeps docs tooling clean.

Suggested patch
-```
+```text
 [EXAMPLE_PLACEHOLDER]

...
- +text
[EXAMPLE_PLACEHOLDER]

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 52-52: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 57-57: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/Color` Table.md around lines 52 - 58, Add a language tag to both fenced
code blocks containing "[EXAMPLE_PLACEHOLDER]" so markdownlint stops warning:
replace the opening ``` with ```text for the code block under the "Example 2:
With optional fields" section and the earlier example block (the two occurrences
of "[EXAMPLE_PLACEHOLDER]" around lines 52 and 57) so both fenced blocks become
```text ... ```; no other changes needed.

Comment thread src/Color Table.md
Comment on lines +67 to +70
| Byte(s) | Binary | Hex | Description |
| ------- | ------ | --- | ----------- |
| 1 | `[BINARY_PLACEHOLDER]` | `[HEX_PLACEHOLDER]` | Table identifier |
| ... | ... | ... | [DESCRIPTION_PLACEHOLDER] | No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix Vale failures in the table example header/text (Line 67, Line 70).

Current wording is failing CI: Byte(s) and .... Replace with lint-compliant phrasing.

Suggested patch
-| Byte(s) | Binary | Hex | Description |
+| Bytes | Binary | Hex | Description |
 ...
-| ... | ... | ... | [DESCRIPTION_PLACEHOLDER] |
+| … | … | … | [DESCRIPTION_PLACEHOLDER] |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Byte(s) | Binary | Hex | Description |
| ------- | ------ | --- | ----------- |
| 1 | `[BINARY_PLACEHOLDER]` | `[HEX_PLACEHOLDER]` | Table identifier |
| ... | ... | ... | [DESCRIPTION_PLACEHOLDER] |
| Bytes | Binary | Hex | Description |
| ------- | ------ | --- | ----------- |
| 1 | `[BINARY_PLACEHOLDER]` | `[HEX_PLACEHOLDER]` | Table identifier |
| | | | [DESCRIPTION_PLACEHOLDER] |
🧰 Tools
🪛 GitHub Actions: vale / 1_vale.txt

[error] 67-67: Google.OptionalPlurals: Don't use plurals in parentheses such as in 'Byte(s)'.


[error] 70-70: proselint.Typography: Consider using the '…' symbol instead of '...'.

🪛 GitHub Actions: vale / vale

[error] 67-67: [Google.OptionalPlurals] Don't use plurals in parentheses such as in 'Byte(s)'.


[error] 70-70: [proselint.Typography] Consider using the '…' symbol instead of '...'.


[error] 70-70: [proselint.Typography] Consider using the '…' symbol instead of '...'.


[error] 70-70: [proselint.Typography] Consider using the '…' symbol instead of '...'.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/Color` Table.md around lines 67 - 70, Replace the lint-violating header
text "Byte(s)" with "Bytes" in the table header and replace the literal "..."
cells in the second row with lint-compliant phrasing such as "Additional rows"
(for the Byte(s)/Bytes column) and "Other entries" or "More values" as
appropriate; also keep the placeholder tokens `[BINARY_PLACEHOLDER]`,
`[HEX_PLACEHOLDER]`, and `[DESCRIPTION_PLACEHOLDER]` intact but ensure their
surrounding cell text is updated so the row reads like: Bytes |
`[BINARY_PLACEHOLDER]` | `[HEX_PLACEHOLDER]` | `[DESCRIPTION_PLACEHOLDER]` with
the second-row first cell using "Additional rows" instead of "...".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant