Skip to content

docs: record that text and 9-slice parts are not drawn - #243

Merged
Naruto merged 1 commit into
developfrom
docs/document-text-and-nineslice-gap
Jul 28, 2026
Merged

Naruto merged 1 commit into
developfrom
docs/document-text-and-nineslice-gap

Conversation

@Naruto

@Naruto Naruto commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Why

ss_internal_player.cpp has said this in a comment since the batch dispatch was written:

// DrawBatchKind_Text / Nines / Mask: not yet implemented.

…but docs/{en,ja}/limitations.md never did, so an author had no way to find out short of trying it and seeing nothing appear. (Mask in that list is fine — pure masks feed the coverage bitmap and are drawn elsewhere. Text and Nines are genuinely unimplemented.)

This came out of an ecosystem-wide audit: all five official players are in the same position, and none but Ren'Py documented it.

What changed

A Not Yet Implemented section, placed first — matching where Ren'Py puts its equivalent.

9-slice is the surprising half. The runtime builds the entire grid — margins, fill mode, repeats — into dedicated Nines SoA buffers (ss_runtime_get_nines_vertices and friends), and local_vertices carries only the part's plain bounding quad. So a player that does not read those buffers draws nothing at all, not a stretched cell. "The runtime builds it, so it just works" is not true here.

Both part types keep their place in the draw order, so an animation that uses them plays with those parts missing rather than failing — worth saying, because it means the symptom is a silent gap rather than a crash.

Scope

Documentation only, both locales. No behaviour change.

.venv/bin/mkdocs build --strict passes.

ss_internal_player.cpp has said so in a comment since the batch dispatch was
written — "DrawBatchKind_Text / Nines / Mask: not yet implemented" — but the
limitations page never did, so an author had no way to find out short of
trying it.

9-slice is the surprising half: the runtime builds the whole grid into
dedicated Nines SoA buffers rather than into local_vertices, so a player that
does not read those buffers draws nothing at all, not a stretched cell.

Both part types keep their place in the draw order, so an animation using
them plays with those parts missing rather than failing.
@Naruto
Naruto merged commit 697ae2c into develop Jul 28, 2026
2 checks passed
@Naruto
Naruto deleted the docs/document-text-and-nineslice-gap branch July 28, 2026 13:02
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