clone

a browser-first diagram editor with live svg previews, local drafts and encrypted, accountless sharing

fix: order combined TRN inputs FIFO

Dami committed eff59d5
commit
eff59d537ebc92256a780bc22576f50d4b2d79f1
parent
4267864e5541c2591bee683269a7f49f6035b1a0
author
Dami <dami.etoile@gmail.com>
11 files changed, +47 -12
Mapps/docs/data/diagram-types.mjs4++--
Mapps/docs/docs/create/types/trn.md3++-
Mapps/docs/docs/style/types/trn.md2+-
Mapps/docs/static/llms-full.txt5+++--
Mapps/editor/test/svg-contract.test.js2+-
Mrenderers/catalog/src/catalog.ts2+-
Mrenderers/edge/config/units/trn.jsonc2+-
Mrenderers/edge/src/adapters/trn.ts2+-
Mrenderers/edge/src/languages/trn-renderer.ts11++++++++++-
Mrenderers/edge/test/trn.test.ts24++++++++++++++++++++++++
Mshared/svg/index.js2+-
M apps/docs/data/diagram-types.mjs +2 -2
@@ -391,7 +391,7 @@ export const diagramTypes = [
391391 format: 'Tabular Recipe Notation text',392392 summary: 'TRN stands for Tabular Recipe Notation. It shows how ingredients and intermediate outcomes combine into one or more final results.',393393 use: 'Use TRN for recipes, crafting trees, assembly instructions, and other nested transformations.',394- syntax: ['Optionally begin with `.layout combined` or `.layout individual`; the default is `combined`.', 'Declare each leaf value with `ingredient`.', 'Declare a meaningful final or reusable result with an `outcome` block.', 'Keep incidental conversions, such as ore to bars, as steps inside the outcome that consumes them.', 'Add a full-width preparation row with `instruction`.', 'Add a quoted display label after an identifier when needed.', 'Each `+` adds an input row from top to bottom.', 'Each `->` adds an operation column from left to right.', 'Add `portion` after an outcome label or identifier when the result has a useful quantity.', 'Use `{portion}` in an action to embed that outcome quantity.', 'Start comments with `#`; OCR importers should record uncertain text in comments instead of guessing.'],394+ syntax: ['Optionally begin with `.layout combined` or `.layout individual`; the default is `combined`.', 'Declare each leaf value with `ingredient`.', 'Declare a meaningful final or reusable result with an `outcome` block.', 'Keep incidental conversions, such as ore to bars, as steps inside the outcome that consumes them.', 'Add a full-width preparation row with `instruction`.', 'Add a quoted display label after an identifier when needed.', 'Each `+` queues an input for the next `->` action.', 'Combined layout places prerequisite outcomes before direct ingredients in stable FIFO order.', 'Each `->` adds an operation column from left to right.', 'Add `portion` after an outcome label or identifier when the result has a useful quantity.', 'Use `{portion}` in an action to embed that outcome quantity.', 'Start comments with `#`; OCR importers should record uncertain text in comments instead of guessing.'],395395 language: 'text',396396 example: [397397 '.layout combined',
@@ -413,7 +413,7 @@ export const diagramTypes = [
413413 '}',414414 ],415415 styleSummary: 'TRN colors complete relationship zones as branches. Adjacent zones receive different normalized colors, while ingredients run downward and operations run right.',416- sourceStyle: ['Use `.layout combined` for one merged table or `.layout individual` for dependency-positioned recipe tables.', 'Order `+` lines as the ingredient rows should appear from top to bottom.', 'Order `->` lines as operations should proceed from left to right.', 'Use outcomes for meaningful reusable or final results; keep incidental conversions inside the consuming outcome.', 'Use short action labels because operation text is vertical.'],416+ sourceStyle: ['Use `.layout combined` for one merged table or `.layout individual` for dependency-positioned recipe tables.', 'Combined layout places prerequisite outcomes before direct ingredients and preserves source order within each FIFO group.', 'Order `->` lines as operations should proceed from left to right.', 'Use outcomes for meaningful reusable or final results; keep incidental conversions inside the consuming outcome.', 'Use short action labels because operation text is vertical.'],417417 rendererOptions: [],418418 limitations: ['The source selects one layout; the SVG does not embed an interactive layout toggle.'],419419 origin: {
M apps/docs/docs/create/types/trn.md +2 -1
M apps/docs/docs/style/types/trn.md +1 -1
M apps/docs/static/llms-full.txt +3 -2
@@ -2822,7 +2822,8 @@ The source format is **Tabular Recipe Notation text**. Enter the source in the d
28222822 - Keep incidental conversions, such as ore to bars, as steps inside the outcome that consumes them.28232823 - Add a full-width preparation row with `instruction`.28242824 - Add a quoted display label after an identifier when needed.2825-- Each `+` adds an input row from top to bottom.2825+- Each `+` queues an input for the next `->` action.2826+- Combined layout places prerequisite outcomes before direct ingredients in stable FIFO order.28262827 - Each `->` adds an operation column from left to right.28272828 - Add `portion` after an outcome label or identifier when the result has a useful quantity.28282829 - Use `{portion}` in an action to embed that outcome quantity.
@@ -2885,7 +2886,7 @@ Start with the [general presentation settings](/style/presentation). Edit shared
28852886 ## Source controls28862887 28872888 - Use `.layout combined` for one merged table or `.layout individual` for dependency-positioned recipe tables.2888-- Order `+` lines as the ingredient rows should appear from top to bottom.2889+- Combined layout places prerequisite outcomes before direct ingredients and preserves source order within each FIFO group.28892890 - Order `->` lines as operations should proceed from left to right.28902891 - Use outcomes for meaningful reusable or final results; keep incidental conversions inside the consuming outcome.28912892 - Use short action labels because operation text is vertical.
M apps/editor/test/svg-contract.test.js +1 -1
M renderers/catalog/src/catalog.ts +1 -1
M renderers/edge/config/units/trn.jsonc +1 -1
M renderers/edge/src/adapters/trn.ts +1 -1
M renderers/edge/src/languages/trn-renderer.ts +10 -1
M renderers/edge/test/trn.test.ts +24 -0
M shared/svg/index.js +1 -1