Phase 3K Assets Help
This commit is contained in:
parent
1a605731bc
commit
b76811a3d4
@ -15,6 +15,17 @@ Dependencies explain how assets rely on one another. A key may require a lock. E
|
||||
|
||||
Use dependencies when the order matters. They help you see whether the story has prepared an asset before it is used, revealed or resolved.
|
||||
|
||||
# Understanding the Fields
|
||||
|
||||
| Field | What it means | Example |
|
||||
| --- | --- | --- |
|
||||
| Source asset | The asset that controls, enables or blocks something else. | A key, letter, clue or code. |
|
||||
| Target asset | The asset affected by the dependency. | A locked box, sealed tin or hidden file. |
|
||||
| Dependency | The kind of link between the two assets. | Requires, blocks, unlocks or reveals, depending on the options in your project. |
|
||||
| Source required state | The state the source must be in before the dependency matters. | The letter must be opened. |
|
||||
| Target blocked state | The state the target cannot reach yet. | The box cannot be opened. |
|
||||
| Description | The writer's plain-English explanation of the story logic. | "The tin only matters once Beth finds the photograph." |
|
||||
|
||||
# Example
|
||||
|
||||
A coded letter may be blocked until the cipher page is found. The letter and the cipher are separate assets, but the meaning of one depends on the other.
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Dependency Type
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, fields
|
||||
contextKey: storyAssets.dependencies.dependencyType
|
||||
micro: Choose the kind of dependency between the assets.
|
||||
quickTitle: Dependency
|
||||
quickSummary: Dependency describes the relationship between the source asset and the target asset.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Dependency
|
||||
|
||||
Choose the type of dependency between the assets. Use the options already available in the project, such as requires, blocks, unlocks, reveals or depends on when those values exist.
|
||||
|
||||
Pick the option that best describes the story logic. Use Description for nuance that does not fit the dropdown.
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Dependency Description
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, fields, notes
|
||||
contextKey: storyAssets.dependencies.description
|
||||
micro: Explain the story logic behind the dependency.
|
||||
quickTitle: Description
|
||||
quickSummary: Use Description to record the plain-language reason one asset depends on another.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Description
|
||||
|
||||
Use Description to record the story logic behind the dependency in plain language. This should explain why the source asset affects the target asset.
|
||||
|
||||
For example: "The tin cannot reveal Annie's letter until Beth finds the hidden compartment."
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Dependency Source Asset
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, fields
|
||||
contextKey: storyAssets.dependencies.sourceAsset
|
||||
micro: Choose the asset that another asset or condition depends on.
|
||||
quickTitle: Source asset
|
||||
quickSummary: Source Asset is the item that controls, enables or blocks progress for another asset.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Source Asset
|
||||
|
||||
Choose the asset that another asset or condition depends on. This is the item that needs to exist, be found or reach a certain state before the dependency matters.
|
||||
|
||||
For example, a hidden key may be the source asset required before a locked box can be opened.
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Source Required State
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, state, fields
|
||||
contextKey: storyAssets.dependencies.sourceRequiredState
|
||||
micro: Choose the state the source asset must reach first.
|
||||
quickTitle: Source required state
|
||||
quickSummary: Source Required State is the condition the source asset must be in before the dependency matters.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Source Required State
|
||||
|
||||
Choose the state the source asset must be in before the dependency matters. This keeps the dependency tied to a specific story condition rather than only to the asset's existence.
|
||||
|
||||
For example, a letter may need to be opened before it can reveal a clue.
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Dependency Target Asset
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, fields
|
||||
contextKey: storyAssets.dependencies.targetAsset
|
||||
micro: Choose the asset affected by the dependency.
|
||||
quickTitle: Target asset
|
||||
quickSummary: Target Asset is the item that cannot progress, unlock or reveal its meaning until the dependency is satisfied.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Target Asset
|
||||
|
||||
Choose the asset affected by the dependency. This is the item whose state, use or meaning is controlled by the source asset.
|
||||
|
||||
For example, a locked box may be the target asset that cannot progress until the key is found.
|
||||
@ -0,0 +1,16 @@
|
||||
---
|
||||
title: Target Blocked State
|
||||
category: Story Assets
|
||||
tags: assets, dependencies, state, fields
|
||||
contextKey: storyAssets.dependencies.targetBlockedState
|
||||
micro: Choose the state the target asset cannot reach yet.
|
||||
quickTitle: Target blocked state
|
||||
quickSummary: Target Blocked State is the condition prevented until the dependency is satisfied.
|
||||
screenshot:
|
||||
---
|
||||
|
||||
# Target Blocked State
|
||||
|
||||
Choose the state the target asset is prevented from reaching until the dependency is satisfied.
|
||||
|
||||
For example, a locked box may remain unopened until the key is recovered.
|
||||
@ -33,6 +33,24 @@ Place field help beside labels or unclear controls. Keep it short, practical and
|
||||
|
||||
Context key pattern: `area.feature.field`, such as `characters.relationships.awareness`.
|
||||
|
||||
# Layout Rules For Help Icons
|
||||
|
||||
Adding help must not make the page layout worse. Help icons should be added inline beside existing labels or headings, using the same placement pattern as Characters/Details.
|
||||
|
||||
Do not wrap form controls in new layout containers unless necessary. Do not change Bootstrap grid structure unless the page already needs a layout fix. Preserve input widths and alignment.
|
||||
|
||||
For form fields, prefer placing the icon beside the label text. For checkboxes, place the icon beside the checkbox label text. Do not create floating controls.
|
||||
|
||||
Do not add extra margin, padding or background panels unless matching an existing pattern. After adding help, visually compare the page before and after so the page still looks deliberate and tidy.
|
||||
|
||||
# Field-Level Help Rules
|
||||
|
||||
Field-level help is for controls where the user may not understand what to choose. Do not add field help to obvious fields like name or description unless the field has special meaning.
|
||||
|
||||
Explain what the control means, what the user should choose and why it matters to writing continuity. Use concrete examples. Keep field help short and practical.
|
||||
|
||||
Section help should include an `# Understanding the Fields` section when a section has several non-obvious controls.
|
||||
|
||||
# When To Add Help
|
||||
|
||||
Add help when an author may ask what a field means, what choice to make, whether something is visible to readers, whether a value is story truth or character belief, or when a change becomes true in the story.
|
||||
|
||||
@ -82,31 +82,31 @@
|
||||
<input type="hidden" name="returnAssetId" value="@Model.Asset.StoryAssetID" />
|
||||
<div class="row g-2">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Source asset</label>
|
||||
<label class="form-label">Source asset <help-icon key="storyAssets.dependencies.sourceAsset" mode="inline" /></label>
|
||||
<select class="form-select form-select-sm" name="SourceAssetID" asp-items="Model.AssetOptions"></select>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Target asset</label>
|
||||
<label class="form-label">Target asset <help-icon key="storyAssets.dependencies.targetAsset" mode="inline" /></label>
|
||||
<select class="form-select form-select-sm" name="TargetAssetID" asp-items="Model.AssetOptions"></select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Dependency</label>
|
||||
<label class="form-label">Dependency <help-icon key="storyAssets.dependencies.dependencyType" mode="inline" /></label>
|
||||
<select class="form-select form-select-sm" name="AssetDependencyTypeID" asp-items="Model.AssetDependencyTypeOptions"></select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Source required state</label>
|
||||
<label class="form-label">Source required state <help-icon key="storyAssets.dependencies.sourceRequiredState" mode="inline" /></label>
|
||||
<select class="form-select form-select-sm" name="SourceRequiredStateID" asp-items="Model.AssetStateOptions">
|
||||
<option value="">Any</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Target blocked state</label>
|
||||
<label class="form-label">Target blocked state <help-icon key="storyAssets.dependencies.targetBlockedState" mode="inline" /></label>
|
||||
<select class="form-select form-select-sm" name="TargetBlockedStateID" asp-items="Model.AssetStateOptions">
|
||||
<option value="">Any</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label class="form-label">Description</label>
|
||||
<label class="form-label">Description <help-icon key="storyAssets.dependencies.description" mode="inline" /></label>
|
||||
<textarea class="form-control form-control-sm" name="Description" rows="2"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form asp-action="Save" method="post" class="edit-panel story-asset-edit-panel">
|
||||
<form asp-action="Save" method="post" class="edit-panel">
|
||||
<input asp-for="StoryAssetID" type="hidden" />
|
||||
<input asp-for="ProjectID" type="hidden" />
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<select asp-for="AssetKindID" asp-items="Model.AssetKindOptions" class="form-select"></select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="metric-slider asset-importance-slider story-asset-importance-control">
|
||||
<div class="metric-slider">
|
||||
<div class="metric-slider-label">
|
||||
<label asp-for="Importance">Importance <help-icon key="storyAssets.fields.importance" mode="inline" /></label>
|
||||
<output>@Model.Importance</output>
|
||||
@ -35,16 +35,10 @@
|
||||
<span asp-validation-for="Importance" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="story-asset-state-group">
|
||||
<label asp-for="CurrentStateID" class="form-label">Current state <help-icon key="storyAssets.fields.currentState" mode="inline" /></label>
|
||||
<select asp-for="CurrentStateID" asp-items="Model.AssetStateOptions" class="form-select">
|
||||
<option value="">No state</option>
|
||||
</select>
|
||||
<div class="form-check story-asset-resolved-check">
|
||||
<input asp-for="IsResolved" class="form-check-input" />
|
||||
<label asp-for="IsResolved" class="form-check-label">Resolved <help-icon key="storyAssets.fields.resolved" mode="inline" /></label>
|
||||
</div>
|
||||
</div>
|
||||
<label asp-for="CurrentStateID" class="form-label">Current state <help-icon key="storyAssets.fields.currentState" mode="inline" /></label>
|
||||
<select asp-for="CurrentStateID" asp-items="Model.AssetStateOptions" class="form-select">
|
||||
<option value="">No state</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label asp-for="CurrentLocationID" class="form-label">Current location <help-icon key="storyAssets.fields.currentLocation" mode="inline" /></label>
|
||||
@ -52,8 +46,14 @@
|
||||
<option value="">No location</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4 d-flex align-items-end">
|
||||
<div class="form-check mb-2">
|
||||
<div class="col-md-4">
|
||||
<div class="form-check story-asset-checkbox-field">
|
||||
<input asp-for="IsResolved" class="form-check-input" />
|
||||
<label asp-for="IsResolved" class="form-check-label">Resolved <help-icon key="storyAssets.fields.resolved" mode="inline" /></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-check story-asset-checkbox-field">
|
||||
<input asp-for="ShowInQuickAddBar" class="form-check-input" />
|
||||
<label asp-for="ShowInQuickAddBar" class="form-check-label">Show in Quick Add Bar <help-icon key="storyAssets.fields.quickAdd" mode="inline" /></label>
|
||||
<div class="form-text">Makes this item available as a draggable shortcut on the Timeline page.</div>
|
||||
|
||||
@ -1602,17 +1602,8 @@ body.timeline-inspector-resizing {
|
||||
background: rgba(47, 111, 99, 0.05);
|
||||
}
|
||||
|
||||
.story-asset-importance-control {
|
||||
background: var(--plotline-surface);
|
||||
}
|
||||
|
||||
.story-asset-state-group {
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.story-asset-resolved-check {
|
||||
margin-bottom: 0;
|
||||
.story-asset-checkbox-field {
|
||||
margin-top: 1.95rem;
|
||||
}
|
||||
|
||||
.story-asset-event-item {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user