# MSet Instruction Author 10 - Instruction appearance and external utility links

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

## Purpose

This module defines two user-facing authoring capabilities that are part of the current MSet 2026 workflow:

- optional per-instruction UI colors,
- external web links presented as explicit utility Features.

Both capabilities are presentation/workflow concerns. They do not change Feature command composition and they do not change `FormatVersion="2026.1"`.

## 1. Optional Instruction color scheme

The current `Instruction` root supports these optional attributes:

```text
TextColor
BackgroundColor
```

Canonical authoring uses six-digit RGB hex:

```xml
<Instruction
    DisplayName="Example"
    FormatVersion="2026.1"
    TextColor="#203040"
    BackgroundColor="#E9F2F8">
```

The corresponding current DTD declaration is:

```dtd
<!ATTLIST Instruction
          DisplayName     CDATA #IMPLIED
          FormatVersion   CDATA #IMPLIED
          TextColor       CDATA #IMPLIED
          BackgroundColor CDATA #IMPLIED>
```

These attributes are optional UI metadata. They are not Bentley named resources and do not set MicroStation element colors. A native instruction with or without them remains format `2026.1`.

When valid Instruction colors are present, MSet applies them for that instruction in preference to the per-user appearance fallback. If they are absent, normal user/default appearance remains available.

## 2. Color choice is part of instruction UX

A generated instruction may define its own recognizable color pair when the authoring task allows it. The pair should remain readable and should not imitate CAD element symbology semantics.

A useful authoring review records the chosen pair explicitly:

```text
Instruction appearance
TextColor:       #203040
BackgroundColor: #E9F2F8
```

MSet's appearance tool can copy the currently tuned pair in XML-attribute form, so hand-edited and visually tuned instructions use the same representation.

## 3. Runtime-verified external URL action

On 2026-08-24, MSet `26.11.0.4` in MicroStation 2026 runtime-tested this exact Final Key-in:

```text
$ % "https://www.graphico.sk/mset/ai/"
```

Result: the URL opened successfully in the system/default web browser.

Evidence state for the URL-launch pattern is therefore:

```text
$ % "https://..."
MSet 2026 / MicroStation 2026: runtime-verified by GRAPHICO
```

Historical MSet_Polohopis instructions also contain the same pattern for ZBGIS, CICA, SKPOS, Google Maps, FreeMap, Mapy.cz and product/documentation links. The current runtime test promotes the **URL-launch mechanism**, not every historical URL.

## 4. External links belong on a utility Page

For new authoring, web links are normally separated from drawing tools on their own Page. This is a GRAPHICO UX best practice, not a DTD restriction.

Example structure:

```xml
<Page Cpt="Odkazy a pomôcky">
    <Group Cpt="MSet">
        <Feature Cpt="MSet AI Hub">$ % "https://www.graphico.sk/mset/ai/"</Feature>
    </Group>
    <Group Cpt="Mapy a údaje">
        <Feature Cpt="ZBGIS Kataster">$ % "https://zbgis.skgeodesy.sk/mkzbgis/sk/kataster"</Feature>
    </Group>
</Page>
```

This keeps the primary CAD Page focused on geometry/text/state workflows and makes external navigation discoverable without mixing it with placement commands.

A Page caption such as `Odkazy a pomôcky`, `Web a pomôcky`, or another domain-appropriate equivalent is suitable when it accurately describes the content.

## 5. URL/resource discipline

The launch mechanism may be runtime-verified while the destination itself is still an external dependency.

The review therefore distinguishes:

```text
mechanism evidence: runtime-verified
URL destination: explicit/known external dependency
```

A URL supplied by the user, present in a verified package, or otherwise explicitly established for the task is suitable. Internal/private destinations should not be invented. Public destinations chosen by the author should be identifiable and relevant to the instruction purpose.

If a URL contains XML-reserved characters such as `&`, XML element text must preserve well-formedness, for example by using `&amp;`.

## Local file, folder and configuration-variable launch boundary

The current authoring contract does **not** generalize the verified HTTP/HTTPS form to local targets.

Historical packages provide supporting evidence that local documents/folders and environment/configuration variables have been used, but the exact current MSet 2026 behavior still needs targeted runtime verification for:

- a local folder path,
- a local document/PDF path,
- paths containing spaces and their quoting,
- a real published Bentley/MSet/Windows configuration variable,
- a missing target/error path.

Suitable runtime-test candidates include, for example:

```text
$ % "C:\Temp"
$ % "C:\Temp\Test.pdf"
```

These strings are **test candidates, not canonical production authoring syntax**. Until the exact cases pass current-host runtime tests, report the documentation gap instead of generating a local-launch command by analogy with the verified URL mechanism.

## 6. External actions are valid Feature semantics

A Feature is a user action, not necessarily a drawing-tool activation. An external-link Feature therefore passes the same module-06 Semantic / Context Check when:

- `Cpt` names the destination/action clearly,
- the effective command is the intended `$ % "URL"` launch action,
- the parent Group/Page presents it as a utility/link rather than CAD geometry,
- no unrelated graphical-state dependency is implied.

Graphical baselines such as `co=`, `lc=` or `wt=` do not belong above a link-only Page merely by habit.

## 7. Recommended page separation

A compact multi-purpose instruction commonly benefits from this top-level separation:

```text
Page: Kreslenie
    geometry / text / modifiers

Page: Odkazy a pomôcky
    maps / standards / product help / project web resources
```

The second Page is optional. It is recommended when the instruction contains several external links or documents.

## 8. Review checklist

For appearance and external utilities, review:

1. `TextColor` and `BackgroundColor` are optional and use canonical `#RRGGBB` form when present,
2. the DTD declares both optional attributes when the XML uses them,
3. `FormatVersion` remains `2026.1`,
4. foreground/background are reasonably readable together,
5. web actions use the runtime-verified `$ % "URL"` pattern,
6. link Features live in a utility-oriented Page/Group rather than being mixed randomly into drawing branches,
7. destination URLs are explicit dependencies and are not fabricated private resources,
8. XML-reserved URL characters are escaped correctly,
9. external-link branches do not inherit irrelevant geometry baseline state.

## Current boundary

The current runtime evidence proves opening an HTTP/HTTPS URL through `$ % "..."`. Historical packages also use the same mechanism for local documents and folders, but those path/variable cases retain their own evidence status until separately current-runtime verified. This module does not promote all historical file/folder launch patterns merely because URL launch succeeded.
