# MSet Instruction Author 08 - CONNECT-safe key-in forms

Status: **canonical-development**
Branch: **MSet 64-bit**
Current product: **MSet 2026 by GRAPHICO**
Format covered: **MSet 2026 native instruction format 2026.1 plus legacy-readable packages**

## Purpose

Historical V8/V8i instructions are valuable evidence, but their abbreviated MicroStation key-ins are not automatically the best syntax for new CONNECT/Open authoring.

The central rule is:

> **For new MSet 2026 instructions, prefer the full canonical MicroStation command form when the current evidence establishes it. Preserve supported defined shorthands/assignment forms when they are themselves part of the command contract or MSet scale/substitution contract. Historical prefix abbreviations are legacy evidence, not the default authoring style.**

This distinction is important because a short form is not automatically a bad abbreviation.

## 1. Three different kinds of key-in form

### A. Full canonical command

Examples established by current MicroStation runtime reconstruction include:

```text
PLACE CELL
PLACE CELL RELATIVE
PLACE TERMINATOR
ACTIVE ANGLE PT2
REFERENCE DISPLAY TOGGLE
```

For new MSet 2026 authoring, prefer these full forms when they express the intended operation.

### B. Supported defined shorthand / assignment form

MSet 2026 intentionally recognizes several compact assignment forms as part of its current scale/substitution behavior. Examples include:

```text
TH=
TW=
TX=
LS=
PS=
PD=
AS=
TS=
LC=
AC=
AR=
CM=
LT=
```

Do **not** mechanically expand these merely because they are short.

For example, `TH=`, `TW=`, `TX=` and `LS=` are explicit inputs to the current `TextScaleRule`; `LC=` is the implemented trigger for line-style auto-scale; `AC=`, `AR=` and `CM=` participate in cell-scale detection; and `LT=` participates in terminator-scale detection. Module 03 owns the exact substitution behavior.

A compact assignment form that is part of a verified MSet runtime contract is different from an old prefix abbreviation of a word command.

### C. Historical prefix abbreviation

Examples from historical MSet material include:

```text
pla ...
act ...
```

These spellings remain valid historical evidence and may remain supported for backward compatibility, but they are not the preferred default for newly authored MSet 2026 XML when a full canonical form is established.

## 2. Cell placement: canonical form is preferred and MSet-scale-safe

Current MicroStation 2026 runtime reconstruction establishes:

```text
PLACE CELL
PLACE CELL RELATIVE
```

Current MSet 2026 source independently establishes that the cell scale rule recognizes both the legacy and full-command families case-insensitively through prefixes including:

```text
pla cel
place cel
```

Because `place cell` and `place cell relative` begin with the recognized `place cel` prefix, they enter the same `CellScaleRule` as legacy forms such as `pla cel` / `pla cel rel`.

Therefore, for new MSet 2026 authoring prefer:

```text
place cell
place cell relative
```

Historical forms such as:

```text
pla cel
pla cel rel
place cel rel
```

must not be treated as errors when analysing or preserving an existing instruction. Do not rewrite an old package only for cosmetic modernization unless the user is intentionally migrating/editing it.

### Authoring consequence

This is an important correction to old MSet guidance: the current MSet 2026 scale/substitution implementation no longer requires the historical `pla cel` spelling in order to apply cell scale behavior. Full `place cell` / `place cell relative` forms are recognized by the same current rule.

## 3. Terminator placement: canonical form is preferred and MSet-scale-safe

Current MicroStation 2026 runtime reconstruction establishes:

```text
PLACE TERMINATOR
```

Current MSet 2026 source recognizes terminator triggers including both:

```text
pla ter
place ter
```

through case-insensitive prefix matching. Therefore full:

```text
place terminator
```

enters the same current terminator scale logic as historical `pla ter`.

For new MSet 2026 authoring prefer `place terminator`; preserve historical spelling when analysing or maintaining old source unless a migration is requested.

## 4. Known leading-token normalization

Where only the leading historical verb is being normalized, these mappings remain valid:

