Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// Test configurations with multiple label blocks for each object tag
export const imageRectangleLabelsConfig = `
<View>
  <Image name="img" value="$image"/>
  <RectangleLabels name="shapes" toName="img">
    <Label value="Circle" background="red"/>
    <Label value="Rectangle" background="blue"/>
  </RectangleLabels>
  <RectangleLabels name="objects" toName="img">
    <Label value="Star" background="green"/>
    <Label value="Planet" background="yellow"/>
  </RectangleLabels>
  <Labels name="general" toName="img">
    <Label value="Visible" background="purple"/>
    <Label value="Hidden" background="gray"/>
  </Labels>
</View>
`;
 
export const imagePolygonLabelsConfig = `
<View>
  <Image name="img" value="$image"/>
  <PolygonLabels name="areas" toName="img">
    <Label value="Area1" background="red"/>
    <Label value="Area2" background="blue"/>
  </PolygonLabels>
  <PolygonLabels name="regions" toName="img">
    <Label value="Region1" background="green"/>
    <Label value="Region2" background="yellow"/>
  </PolygonLabels>
  <Labels name="tags" toName="img">
    <Label value="Tagged" background="purple"/>
    <Label value="Untagged" background="gray"/>
  </Labels>
</View>
`;
 
export const richTextLabelsConfig = `
<View>
  <Text name="text" value="$text"/>
  <Labels name="entities" toName="text">
    <Label value="Animal" background="red"/>
    <Label value="Color" background="blue"/>
  </Labels>
  <Labels name="sentiments" toName="text">
    <Label value="Fast" background="green"/>
    <Label value="Slow" background="orange"/>
  </Labels>
</View>
`;
 
export const paragraphsLabelsConfig = `
<View>
  <Paragraphs name="paragraphs" value="$paragraphs"/>
  <ParagraphLabels name="topics" toName="paragraphs">
    <Label value="Introduction" background="lightblue"/>
    <Label value="Conclusion" background="lightgreen"/>
  </ParagraphLabels>
  <ParagraphLabels name="importance" toName="paragraphs">
    <Label value="High" background="red"/>
    <Label value="Low" background="gray"/>
  </ParagraphLabels>
</View>
`;
 
export const audioLabelsConfig = `
<View>
  <Audio name="audio" value="$audio"/>
  <Labels name="speakers" toName="audio">
    <Label value="Speaker1" background="red"/>
    <Label value="Speaker2" background="blue"/>
  </Labels>
  <Labels name="emotions" toName="audio">
    <Label value="Happy" background="green"/>
    <Label value="Sad" background="gray"/>
  </Labels>
</View>
`;
 
export const timeseriesLabelsConfig = `
<View>
  <TimeSeries name="ts" value="$timeseries" valueType="json" timeColumn="time">
    <Channel column="events"/>
    <Channel column="patterns"/>
  </TimeSeries>
  <TimeSeriesLabels name="events" toName="ts">
    <Label value="Peak" background="red"/>
    <Label value="Valley" background="blue"/>
  </TimeSeriesLabels>
  <TimeSeriesLabels name="patterns" toName="ts">
    <Label value="Trend" background="green"/>
    <Label value="Noise" background="gray"/>
  </TimeSeriesLabels>
</View>
`;
 
export const videoLabelsConfig = `
<View>
  <Video name="video" value="$video"/>
  <VideoRectangle name="box" toName="video"/>
  <Labels name="objects" toName="video">
    <Label value="Person" background="red"/>
    <Label value="Car" background="blue"/>
  </Labels>
  <Labels name="actions" toName="video">
    <Label value="Walking" background="green"/>
    <Label value="Running" background="yellow"/>
  </Labels>
</View>
`;
 
export const videoTimelineLabelsConfig = `
<View>
  <Video name="video" value="$video"/>
  <TimelineLabels name="events" toName="video">
    <Label value="Start" background="red"/>
    <Label value="End" background="blue"/>
  </TimelineLabels>
  <TimelineLabels name="activities" toName="video">
    <Label value="Movement" background="green"/>
    <Label value="Stillness" background="orange"/>
  </TimelineLabels>
</View>
`;
 
export const hyperTextLabelsConfig = `
<View>
  <HyperText name="hypertext" value="$hypertext"/>
  <HyperTextLabels name="elements" toName="hypertext">
    <Label value="Header" background="red"/>
    <Label value="Paragraph" background="blue"/>
  </HyperTextLabels>
  <HyperTextLabels name="semantic" toName="hypertext">
    <Label value="Important" background="green"/>
    <Label value="Secondary" background="gray"/>
  </HyperTextLabels>
</View>
`;
 
// Test data
export const testImageData = {
  image:
    "https://htx-pub.s3.us-east-1.amazonaws.com/examples/images/nick-owuor-astro-nic-visuals-wDifg5xc9Z4-unsplash.jpg",
};
 
export const testTextData = {
  text: "The quick brown fox jumps over the lazy dog. This sentence contains many different letters.",
};
 
export const testHyperTextData = {
  hypertext:
    "<article><h2>Sample Article</h2><p>The quick <strong>brown fox</strong> jumps over the lazy dog. This sentence contains many different letters.</p></article>",
};
 
export const testParagraphsData = {
  paragraphs: [
    {
      author: "Speaker A",
      text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
    },
    {
      author: "Speaker B",
      text: "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
    },
    {
      author: "Speaker A",
      text: "Ut enim ad minim veniam, quis nostrud exercitation ullamco.",
    },
  ],
};
 
export const testAudioData = {
  audio: "/public/files/barradeen-emotional.mp3",
};
 
const timeseriesTime = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
export const testTimeseriesData = {
  timeseries: {
    time: timeseriesTime,
    events: timeseriesTime.map((t) => 100 * Math.sin(t / 2)),
    patterns: timeseriesTime.map((t) => 100 * Math.cos(t / 3)),
  },
};
 
export const testVideoData = {
  video: "/public/files/opossum_intro.webm",
};