Skip to content

Class: SceneProperties

Properties class for a Scene child Feature. A Scene is a single captured moment in a Storyboard — viewport, timestamp, and per-feature visibility.

URI: debrief:class/SceneProperties

 classDiagram
    class SceneProperties
    click SceneProperties href "../../classes/SceneProperties/"
      BaseFeatureProperties <|-- SceneProperties
        click BaseFeatureProperties href "../../classes/BaseFeatureProperties/"

      SceneProperties : description

      SceneProperties : feature_set_hash

      SceneProperties : id

      SceneProperties : kind





        SceneProperties --> "1" FeatureKindEnum : kind
        click FeatureKindEnum href "../../enums/FeatureKindEnum/"



      SceneProperties : provenance





        SceneProperties --> "*" LogEntry : provenance
        click LogEntry href "../../classes/LogEntry/"



      SceneProperties : storyboard_id

      SceneProperties : tags

      SceneProperties : thumbnail_asset_ref

      SceneProperties : time_range

      SceneProperties : timestamp

      SceneProperties : title

      SceneProperties : transition_duration_ms

      SceneProperties : viewport





        SceneProperties --> "1" Viewport : viewport
        click Viewport href "../../classes/Viewport/"



      SceneProperties : visible_feature_ids


Inheritance

Slots