```text
pla ...  -> place ...
act ...  -> active ...
```

Example:

```text
act ang pt2  -> active angle pt2
```

However, do not stop at a half-expanded form when the complete current canonical command is independently established.

For example, for cell placement prefer:

```text
place cell relative
```

rather than merely:

```text
place cel rel
```

because the current runtime command table establishes `PLACE CELL RELATIVE` and current MSet cell-scale recognition is compatible with it.

## 5. Do not invent expansions

This module does not authorize expanding arbitrary abbreviations by English guesswork.

Only normalize a short form when the modern form is established by current runtime reconstruction, Bentley evidence, explicit MSet runtime evidence, or another authoritative current source.

Examples of what **not** to do:

- do not assume every three-letter V8i token has one unique CONNECT expansion,
- do not expand a defined assignment such as `TX=` merely because a longer English phrase exists,
- do not replace `LC=` with a guessed word command and assume MSet line-style auto-scale will still fire,
- do not infer that a historical prefix pair is a general alias rule for every command family.

If an exact modern form is unresolved, preserve the historical spelling as evidence and mark the modern form as unresolved rather than inventing one.

## 6. Runtime compatibility versus authoring preference

Keep these questions separate:

1. **What exact key-in does the current MicroStation host expose/accept?**
2. **What exact spelling does MSet 2026 recognize for its own substitution/scale behavior?**
3. **What spelling should be preferred for new MSet 2026 authoring?**

They often agree, but they are not the same evidence question.

Examples now established:

| Operation | Historical form | Preferred new form | Current MSet substitution consequence |
| --- | --- | --- | --- |
| cell placement | `pla cel` | `place cell` | same current cell-scale rule |
| relative cell placement | `pla cel rel` | `place cell relative` | same current cell-scale rule |
| terminator placement | `pla ter` | `place terminator` | same current terminator-scale rule |
| angle by two points | `act ang pt2` | `active angle pt2` | authoring normalization; not a scale trigger |

A legacy form being supported does not make it the preferred spelling for new XML. Conversely, a short assignment being compact does not make it legacy or undesirable.

## 7. Interaction with text authoring and scale-sensitive assignments

Historical GRAPHICO text examples can remain evidence for structure, parameters and workflow, but leading word-command abbreviations should use established full forms in new MSet 2026 XML.

Historical source:

```xml
<Feature Cpt="Odkaz na parc. číslo">pla note;ft=23;th=1.5;tw=1.5;active txj cc</Feature>
```

New-authoring form:

```xml
<Feature Cpt="Odkaz na parc. číslo">place note;ft=23;th=1.5;tw=1.5;active txj cc</Feature>
```

Notice that `th=` and `tw=` remain compact. They are supported assignment forms and are intentionally processed by MSet; they are not rewritten merely to make every token longer.

The same rule applies to `tx=`, `ls=` and the other scale-sensitive assignments documented by module 03.

## 8. Review checklist

Before accepting a newly authored or modernized MSet 2026 command, ask:

1. Is there an established full current MicroStation command for the requested operation?
2. If yes, am I using that full form for a new instruction?
3. Is the short form actually a supported defined shorthand/assignment that should remain compact?
4. Does MSet attach special scale/substitution behavior to the exact form I am changing?
5. If this is an old package, am I preserving working historical syntax unless migration was requested?
6. Am I avoiding guessed expansions whose current mapping is not established?
7. Am I keeping MicroStation command validity separate from MSet-specific substitution recognition?

## Current boundary

This module defines the authoring policy and publishes the cell/terminator equivalence that is now supported by both current MicroStation command reconstruction and current MSet 2026 substitution-source evidence.

It is **not** a complete V8i-to-CONNECT migration catalogue. Add further canonical mappings only when their exact current form is evidenced. In particular, do not claim a canonical replacement for `LC=`, `AC=`, `AR=`, `CM=`, `LT=` or other defined assignments merely by expanding their letters; their current MSet-sensitive behavior is authoritative until a verified equivalent is deliberately added.