Name Cardinality and Range Description Inheritance
kind 1
FeatureKindEnum
Feature kind discriminator (pinned to STORYBOARD_SCENE) direct
id 1
String
ULID (26 chars, Crockford base-32) direct
storyboard_id 1
String
Foreign key to parent Storyboard direct
title 1
String
Display title direct
description 0..1
String
Markdown per-scene narrative direct
viewport 1
Viewport
Map viewport camera state at capture time direct
timestamp 1
datetime
ISO-8601 instant when the Scene was captured direct
time_range 0..1
String
Reserved slot for v2 animated time-range Scenes direct
visible_feature_ids 1..*
String
Stable feature IDs visible at capture direct
feature_set_hash 1
String
SHA-256 hex (lowercase, 64 chars) of JSON direct
thumbnail_asset_ref 1
String
STAC asset key (path + name within the plot's STAC item) direct
transition_duration_ms 1
Integer
Playback transition duration in milliseconds direct
tags *
String
Free-text labels assigned to this feature by the analyst BaseFeatureProperties
provenance *
LogEntry
PROV-aligned provenance records (append-only log of tool operations) BaseFeatureProperties

Usages

used by used in type used
SceneFeature properties range SceneProperties

Identifier and Mapping Information

Schema Source

  • from schema: https://debrief.info/schemas/debrief

Mappings

Mapping Type Mapped Value
self debrief:SceneProperties
native debrief:SceneProperties

LinkML Source

Direct

name: SceneProperties
description: Properties class for a Scene child Feature. A Scene is a single captured
  moment in a Storyboard — viewport, timestamp, and per-feature visibility.
from_schema: https://debrief.info/schemas/debrief
is_a: BaseFeatureProperties
attributes:
  kind:
    name: kind
    description: Feature kind discriminator (pinned to STORYBOARD_SCENE)
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - BaseFeatureProperties
    - TrackProperties
    - ReferenceLocationProperties
    - SystemStateProperties
    - MultiPointFeatureProperties
    - MultiPolygonFeatureProperties
    - NarrativeEntryProperties
    - CircleAnnotationProperties
    - RectangleAnnotationProperties
    - LineAnnotationProperties
    - TextAnnotationProperties
    - VectorAnnotationProperties
    - PolyAnnotationProperties
    - SelectionRequirement
    - SystemRecordProperties
    - StoryboardProperties
    - SceneProperties
    range: FeatureKindEnum
    required: true
    equals_string: STORYBOARD_SCENE
  id:
    name: id
    description: ULID (26 chars, Crockford base-32). Immutable after create.
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - Tool
    - PlatformRecord
    - PlotSummary
    - StacItemSummary
    - GeoJSONFeature
    - StoryboardProperties
    - SceneProperties
    - StoryboardFeature
    - SceneFeature
    range: string
    required: true
    pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
  storyboard_id:
    name: storyboard_id
    description: Foreign key to parent Storyboard.properties.id (ULID).
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: string
    required: true
    pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
  title:
    name: title
    description: Display title. Defaults to DTG of timestamp in DDHHmmZ MMM YY; falls
      back to ISO-8601 on parse failure.
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - PlotSummary
    - StacItemSummary
    - DatasetEntry
    - SceneProperties
    range: string
    required: true
  description:
    name: description
    description: Markdown per-scene narrative
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - ReferenceLocationProperties
    - MultiPointFeatureProperties
    - MultiPolygonFeatureProperties
    - Tool
    - ToolParameter
    - LevelDefinition
    - StoryboardProperties
    - SceneProperties
    range: string
    required: false
  viewport:
    name: viewport
    description: Map viewport camera state at capture time
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - SpatialSlice
    - SceneProperties
    range: Viewport
    required: true
  timestamp:
    name: timestamp
    description: ISO-8601 instant when the Scene was captured. Drives Scene ordering
      (ascending within a Storyboard). MUST be unique within a Storyboard.
    from_schema: https://debrief.info/schemas/storyboard
    domain_of:
    - LogEntry
    - TuneAnnotation
    - FileProvEntry
    - PropertiesProvenanceEntry
    - FeatureSelection
    - SceneProperties
    range: datetime
    required: true
  time_range:
    name: time_range
    description: Reserved slot for v2 animated time-range Scenes. MUST be absent (null)
      in schema v1.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: string
    required: false
  visible_feature_ids:
    name: visible_feature_ids
    description: Stable feature IDs visible at capture. Canonicalised (trim, reject
      empty, dedupe, sort lexicographically) by the CRUD module before hashing. Order-insensitive
      from the consumer's perspective.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: string
    required: true
    multivalued: true
  feature_set_hash:
    name: feature_set_hash
    description: SHA-256 hex (lowercase, 64 chars) of JSON.stringify(canonical visible_feature_ids).
      Recomputed on every create/update touching visible_feature_ids.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: string
    required: true
    pattern: ^[0-9a-f]{64}$
  thumbnail_asset_ref:
    name: thumbnail_asset_ref
    description: 'STAC asset key (path + name within the plot''s STAC item). Populated
      by #216 at capture time via #174 helpers.'
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: string
    required: true
  transition_duration_ms:
    name: transition_duration_ms
    description: Playback transition duration in milliseconds. Default 500.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    domain_of:
    - SceneProperties
    range: integer
    required: true
    minimum_value: 0

Induced

name: SceneProperties
description: Properties class for a Scene child Feature. A Scene is a single captured
  moment in a Storyboard — viewport, timestamp, and per-feature visibility.
from_schema: https://debrief.info/schemas/debrief
is_a: BaseFeatureProperties
attributes:
  kind:
    name: kind
    description: Feature kind discriminator (pinned to STORYBOARD_SCENE)
    from_schema: https://debrief.info/schemas/storyboard
    alias: kind
    owner: SceneProperties
    domain_of:
    - BaseFeatureProperties
    - TrackProperties
    - ReferenceLocationProperties
    - SystemStateProperties
    - MultiPointFeatureProperties
    - MultiPolygonFeatureProperties
    - NarrativeEntryProperties
    - CircleAnnotationProperties
    - RectangleAnnotationProperties
    - LineAnnotationProperties
    - TextAnnotationProperties
    - VectorAnnotationProperties
    - PolyAnnotationProperties
    - SelectionRequirement
    - SystemRecordProperties
    - StoryboardProperties
    - SceneProperties
    range: FeatureKindEnum
    required: true
    equals_string: STORYBOARD_SCENE
  id:
    name: id
    description: ULID (26 chars, Crockford base-32). Immutable after create.
    from_schema: https://debrief.info/schemas/storyboard
    alias: id
    owner: SceneProperties
    domain_of:
    - TrackFeature
    - ReferenceLocation
    - SystemState
    - MultiPointFeature
    - MultiPolygonFeature
    - NarrativeEntry
    - CircleAnnotation
    - RectangleAnnotation
    - LineAnnotation
    - TextAnnotation
    - VectorAnnotation
    - PolyAnnotation
    - Tool
    - PlatformRecord
    - PlotSummary
    - StacItemSummary
    - GeoJSONFeature
    - StoryboardProperties
    - SceneProperties
    - StoryboardFeature
    - SceneFeature
    range: string
    required: true
    pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
  storyboard_id:
    name: storyboard_id
    description: Foreign key to parent Storyboard.properties.id (ULID).
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: storyboard_id
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: string
    required: true
    pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
  title:
    name: title
    description: Display title. Defaults to DTG of timestamp in DDHHmmZ MMM YY; falls
      back to ISO-8601 on parse failure.
    from_schema: https://debrief.info/schemas/storyboard
    alias: title
    owner: SceneProperties
    domain_of:
    - PlotSummary
    - StacItemSummary
    - DatasetEntry
    - SceneProperties
    range: string
    required: true
  description:
    name: description
    description: Markdown per-scene narrative
    from_schema: https://debrief.info/schemas/storyboard
    alias: description
    owner: SceneProperties
    domain_of:
    - ReferenceLocationProperties
    - MultiPointFeatureProperties
    - MultiPolygonFeatureProperties
    - Tool
    - ToolParameter
    - LevelDefinition
    - StoryboardProperties
    - SceneProperties
    range: string
    required: false
  viewport:
    name: viewport
    description: Map viewport camera state at capture time
    from_schema: https://debrief.info/schemas/storyboard
    alias: viewport
    owner: SceneProperties
    domain_of:
    - SpatialSlice
    - SceneProperties
    range: Viewport
    required: true
  timestamp:
    name: timestamp
    description: ISO-8601 instant when the Scene was captured. Drives Scene ordering
      (ascending within a Storyboard). MUST be unique within a Storyboard.
    from_schema: https://debrief.info/schemas/storyboard
    alias: timestamp
    owner: SceneProperties
    domain_of:
    - LogEntry
    - TuneAnnotation
    - FileProvEntry
    - PropertiesProvenanceEntry
    - FeatureSelection
    - SceneProperties
    range: datetime
    required: true
  time_range:
    name: time_range
    description: Reserved slot for v2 animated time-range Scenes. MUST be absent (null)
      in schema v1.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: time_range
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: string
    required: false
  visible_feature_ids:
    name: visible_feature_ids
    description: Stable feature IDs visible at capture. Canonicalised (trim, reject
      empty, dedupe, sort lexicographically) by the CRUD module before hashing. Order-insensitive
      from the consumer's perspective.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: visible_feature_ids
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: string
    required: true
    multivalued: true
  feature_set_hash:
    name: feature_set_hash
    description: SHA-256 hex (lowercase, 64 chars) of JSON.stringify(canonical visible_feature_ids).
      Recomputed on every create/update touching visible_feature_ids.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: feature_set_hash
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: string
    required: true
    pattern: ^[0-9a-f]{64}$
  thumbnail_asset_ref:
    name: thumbnail_asset_ref
    description: 'STAC asset key (path + name within the plot''s STAC item). Populated
      by #216 at capture time via #174 helpers.'
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: thumbnail_asset_ref
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: string
    required: true
  transition_duration_ms:
    name: transition_duration_ms
    description: Playback transition duration in milliseconds. Default 500.
    from_schema: https://debrief.info/schemas/storyboard
    rank: 1000
    alias: transition_duration_ms
    owner: SceneProperties
    domain_of:
    - SceneProperties
    range: integer
    required: true
    minimum_value: 0
  tags:
    name: tags
    description: Free-text labels assigned to this feature by the analyst
    from_schema: https://debrief.info/schemas/common
    rank: 1000
    alias: tags
    owner: SceneProperties
    domain_of:
    - BaseFeatureProperties
    - StacExtensionProperties
    - StacItemSummary
    range: string
    required: false
    multivalued: true
  provenance:
    name: provenance
    description: PROV-aligned provenance records (append-only log of tool operations)
    from_schema: https://debrief.info/schemas/common
    rank: 1000
    alias: provenance
    owner: SceneProperties
    domain_of:
    - BaseFeatureProperties
    - SystemStateProperties
    - SystemRecordProperties
    range: LogEntry
    multivalued: true
    inlined: true
    inlined_as_list: true