mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-23 23:46:35 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 87dc70a4c0 | |||
| 5b6de2bb16 |
@@ -144,13 +144,6 @@ export const DYNAMIC_ALLOWED = [
|
||||
'memories.* key in en',
|
||||
}))
|
||||
),
|
||||
{
|
||||
file: 'components/Studio/stickerLibrary.ts',
|
||||
template: 'journey.studio.sticker.${id}',
|
||||
because:
|
||||
'id is a sticker id of the library in @trek/shared/stickers; stickerLibrary.test.ts resolves the key of every ' +
|
||||
'sticker the library holds against en',
|
||||
},
|
||||
];
|
||||
|
||||
const KEY_RE = /^[a-z][a-zA-Z0-9_]*(?:\.[a-zA-Z0-9_:-]+)+$/;
|
||||
|
||||
@@ -37,7 +37,6 @@ export const BOOK_LOOK = {
|
||||
// The server's own read: it waits for the Studio to draw the page, and says it looks at it.
|
||||
preview_book_page: { stepKey: 'assistant.step.lookingAtPage' },
|
||||
list_book_layouts: { stepKey: 'assistant.step.bookLayouts' },
|
||||
list_book_assets: { stepKey: 'assistant.step.bookStickers' },
|
||||
suggest_book_photos: { stepKey: 'assistant.step.choosingPhotos' },
|
||||
},
|
||||
entities: {
|
||||
|
||||
@@ -20,7 +20,16 @@ import { ROW_GLYPH, type RowChange } from './checklistModel';
|
||||
* list, and the rows of a run of changes with their include choice.
|
||||
*/
|
||||
|
||||
/** A group's head: its colour, its name, a badge, and who looks after it (the ones a change drops faded). */
|
||||
/** The band behind a group's head: its colour faint over the card's grey, the grey alone without one. */
|
||||
function bandOf(color: string): string {
|
||||
return color ? `color-mix(in srgb, ${color} 12%, var(--bg-secondary))` : 'var(--bg-secondary)';
|
||||
}
|
||||
|
||||
/**
|
||||
* A group's head as a section of the list: a full width band in its colour,
|
||||
* the colour dot, its name, and at the end its badge (how many it holds) and
|
||||
* who looks after it, the ones a change drops faded.
|
||||
*/
|
||||
export function ChecklistHead({
|
||||
color,
|
||||
name,
|
||||
@@ -38,14 +47,17 @@ export function ChecklistHead({
|
||||
lead?: ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<div className="flex min-w-0 items-center gap-2 pt-1">
|
||||
<div
|
||||
className="mt-1.5 flex min-w-0 items-center gap-2 rounded-lg px-2.5 py-1.5"
|
||||
style={{ background: bandOf(color) }}
|
||||
>
|
||||
{lead ?? <CategoryDot color={color} />}
|
||||
<bdi title={name} className="min-w-0 truncate text-caption font-semibold text-content">
|
||||
<bdi title={name} className="min-w-0 flex-1 truncate text-caption font-semibold text-content">
|
||||
{name}
|
||||
</bdi>
|
||||
{badge}
|
||||
{(people.length > 0 || removed.length > 0) && (
|
||||
<span className="ms-auto flex flex-none items-center gap-1.5">
|
||||
{(badge || people.length > 0 || removed.length > 0) && (
|
||||
<span className="flex flex-none items-center gap-1.5">
|
||||
{badge}
|
||||
<PeopleStack people={people} />
|
||||
{/* The people a change takes off, faded; the card says "No longer" in words under the head. */}
|
||||
{removed.length > 0 && (
|
||||
|
||||
@@ -58,13 +58,13 @@ function BagSwatch({ bag, size = 'row' }: { bag: PackingCardBag | undefined; siz
|
||||
/** A row's quantity and weight: quiet figures at its end, no frame each. */
|
||||
const QUIET = 'text-caption tabular-nums text-content-muted';
|
||||
|
||||
/** How many rows a group holds, quiet beside its name. */
|
||||
/** How many rows a group holds, a white pill at the end of its band. */
|
||||
function GroupCount({ count }: { count: number }) {
|
||||
const { t } = useTranslation();
|
||||
return (
|
||||
<span
|
||||
aria-label={t('tours.packing.items', { count })}
|
||||
className="flex-none text-caption tabular-nums text-content-faint"
|
||||
className="inline-flex h-[18px] flex-none items-center rounded-full bg-surface-card px-1.5 text-caption font-semibold tabular-nums text-content-secondary shadow-sm"
|
||||
>
|
||||
{count}
|
||||
</span>
|
||||
@@ -231,7 +231,7 @@ function BagHead({
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
if (!bag) {
|
||||
const badge = inChange ? undefined : <GroupCount count={group.count} />;
|
||||
const badge = <GroupCount count={group.count} />;
|
||||
const lead = <BagSwatch bag={undefined} size="head" />;
|
||||
return <ChecklistHead color="" name={t('packing.noBag')} lead={lead} badge={badge} />;
|
||||
}
|
||||
@@ -298,7 +298,7 @@ export function PackingGroup({
|
||||
<ChecklistHead
|
||||
color={packingColorOf(key.slot, name)}
|
||||
name={name}
|
||||
badge={inChange ? undefined : <GroupCount count={group.count} />}
|
||||
badge={<GroupCount count={group.count} />}
|
||||
people={group.assignees}
|
||||
removed={group.assigneesRemoved}
|
||||
/>
|
||||
|
||||
@@ -8,7 +8,6 @@ import { iconComponent } from './iconLibrary'
|
||||
import { HOLED_SHAPES, SHAPE_PATHS, scalePath, unitPath } from './shapes'
|
||||
import { TravelElementView } from './TravelElements'
|
||||
import { PageNumbers } from './PageNumbers'
|
||||
import { StickerView } from './StickerView'
|
||||
|
||||
/**
|
||||
* One spread, drawn.
|
||||
@@ -400,7 +399,6 @@ export function ElementView({
|
||||
// Above the catch-all below, which routes everything that is not text into
|
||||
// the travel elements and draws null for anything they do not know.
|
||||
if (el.kind === 'icon') return <IconView el={el} />
|
||||
if (el.kind === 'sticker') return <StickerView el={el} frameStyle={frameStyle(el)} />
|
||||
|
||||
if (el.kind !== 'text') {
|
||||
// map, stats, countries, badge — the elements drawn from the journey's own
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
import { bookStickerLayerPaint, type BookStickerElement } from '@trek/shared';
|
||||
import { bookSticker, type BookStickerDef } from '@trek/shared/stickers';
|
||||
import type { CSSProperties } from 'react';
|
||||
|
||||
/**
|
||||
* A sticker, drawn: its layers as one inline SVG in the sticker's own box,
|
||||
* scaled to the frame by the viewBox, so every layer stays a vector path in
|
||||
* the print and in the page image the assistant reads.
|
||||
*
|
||||
* The drawing keeps its proportions inside whatever frame it is given (meet),
|
||||
* the way an icon does: a lemon stretched to twice its width stops being a
|
||||
* lemon. A flip mirrors the drawing inside the frame, so the frame, its
|
||||
* handles and its rotation stay where they were.
|
||||
*
|
||||
* A sticker this build's library does not hold draws nothing. Only a newer
|
||||
* book can carry one, and a book that is newer than this reader is opened
|
||||
* read-only (book-schema-rev.ts), so nothing is lost by not drawing it.
|
||||
*/
|
||||
|
||||
/** The drawing alone, for the page, the panel's tiles and the inspector. */
|
||||
export function StickerArt({
|
||||
def,
|
||||
colors = [],
|
||||
flipX = false,
|
||||
}: {
|
||||
def: BookStickerDef;
|
||||
colors?: readonly string[];
|
||||
flipX?: boolean;
|
||||
}) {
|
||||
const [w, h] = def.box;
|
||||
return (
|
||||
<svg
|
||||
width="100%"
|
||||
height="100%"
|
||||
viewBox={`0 0 ${w} ${h}`}
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
aria-hidden
|
||||
style={{ display: 'block', overflow: 'visible', transform: flipX ? 'scaleX(-1)' : undefined }}
|
||||
>
|
||||
{def.layers.map((layer, i) => {
|
||||
const { color, opacity } = bookStickerLayerPaint(layer, def.slots, colors);
|
||||
const alpha = opacity < 1 ? opacity : undefined;
|
||||
return layer.w ? (
|
||||
<path
|
||||
// A sticker's layers never reorder: their place in the list is their identity.
|
||||
key={i}
|
||||
d={layer.d}
|
||||
fill="none"
|
||||
stroke={color}
|
||||
strokeOpacity={alpha}
|
||||
strokeWidth={layer.w}
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
/>
|
||||
) : (
|
||||
<path key={i} d={layer.d} fill={color} fillOpacity={alpha} fillRule={layer.eo ? 'evenodd' : undefined} />
|
||||
);
|
||||
})}
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
|
||||
/** A sticker element on the page, in its frame. */
|
||||
export function StickerView({ el, frameStyle }: { el: BookStickerElement; frameStyle: CSSProperties }) {
|
||||
const def = bookSticker(el.stickerId);
|
||||
if (!def) return null;
|
||||
return (
|
||||
<div style={frameStyle}>
|
||||
<StickerArt def={def} colors={el.colors} flipX={el.flipX} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import { fontStack } from './bookFonts'
|
||||
import { useSpreadInteraction, type HandleId } from './useSpreadInteraction'
|
||||
import { useStudioStore } from '../../store/studioStore'
|
||||
import { useTranslation } from '../../i18n'
|
||||
import { STICKER_DRAG_TYPE, stickerDropped } from './stickerLibrary'
|
||||
|
||||
const HANDLES: HandleId[] = ['nw', 'n', 'ne', 'e', 'se', 's', 'sw', 'w']
|
||||
|
||||
@@ -197,12 +196,6 @@ export function StudioCanvas({
|
||||
onPointerUp={finish}
|
||||
onPointerCancel={finish}
|
||||
onDragOver={e => {
|
||||
// A sticker from its panel lands where it is let go; it fills no frame.
|
||||
if (e.dataTransfer.types.includes(STICKER_DRAG_TYPE)) {
|
||||
e.preventDefault()
|
||||
e.dataTransfer.dropEffect = 'copy'
|
||||
return
|
||||
}
|
||||
const fromPanel = e.dataTransfer.types.includes('application/x-trek-photo')
|
||||
// A file drag is only claimed when somebody is there to take it; for a
|
||||
// viewer the browser keeps its default and opens the picture itself.
|
||||
@@ -216,12 +209,6 @@ export function StudioCanvas({
|
||||
}}
|
||||
onDragLeave={() => { setDropTarget(null); setFileOver(false) }}
|
||||
onDrop={e => {
|
||||
const sticker = stickerDropped(e.dataTransfer.getData(STICKER_DRAG_TYPE), page, single, pointInMm(e))
|
||||
if (sticker) {
|
||||
e.preventDefault()
|
||||
addElement(spreadIndex, sticker)
|
||||
return
|
||||
}
|
||||
const raw = e.dataTransfer.getData('application/x-trek-photo')
|
||||
const files = Array.from(e.dataTransfer.files ?? [])
|
||||
if (!raw && !(files.length && onDropFiles)) return
|
||||
|
||||
@@ -9,7 +9,6 @@ import { photoSrc } from './bookRender'
|
||||
import { FRAME_SHAPES, SHAPE_GROUPS } from './shapes'
|
||||
import { ShapeGlyph } from './StudioElementsPanel'
|
||||
import { TravelInspector } from './StudioTravelInspector'
|
||||
import { StudioStickerInspector } from './StudioStickerInspector'
|
||||
import { Swatches } from './StudioSwatches'
|
||||
import { formatBookCoords } from '@trek/shared'
|
||||
import { iconComponent, iconLabel, searchIcons } from './iconLibrary'
|
||||
@@ -651,8 +650,6 @@ export function StudioInspector({
|
||||
</>
|
||||
)}
|
||||
|
||||
{el.kind === 'sticker' && <StudioStickerInspector el={el} set={set} t={t} />}
|
||||
|
||||
<TravelInspector el={el} stats={stats} path={path} set={set} t={t} locale={locale} />
|
||||
|
||||
{/*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useEffect, useMemo, useRef, useState } from 'react'
|
||||
import {
|
||||
Camera, Check, ChevronDown, ImagePlus, ChevronUp, Compass, Copy, FileDown, Files, ImageIcon, LayoutTemplate,
|
||||
Plus, Search, Shapes, Sticker, Trash2, Upload, X,
|
||||
Plus, Search, Shapes, Trash2, Upload, X,
|
||||
} from 'lucide-react'
|
||||
import type { BookElement, BookPageSetup, JourneyStats } from '@trek/shared'
|
||||
import { useElementSize } from '../../hooks/useElementSize'
|
||||
@@ -21,7 +21,6 @@ import {
|
||||
import { MOOD_CONFIG, WEATHER_CONFIG } from '../../pages/journeyDetail/JourneyDetailPage.constants'
|
||||
import { PanelHead as Head } from './StudioPanelHead'
|
||||
import { StudioElementsPanel } from './StudioElementsPanel'
|
||||
import { StudioStickersPanel } from './StudioStickersPanel'
|
||||
import { StudioTravelPanel } from './StudioTravelPanel'
|
||||
import { StudioSavedLayouts } from './StudioSavedLayouts'
|
||||
import { MAX_SPREAD_FILE_BYTES, importSpread } from './spreadFile'
|
||||
@@ -40,7 +39,7 @@ import type { StudioUploader } from './studioUpload'
|
||||
* costs 52px and gives the panel the room a photo browser actually needs.
|
||||
*/
|
||||
|
||||
type Section = 'pages' | 'content' | 'elements' | 'stickers' | 'travel' | 'templates'
|
||||
type Section = 'pages' | 'content' | 'elements' | 'travel' | 'templates'
|
||||
|
||||
export interface JourneySource {
|
||||
entries: {
|
||||
@@ -119,7 +118,6 @@ export function StudioSidebar({
|
||||
{ id: 'pages', icon: Files, labelKey: 'journey.studio.pages' },
|
||||
{ id: 'content', icon: ImageIcon, labelKey: 'journey.studio.content' },
|
||||
{ id: 'elements', icon: Shapes, labelKey: 'journey.studio.elements' },
|
||||
{ id: 'stickers', icon: Sticker, labelKey: 'journey.studio.stickers' },
|
||||
{ id: 'travel', icon: Compass, labelKey: 'journey.studio.travel' },
|
||||
{ id: 'templates', icon: LayoutTemplate, labelKey: 'journey.studio.templates' },
|
||||
]
|
||||
@@ -148,7 +146,6 @@ export function StudioSidebar({
|
||||
providers={providers} onBrowseProvider={onBrowseProvider} />
|
||||
)}
|
||||
{section === 'elements' && <StudioElementsPanel page={page} t={t} />}
|
||||
{section === 'stickers' && <StudioStickersPanel page={page} t={t} />}
|
||||
{section === 'travel' && (
|
||||
<StudioTravelPanel
|
||||
page={page}
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
import { bookStickerSlotColor, type BookElement, type BookStickerElement } from '@trek/shared';
|
||||
import { bookSticker } from '@trek/shared/stickers';
|
||||
import { RotateCcw, RotateCw } from 'lucide-react';
|
||||
|
||||
import { Line, NumField, Section, Switch } from './StudioControls';
|
||||
import { Swatches } from './StudioSwatches';
|
||||
import { stickerLabel, turned, withSlotColor } from './stickerLibrary';
|
||||
|
||||
/**
|
||||
* The inspector's part for a sticker: its colours slot by slot, and how it
|
||||
* lies on the page (mirrored, turned, faded).
|
||||
*
|
||||
* Every slot is offered with the colour it shows now, the sticker's own until
|
||||
* somebody picks another, and choosing one writes the colours of the slots
|
||||
* before it as well, so the list the document keeps always reads in slot order.
|
||||
* Turning is here as well as in the folded position numbers because a sticker
|
||||
* is the one element people set at an angle as a matter of course.
|
||||
*/
|
||||
|
||||
type Translate = (k: string, params?: Record<string, string | number>) => string;
|
||||
|
||||
/** A quarter of a right angle and a little: what a sticker is tipped by, a step at a time. */
|
||||
const TURN_STEP = 15;
|
||||
|
||||
export function StudioStickerInspector({
|
||||
el,
|
||||
set,
|
||||
t,
|
||||
}: {
|
||||
el: BookStickerElement;
|
||||
set: (patch: Partial<BookElement>) => void;
|
||||
t: Translate;
|
||||
}) {
|
||||
const def = bookSticker(el.stickerId);
|
||||
return (
|
||||
<>
|
||||
<Section
|
||||
label={t('journey.studio.stickerColours')}
|
||||
hint={def ? stickerLabel(t, def.id) : t('journey.studio.stickerMissing')}
|
||||
>
|
||||
{def?.slots.map((slot, i) => (
|
||||
<Line key={slot.name} label={t('journey.studio.stickerSlot', { index: i + 1 })} wide>
|
||||
<Swatches
|
||||
value={bookStickerSlotColor(def.slots, el.colors, i)}
|
||||
onPick={(color) => set({ colors: withSlotColor(el, def.slots, i, color) })}
|
||||
/>
|
||||
</Line>
|
||||
))}
|
||||
{el.colors.length > 0 && (
|
||||
<div className="st-row" style={{ marginTop: 8 }}>
|
||||
<button type="button" className="st-chip" onClick={() => set({ colors: [] })}>
|
||||
{t('journey.studio.stickerResetColours')}
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</Section>
|
||||
|
||||
<Section label={t('journey.studio.stickerPlacement')}>
|
||||
<Switch label={t('journey.studio.stickerFlip')} on={el.flipX} onToggle={() => set({ flipX: !el.flipX })} />
|
||||
<div className="st-row" style={{ marginTop: 10, alignItems: 'flex-end' }}>
|
||||
<button
|
||||
type="button"
|
||||
className="st-chip is-icon"
|
||||
onClick={() => set({ rotation: turned(el.rotation, -TURN_STEP) })}
|
||||
title={t('journey.studio.stickerTurnLeft')}
|
||||
aria-label={t('journey.studio.stickerTurnLeft')}
|
||||
>
|
||||
<RotateCcw size={14} />
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="st-chip is-icon"
|
||||
onClick={() => set({ rotation: turned(el.rotation, TURN_STEP) })}
|
||||
title={t('journey.studio.stickerTurnRight')}
|
||||
aria-label={t('journey.studio.stickerTurnRight')}
|
||||
>
|
||||
<RotateCw size={14} />
|
||||
</button>
|
||||
</div>
|
||||
<div className="st-grid2" style={{ marginTop: 10 }}>
|
||||
<NumField
|
||||
label={t('journey.studio.rotation')}
|
||||
value={el.rotation}
|
||||
min={-180}
|
||||
max={180}
|
||||
step={1}
|
||||
unit="°"
|
||||
onChange={(v) => set({ rotation: v })}
|
||||
/>
|
||||
<NumField
|
||||
label={t('journey.studio.opacity')}
|
||||
value={Math.round(el.opacity * 100)}
|
||||
min={0}
|
||||
max={100}
|
||||
step={5}
|
||||
unit="%"
|
||||
onChange={(v) => set({ opacity: Math.min(1, Math.max(0, v / 100)) })}
|
||||
/>
|
||||
</div>
|
||||
</Section>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
import { BOOK_STICKER_THEMES, type BookPageSetup, type BookStickerTheme } from '@trek/shared';
|
||||
import { bookStickersOf, type BookStickerDef } from '@trek/shared/stickers';
|
||||
import { Search, X } from 'lucide-react';
|
||||
import { useMemo, useState, type DragEvent } from 'react';
|
||||
|
||||
import { useStudioStore } from '../../store/studioStore';
|
||||
import { StickerArt } from './StickerView';
|
||||
import { PanelHead } from './StudioPanelHead';
|
||||
import {
|
||||
STICKER_DRAG_TYPE,
|
||||
matchStickers,
|
||||
newStickerElement,
|
||||
readRecentStickers,
|
||||
rememberSticker,
|
||||
stickerLabel,
|
||||
stickerThemeLabel,
|
||||
} from './stickerLibrary';
|
||||
|
||||
/**
|
||||
* The sticker library, as a section of the rail: illustrations to put on a
|
||||
* page, grouped by theme, searchable in the reader's language, with the ones
|
||||
* this viewer placed last on a shelf of their own.
|
||||
*
|
||||
* A click places a sticker in the middle of the page, a drag places it where
|
||||
* it is let go. Either way it arrives selected, so the inspector beside the
|
||||
* page is where it is recoloured, flipped and turned.
|
||||
*/
|
||||
|
||||
type Translate = (k: string, params?: Record<string, string | number>) => string;
|
||||
|
||||
function StickerTile({ def, t, onPick }: { def: BookStickerDef; t: Translate; onPick: (def: BookStickerDef) => void }) {
|
||||
const label = stickerLabel(t, def.id);
|
||||
const onDragStart = (e: DragEvent<HTMLButtonElement>) => {
|
||||
e.dataTransfer.setData(STICKER_DRAG_TYPE, def.id);
|
||||
e.dataTransfer.effectAllowed = 'copy';
|
||||
};
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
className="st-shape-btn is-glyph"
|
||||
draggable
|
||||
onDragStart={onDragStart}
|
||||
onClick={() => onPick(def)}
|
||||
title={label}
|
||||
aria-label={label}
|
||||
style={{ cursor: 'grab' }}
|
||||
>
|
||||
<StickerArt def={def} />
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
function StickerGrid({
|
||||
list,
|
||||
t,
|
||||
onPick,
|
||||
}: {
|
||||
list: readonly BookStickerDef[];
|
||||
t: Translate;
|
||||
onPick: (def: BookStickerDef) => void;
|
||||
}) {
|
||||
return (
|
||||
<div className="st-shape-grid">
|
||||
{list.map((def) => (
|
||||
<StickerTile key={def.id} def={def} t={t} onPick={onPick} />
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export function StudioStickersPanel({ page, t }: { page: BookPageSetup; t: Translate }) {
|
||||
const [query, setQuery] = useState('');
|
||||
const [theme, setTheme] = useState<BookStickerTheme | null>(null);
|
||||
const [recent, setRecent] = useState<BookStickerDef[]>(readRecentStickers);
|
||||
const addElement = useStudioStore((s) => s.addElement);
|
||||
const active = useStudioStore((s) => s.activeSpread);
|
||||
const role = useStudioStore((s) => s.doc?.spreads[s.activeSpread]?.role);
|
||||
const single = role !== undefined && role !== 'inner';
|
||||
|
||||
const matches = useMemo(() => matchStickers(query, theme, t), [query, theme, t]);
|
||||
const browsing = !query.trim() && theme === null;
|
||||
|
||||
const place = (def: BookStickerDef) => {
|
||||
addElement(active, newStickerElement(def, page, single));
|
||||
setRecent(rememberSticker(def.id));
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<PanelHead label={t('journey.studio.stickers')} count={browsing ? undefined : matches.length} />
|
||||
<div className="st-search">
|
||||
<Search size={14} />
|
||||
<input
|
||||
value={query}
|
||||
onChange={(e) => setQuery(e.target.value)}
|
||||
placeholder={t('journey.studio.searchStickers')}
|
||||
aria-label={t('journey.studio.searchStickers')}
|
||||
spellCheck={false}
|
||||
/>
|
||||
{query && (
|
||||
<button type="button" onClick={() => setQuery('')} aria-label={t('common.clear')}>
|
||||
<X size={13} />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="st-panel-scroll">
|
||||
<div className="st-section">
|
||||
<div className="st-row" role="radiogroup" aria-label={t('journey.studio.stickerThemes')}>
|
||||
<button
|
||||
type="button"
|
||||
role="radio"
|
||||
aria-checked={theme === null}
|
||||
className={`st-chip ${theme === null ? 'is-on' : ''}`}
|
||||
onClick={() => setTheme(null)}
|
||||
>
|
||||
{t('journey.studio.stickersAll')}
|
||||
</button>
|
||||
{BOOK_STICKER_THEMES.map((id) => (
|
||||
<button
|
||||
type="button"
|
||||
key={id}
|
||||
role="radio"
|
||||
aria-checked={theme === id}
|
||||
className={`st-chip ${theme === id ? 'is-on' : ''}`}
|
||||
onClick={() => setTheme(theme === id ? null : id)}
|
||||
>
|
||||
{stickerThemeLabel(t, id)}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{browsing && recent.length > 0 && (
|
||||
<div className="st-section">
|
||||
<div className="st-section-label">{t('journey.studio.stickersRecent')}</div>
|
||||
<StickerGrid list={recent} t={t} onPick={place} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Browsing, the library by theme; searching or filtered, one grid of what matches. */}
|
||||
{browsing ? (
|
||||
BOOK_STICKER_THEMES.map((id) => (
|
||||
<div className="st-section" key={id}>
|
||||
<div className="st-section-label">{stickerThemeLabel(t, id)}</div>
|
||||
<StickerGrid list={bookStickersOf(id)} t={t} onPick={place} />
|
||||
</div>
|
||||
))
|
||||
) : (
|
||||
<div className="st-section">
|
||||
<StickerGrid list={matches} t={t} onPick={place} />
|
||||
{!matches.length && <p className="st-hint">{t('journey.studio.noMatches')}</p>}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<p className="st-hint">{t('journey.studio.stickersHint')}</p>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
import { BOOK_STICKER_THEMES } from '@trek/shared';
|
||||
import en from '@trek/shared/i18n/en';
|
||||
import { BOOK_STICKERS, bookSticker } from '@trek/shared/stickers';
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
import {
|
||||
MAX_RECENT_STICKERS,
|
||||
matchStickers,
|
||||
newStickerElement,
|
||||
readRecentStickers,
|
||||
rememberSticker,
|
||||
stickerDropped,
|
||||
stickerLabel,
|
||||
stickerThemeLabel,
|
||||
} from './stickerLibrary';
|
||||
|
||||
/**
|
||||
* The Studio's side of the sticker library: every sticker and theme has a name
|
||||
* in en (the key the i18n check lets through as a template, see
|
||||
* client/scripts/i18n-keys.mjs), the search finds a sticker by its name in the
|
||||
* reader's language and by the library's English tags, the recent shelf
|
||||
* survives a reload and shrugs off storage it cannot use, and a new sticker
|
||||
* lands where it was asked to.
|
||||
*/
|
||||
|
||||
const page = { pageWidth: 210, pageHeight: 210 };
|
||||
const echo = (k: string) => k;
|
||||
const strings = en as Record<string, string>;
|
||||
|
||||
afterEach(() => {
|
||||
window.localStorage.clear();
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
|
||||
describe('names', () => {
|
||||
it('names every sticker of the library and every theme in en', () => {
|
||||
for (const s of BOOK_STICKERS) expect(strings[stickerLabel(echo, s.id)], s.id).toEqual(expect.any(String));
|
||||
for (const theme of BOOK_STICKER_THEMES) {
|
||||
expect(strings[stickerThemeLabel(echo, theme)], theme).toEqual(expect.any(String));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('matchStickers', () => {
|
||||
/** The en names, but the lemon in German: the reader's word for one sticker. */
|
||||
const german = (k: string) => (k === 'journey.studio.sticker.lemon' ? 'Zitrone' : (strings[k] ?? k));
|
||||
|
||||
it('lists a theme, or the whole library, when nothing is typed', () => {
|
||||
expect(matchStickers('', null, echo)).toHaveLength(BOOK_STICKERS.length);
|
||||
expect(matchStickers(' ', 'food', echo).every((s) => s.theme === 'food')).toBe(true);
|
||||
});
|
||||
|
||||
it('finds a sticker by its name in the reader language first, then by the English tags', () => {
|
||||
expect(matchStickers('zitrone', null, german)[0]?.id).toBe('lemon');
|
||||
// The names that say lemon come first, then what the English tags find, the lemon itself among them.
|
||||
const english = matchStickers('lemon', null, german).map((s) => s.id);
|
||||
expect(english.slice(0, 2)).toEqual(['lemonBranch', 'lemonVase']);
|
||||
expect(english).toContain('lemon');
|
||||
expect(new Set(english).size).toBe(english.length);
|
||||
expect(matchStickers('lemon', 'food', german)).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('the recent shelf', () => {
|
||||
it('keeps the stickers placed last, newest first, without repeats, up to its size', () => {
|
||||
expect(readRecentStickers()).toEqual([]);
|
||||
rememberSticker('lemon');
|
||||
rememberSticker('sun');
|
||||
expect(rememberSticker('lemon').map((s) => s.id)).toEqual(['lemon', 'sun']);
|
||||
for (const s of BOOK_STICKERS.slice(0, 12)) rememberSticker(s.id);
|
||||
expect(readRecentStickers()).toHaveLength(MAX_RECENT_STICKERS);
|
||||
expect(readRecentStickers()[0]?.id).toBe(BOOK_STICKERS[11]?.id);
|
||||
});
|
||||
|
||||
it('starts empty from storage it did not write or cannot read, and leaves out ids it does not know', () => {
|
||||
window.localStorage.setItem('trek.studio.recentStickers', '{nope');
|
||||
expect(readRecentStickers()).toEqual([]);
|
||||
window.localStorage.setItem('trek.studio.recentStickers', '{"a":1}');
|
||||
expect(readRecentStickers()).toEqual([]);
|
||||
window.localStorage.setItem('trek.studio.recentStickers', '["sun","unicornCastle",3]');
|
||||
expect(readRecentStickers().map((s) => s.id)).toEqual(['sun']);
|
||||
vi.spyOn(Storage.prototype, 'getItem').mockImplementation(() => {
|
||||
throw new Error('denied');
|
||||
});
|
||||
vi.spyOn(Storage.prototype, 'setItem').mockImplementation(() => {
|
||||
throw new Error('denied');
|
||||
});
|
||||
expect(readRecentStickers()).toEqual([]);
|
||||
expect(rememberSticker('sun').map((s) => s.id)).toEqual(['sun']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('a new sticker', () => {
|
||||
const lemon = bookSticker('lemon');
|
||||
if (!lemon) throw new Error('the library holds a lemon');
|
||||
|
||||
it('arrives centred on the right-hand page of a spread, or on a single page, at the panel size', () => {
|
||||
const onSpread = newStickerElement(lemon, page, false);
|
||||
expect(onSpread).toMatchObject({ kind: 'sticker', stickerId: 'lemon', colors: [], flipX: false });
|
||||
expect(onSpread.frame).toEqual({ x: 283.5, y: 79.8, w: 63, h: 50.4 });
|
||||
expect(newStickerElement(lemon, page, true).frame.x).toBe(73.5);
|
||||
expect(newStickerElement(lemon, page, false, { x: 50, y: 50 }).frame).toMatchObject({ x: 18.5, y: 24.8 });
|
||||
});
|
||||
|
||||
it('comes from a drop that carries a sticker the library holds, and goes on the shelf', () => {
|
||||
expect(stickerDropped('', page, false, { x: 0, y: 0 })).toBeNull();
|
||||
expect(stickerDropped('unicornCastle', page, false, { x: 0, y: 0 })).toBeNull();
|
||||
expect(stickerDropped('sun', page, true, { x: 100, y: 100 })?.frame).toMatchObject({ x: 68.5, y: 68.5 });
|
||||
expect(readRecentStickers().map((s) => s.id)).toEqual(['sun']);
|
||||
});
|
||||
});
|
||||
@@ -1,145 +0,0 @@
|
||||
import {
|
||||
bookElementId,
|
||||
bookStickerElement,
|
||||
bookStickerSize,
|
||||
bookStickerSlotColor,
|
||||
type BookPageSetup,
|
||||
type BookStickerElement,
|
||||
type BookStickerSlot,
|
||||
type BookStickerTheme,
|
||||
} from '@trek/shared';
|
||||
import { BOOK_STICKERS, bookSticker, searchBookStickers, type BookStickerDef } from '@trek/shared/stickers';
|
||||
|
||||
/**
|
||||
* The Studio's side of the sticker library: the words each sticker is shown
|
||||
* and found by in the reader's language, the shelf of recently used ones, and
|
||||
* a new sticker element where it was clicked or dropped.
|
||||
*
|
||||
* The drawings themselves come from `@trek/shared/stickers`, which only the
|
||||
* Studio's chunk imports (this file, StickerView, the panel), so the library
|
||||
* arrives with the editor and never with the app shell.
|
||||
*/
|
||||
|
||||
/** Translates a key; the panel and the inspector pass the Studio's `t`. */
|
||||
type Translate = (key: string) => string;
|
||||
|
||||
/** The drag the panel starts and the canvas takes: the sticker id as plain text under its own type. */
|
||||
export const STICKER_DRAG_TYPE = 'application/x-trek-sticker';
|
||||
|
||||
/**
|
||||
* A sticker's name in the reader's language (studioStickers.ts in every
|
||||
* locale): every id of the library has one, which stickerLibrary.test.ts holds.
|
||||
*/
|
||||
export const stickerLabel = (t: Translate, id: string) => t(`journey.studio.sticker.${id}`);
|
||||
|
||||
/** A theme's name in the reader's language. */
|
||||
export const stickerThemeLabel = (t: Translate, theme: BookStickerTheme) => t(`journey.studio.stickerTheme.${theme}`);
|
||||
|
||||
const fold = (s: string) => s.toLocaleLowerCase().normalize('NFKD').replace(/[̀-ͯ]/g, '');
|
||||
|
||||
/**
|
||||
* Stickers matching what was typed, in one theme or all: the reader's own word
|
||||
* for a sticker first (its label), then the library's English search over ids,
|
||||
* tags and descriptions, so "Zitrone" finds the lemon in German and "lemon"
|
||||
* finds it everywhere.
|
||||
*/
|
||||
export function matchStickers(query: string, theme: BookStickerTheme | null, t: Translate): BookStickerDef[] {
|
||||
const words = fold(query.trim());
|
||||
const pool = theme ? BOOK_STICKERS.filter((s) => s.theme === theme) : BOOK_STICKERS;
|
||||
if (!words) return [...pool];
|
||||
const byLabel = pool.filter((s) => fold(stickerLabel(t, s.id)).includes(words));
|
||||
const byTags = searchBookStickers({ query: words, theme: theme ?? undefined });
|
||||
const seen = new Set(byLabel.map((s) => s.id));
|
||||
return [...byLabel, ...byTags.filter((s) => !seen.has(s.id))];
|
||||
}
|
||||
|
||||
const RECENT_STORAGE = 'trek.studio.recentStickers';
|
||||
/** How many recently used stickers the shelf holds: one row of the panel's grid, three times over. */
|
||||
export const MAX_RECENT_STICKERS = 9;
|
||||
|
||||
/** The stickers this viewer placed last, newest first; empty where storage is refused or holds nonsense. */
|
||||
export function readRecentStickers(): BookStickerDef[] {
|
||||
let ids: unknown;
|
||||
try {
|
||||
ids = JSON.parse(window.localStorage.getItem(RECENT_STORAGE) ?? '[]');
|
||||
} catch {
|
||||
// Storage refused (a private window) or a value it did not write: the shelf starts empty.
|
||||
return [];
|
||||
}
|
||||
if (!Array.isArray(ids)) return [];
|
||||
return ids.flatMap((id) => {
|
||||
const def = typeof id === 'string' ? bookSticker(id) : undefined;
|
||||
return def ? [def] : [];
|
||||
});
|
||||
}
|
||||
|
||||
/** Puts a sticker at the front of the recent shelf and answers the shelf as it is now. */
|
||||
export function rememberSticker(id: string): BookStickerDef[] {
|
||||
const next = [
|
||||
id,
|
||||
...readRecentStickers()
|
||||
.map((s) => s.id)
|
||||
.filter((other) => other !== id),
|
||||
].slice(0, MAX_RECENT_STICKERS);
|
||||
try {
|
||||
window.localStorage.setItem(RECENT_STORAGE, JSON.stringify(next));
|
||||
} catch {
|
||||
// Storage refused: the shelf is this visit's only, which is all it promises.
|
||||
}
|
||||
return next.flatMap((x) => bookSticker(x) ?? []);
|
||||
}
|
||||
|
||||
/**
|
||||
* A new sticker element at the panel's size: centred on `at` (where it was
|
||||
* dropped), else on the page, the right-hand one of a double spread so it
|
||||
* never lands in the fold.
|
||||
*/
|
||||
export function newStickerElement(
|
||||
def: BookStickerDef,
|
||||
page: Pick<BookPageSetup, 'pageWidth' | 'pageHeight'>,
|
||||
single: boolean,
|
||||
at?: { x: number; y: number }
|
||||
): BookStickerElement {
|
||||
const { w, h } = bookStickerSize(def.box, page);
|
||||
const cx = at?.x ?? (single ? page.pageWidth / 2 : page.pageWidth * 1.5);
|
||||
const cy = at?.y ?? page.pageHeight / 2;
|
||||
const round = (v: number) => Math.round(v * 100) / 100;
|
||||
return bookStickerElement(def, { x: round(cx - w / 2), y: round(cy - h / 2), w, h }, bookElementId('k'));
|
||||
}
|
||||
|
||||
/**
|
||||
* The sticker a drop onto the page carries, centred where it was let go and
|
||||
* put on the recent shelf; null for a drop that carries none (a photo, a file)
|
||||
* or an id the library does not hold.
|
||||
*/
|
||||
export function stickerDropped(
|
||||
id: string,
|
||||
page: Pick<BookPageSetup, 'pageWidth' | 'pageHeight'>,
|
||||
single: boolean,
|
||||
at: { x: number; y: number }
|
||||
): BookStickerElement | null {
|
||||
const def = id ? bookSticker(id) : undefined;
|
||||
if (!def) return null;
|
||||
rememberSticker(def.id);
|
||||
return newStickerElement(def, page, single, at);
|
||||
}
|
||||
|
||||
/** Turned by `by` degrees, kept between -180 and 180 the way the canvas keeps it. */
|
||||
export function turned(rotation: number, by: number): number {
|
||||
let next = (rotation + by) % 360;
|
||||
if (next > 180) next -= 360;
|
||||
if (next < -180) next += 360;
|
||||
return Math.round(next * 10) / 10;
|
||||
}
|
||||
|
||||
/** The colours with slot `slot` set to `color`, the slots before it filled with what they show now. */
|
||||
export function withSlotColor(
|
||||
el: BookStickerElement,
|
||||
slots: readonly BookStickerSlot[],
|
||||
slot: number,
|
||||
color: string
|
||||
): string[] {
|
||||
const named = slots.map((_, i) => bookStickerSlotColor(slots, el.colors, i));
|
||||
named[slot] = color;
|
||||
return named.slice(0, Math.max(el.colors.length, slot + 1));
|
||||
}
|
||||
@@ -1,234 +0,0 @@
|
||||
import type { BookDocument, BookElement, BookSpread } from '@trek/shared';
|
||||
import { bookPageSetupSchema, bookSpreadSchema, bookStickerElementSchema } from '@trek/shared';
|
||||
import { bookSticker } from '@trek/shared/stickers';
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
import { SpreadView } from '../../../src/components/Studio/SpreadView';
|
||||
import { StudioCanvas } from '../../../src/components/Studio/StudioCanvas';
|
||||
import { StudioInspector } from '../../../src/components/Studio/StudioInspector';
|
||||
import { StudioStickersPanel } from '../../../src/components/Studio/StudioStickersPanel';
|
||||
import { STICKER_DRAG_TYPE, turned, withSlotColor } from '../../../src/components/Studio/stickerLibrary';
|
||||
import { useStudioStore } from '../../../src/store/studioStore';
|
||||
import { fireEvent, render, screen } from '../../helpers/render';
|
||||
|
||||
/**
|
||||
* The sticker element in the Studio: drawn on the page as an inline SVG of its
|
||||
* layers in the colours it carries, mirrored when flipped, nothing at all for
|
||||
* an id this build does not know; placed from its panel by a click or a drag;
|
||||
* recoloured slot by slot, flipped and turned in the inspector.
|
||||
*/
|
||||
|
||||
/** The value, or a failed test where there is none. */
|
||||
function must<T>(value: T | null | undefined): T {
|
||||
if (value === null || value === undefined) throw new Error('expected a value');
|
||||
return value;
|
||||
}
|
||||
|
||||
const page = bookPageSetupSchema.parse({ preset: 'square-210', pageWidth: 210, pageHeight: 210, bleed: 3, safe: 5 });
|
||||
const FRAME = { x: 20, y: 30, w: 60, h: 48 };
|
||||
const t = (k: string, params?: Record<string, string | number>) => (params ? `${k} ${JSON.stringify(params)}` : k);
|
||||
|
||||
const sticker = (over: Record<string, unknown> = {}): BookElement =>
|
||||
bookStickerElementSchema.parse({
|
||||
id: 'k1',
|
||||
kind: 'sticker',
|
||||
frame: FRAME,
|
||||
stickerId: 'lemon',
|
||||
...over,
|
||||
}) as BookElement;
|
||||
|
||||
function draw(elements: BookElement[]) {
|
||||
const spread: BookSpread = { id: 's1', role: 'inner', background: null, elements, parked: [], entryId: null };
|
||||
return render(<SpreadView spread={spread} page={page} />);
|
||||
}
|
||||
|
||||
function load(elements: BookElement[]) {
|
||||
useStudioStore.getState().load({
|
||||
version: 1,
|
||||
title: 'T',
|
||||
page,
|
||||
spreads: [{ id: 'sp1', role: 'inner', background: null, elements, parked: [], entryId: null }],
|
||||
} as BookDocument);
|
||||
useStudioStore.getState().select(elements.slice(0, 1).map((e) => e.id));
|
||||
}
|
||||
|
||||
const stored = () => must(must(useStudioStore.getState().doc).spreads[0]).elements;
|
||||
|
||||
beforeEach(() => {
|
||||
window.localStorage.clear();
|
||||
});
|
||||
|
||||
describe('a sticker on the page', () => {
|
||||
it('draws every layer of the drawing in its frame, kept in proportion', () => {
|
||||
const { container } = draw([sticker()]);
|
||||
const svg = must(container.querySelector('svg'));
|
||||
const lemon = must(bookSticker('lemon'));
|
||||
expect(svg.getAttribute('viewBox')).toBe(`0 0 ${lemon.box[0]} ${lemon.box[1]}`);
|
||||
expect(svg.getAttribute('preserveAspectRatio')).toBe('xMidYMid meet');
|
||||
expect(svg.querySelectorAll('path')).toHaveLength(lemon.layers.length);
|
||||
const frame = svg.parentElement as HTMLElement;
|
||||
expect([frame.style.left, frame.style.width]).toEqual(['20mm', '60mm']);
|
||||
});
|
||||
|
||||
it('paints the slots in the colours the element carries, its own elsewhere, and mirrors it when flipped', () => {
|
||||
const lemon = must(bookSticker('lemon'));
|
||||
const { container } = draw([sticker({ colors: ['#123456'], flipX: true })]);
|
||||
const fills = [...container.querySelectorAll('path')].map((p) => p.getAttribute('fill'));
|
||||
expect(fills).toContain('#123456');
|
||||
expect(fills).not.toContain(must(lemon.slots[0]).color);
|
||||
expect(fills).toContain(must(lemon.slots[1]).color);
|
||||
expect(must(container.querySelector('svg')).style.transform).toBe('scaleX(-1)');
|
||||
});
|
||||
|
||||
it('strokes the line layers of a doodle with round ends', () => {
|
||||
const { container } = draw([sticker({ stickerId: 'curlyArrow' })]);
|
||||
const path = must(container.querySelector('path'));
|
||||
expect([path.getAttribute('fill'), path.getAttribute('stroke-linecap')]).toEqual(['none', 'round']);
|
||||
});
|
||||
|
||||
it('draws nothing for a sticker this library does not hold', () => {
|
||||
const { container } = draw([sticker({ stickerId: 'unicornCastle' })]);
|
||||
expect(container.querySelector('svg')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('the stickers panel', () => {
|
||||
beforeEach(() => load([]));
|
||||
|
||||
it('lists the library by theme and places a sticker in the middle of the right-hand page on a click', () => {
|
||||
render(<StudioStickersPanel page={page} t={t} />);
|
||||
fireEvent.click(screen.getByRole('button', { name: 'journey.studio.sticker.eiffelTower' }));
|
||||
const placed = must(stored()[0]);
|
||||
expect(placed).toMatchObject({ kind: 'sticker', stickerId: 'eiffelTower' });
|
||||
expect(placed.frame.x + placed.frame.w / 2).toBeCloseTo(315, 1);
|
||||
expect(useStudioStore.getState().selection).toEqual([placed.id]);
|
||||
// It is on the recent shelf now, above the themes.
|
||||
expect(screen.getByText('journey.studio.stickersRecent')).toBeTruthy();
|
||||
});
|
||||
|
||||
it('filters by theme and by what is typed, and says when nothing matches', () => {
|
||||
render(<StudioStickersPanel page={page} t={t} />);
|
||||
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.stickerTheme.food' }));
|
||||
expect(screen.getByRole('button', { name: 'journey.studio.sticker.croissant' })).toBeTruthy();
|
||||
expect(screen.queryByRole('button', { name: 'journey.studio.sticker.eiffelTower' })).toBeNull();
|
||||
fireEvent.click(screen.getByRole('radio', { name: 'journey.studio.stickersAll' }));
|
||||
fireEvent.change(screen.getByRole('textbox', { name: 'journey.studio.searchStickers' }), {
|
||||
target: { value: 'zzzz' },
|
||||
});
|
||||
expect(screen.getByText('journey.studio.noMatches')).toBeTruthy();
|
||||
});
|
||||
|
||||
it('hands the sticker id to a drag', () => {
|
||||
render(<StudioStickersPanel page={page} t={t} />);
|
||||
const setData = vi.fn();
|
||||
fireEvent.dragStart(screen.getByRole('button', { name: 'journey.studio.sticker.sun' }), {
|
||||
dataTransfer: { setData, effectAllowed: '' },
|
||||
});
|
||||
expect(setData).toHaveBeenCalledWith(STICKER_DRAG_TYPE, 'sun');
|
||||
});
|
||||
});
|
||||
|
||||
describe('a sticker dropped on the sheet', () => {
|
||||
it('lands centred where it is let go', () => {
|
||||
const spread = bookSpreadSchema.parse({ id: 'sp-1', elements: [] });
|
||||
const addElement = vi.fn();
|
||||
const original = useStudioStore.getState().addElement;
|
||||
useStudioStore.setState({ selection: [], addElement });
|
||||
render(
|
||||
<StudioCanvas
|
||||
spread={spread}
|
||||
spreadIndex={0}
|
||||
page={page}
|
||||
zoom={1}
|
||||
pxPerMm={2}
|
||||
bookView={false}
|
||||
dropLabel="drop"
|
||||
fileDropLabel="files"
|
||||
/>
|
||||
);
|
||||
const stage = document.querySelector('.st-stage') as HTMLElement;
|
||||
const transfer = {
|
||||
types: [STICKER_DRAG_TYPE],
|
||||
files: [],
|
||||
getData: (type: string) => (type === STICKER_DRAG_TYPE ? 'sun' : ''),
|
||||
dropEffect: '',
|
||||
};
|
||||
fireEvent.dragOver(stage, { dataTransfer: transfer, clientX: 100, clientY: 100 });
|
||||
fireEvent.drop(stage, { dataTransfer: transfer, clientX: 100, clientY: 100 });
|
||||
expect(addElement).toHaveBeenCalledTimes(1);
|
||||
const [index, el] = must(addElement.mock.calls[0]);
|
||||
expect(index).toBe(0);
|
||||
expect(el).toMatchObject({ kind: 'sticker', stickerId: 'sun', frame: { w: 63, h: 63 } });
|
||||
useStudioStore.setState({ addElement: original });
|
||||
});
|
||||
});
|
||||
|
||||
describe('the sticker inspector', () => {
|
||||
const inspector = () =>
|
||||
render(
|
||||
<StudioInspector
|
||||
spreadIndex={0}
|
||||
page={page}
|
||||
stats={null}
|
||||
path={[]}
|
||||
source={{ entries: [], photos: [], photoEntries: {} }}
|
||||
setPageNumbers={() => {}}
|
||||
t={t}
|
||||
locale="en"
|
||||
/>
|
||||
);
|
||||
|
||||
it('recolours one slot, keeping the ones before it as they show, and puts the colours back', () => {
|
||||
load([sticker()]);
|
||||
const { container } = inspector();
|
||||
const lines = container.querySelectorAll('.st-line');
|
||||
expect(lines).toHaveLength(2);
|
||||
const second = must(lines[1]).querySelector('input[type="color"]') as HTMLInputElement;
|
||||
fireEvent.change(second, { target: { value: '#00ff00' } });
|
||||
const lemon = must(bookSticker('lemon'));
|
||||
expect(stored()[0]).toMatchObject({ colors: [must(lemon.slots[0]).color, '#00ff00'] });
|
||||
fireEvent.click(screen.getByRole('button', { name: 'journey.studio.stickerResetColours' }));
|
||||
expect(stored()[0]).toMatchObject({ colors: [] });
|
||||
});
|
||||
|
||||
it('mirrors and turns the sticker a step at a time', () => {
|
||||
load([sticker({ rotation: 170 })]);
|
||||
inspector();
|
||||
fireEvent.click(screen.getByRole('button', { name: 'journey.studio.stickerFlip' }));
|
||||
expect(stored()[0]).toMatchObject({ flipX: true });
|
||||
fireEvent.click(screen.getByRole('button', { name: 'journey.studio.stickerTurnRight' }));
|
||||
expect(must(stored()[0]).rotation).toBe(-175);
|
||||
fireEvent.click(screen.getByRole('button', { name: 'journey.studio.stickerTurnLeft' }));
|
||||
expect(must(stored()[0]).rotation).toBe(170);
|
||||
});
|
||||
|
||||
it('says so for a sticker the library does not hold, with nothing to recolour', () => {
|
||||
load([sticker({ stickerId: 'unicornCastle' })]);
|
||||
const { container } = inspector();
|
||||
expect(screen.getByText('journey.studio.stickerMissing')).toBeTruthy();
|
||||
expect(container.querySelectorAll('.st-line')).toHaveLength(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('the inspector helpers', () => {
|
||||
it('turns within a half turn either way', () => {
|
||||
expect(turned(170, 15)).toBe(-175);
|
||||
expect(turned(-170, -15)).toBe(175);
|
||||
expect(turned(0, 15)).toBe(15);
|
||||
});
|
||||
|
||||
it('writes the slot colours in order, filling the slots before the one picked', () => {
|
||||
const slots = [
|
||||
{ name: 'a', color: '#111111' },
|
||||
{ name: 'b', color: '#222222' },
|
||||
{ name: 'c', color: '#333333' },
|
||||
];
|
||||
const el = bookStickerElementSchema.parse({ id: 'k', kind: 'sticker', frame: FRAME, stickerId: 'x' });
|
||||
expect(withSlotColor(el, slots, 2, '#999999')).toEqual(['#111111', '#222222', '#999999']);
|
||||
expect(withSlotColor({ ...el, colors: ['#aaaaaa', '#bbbbbb', '#cccccc'] }, slots, 0, '#999999')).toEqual([
|
||||
'#999999',
|
||||
'#bbbbbb',
|
||||
'#cccccc',
|
||||
]);
|
||||
});
|
||||
});
|
||||
@@ -1,6 +1,6 @@
|
||||
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'
|
||||
import { act, renderHook } from '@testing-library/react'
|
||||
import { BOOK_SCHEMA_REV, type BookDocument, type BookRecord } from '@trek/shared'
|
||||
import type { BookDocument, BookRecord } from '@trek/shared'
|
||||
|
||||
/**
|
||||
* Autosaving a Studio book (#1973).
|
||||
@@ -851,13 +851,13 @@ describe('a book a newer Studio saved', () => {
|
||||
expect(result.current.state.status).toBe('newer')
|
||||
})
|
||||
|
||||
/* A book goes out stamped with the revision of the build that wrote it, so an older tab cannot save over it. */
|
||||
it('FE-STUDIO-REV-006: sends a book stamped with the revision of this build', async () => {
|
||||
/* A book of today goes out exactly as it went out before the revision existed. */
|
||||
it('FE-STUDIO-REV-006: sends a book of today without a revision in it', async () => {
|
||||
const { result } = await mount()
|
||||
|
||||
act(() => { result.current.queueSave(doc('a'), 'T') })
|
||||
await tick()
|
||||
|
||||
expect(api.saveBook.mock.calls[0][1].document.schemaRev).toBe(BOOK_SCHEMA_REV)
|
||||
expect(api.saveBook.mock.calls[0][1].document).not.toHaveProperty('schemaRev')
|
||||
})
|
||||
})
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
"src/index.ts",
|
||||
"src/roadtrip/planning.ts",
|
||||
"src/sanitize/sanitize.ts",
|
||||
"src/book/stickers/index.ts",
|
||||
"src/i18n/index.ts",
|
||||
"src/i18n/*/index.ts",
|
||||
// open-request-schemas.d.mts types the .mjs script beside it.
|
||||
|
||||
Generated
+3
-3
@@ -14620,9 +14620,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/follow-redirects": {
|
||||
"version": "1.16.0",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
|
||||
"integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz",
|
||||
"integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
|
||||
Generated
+83
-83
@@ -147,13 +147,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.146.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.146.0.tgz",
|
||||
"integrity": "sha512-XC0QsnnhVe7sLIWmYmdPw7x5P0h4W8vUU3Nv1ySgWXtvCz8NizoAEpGXA0sOYoJQV2Rl13LgURAHQ5cI5ILCSA==",
|
||||
"version": "0.155.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz",
|
||||
"integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/Boshen"
|
||||
"url": "https://github.com/sponsors/oxc-project"
|
||||
}
|
||||
},
|
||||
"node_modules/@pnpm/config.env-replace": {
|
||||
@@ -198,9 +198,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm-eabi": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.5.tgz",
|
||||
"integrity": "sha512-DLe/i+l8ynIBY7XEQ191TeZvCoowIGa18R+dIV30GW7DiOtp74i/xX8hs8GUjW5ARV7VZuie3d6AumSmCwbeRA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.15.tgz",
|
||||
"integrity": "sha512-aLcgK9gIJ3YRvrrtfSBbRa27F5WrpiTaPulnFpsHPxpUHgFlSgnU4854MHwoRGEBhfRJDWCS2WQ7lIjskE9Olw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -215,9 +215,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.5.tgz",
|
||||
"integrity": "sha512-zXcwKlQApYAOELHd8PwKDFkagYF9Wy4e0RJ+0qnzl9Pjnpj75TEG8ufv40p2J7kCEfwZAsNiuzRIyNNMWT38ig==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.15.tgz",
|
||||
"integrity": "sha512-xD7DdZCrbThKuxNg7ooQmvp07ys4J/pnSEMTG3/OdOWl6daC67m/Q4fL78sRHMxTH/N4fGUbYhcPM0MF5WFHkg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -232,9 +232,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.5.tgz",
|
||||
"integrity": "sha512-dK4QakI42nzWgJT5sm4y4y/O//D4OxM75/cH28RLV+nzIN9AY+YsbuUVrUTjlLjXR6vpyxFbSsbmNuJ6BP9sww==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.15.tgz",
|
||||
"integrity": "sha512-m2WuQ6r0B4OTYxyPpNLtXaMRbRDUbG8YQV2Q3KTdSSK8Th6KHCnC8jVCJt8bvYeSB5WivkkNbc85mKadaSdOxA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -249,9 +249,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.5.tgz",
|
||||
"integrity": "sha512-fqSALaUu1Wjd1nK2uW2kJDWdLCc8lx1IcY+MTY26Aurfdx19anlzhqXOgCFbBFQnlFDTn4TC1/7Nz4Bl2mLP3A==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.15.tgz",
|
||||
"integrity": "sha512-5RtnsHM36nodM9WbMy+zip0LGS/G+y5wro5RHrpOlr4ac24+1zSi9kiV2MP1myZeZ/ifEHfulQcWjnAXzc2C2A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -266,9 +266,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.5.tgz",
|
||||
"integrity": "sha512-/vCnNxlkxs9tKxNDcyWUePpJ/PgTzxIaVhoM5SmG8UV+GR/IcPam4VYxi7GIMo7PSDuNqlJqvprqii9NqqVCMw==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.15.tgz",
|
||||
"integrity": "sha512-g3l09pyFqhu+135JKkbkwiKGQmwU5hUMUPJ4VdBADvuqR8d33L6H578rh8m7rtxbdp+VmX/+nzI7nvhSZlzpUQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -283,9 +283,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.5.tgz",
|
||||
"integrity": "sha512-abk0NLA519LxRCszmbE0jYKuQ9YPocOXTiOXOo6Yr+YAT95VH+PtqYAjOJvGKt3viEd/x4qzabAlwd5bHOOARg==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.15.tgz",
|
||||
"integrity": "sha512-nIe3VugI97nGQtspPxDqA4sXMUpeiocKIP/CqpY/u/vgbT+alX+cVxu1C/oVBPKg4feNTmYovE91v4DgXvXNwQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -300,9 +300,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.5.tgz",
|
||||
"integrity": "sha512-Y7eALiJ8lr0M2HH103Js+g7V34wf6snlpZLAsHI90uLhr3PVlNsbFVAXJC9d/V6BnPyKtpSwI+NcB/RLxsQxuA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.15.tgz",
|
||||
"integrity": "sha512-iTBjXx+B5QSvgI89lJfmqh4wTh8NabR1YZIIN3hNx4zSG0EVfVqkOvLulNpG4251pbd6/IAmZ/LefVk1Y4rPhw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -320,9 +320,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.5.tgz",
|
||||
"integrity": "sha512-xMvZgnbZg4YVnR/AX2b3oOPDTFYJvUVaJg5FedA/LuvexAtXibZQej4cnTkw3rjsJ/ggUROB64TdtETiim+FYA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.15.tgz",
|
||||
"integrity": "sha512-uN26XOnVR7rqQupG3V9oAG2EGGatWjcJHOeDOHUFCh4TBWmP2tHTFoVN13aYbwfm0aHqJAEmcwhAu6sooIjfqQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -340,9 +340,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.5.tgz",
|
||||
"integrity": "sha512-GRjeqTUDHTo5GwntsLaAMcBahG3nlpjftXWZLN73HiYQlhwEowvarFgQnRnQZtIp4keXX7quXFbG38uPZBa2EA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.15.tgz",
|
||||
"integrity": "sha512-9nWkcdd+H+XhaA3fQIwpHnKIrfx/PQ6rO0pivr78Og07tXlUlctBBJoEYLPfhTmCR/QxEVdn6uPjHV5SymPhdw==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -360,9 +360,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.5.tgz",
|
||||
"integrity": "sha512-vLNTR45F2Uwc8AufkNXPmB4VliaXs+FvcheEogIzOXzO4l+LzieXF5A/TWxLy5HtqpsRCHUfd0lPVrrdgXdLHQ==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.15.tgz",
|
||||
"integrity": "sha512-Ggh0ciFjLwIusLSLz7LZYEaGdxOAUJXI+Qu5JCbhPJJHEt8vP+IjRATTJheiJsdzzTYgUiHUiw3X1Ea3ZpMBdA==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -380,9 +380,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.5.tgz",
|
||||
"integrity": "sha512-Mgj59/HTuYeK9Gz2MA+mBWKnHsAgkBSec15ZMb1st3oIfFbX7gCjOae7GydHhzcyQi9Z/7M1QuN9bR3oFqF0jQ==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.15.tgz",
|
||||
"integrity": "sha512-FHg60rS6DBePAYZ9X9F67x+JObFdmgn6tupA1C/a3B+CufFmTD4mX+e8M75tCiAO3foR/6xwVBI0KQiI7sn/rw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -400,9 +400,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.5.tgz",
|
||||
"integrity": "sha512-mY8AP0/ichsbhAxGnLa3d3+MwV0EfgrPND2bplI3Ym8T6R2pJ0N87bvrKVwNXmdy3jnr6eQBecdqx/HMknBmpA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.15.tgz",
|
||||
"integrity": "sha512-/cvV/7v5VGz/moiz0XKRj2dE8DzsKyhIu1KpOvJGPjRywg3yscON889UGvAe8zfiJLHup7VLjBduoGWi3HusWQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -420,9 +420,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.5.tgz",
|
||||
"integrity": "sha512-8SLssA2oweAxyRgDp789ACfRb/3P+zNRJpzZxSizxF9m8NUDQ4+3xjo8ttjhVGGw6Qxb70oZiEtIjaKikCO7Yw==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.15.tgz",
|
||||
"integrity": "sha512-MyzC5Hrv/sm+Z7TSGKP/j8001RO2xQm1zOpCNVL4j0cY/VhBZviludA2YFQ7i4lH6ZAXxQm0lcMdBzM+99mE7w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -437,9 +437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.5.tgz",
|
||||
"integrity": "sha512-vGbruD5zquhoc8D9SViXgN2FBJtNdTyQ4DtG+SWiEGlJiAzoKcZ2xp+xuXCffhubVdt0NJlTZqkeRuERy7g8Cw==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.15.tgz",
|
||||
"integrity": "sha512-+PgYiS+AH5omy6L45ZLxybasauJaj3M8buoT83D+nzPmCayXlxUV9hydhciCKVyIg0B/v0BtXPDE1uGqNwCPpg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -454,9 +454,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.5.tgz",
|
||||
"integrity": "sha512-e/SXpgISz+IoqVcSSI0rx/d/he8zqLex+/rCWpnHpmVfmPIUjag9H6P7zotf0gJHwPUhQxZ/mF8tr6acebT9yw==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.15.tgz",
|
||||
"integrity": "sha512-HFZd2QNQYn1JbIi+Hpd7H+r/lkWxcfIu28nirZ6eCn2LafuvmExMlb/P96Sfx5tf7pPArw39IdhmCF8vmV+NhQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1671,9 +1671,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.18",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz",
|
||||
"integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==",
|
||||
"version": "3.3.20",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",
|
||||
"integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1749,9 +1749,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.26",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz",
|
||||
"integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==",
|
||||
"version": "8.5.31",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.31.tgz",
|
||||
"integrity": "sha512-YUbWYCgErwnMAVkjUnYa+KlMBzGpHwiIt/DE7f0G33AuX2LH9UcTk6KgWxd3zRU+pN3u/C+Xl3EnMLM4Hea7Sg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1769,9 +1769,9 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.17",
|
||||
"nanoid": "^3.3.20",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
"source-map-js": "^1.2.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
@@ -1847,13 +1847,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.5.tgz",
|
||||
"integrity": "sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==",
|
||||
"version": "1.2.15",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.15.tgz",
|
||||
"integrity": "sha512-6odND+fel5zVw3I4Yc2e69gvguDnX0CAAGiNDZSq4ik5WUcaLrkD2GLuog0XcODbor31hZ5ayEMgVDno+KPV5g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.146.0",
|
||||
"@oxc-project/types": "=0.155.0",
|
||||
"@rolldown/pluginutils": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -1863,21 +1863,21 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.5",
|
||||
"@rolldown/binding-android-arm64": "1.2.5",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.5",
|
||||
"@rolldown/binding-darwin-x64": "1.2.5",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.5",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.5",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.5",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.5",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.5",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.5",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.5",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.5",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.5",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.5",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.5"
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.15",
|
||||
"@rolldown/binding-android-arm64": "1.2.15",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.15",
|
||||
"@rolldown/binding-darwin-x64": "1.2.15",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.15",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.15",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.15",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.15",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.15",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.15",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.15",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.15",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.15",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.15",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.15"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
@@ -2100,16 +2100,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.2.2.tgz",
|
||||
"integrity": "sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==",
|
||||
"version": "8.3.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz",
|
||||
"integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lightningcss": "^1.33.0",
|
||||
"picomatch": "^4.0.5",
|
||||
"postcss": "^8.5.26",
|
||||
"rolldown": "~1.2.4",
|
||||
"picomatch": "^4.0.7",
|
||||
"postcss": "^8.5.30",
|
||||
"rolldown": "~1.2.14",
|
||||
"tinyglobby": "^0.2.17"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2126,7 +2126,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"@vitejs/devtools": "^0.4.0 || ^0.5.0",
|
||||
"@vitejs/devtools": "^0.7.1 || ^0.8.0",
|
||||
"esbuild": "^0.27.0 || ^0.28.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "^4.0.0",
|
||||
|
||||
@@ -26,7 +26,6 @@ const STUDIO_ONLY_TOOLS: Readonly<Record<string, string>> = Object.fromEntries(
|
||||
'get_book',
|
||||
'describe_book_page',
|
||||
'list_book_layouts',
|
||||
'list_book_assets',
|
||||
'create_book',
|
||||
'add_book_pages',
|
||||
'move_book_page',
|
||||
|
||||
@@ -60,9 +60,7 @@ import {
|
||||
type SaveBookLayoutRequest,
|
||||
type SetBookCoverRequest,
|
||||
type SetBookSetupRequest,
|
||||
type ListBookAssetsRequest,
|
||||
} from '@trek/shared';
|
||||
import { bookStickerLookup, listBookAssets } from '@trek/shared/stickers';
|
||||
|
||||
import { createHash } from 'node:crypto';
|
||||
|
||||
@@ -167,16 +165,6 @@ export class JourneyBookEditService {
|
||||
return listBookLayouts(doc, doc?.page ?? bookPageSetupSchema.parse({}), role);
|
||||
}
|
||||
|
||||
/**
|
||||
* `list_book_assets`: the Studio's sticker library, searched. Not of the
|
||||
* journey, but asked on one, a member's read like the other book reads, so
|
||||
* the Studio chat keeps it (its tools are pinned to the journey).
|
||||
*/
|
||||
async assets(journeyId: number, userId: number, search: Omit<ListBookAssetsRequest, 'kind'>) {
|
||||
await this.readable(journeyId, userId);
|
||||
return { kind: 'sticker' as const, ...listBookAssets(search) };
|
||||
}
|
||||
|
||||
/**
|
||||
* The stored book and what the engine checks a change against (the
|
||||
* gallery, the entries), for a change that is only tried: the assistant runs
|
||||
@@ -409,8 +397,6 @@ export class JourneyBookEditService {
|
||||
location: e.location_name ?? null,
|
||||
})),
|
||||
},
|
||||
// The Studio's sticker library, which a new sticker is placed from.
|
||||
stickers: bookStickerLookup,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
duplicateBookPageArgs,
|
||||
editBookPageArgs,
|
||||
idSchema,
|
||||
listBookAssetsArgs,
|
||||
listBookLayouts,
|
||||
listBookLayoutsArgs,
|
||||
moveBookPageArgs,
|
||||
@@ -37,7 +36,6 @@ import {
|
||||
type DeleteBookPagesRequest,
|
||||
type DuplicateBookPageRequest,
|
||||
type EditBookPageRequest,
|
||||
type ListBookAssetsRequest,
|
||||
type MoveBookPageRequest,
|
||||
type RemoveBookLayoutRequest,
|
||||
type RestoreBookLayoutRequest,
|
||||
@@ -127,19 +125,6 @@ export class JourneyBookMcp {
|
||||
return ok(await this.books.layouts(journeyId, ctx.userId, role));
|
||||
}
|
||||
|
||||
@Tool({
|
||||
name: 'list_book_assets',
|
||||
description:
|
||||
"The Studio's library of things to put on a page of a journey's book, searchable, the same one the Studio's panels show. kind sticker lists the illustrations: flat, multi-coloured drawings of landmarks, travel things, tropical and Mediterranean motifs, the sea, mountains, the north, Asia, food, paper and tape, hand-drawn doodles and ornaments. Each row has its id, theme, one sentence of what it shows, its tags, its aspect (width over height) and its colour slots with their defaults. query searches ids, tags and descriptions in English; tags and theme narrow it; at most limit rows, 40 by default, with the total found. Place one with edit_book_page add { kind: 'sticker', stickerId }, recolour it with colors (one per slot, in order) and mirror it with flipX. Stickers are decoration: put them beside or over a photo, never over words.",
|
||||
inputSchema: { journeyId: idSchema, ...listBookAssetsArgs },
|
||||
annotations: TOOL_ANNOTATIONS_READONLY,
|
||||
when: journeyAddonOn,
|
||||
access: { group: 'journey', mode: 'read' },
|
||||
})
|
||||
async listAssets({ journeyId, query, tags, theme, limit }: OnJourney & ListBookAssetsRequest, ctx: McpContext) {
|
||||
return ok(await this.books.assets(journeyId, ctx.userId, { query, tags, theme, limit }));
|
||||
}
|
||||
|
||||
// ── Write ───────────────────────────────────────────────────────────────
|
||||
|
||||
@Tool({
|
||||
@@ -192,7 +177,7 @@ export class JourneyBookMcp {
|
||||
|
||||
@Tool({
|
||||
name: 'edit_book_page',
|
||||
description: `Change one page with 1 to ${BOOK_OP_LIMITS.opsPerCall} operations, run in order, all or nothing: layout (a template, grid, saved layout, or auto to lay the page out again from its entry), place_photo (a photo of the journey's gallery into a frame by elementId, by its slot among the page's frames, or into a new frame), photo_look (the crop as fit and focal point, mask, frame style, filter, radius), swap_photos, text (by elementId, or by role heading, body or meta, which creates the text when the page has none), caption (under a photo, bound to its caption in the journal unless words are given), frame (move, resize, turn), remove (parked with the page by default, park false deletes), background (null is the paper), add (a new photo frame, text, shape, icon, sticker from list_book_assets, map, figures, country outlines, mark or list; the journey's own values such as the route, figures and countries come from the journey, never from you), style (the look of one element of its kind: opacity, colours, fonts, strokes and the like), arrange (to front, forward, backward, to back), align and distribute (several elements by their edges or centres, against each other, the page or the safe area), lock, duplicate, fill (a photo to the bleed of its page or the spread, behind everything), copy_from (elements of another page), refresh_travel (travel elements to the journey's current figures) and add_grid (a photo grid as empty frames in a box). A locked element refuses any operation that would change it but lock. The road a map draws between stops is a straight or bowed line; roads are not routed. ${LAYOUT_NOTES.templates} ${LAYOUT_NOTES.grids} ${UNITS} With returnPrevious the answer also holds the page as it was, under previous_spreads, and a digest of each page as the write left it under page_digests (for restore_book_page expectedPages). ${WRITE_ANSWER}`,
|
||||
description: `Change one page with 1 to ${BOOK_OP_LIMITS.opsPerCall} operations, run in order, all or nothing: layout (a template, grid, saved layout, or auto to lay the page out again from its entry), place_photo (a photo of the journey's gallery into a frame by elementId, by its slot among the page's frames, or into a new frame), photo_look (the crop as fit and focal point, mask, frame style, filter, radius), swap_photos, text (by elementId, or by role heading, body or meta, which creates the text when the page has none), caption (under a photo, bound to its caption in the journal unless words are given), frame (move, resize, turn), remove (parked with the page by default, park false deletes), background (null is the paper), add (a new photo frame, text, shape, icon, map, figures, country outlines, mark or list; the journey's own values such as the route, figures and countries come from the journey, never from you), style (the look of one element of its kind: opacity, colours, fonts, strokes and the like), arrange (to front, forward, backward, to back), align and distribute (several elements by their edges or centres, against each other, the page or the safe area), lock, duplicate, fill (a photo to the bleed of its page or the spread, behind everything), copy_from (elements of another page), refresh_travel (travel elements to the journey's current figures) and add_grid (a photo grid as empty frames in a box). A locked element refuses any operation that would change it but lock. The road a map draws between stops is a straight or bowed line; roads are not routed. ${LAYOUT_NOTES.templates} ${LAYOUT_NOTES.grids} ${UNITS} With returnPrevious the answer also holds the page as it was, under previous_spreads, and a digest of each page as the write left it under page_digests (for restore_book_page expectedPages). ${WRITE_ANSWER}`,
|
||||
inputSchema: { journeyId: idSchema, ...editBookPageArgs },
|
||||
annotations: TOOL_ANNOTATIONS_NON_IDEMPOTENT,
|
||||
when: journeyAddonOn,
|
||||
|
||||
@@ -377,8 +377,7 @@ describe('the whole-book design through the Studio chat', () => {
|
||||
expect([undone.status, undone.body]).toEqual([200, { undone: true }]);
|
||||
const restored = await bookOf(j.journeyId, j.ownerId);
|
||||
expect(restored.version).toBe(3);
|
||||
// Put back as it was, written by this build: stamped with its format revision (book-schema-rev.ts).
|
||||
expect({ ...restored.document, schemaRev: undefined }).toEqual({ ...before.document, schemaRev: undefined });
|
||||
expect(restored.document).toEqual(before.document);
|
||||
expect(restored.document.spreads.map((spread) => spread.id)).toEqual(j.created.spread_ids);
|
||||
expect(savedTo(j.ownerId)).toBe(1);
|
||||
const again = await undo(j.base, j.ownerId, turn.heldId);
|
||||
|
||||
@@ -28,7 +28,7 @@ import { MikroORM } from '@mikro-orm/core';
|
||||
import { Client } from '@modelcontextprotocol/sdk/client/index';
|
||||
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory';
|
||||
import type { INestApplication } from '@nestjs/common';
|
||||
import { BOOK_SCHEMA_REV, bookWriteResultSchema } from '@trek/shared';
|
||||
import { bookWriteResultSchema } from '@trek/shared';
|
||||
|
||||
import request from 'supertest';
|
||||
import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
|
||||
@@ -37,7 +37,6 @@ const BOOK_TOOLS = [
|
||||
'get_book',
|
||||
'describe_book_page',
|
||||
'list_book_layouts',
|
||||
'list_book_assets',
|
||||
'create_book',
|
||||
'add_book_pages',
|
||||
'move_book_page',
|
||||
@@ -210,7 +209,7 @@ describe('Studio book over MCP and REST', () => {
|
||||
.get(`/api/journeys/${journey.id}/book`)
|
||||
.set('Cookie', authCookie(owner.id));
|
||||
const row = await findRow(orm, JourneyBooks, { journey: journey.id });
|
||||
const newer = JSON.stringify({ ...JSON.parse(String(row?.document)), schemaRev: BOOK_SCHEMA_REV + 1 });
|
||||
const newer = JSON.stringify({ ...JSON.parse(String(row?.document)), schemaRev: 2 });
|
||||
await updateRows(orm, JourneyBooks, { journey: journey.id }, { document: newer });
|
||||
|
||||
const saved = await request(app.getHttpServer())
|
||||
@@ -221,7 +220,7 @@ describe('Studio book over MCP and REST', () => {
|
||||
expect(saved.body).toEqual({
|
||||
error: 'Book was saved by a newer version of TREK Studio',
|
||||
code: 'book_schema_newer',
|
||||
schemaRev: BOOK_SCHEMA_REV + 1,
|
||||
schemaRev: 2,
|
||||
});
|
||||
|
||||
const tool = await callTool(owner.id, 'edit_book_page', {
|
||||
|
||||
@@ -192,7 +192,6 @@ describe('the assistant tool catalog', () => {
|
||||
'get_book',
|
||||
'describe_book_page',
|
||||
'list_book_layouts',
|
||||
'list_book_assets',
|
||||
'create_book',
|
||||
'add_book_pages',
|
||||
'move_book_page',
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
/**
|
||||
* list_book_assets and the sticker kind (JBASSET-*): the Studio's sticker
|
||||
* library searched through JourneyBookMcp, and a sticker placed with
|
||||
* edit_book_page from the library the edit context hands the engine. Taken
|
||||
* from JourneyBookModule over a snapshot test db.
|
||||
*
|
||||
* What it pins: the tool waits for the Journey addon, only reads and sits in
|
||||
* the journey group; any member may search, an outsider is told the journey
|
||||
* is not there; the answer is the catalogue's rows with their slots; a
|
||||
* sticker the library holds lands on the page in its proportions, one it does
|
||||
* not hold is refused with the engine's code and nothing is written.
|
||||
*/
|
||||
import type { McpContext } from '../../../src/nest-mcp';
|
||||
import { getEntry, type ClassRef } from '../../../src/nest-mcp/metadata';
|
||||
import { AddonsService } from '../../../src/nest/addons/addons.service';
|
||||
import { JourneyBookMcp } from '../../../src/nest/journey/journey-book.mcp';
|
||||
import { JourneyBookModule } from '../../../src/nest/journey/journey-book.module';
|
||||
import { createSnapshotTestDb } from '../../helpers/db-mock';
|
||||
import { addJourneyContributor, makeJourney } from '../../helpers/factories/journeys';
|
||||
import { makeUser } from '../../helpers/factories/users';
|
||||
import { resetTestDb } from '../../helpers/test-db';
|
||||
import { createTestModule, type TestModule } from '../../helpers/test-module';
|
||||
import { createTestOrm, type TestOrm } from '../../helpers/test-orm';
|
||||
import { bookOverviewSchema, bookWriteResultSchema } from '@trek/shared';
|
||||
|
||||
import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
const db = createSnapshotTestDb();
|
||||
let t: TestModule;
|
||||
let orm: TestOrm;
|
||||
let mcp: JourneyBookMcp;
|
||||
|
||||
beforeAll(async () => {
|
||||
t = await createTestModule({ db, imports: [JourneyBookModule] });
|
||||
mcp = t.get(JourneyBookMcp);
|
||||
orm = await createTestOrm(db);
|
||||
});
|
||||
beforeEach(() => {
|
||||
resetTestDb(db);
|
||||
orm.clear();
|
||||
vi.restoreAllMocks();
|
||||
});
|
||||
afterAll(async () => {
|
||||
await orm.close();
|
||||
await t.close();
|
||||
db.close();
|
||||
});
|
||||
|
||||
const ctx = (userId: number) => ({ userId }) as McpContext;
|
||||
const json = (result: { content: Array<{ type: string; text: string }> }) => JSON.parse(result.content[0]?.text ?? '');
|
||||
|
||||
/** A journey with a blank book, and the id of its one double spread. */
|
||||
async function bookFor(ownerId: number) {
|
||||
const journey = await makeJourney(orm, ownerId);
|
||||
await mcp.createBook({ journeyId: journey.id }, ctx(ownerId));
|
||||
const overview = bookOverviewSchema.parse(json(await mcp.getBook({ journeyId: journey.id }, ctx(ownerId))));
|
||||
const inner = overview.spreads.find((s) => s.role === 'inner')?.id ?? '';
|
||||
return { journey, inner };
|
||||
}
|
||||
|
||||
describe('list_book_assets', () => {
|
||||
it('JBASSET-001: waits for the Journey addon, reads only, in the journey group', async () => {
|
||||
const { user } = await makeUser(orm);
|
||||
const entry = getEntry(JourneyBookMcp as unknown as ClassRef, 'listAssets');
|
||||
if (entry?.kind !== 'tool') throw new Error('listAssets is no tool');
|
||||
expect(entry.options.name).toBe('list_book_assets');
|
||||
expect(entry.options.access).toEqual({ group: 'journey', mode: 'read' });
|
||||
expect(entry.options.annotations?.readOnlyHint).toBe(true);
|
||||
const enabled = vi.spyOn(t.get(AddonsService), 'isAddonEnabled');
|
||||
enabled.mockResolvedValue(false);
|
||||
expect(await entry.options.when?.(ctx(user.id), mcp)).toBe(false);
|
||||
enabled.mockResolvedValue(true);
|
||||
expect(await entry.options.when?.(ctx(user.id), mcp)).toBe(true);
|
||||
});
|
||||
|
||||
it('JBASSET-002: any member searches the library, an outsider is told the journey is not there', async () => {
|
||||
const { user: owner } = await makeUser(orm);
|
||||
const { user: viewer } = await makeUser(orm);
|
||||
const { user: stranger } = await makeUser(orm);
|
||||
const journey = await makeJourney(orm, owner.id);
|
||||
await addJourneyContributor(orm, journey.id, viewer.id, 'viewer');
|
||||
|
||||
const answer = json(
|
||||
await mcp.listAssets({ journeyId: journey.id, kind: 'sticker', query: 'lemon', limit: 3 }, ctx(viewer.id)),
|
||||
);
|
||||
expect(answer.kind).toBe('sticker');
|
||||
expect(answer.rows).toHaveLength(3);
|
||||
expect(answer.rows[0]).toMatchObject({ id: 'lemon', theme: 'mediterranean', aspect: 1.25 });
|
||||
expect(answer.rows[0].slots).toEqual([
|
||||
{ name: 'lemon', default: '#ffd23f' },
|
||||
{ name: 'leaves', default: '#3f8f4f' },
|
||||
]);
|
||||
expect(answer.total).toBeGreaterThanOrEqual(3);
|
||||
|
||||
const paper = json(await mcp.listAssets({ journeyId: journey.id, kind: 'sticker', theme: 'paper' }, ctx(owner.id)));
|
||||
expect(paper.rows.every((row: { theme: string }) => row.theme === 'paper')).toBe(true);
|
||||
await expect(mcp.listAssets({ journeyId: journey.id, kind: 'sticker' }, ctx(stranger.id))).rejects.toThrow(
|
||||
'Journey not found',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('a sticker on a page', () => {
|
||||
it('JBASSET-003: edit_book_page places a sticker the library holds, in its proportions and the colours asked for', async () => {
|
||||
const { user: owner } = await makeUser(orm);
|
||||
const { journey, inner } = await bookFor(owner.id);
|
||||
const element = { kind: 'sticker' as const, stickerId: 'eiffelTower', colors: ['#1d3557'] };
|
||||
const written = bookWriteResultSchema.parse(
|
||||
json(
|
||||
await mcp.editBookPage(
|
||||
{ journeyId: journey.id, spreadId: inner, ops: [{ op: 'add', element }] },
|
||||
ctx(owner.id),
|
||||
),
|
||||
),
|
||||
);
|
||||
expect(written.spread_ids).toEqual([inner]);
|
||||
const page = json(await mcp.describeBookPage({ journeyId: journey.id, spreadId: inner }, ctx(owner.id)));
|
||||
const sticker = page.elements.find((e: { kind: string }) => e.kind === 'sticker');
|
||||
// The tower is drawn 70 by 100: on the 21 cm page it stands 63 mm tall and 44.1 mm wide.
|
||||
expect(sticker?.frame).toMatchObject({ w: 44.1, h: 63 });
|
||||
expect(page.text).toMatch(/sticker eiffelTower, colours #1d3557/);
|
||||
});
|
||||
|
||||
it('JBASSET-004: a sticker the library does not hold is refused with the engine code, and nothing is written', async () => {
|
||||
const { user: owner } = await makeUser(orm);
|
||||
const { journey, inner } = await bookFor(owner.id);
|
||||
const before = json(await mcp.getBook({ journeyId: journey.id }, ctx(owner.id))).version;
|
||||
const element = { kind: 'sticker' as const, stickerId: 'unicornCastle' };
|
||||
await expect(
|
||||
mcp.editBookPage({ journeyId: journey.id, spreadId: inner, ops: [{ op: 'add', element }] }, ctx(owner.id)),
|
||||
).rejects.toThrow(/no sticker unicornCastle/);
|
||||
expect(json(await mcp.getBook({ journeyId: journey.id }, ctx(owner.id))).version).toBe(before);
|
||||
});
|
||||
});
|
||||
@@ -31,7 +31,7 @@ import {
|
||||
import { createTestJourneyBooksRepo } from '../../helpers/journey-share-repos';
|
||||
import { resetTestDb } from '../../helpers/test-db';
|
||||
import { createTestUnitOfWork, sharedTestOrm, createTestTripsRepo, createTestPlacesRepo } from '../../helpers/test-uow';
|
||||
import { BOOK_SCHEMA_REV, normalizeBookDocument } from '@trek/shared';
|
||||
import { normalizeBookDocument } from '@trek/shared';
|
||||
|
||||
import { describe, it, expect, vi, beforeAll, beforeEach, afterAll } from 'vitest';
|
||||
|
||||
@@ -697,7 +697,7 @@ describe('format revisions', () => {
|
||||
});
|
||||
|
||||
it('JBOOK-014: the book tools leave a book this server cannot read whole alone, before any edit runs', async () => {
|
||||
const { user, journey } = await storedAt(BOOK_SCHEMA_REV + 1);
|
||||
const { user, journey } = await storedAt(2);
|
||||
const rec = await recordSends();
|
||||
try {
|
||||
const edit = vi.fn(() => ({ title: 'T', document: normalizeBookDocument(doc('tool')), result: null }));
|
||||
@@ -716,7 +716,7 @@ describe('format revisions', () => {
|
||||
const { user, journey } = await storedAt(1);
|
||||
const rec = await recordSends();
|
||||
try {
|
||||
const ahead = normalizeBookDocument({ ...doc('ahead'), schemaRev: BOOK_SCHEMA_REV + 1 });
|
||||
const ahead = normalizeBookDocument({ ...doc('ahead'), schemaRev: 2 });
|
||||
const thrown = await catchDomainError(() =>
|
||||
books.editBook(journey.id, user.id, () => ({ title: 'T', document: ahead, result: null })),
|
||||
);
|
||||
|
||||
@@ -34,12 +34,7 @@ import { makeUser } from '../../../helpers/factories/users';
|
||||
import { resetTestDb } from '../../../helpers/test-db';
|
||||
import { createTestModule, type TestModule } from '../../../helpers/test-module';
|
||||
import { createTestOrm, type TestOrm } from '../../../helpers/test-orm';
|
||||
import {
|
||||
BOOK_SCHEMA_REV,
|
||||
bookDesignAnswerSchema,
|
||||
bookDesignApplyResultSchema,
|
||||
type BookDesignAnswer,
|
||||
} from '@trek/shared';
|
||||
import { bookDesignAnswerSchema, bookDesignApplyResultSchema, type BookDesignAnswer } from '@trek/shared';
|
||||
|
||||
import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
|
||||
|
||||
@@ -332,7 +327,7 @@ describe('taking a design back', () => {
|
||||
const applied = await designs.apply(journey.id, owner.id, { designId: answer.design_id });
|
||||
const revisionId = applied.revision_id ?? 0;
|
||||
const kept = await findRow(orm, JourneyBookRevisions, { id: revisionId });
|
||||
const newer = JSON.stringify({ ...JSON.parse(String(kept?.document)), schemaRev: BOOK_SCHEMA_REV + 1 });
|
||||
const newer = JSON.stringify({ ...JSON.parse(String(kept?.document)), schemaRev: 2 });
|
||||
await updateRows(orm, JourneyBookRevisions, { id: revisionId }, { document: newer });
|
||||
t.realtime.reset();
|
||||
|
||||
|
||||
@@ -51,16 +51,6 @@
|
||||
"default": "./dist/roadtrip/planning.cjs"
|
||||
}
|
||||
},
|
||||
"./stickers": {
|
||||
"import": {
|
||||
"types": "./dist/book/stickers/index.d.mts",
|
||||
"default": "./dist/book/stickers/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/book/stickers/index.d.cts",
|
||||
"default": "./dist/book/stickers/index.cjs"
|
||||
}
|
||||
},
|
||||
"./sanitize": {
|
||||
"import": {
|
||||
"types": "./dist/sanitize/sanitize.d.mts",
|
||||
|
||||
@@ -27,7 +27,6 @@ import {
|
||||
bookTypesetFontSchema,
|
||||
} from './book-op-enums';
|
||||
import { bookElementIdSchema, bookGridIdSchema, bookSpreadIdSchema } from './book-op-ids';
|
||||
import { bookStickerIdSchema } from './book-sticker';
|
||||
import {
|
||||
MAX_BOOK_COUNTRIES,
|
||||
bookBadgeElementSchema,
|
||||
@@ -37,14 +36,13 @@ import {
|
||||
bookMapElementSchema,
|
||||
bookShapeElementSchema,
|
||||
bookStatsElementSchema,
|
||||
bookStickerElementSchema,
|
||||
bookTextElementSchema,
|
||||
} from './book.schema';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* The element operations of a book page: create any of the ten kinds, style
|
||||
* The element operations of a book page: create any of the nine kinds, style
|
||||
* one, arrange, align, distribute, lock, duplicate, fill, copy from another
|
||||
* page, refresh the travel figures, drop in a photo grid. They join the page
|
||||
* operations of book-ops.schema.ts, so `edit_book_page` takes them and the one
|
||||
@@ -69,7 +67,6 @@ export const bookFrameInSchema = z.strictObject({ x: mmIn, y: mmIn, w: sizeIn, h
|
||||
const text = bookTextElementSchema.shape;
|
||||
const shape = bookShapeElementSchema.shape;
|
||||
const icon = bookIconElementSchema.shape;
|
||||
const sticker = bookStickerElementSchema.shape;
|
||||
const map = bookMapElementSchema.shape;
|
||||
const stats = bookStatsElementSchema.shape;
|
||||
const countries = bookCountriesElementSchema.shape;
|
||||
@@ -124,16 +121,6 @@ const ICON_PROPS = {
|
||||
color: icon.color.unwrap().optional(),
|
||||
lineWidth: icon.lineWidth.unwrap().optional(),
|
||||
};
|
||||
const STICKER_PROPS = {
|
||||
...COMMON,
|
||||
colors: sticker.colors
|
||||
.unwrap()
|
||||
.describe(
|
||||
"The sticker's colour slots in order, as list_book_assets names them; fewer than its slots keeps the rest at their own colour, an empty list puts them all back.",
|
||||
)
|
||||
.optional(),
|
||||
flipX: sticker.flipX.unwrap().describe('Mirror the drawing left to right.').optional(),
|
||||
};
|
||||
const MAP_PROPS = {
|
||||
...COMMON,
|
||||
...TYPESET,
|
||||
@@ -196,7 +183,6 @@ export const bookElementPropsSchema = z.discriminatedUnion('kind', [
|
||||
z.strictObject({ kind: z.literal('text'), ...TEXT_PROPS }),
|
||||
z.strictObject({ kind: z.literal('shape'), shape: bookShapeIdSchema.optional(), ...SHAPE_PROPS }),
|
||||
z.strictObject({ kind: z.literal('icon'), ...ICON_PROPS }),
|
||||
z.strictObject({ kind: z.literal('sticker'), ...STICKER_PROPS }),
|
||||
z.strictObject({ kind: z.literal('map'), ...MAP_PROPS }),
|
||||
z.strictObject({ kind: z.literal('stats'), metrics: METRICS.optional(), ...STATS_PROPS }),
|
||||
z.strictObject({ kind: z.literal('countries'), ...COUNTRIES_PROPS }),
|
||||
@@ -263,7 +249,6 @@ export const bookNewElementSchema = z.discriminatedUnion('kind', [
|
||||
.refine((v) => v.text !== undefined || v.binding !== undefined, { message: 'give the words or a binding' }),
|
||||
z.strictObject({ kind: z.literal('shape'), shape: bookShapeIdSchema, ...SHAPE_PROPS }),
|
||||
z.strictObject({ kind: z.literal('icon'), name: bookIconNameSchema, ...ICON_PROPS }),
|
||||
z.strictObject({ kind: z.literal('sticker'), stickerId: bookStickerIdSchema, ...STICKER_PROPS }),
|
||||
z.strictObject({
|
||||
kind: z.literal('map'),
|
||||
scope: mapScope,
|
||||
|
||||
@@ -259,8 +259,7 @@ function offGrid(ctx: Ctx): void {
|
||||
const W = inner ? PW * 2 : PW;
|
||||
const baseX = [-bleed, 0, safe, W - safe, W, W + bleed, ...(inner ? [PW, PW - safe, PW + safe] : [])];
|
||||
const baseY = [-bleed, 0, safe, H - safe, H, H + bleed];
|
||||
// Shapes and stickers are laid freely; only the content is held to the grid.
|
||||
const content = ctx.spread.elements.filter((e) => e.kind !== 'shape' && e.kind !== 'sticker' && !e.rotation);
|
||||
const content = ctx.spread.elements.filter((e) => e.kind !== 'shape' && !e.rotation);
|
||||
const near = (v: number, lines: number[]) => lines.some((l) => Math.abs(v - l) > 0.5 && Math.abs(v - l) < 3);
|
||||
const onLine = (v: number, lines: number[]) => lines.some((l) => Math.abs(v - l) <= 0.5);
|
||||
const misses = (edges: number[], lines: number[]) => edges.some((v) => near(v, lines) && !onLine(v, lines));
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
import type { BookFinding } from './book-ops.schema';
|
||||
import type { BookElement, BookSpread } from './book.schema';
|
||||
|
||||
/**
|
||||
* The one way a sticker goes wrong on a page: lying over words.
|
||||
*
|
||||
* Stickers are decoration and are layered on purpose, over a photo, across a
|
||||
* corner, behind a title, so the overlap check of photos and texts never
|
||||
* compares them (book-findings.ts): a lemon on a picture is a design, and a
|
||||
* sticker is not words, so it is not held to the fold and the trim the way a
|
||||
* text is. What a sticker must not do is hide what a reader has to read. One
|
||||
* painted above a text or a mark and covering a fair part of it is said, as a
|
||||
* warning, with what to do about it; one painted below the words is a
|
||||
* background and is left alone.
|
||||
*/
|
||||
|
||||
/** The kinds that carry words a sticker could hide. */
|
||||
const READ = new Set<BookElement['kind']>(['text', 'badge', 'stats', 'list', 'countries']);
|
||||
|
||||
/** Past this share of the words' box covered, a sticker hides them rather than touching them. */
|
||||
const COVERS_SHARE = 0.25;
|
||||
|
||||
/** The most findings of this kind one page reports. */
|
||||
const MAX_COVERING = 3;
|
||||
|
||||
interface Box {
|
||||
x: number;
|
||||
y: number;
|
||||
w: number;
|
||||
h: number;
|
||||
}
|
||||
|
||||
/** The box an element occupies, turned with it, as the overlap check measures it. */
|
||||
function boxOf(el: BookElement): Box {
|
||||
const { x, y, w, h } = el.frame;
|
||||
if (!el.rotation) return { x, y, w, h };
|
||||
const rad = (el.rotation * Math.PI) / 180;
|
||||
const bw = w * Math.abs(Math.cos(rad)) + h * Math.abs(Math.sin(rad));
|
||||
const bh = w * Math.abs(Math.sin(rad)) + h * Math.abs(Math.cos(rad));
|
||||
return { x: x + w / 2 - bw / 2, y: y + h / 2 - bh / 2, w: bw, h: bh };
|
||||
}
|
||||
|
||||
function shared(a: Box, b: Box): number {
|
||||
const w = Math.min(a.x + a.w, b.x + b.w) - Math.max(a.x, b.x);
|
||||
const h = Math.min(a.y + a.h, b.y + b.h) - Math.max(a.y, b.y);
|
||||
return w > 0 && h > 0 ? w * h : 0;
|
||||
}
|
||||
|
||||
/** Stickers painted over a fair part of a text or a mark, a warning each, at most a few per page. */
|
||||
export function stickerFindings(spread: BookSpread): BookFinding[] {
|
||||
const out: BookFinding[] = [];
|
||||
spread.elements.forEach((words, i) => {
|
||||
if (!READ.has(words.kind) || out.length >= MAX_COVERING) return;
|
||||
const under = boxOf(words);
|
||||
const area = Math.max(under.w * under.h, 1);
|
||||
for (const above of spread.elements.slice(i + 1)) {
|
||||
if (above.kind !== 'sticker' || above.opacity < 0.3) continue;
|
||||
const share = shared(boxOf(above), under) / area;
|
||||
if (share <= COVERS_SHARE) continue;
|
||||
out.push({
|
||||
code: 'overlap',
|
||||
severity: 'warn',
|
||||
elementIds: [above.id, words.id],
|
||||
message: `sticker ${above.id} covers ${Math.round(share * 100)}% of ${words.kind} ${words.id}; move it off the words or send it behind them`,
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
return out;
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
import { bookVisiblePart, sortBookFindings } from './book-findings-design';
|
||||
import { stickerFindings } from './book-findings-sticker';
|
||||
import type { BookPhotoInfo } from './book-ops-core';
|
||||
import type { BookFinding } from './book-ops.schema';
|
||||
import type { BookElement, BookPageSetup, BookPhotoElement, BookSpread, BookTextElement } from './book.schema';
|
||||
@@ -54,7 +53,7 @@ const contains = (b: Box, px: number, py: number) => px >= b.x && px <= b.x + b.
|
||||
|
||||
const mm = (v: number) => `${Math.round(v * 10) / 10}`;
|
||||
|
||||
/** Words, shapes aside: what reads as content rather than decoration. A sticker is decoration (book-findings-sticker.ts). */
|
||||
/** Words, shapes aside: what reads as content rather than decoration. */
|
||||
const WORDS = new Set<BookElement['kind']>(['text', 'badge', 'stats', 'list', 'countries', 'icon']);
|
||||
|
||||
/** The effective resolution of a photo at its printed size, or null when the original's size is unknown. */
|
||||
@@ -508,6 +507,5 @@ export function spreadFindings(
|
||||
overflow(ctx);
|
||||
photoChecks(ctx);
|
||||
parked(ctx);
|
||||
for (const f of stickerFindings(spread)) add(ctx, f);
|
||||
return sortBookFindings(ctx.out);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import type { BookStickerLookup } from './book-sticker';
|
||||
import type { BookTravelContext } from './book-travel';
|
||||
import {
|
||||
MAX_SPREAD_ELEMENTS,
|
||||
@@ -40,7 +39,6 @@ export const BOOK_OP_ERROR_CODES = [
|
||||
'no_cover',
|
||||
'travel_unavailable',
|
||||
'icon_unknown',
|
||||
'sticker_unknown',
|
||||
'not_enough_elements',
|
||||
'layouts_full',
|
||||
] as const;
|
||||
@@ -95,13 +93,6 @@ export interface BookOpsContext {
|
||||
* entry. Without it those operations are refused with `travel_unavailable`.
|
||||
*/
|
||||
travel?: BookTravelContext;
|
||||
/**
|
||||
* Finds a sticker of the library by id (`bookStickerLookup` of
|
||||
* `@trek/shared/stickers`). Handed in rather than imported, so the engine
|
||||
* does not carry the drawings; without it a new sticker is refused with
|
||||
* `sticker_unknown`.
|
||||
*/
|
||||
stickers?: BookStickerLookup;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -109,7 +100,7 @@ export interface BookOpsContext {
|
||||
* elements whose content was on the page or parked with it before and is in
|
||||
* neither place after (`droppedIds`): deleted by a `remove` with `park: false`,
|
||||
* or left out by a layout, which carries photos and texts and drops shapes,
|
||||
* maps, badges, stats, lists, icons and stickers, exactly as the Studio's layout picker
|
||||
* maps, badges, stats, lists and icons, exactly as the Studio's layout picker
|
||||
* does. The operations on whole pages (add, move, delete, restore) answer an
|
||||
* empty list; a deleted page is named in `spreadIds`.
|
||||
*/
|
||||
|
||||
@@ -13,7 +13,6 @@ import {
|
||||
unlockedElement,
|
||||
type BookOpsContext,
|
||||
} from './book-ops-core';
|
||||
import { newStickerElement } from './book-ops-sticker';
|
||||
import {
|
||||
bookBadgeValue,
|
||||
bookCountryMark,
|
||||
@@ -164,12 +163,10 @@ function opAdd(spread: BookSpread, op: Op<'add'>, env: ElementOpEnv): BookSpread
|
||||
return { ...spread, elements: [...spread.elements, el], parked };
|
||||
}
|
||||
|
||||
/** The look fields of a new element. A shape's name is `created`'s: a rule arrives as a hairline rect, never `line`. A sticker's colours too. */
|
||||
/** The look fields of a new element. A shape's name is `created`'s: a rule arrives as a hairline rect, never `line`. */
|
||||
function lookOf(spec: BookNewElement): Record<string, unknown> {
|
||||
const look: Record<string, unknown> = { ...spec };
|
||||
if (spec.kind === 'shape') delete look.shape;
|
||||
// A sticker's colours are cut to its slots when it is made (book-ops-sticker.ts).
|
||||
if (spec.kind === 'sticker') delete look.colors;
|
||||
return look;
|
||||
}
|
||||
|
||||
@@ -196,8 +193,6 @@ function created(spread: BookSpread, spec: BookNewElement, frame: BookFrame | nu
|
||||
lineWidth: 2,
|
||||
};
|
||||
}
|
||||
case 'sticker':
|
||||
return newStickerElement(spec, at, env);
|
||||
default:
|
||||
return newTravel(spec, at, env);
|
||||
}
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
import { spreadFindings } from './book-findings';
|
||||
import { applyBookOps } from './book-ops';
|
||||
import type { BookOpsContext } from './book-ops-core';
|
||||
import type { BookPageOpInput } from './book-ops.schema';
|
||||
import { blankBook } from './book-pages';
|
||||
import {
|
||||
bookStickerElementSchema,
|
||||
bookTextElementSchema,
|
||||
type BookDocument,
|
||||
type BookElement,
|
||||
type BookSpread,
|
||||
} from './book.schema';
|
||||
import { describeSpread } from './describe-spread';
|
||||
import { bookStickerLookup } from './stickers/sticker-catalogue';
|
||||
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
// BOOKSTK-001 to BOOKSTK-007
|
||||
|
||||
/**
|
||||
* The sticker kind in the edit engine: placed from the library the context
|
||||
* hands in, at the panel's size, in its own colours or chosen ones cut to its
|
||||
* slots; restyled, flipped, described, and refused when the library is absent
|
||||
* or does not hold the id. The page is the default square book, 210 mm pages.
|
||||
*/
|
||||
|
||||
let seq = 0;
|
||||
const newId = (p: string) => `${p}-n${++seq}`;
|
||||
|
||||
function book(elements: BookElement[] = []): BookDocument {
|
||||
const doc = blankBook({ title: 'Sicily', newId: (p) => `${p}-x` });
|
||||
const ids = ['sp-cover', 'sp-first', 'sp-in', 'sp-last', 'sp-back'];
|
||||
const spreads = doc.spreads.map((s, i) => ({ ...s, id: ids[i] as string }));
|
||||
spreads[2] = { ...(spreads[2] as BookSpread), elements };
|
||||
return { ...doc, spreads };
|
||||
}
|
||||
|
||||
const withStickers: BookOpsContext = { stickers: bookStickerLookup };
|
||||
const run = (doc: BookDocument, ops: BookPageOpInput[], ctx: BookOpsContext = withStickers) =>
|
||||
applyBookOps(doc, { spreadId: 'sp-in', ops }, { newId, ...ctx });
|
||||
const inner = (doc: BookDocument) => doc.spreads[2] as BookSpread;
|
||||
|
||||
function placed(result: ReturnType<typeof applyBookOps>): BookElement {
|
||||
if (!result.ok) throw new Error(`refused: ${result.error.code} ${result.error.message}`);
|
||||
return inner(result.doc).elements.at(-1) as BookElement;
|
||||
}
|
||||
|
||||
/** The findings of the inner page that name a sticker. */
|
||||
const findingsOf = (doc: BookDocument) =>
|
||||
spreadFindings(inner(doc), doc.page).filter((f) => f.elementIds.some((id) => id.startsWith('k')));
|
||||
|
||||
const sticker = (id: string, stickerId = 'lemon', over: Record<string, unknown> = {}) =>
|
||||
bookStickerElementSchema.parse({ id, kind: 'sticker', frame: { x: 240, y: 30, w: 60, h: 48 }, stickerId, ...over });
|
||||
|
||||
describe('adding a sticker', () => {
|
||||
it('BOOKSTK-001: places it at the panel size, in its proportions, centred on the right-hand page', () => {
|
||||
const lemon = placed(run(book(), [{ op: 'add', element: { kind: 'sticker', stickerId: 'lemon' } }]));
|
||||
expect(lemon).toMatchObject({ kind: 'sticker', stickerId: 'lemon', colors: [], flipX: false, rotation: 0 });
|
||||
// The lemon is drawn 100 by 80: its longer side three tenths of the 210 mm page.
|
||||
expect(lemon.frame).toEqual({ x: 283.5, y: 79.8, w: 63, h: 50.4 });
|
||||
const tilted = placed(
|
||||
run(book(), [
|
||||
{
|
||||
op: 'add',
|
||||
element: { kind: 'sticker', stickerId: 'eiffelTower', flipX: true, opacity: 0.8 },
|
||||
frame: { x: 20, y: 20, w: 40, h: 60 },
|
||||
rotation: -6,
|
||||
},
|
||||
]),
|
||||
);
|
||||
expect(tilted).toMatchObject({ frame: { x: 20, y: 20, w: 40, h: 60 }, rotation: -6, flipX: true, opacity: 0.8 });
|
||||
});
|
||||
|
||||
it('BOOKSTK-002: keeps the colours asked for, cut to the slots the drawing has', () => {
|
||||
// The lemon has two slots, the lemon and its leaves.
|
||||
const colors = ['#ff0000', '#00ff00', '#0000ff', '#ffffff'];
|
||||
const lemon = placed(run(book(), [{ op: 'add', element: { kind: 'sticker', stickerId: 'lemon', colors } }]));
|
||||
expect(lemon).toMatchObject({ colors: ['#ff0000', '#00ff00'] });
|
||||
});
|
||||
|
||||
it('BOOKSTK-003: refuses an id the library does not hold, and any sticker where no library was handed in', () => {
|
||||
const unknown = run(book(), [{ op: 'add', element: { kind: 'sticker', stickerId: 'unicornCastle' } }]);
|
||||
expect(unknown.ok ? null : unknown.error).toMatchObject({ code: 'sticker_unknown', opIndex: 0 });
|
||||
expect(unknown.ok ? '' : unknown.error.message).toMatch(/list_book_assets/);
|
||||
const bare = run(book(), [{ op: 'add', element: { kind: 'sticker', stickerId: 'lemon' } }], {});
|
||||
expect(bare.ok ? null : bare.error.code).toBe('sticker_unknown');
|
||||
const badId = run(book(), [{ op: 'add', element: { kind: 'sticker', stickerId: 'Not An Id' } }]);
|
||||
expect(badId.ok ? null : badId.error.code).toBe('invalid_op');
|
||||
});
|
||||
});
|
||||
|
||||
describe('restyling a sticker', () => {
|
||||
it('BOOKSTK-004: recolours, flips and fades it, and puts its own colours back with an empty list', () => {
|
||||
const doc = book([sticker('k1')]);
|
||||
const styled = run(doc, [
|
||||
{ op: 'style', elementId: 'k1', set: { kind: 'sticker', colors: ['#123456'], flipX: true, opacity: 0.5 } },
|
||||
]);
|
||||
expect(placed(styled)).toMatchObject({ colors: ['#123456'], flipX: true, opacity: 0.5 });
|
||||
const back = run(book([sticker('k1', 'lemon', { colors: ['#123456'] })]), [
|
||||
{ op: 'style', elementId: 'k1', set: { kind: 'sticker', colors: [] } },
|
||||
]);
|
||||
expect(placed(back)).toMatchObject({ colors: [] });
|
||||
const wrong = run(doc, [{ op: 'style', elementId: 'k1', set: { kind: 'icon', color: '#000000' } }]);
|
||||
expect(wrong.ok ? null : wrong.error.code).toBe('wrong_kind');
|
||||
});
|
||||
|
||||
it('BOOKSTK-005: duplicates and arranges like every other element', () => {
|
||||
const doc = book([sticker('k1'), sticker('k2', 'sun')]);
|
||||
const result = run(doc, [
|
||||
{ op: 'duplicate', elementIds: ['k1'] },
|
||||
{ op: 'arrange', elementIds: ['k1'], to: 'front' },
|
||||
]);
|
||||
if (!result.ok) throw new Error(result.error.message);
|
||||
const kinds = inner(result.doc).elements.map((e) => (e.kind === 'sticker' ? e.stickerId : e.kind));
|
||||
expect(kinds).toEqual(['sun', 'lemon', 'lemon']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('a sticker in words', () => {
|
||||
it('BOOKSTK-006: describe_book_page names the sticker, its colours and a flip', () => {
|
||||
const doc = book([sticker('k1', 'hibiscus', { colors: ['#ff8800'], flipX: true, rotation: 8 })]);
|
||||
const text = describeSpread(doc, 'sp-in')?.text ?? '';
|
||||
expect(text).toMatch(/sticker k1 at 240, 30, 60 x 48: sticker hibiscus, colours #ff8800, flipped; turned 8 deg/);
|
||||
expect(describeSpread(book([sticker('k2')]), 'sp-in')?.text).toMatch(/: sticker lemon$/m);
|
||||
});
|
||||
|
||||
it('BOOKSTK-007: a sticker over words is a warning on the page, one under them is not', () => {
|
||||
const words = bookTextElementSchema.parse({
|
||||
id: 't1',
|
||||
kind: 'text',
|
||||
frame: { x: 240, y: 30, w: 60, h: 20 },
|
||||
text: 'Palermo',
|
||||
size: 20,
|
||||
});
|
||||
expect(findingsOf(book([words, sticker('k1')]))).toEqual([
|
||||
expect.objectContaining({ code: 'overlap', severity: 'warn', elementIds: ['k1', 't1'] }),
|
||||
]);
|
||||
expect(findingsOf(book([sticker('k1'), words]))).toEqual([]);
|
||||
// Faded nearly away, it hides nothing.
|
||||
expect(findingsOf(book([words, sticker('k1', 'lemon', { opacity: 0.2 })]))).toEqual([]);
|
||||
});
|
||||
});
|
||||
@@ -1,26 +0,0 @@
|
||||
import type { BookNewElement } from './book-element-ops.schema';
|
||||
import { failOp, type BookOpsContext } from './book-ops-core';
|
||||
import { bookStickerColors, bookStickerElement, bookStickerSize } from './book-sticker';
|
||||
import type { BookFrame, BookPageSetup, BookStickerElement } from './book.schema';
|
||||
|
||||
/**
|
||||
* `add` of a sticker: the Studio panel's placement, through the library the
|
||||
* context hands in. The sticker arrives at the panel's size (book-sticker.ts)
|
||||
* centred on the page unless the operation gives a frame, in its own colours
|
||||
* unless it names some, cut to the slots the drawing has.
|
||||
*/
|
||||
export function newStickerElement(
|
||||
spec: Extract<BookNewElement, { kind: 'sticker' }>,
|
||||
at: (size: { w: number; h: number }) => BookFrame,
|
||||
env: { page: BookPageSetup; ctx: BookOpsContext; newId: (prefix: string) => string; opIndex: number },
|
||||
): BookStickerElement {
|
||||
const meta = env.ctx.stickers?.(spec.stickerId);
|
||||
if (!meta) {
|
||||
const why = env.ctx.stickers
|
||||
? 'list_book_assets names the stickers there are'
|
||||
: 'the sticker library is not available here';
|
||||
throw failOp('sticker_unknown', `no sticker ${spec.stickerId}; ${why}`, env.opIndex);
|
||||
}
|
||||
const el = bookStickerElement(meta, at(bookStickerSize(meta.box, env.page)), env.newId('k'));
|
||||
return { ...el, colors: bookStickerColors(meta, spec.colors), flipX: spec.flipX ?? false };
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import { bookDocumentSchema } from './book.schema';
|
||||
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
// BKREV-001 to BKREV-008
|
||||
// BKREV-001 to BKREV-007
|
||||
|
||||
/**
|
||||
* The reader guard: a document says which revision of the format wrote it, a
|
||||
@@ -21,10 +21,6 @@ import { describe, expect, it } from 'vitest';
|
||||
|
||||
const frame = { x: 12, y: 18, w: 60, h: 40 };
|
||||
|
||||
/** A revision above this build's, and an element kind no revision of it knows. */
|
||||
const NEWER = BOOK_SCHEMA_REV + 1;
|
||||
const fromLater = { id: 'x1', kind: 'hologram', frame, glow: 'lemon' };
|
||||
|
||||
const doc = (over: Record<string, unknown> = {}) => ({
|
||||
version: 1,
|
||||
title: 'Lisbon',
|
||||
@@ -44,8 +40,7 @@ const doc = (over: Record<string, unknown> = {}) => ({
|
||||
|
||||
describe('the revision a document was written by', () => {
|
||||
it('BKREV-001: reads 1 for every document from before the field, and for anything that is not a whole number', () => {
|
||||
// 2 since the sticker kind (WP4).
|
||||
expect(BOOK_SCHEMA_REV).toBe(2);
|
||||
expect(BOOK_SCHEMA_REV).toBe(1);
|
||||
expect(bookSchemaRev(doc())).toBe(1);
|
||||
expect(bookSchemaRev(null)).toBe(1);
|
||||
expect(bookSchemaRev('{"schemaRev":4}')).toBe(1);
|
||||
@@ -61,35 +56,33 @@ describe('the revision a document was written by', () => {
|
||||
expect(odd.success && odd.data.spreads[0]?.elements).toHaveLength(1);
|
||||
});
|
||||
|
||||
it('BKREV-003: reads a book from before the field without writing a revision into it, and stamps it only when it is written', () => {
|
||||
it('BKREV-003: leaves a book saved today as it was, with no revision written into it', () => {
|
||||
const today = normalizeBookDocument(doc());
|
||||
expect('schemaRev' in today).toBe(false);
|
||||
// A writer of revision 1 hands it back untouched, exactly as before the field existed.
|
||||
expect(stampBookSchemaRev(today, 1)).toBe(today);
|
||||
expect(stampBookSchemaRev(today).schemaRev).toBe(BOOK_SCHEMA_REV);
|
||||
expect({ ...stampBookSchemaRev(today), schemaRev: undefined }).toEqual(today);
|
||||
expect(stampBookSchemaRev(today)).toBe(today);
|
||||
expect(JSON.stringify(stampBookSchemaRev(today))).toBe(JSON.stringify(today));
|
||||
});
|
||||
});
|
||||
|
||||
describe('a reader older than the document', () => {
|
||||
it('BKREV-004: knows the document is newer than it, read from the raw value even when the rest will not parse', () => {
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: NEWER }))).toBe(true);
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: BOOK_SCHEMA_REV }))).toBe(false);
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: 2 }))).toBe(true);
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: 1 }))).toBe(false);
|
||||
expect(isBookNewerThanReader(doc())).toBe(false);
|
||||
// A reader of a later revision reads the same document as its own.
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: NEWER }), NEWER)).toBe(false);
|
||||
const unreadable = doc({ schemaRev: NEWER + 3, page: 'not a page' });
|
||||
expect(isBookNewerThanReader(doc({ schemaRev: 2 }), 2)).toBe(false);
|
||||
const unreadable = doc({ schemaRev: 5, page: 'not a page' });
|
||||
expect(isBookNewerThanReader(unreadable)).toBe(true);
|
||||
});
|
||||
|
||||
it('BKREV-005: reads a newer book as far as it can and says so, so nothing it dropped is saved', () => {
|
||||
const raw = doc({ schemaRev: NEWER });
|
||||
const sticker = { id: 'x1', kind: 'sticker', frame, stickerId: 'lemon' };
|
||||
const raw = doc({ schemaRev: 2 });
|
||||
const spread = (raw.spreads as { elements: unknown[] }[])[0];
|
||||
if (spread) spread.elements.push(fromLater);
|
||||
if (spread) spread.elements.push(sticker);
|
||||
const read = readBookDocument(raw);
|
||||
expect(read.newer).toBe(true);
|
||||
expect(read.document.schemaRev).toBe(NEWER);
|
||||
expect(read.document.schemaRev).toBe(2);
|
||||
expect(read.document.spreads[0]?.elements.map((e) => e.id)).toEqual(['t1']);
|
||||
expect(readBookDocument(doc()).newer).toBe(false);
|
||||
});
|
||||
@@ -105,10 +98,11 @@ describe('a reader older than the document', () => {
|
||||
|
||||
describe('a save request carrying a newer book', () => {
|
||||
it('BKREV-007: reaches the server as its revision alone, so the save is refused there rather than at the pipe', () => {
|
||||
const raw = doc({ schemaRev: NEWER });
|
||||
const sticker = { id: 'x1', kind: 'sticker', frame, stickerId: 'lemon' };
|
||||
const raw = doc({ schemaRev: 2 });
|
||||
const spread = (raw.spreads as { elements: unknown[] }[])[0];
|
||||
if (spread) spread.elements.push(fromLater);
|
||||
expect(bookSaveRequestSchema.parse({ title: 'T', document: raw }).document).toEqual({ schemaRev: NEWER });
|
||||
if (spread) spread.elements.push(sticker);
|
||||
expect(bookSaveRequestSchema.parse({ title: 'T', document: raw }).document).toEqual({ schemaRev: 2 });
|
||||
// A book of today still reads whole, revision or none.
|
||||
const today = bookSaveRequestSchema.parse({ title: 'T', document: doc() }).document;
|
||||
expect(today).toEqual(bookDocumentSchema.parse(doc()));
|
||||
@@ -116,17 +110,3 @@ describe('a save request carrying a newer book', () => {
|
||||
expect(bookSaveRequestSchema.safeParse({ document: { schemaRev: 1, spreads: 'no' } }).success).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('the sticker kind', () => {
|
||||
it('BKREV-008: reads whole at this revision, and is what an older reader would have dropped', () => {
|
||||
const sticker = { id: 'k1', kind: 'sticker', frame, stickerId: 'lemon', colors: ['#ffcc00'], flipX: true };
|
||||
const raw = doc({ schemaRev: BOOK_SCHEMA_REV });
|
||||
const spread = (raw.spreads as { elements: unknown[] }[])[0];
|
||||
if (spread) spread.elements.push(sticker);
|
||||
const read = readBookDocument(raw);
|
||||
expect(read.newer).toBe(false);
|
||||
expect(read.document.spreads[0]?.elements.map((e) => e.kind)).toEqual(['text', 'sticker']);
|
||||
// A reader of revision 1 is told the book is newer than it, so it never saves the copy without the sticker.
|
||||
expect(readBookDocument(raw, 1).newer).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -28,7 +28,7 @@ import type { BookDocument } from './book.schema';
|
||||
* saves only once that is above 1, so a book saved today stores exactly what
|
||||
* it stored before this existed.
|
||||
*/
|
||||
export const BOOK_SCHEMA_REV = 2;
|
||||
export const BOOK_SCHEMA_REV = 1;
|
||||
|
||||
/** The `code` a refused save carries in its body when the stored book is newer than the writer. */
|
||||
export const BOOK_SCHEMA_NEWER_CODE = 'book_schema_newer';
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
import { normalizeBookDocument } from './book-normalize';
|
||||
import {
|
||||
STICKER_INK,
|
||||
bookStickerColors,
|
||||
bookStickerElement,
|
||||
bookStickerLayerPaint,
|
||||
bookStickerSize,
|
||||
bookStickerSlotColor,
|
||||
bookStickerWords,
|
||||
isBookSticker,
|
||||
listBookAssetsRequestSchema,
|
||||
} from './book-sticker';
|
||||
import { bookElementSchema, bookStickerElementSchema } from './book.schema';
|
||||
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
// STK-001 to STK-006
|
||||
|
||||
const slots = [
|
||||
{ name: 'petals', color: '#e63946' },
|
||||
{ name: 'leaves', color: '#2d936c' },
|
||||
];
|
||||
|
||||
describe('painting a sticker', () => {
|
||||
it('STK-001: a slot takes the colour chosen for it, else its own, and an unknown slot the ink', () => {
|
||||
expect(bookStickerSlotColor(slots, [], 0)).toBe('#e63946');
|
||||
expect(bookStickerSlotColor(slots, ['#000000'], 0)).toBe('#000000');
|
||||
expect(bookStickerSlotColor(slots, ['#000000'], 1)).toBe('#2d936c');
|
||||
expect(bookStickerSlotColor(slots, [], 3)).toBe(STICKER_INK);
|
||||
});
|
||||
|
||||
it('STK-002: shade and light are translucent black and white, ink and paper fixed, a hex itself', () => {
|
||||
expect(bookStickerLayerPaint({ p: 1, d: 'M0 0Z' }, slots, ['#111111', '#222222'])).toEqual({
|
||||
color: '#222222',
|
||||
opacity: 1,
|
||||
});
|
||||
expect(bookStickerLayerPaint({ p: 'shade', d: 'M0 0Z' }, slots, [])).toEqual({ color: '#000000', opacity: 0.18 });
|
||||
expect(bookStickerLayerPaint({ p: 'light', d: 'M0 0Z', o: 0.6 }, slots, [])).toEqual({
|
||||
color: '#ffffff',
|
||||
opacity: 0.6,
|
||||
});
|
||||
expect(bookStickerLayerPaint({ p: 'ink', d: 'M0 0Z' }, slots, [])).toEqual({ color: STICKER_INK, opacity: 1 });
|
||||
expect(bookStickerLayerPaint({ p: 'paper', d: 'M0 0Z', o: 0.5 }, slots, [])).toEqual({
|
||||
color: '#ffffff',
|
||||
opacity: 0.5,
|
||||
});
|
||||
expect(bookStickerLayerPaint({ p: '#abcdef', d: 'M0 0Z' }, slots, [])).toEqual({ color: '#abcdef', opacity: 1 });
|
||||
});
|
||||
});
|
||||
|
||||
describe('placing a sticker', () => {
|
||||
it('STK-003: arrives with its longer side three tenths of the shorter page side, in its own proportions', () => {
|
||||
expect(bookStickerSize([100, 50], { pageWidth: 210, pageHeight: 210 })).toEqual({ w: 63, h: 31.5 });
|
||||
expect(bookStickerSize([50, 100], { pageWidth: 297, pageHeight: 210 })).toEqual({ w: 31.5, h: 63 });
|
||||
const frame = { x: 1, y: 2, w: 3, h: 4 };
|
||||
const el = bookStickerElement({ id: 'lemon' }, frame, 'k1');
|
||||
expect(el).toEqual({
|
||||
id: 'k1',
|
||||
kind: 'sticker',
|
||||
frame,
|
||||
rotation: 0,
|
||||
opacity: 1,
|
||||
locked: false,
|
||||
stickerId: 'lemon',
|
||||
colors: [],
|
||||
flipX: false,
|
||||
});
|
||||
expect(isBookSticker(el)).toBe(true);
|
||||
expect(bookStickerColors({ slots }, ['#000001', '#000002', '#000003'])).toEqual(['#000001', '#000002']);
|
||||
expect(bookStickerColors({ slots }, undefined)).toEqual([]);
|
||||
});
|
||||
|
||||
it('STK-004: says what it is, what colours it wears and whether it is flipped', () => {
|
||||
const el = bookStickerElement({ id: 'sun' }, { x: 0, y: 0, w: 10, h: 10 }, 'k1');
|
||||
expect(bookStickerWords(el)).toBe('sticker sun');
|
||||
expect(bookStickerWords({ ...el, colors: ['#111111', '#222222'], flipX: true })).toBe(
|
||||
'sticker sun, colours #111111 #222222, flipped',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('the sticker element and the asset search in the contract', () => {
|
||||
it('STK-005: reads with its defaults, and drops a sticker with an id or colours it cannot read, not the book', () => {
|
||||
const frame = { x: 0, y: 0, w: 10, h: 10 };
|
||||
expect(bookStickerElementSchema.parse({ id: 'k', kind: 'sticker', frame, stickerId: 'lemon' })).toMatchObject({
|
||||
colors: [],
|
||||
flipX: false,
|
||||
rotation: 0,
|
||||
});
|
||||
expect(bookElementSchema.safeParse({ id: 'k', kind: 'sticker', frame, stickerId: 'Lemon!' }).success).toBe(false);
|
||||
const five = ['#000000', '#000000', '#000000', '#000000', '#000000'];
|
||||
expect(
|
||||
bookElementSchema.safeParse({ id: 'k', kind: 'sticker', frame, stickerId: 'lemon', colors: five }).success,
|
||||
).toBe(false);
|
||||
const elements = [
|
||||
{ id: 'good', kind: 'sticker', frame, stickerId: 'lemon' },
|
||||
{ id: 'bad', kind: 'sticker', frame, stickerId: '' },
|
||||
];
|
||||
const doc = normalizeBookDocument({ spreads: [{ id: 's1', role: 'inner', elements }] });
|
||||
expect(doc.spreads[0]?.elements.map((e) => e.id)).toEqual(['good']);
|
||||
});
|
||||
|
||||
it('STK-006: list_book_assets takes a kind, a query, tags, a theme and a limit, nothing else', () => {
|
||||
expect(
|
||||
listBookAssetsRequestSchema.parse({ kind: 'sticker', query: ' lemon ', theme: 'mediterranean', limit: 5 }),
|
||||
).toEqual({
|
||||
kind: 'sticker',
|
||||
query: 'lemon',
|
||||
theme: 'mediterranean',
|
||||
limit: 5,
|
||||
});
|
||||
expect(listBookAssetsRequestSchema.safeParse({ kind: 'font' }).success).toBe(false);
|
||||
expect(listBookAssetsRequestSchema.safeParse({ kind: 'sticker', limit: 41 }).success).toBe(false);
|
||||
expect(listBookAssetsRequestSchema.safeParse({ kind: 'sticker', theme: 'moon' }).success).toBe(false);
|
||||
expect(listBookAssetsRequestSchema.safeParse({ kind: 'sticker', extra: 1 }).success).toBe(false);
|
||||
});
|
||||
});
|
||||
@@ -1,145 +0,0 @@
|
||||
import type { BookElement, BookFrame, BookPageSetup, BookStickerElement } from './book.schema';
|
||||
import {
|
||||
BOOK_STICKER_THEMES,
|
||||
type BookStickerDef,
|
||||
type BookStickerLayer,
|
||||
type BookStickerSlot,
|
||||
} from './stickers/sticker-types';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* What the book needs to know about a sticker without carrying the catalogue.
|
||||
*
|
||||
* The drawings are some half a megabyte of path data. They live behind their
|
||||
* own entry point (`@trek/shared/stickers`), so the root of the contracts, which
|
||||
* every screen of the client and every file of the server imports, does not
|
||||
* drag them along. Everything here works from the few facts of one sticker
|
||||
* that the caller hands in: its box, its slots and its layers.
|
||||
*/
|
||||
|
||||
/** The facts of one sticker the engine places it with. */
|
||||
export type BookStickerMeta = Pick<BookStickerDef, 'id' | 'box' | 'slots'>;
|
||||
|
||||
/**
|
||||
* How the engine finds a sticker by id. Handed in through the operations'
|
||||
* context by whoever holds the catalogue (the server, the Studio), so the edit
|
||||
* engine never imports it.
|
||||
*/
|
||||
export type BookStickerLookup = (id: string) => BookStickerMeta | undefined;
|
||||
|
||||
/** A sticker id as the document stores it: lowerCamelCase, as the catalogue names them. */
|
||||
export const BOOK_STICKER_ID_PATTERN = /^[a-z][A-Za-z0-9]*$/;
|
||||
export const MAX_STICKER_ID = 48;
|
||||
|
||||
/** The near-black of a drawn outline and the white that stays white, whatever a book recolours. */
|
||||
export const STICKER_INK = '#2b2522';
|
||||
export const STICKER_PAPER = '#ffffff';
|
||||
|
||||
/** How see-through the flat shadow and highlight layers are when a layer does not say. */
|
||||
const SHADE_ALPHA = 0.18;
|
||||
const LIGHT_ALPHA = 0.35;
|
||||
|
||||
/** The colour a slot is drawn in: the element's own choice for it, else the sticker's default. */
|
||||
export function bookStickerSlotColor(
|
||||
slots: readonly BookStickerSlot[],
|
||||
colors: readonly string[],
|
||||
slot: number,
|
||||
): string {
|
||||
return colors[slot] ?? slots[slot]?.color ?? STICKER_INK;
|
||||
}
|
||||
|
||||
/** What one layer is painted with, resolved against the element's colours: a `#rrggbb` and an opacity. */
|
||||
export function bookStickerLayerPaint(
|
||||
layer: BookStickerLayer,
|
||||
slots: readonly BookStickerSlot[],
|
||||
colors: readonly string[],
|
||||
): { color: string; opacity: number } {
|
||||
const p = layer.p;
|
||||
if (typeof p === 'number') return { color: bookStickerSlotColor(slots, colors, p), opacity: layer.o ?? 1 };
|
||||
if (p === 'shade') return { color: '#000000', opacity: layer.o ?? SHADE_ALPHA };
|
||||
if (p === 'light') return { color: '#ffffff', opacity: layer.o ?? LIGHT_ALPHA };
|
||||
if (p === 'ink') return { color: STICKER_INK, opacity: layer.o ?? 1 };
|
||||
if (p === 'paper') return { color: STICKER_PAPER, opacity: layer.o ?? 1 };
|
||||
return { color: p, opacity: layer.o ?? 1 };
|
||||
}
|
||||
|
||||
/**
|
||||
* The size a sticker arrives at: its longer side three tenths of the page's
|
||||
* shorter one, the other side from its own proportions. Big enough to read as
|
||||
* an illustration, small enough to sit beside a photo rather than on it.
|
||||
*/
|
||||
export function bookStickerSize(box: readonly [number, number], page: Pick<BookPageSetup, 'pageWidth' | 'pageHeight'>) {
|
||||
const longest = Math.min(page.pageWidth, page.pageHeight) * 0.3;
|
||||
const [w, h] = box;
|
||||
const k = longest / Math.max(w, h, 1);
|
||||
return { w: Math.round(w * k * 100) / 100, h: Math.round(h * k * 100) / 100 };
|
||||
}
|
||||
|
||||
/** A new sticker element in `frame`, drawn in its own colours, unturned and unflipped. */
|
||||
export function bookStickerElement(
|
||||
sticker: Pick<BookStickerMeta, 'id'>,
|
||||
frame: BookFrame,
|
||||
id: string,
|
||||
): BookStickerElement {
|
||||
return {
|
||||
id,
|
||||
kind: 'sticker',
|
||||
frame,
|
||||
rotation: 0,
|
||||
opacity: 1,
|
||||
locked: false,
|
||||
stickerId: sticker.id,
|
||||
colors: [],
|
||||
flipX: false,
|
||||
};
|
||||
}
|
||||
|
||||
/** The colours an element asks for, cut to the slots the sticker has. */
|
||||
export function bookStickerColors(
|
||||
meta: Pick<BookStickerMeta, 'slots'>,
|
||||
colors: readonly string[] | undefined,
|
||||
): string[] {
|
||||
return (colors ?? []).slice(0, meta.slots.length);
|
||||
}
|
||||
|
||||
/** A sticker in words, for describe_book_page. */
|
||||
export function bookStickerWords(el: BookStickerElement): string {
|
||||
const parts = [`sticker ${el.stickerId}`];
|
||||
if (el.colors.length) parts.push(`colours ${el.colors.join(' ')}`);
|
||||
if (el.flipX) parts.push('flipped');
|
||||
return parts.join(', ');
|
||||
}
|
||||
|
||||
export const isBookSticker = (el: BookElement): el is BookStickerElement => el.kind === 'sticker';
|
||||
|
||||
/** A sticker id in an operation: its shape here, its existence where the catalogue is (the engine's lookup). */
|
||||
export const bookStickerIdSchema = z
|
||||
.string()
|
||||
.regex(BOOK_STICKER_ID_PATTERN, 'expected a sticker id')
|
||||
.max(MAX_STICKER_ID)
|
||||
.describe('A sticker of the Studio library by id, as list_book_assets names it: hibiscus, eiffelTower, washiDots.');
|
||||
|
||||
/** The asset kinds list_book_assets answers for. Stickers for now; fonts, themes and templates join it later. */
|
||||
export const BOOK_ASSET_KINDS = ['sticker'] as const;
|
||||
|
||||
/** `list_book_assets`: search the Studio's catalogue of things to put on a page. */
|
||||
export const listBookAssetsArgs = {
|
||||
kind: z.enum(BOOK_ASSET_KINDS).describe('What to list: sticker, the illustrations of the Studio library.'),
|
||||
query: z
|
||||
.string()
|
||||
.trim()
|
||||
.max(80)
|
||||
.optional()
|
||||
.describe('Words to search the ids, tags and descriptions by, such as lemon, paris or washi tape.'),
|
||||
tags: z.array(z.string().trim().min(1).max(40)).max(8).optional().describe('Tags every result must carry.'),
|
||||
theme: z
|
||||
.enum(BOOK_STICKER_THEMES)
|
||||
.optional()
|
||||
.describe(
|
||||
'Only stickers of this theme: ephemera, landmarks, tropical, mediterranean, sea, mountains, nordic, asia, food, paper, doodles or ornaments.',
|
||||
),
|
||||
limit: z.number().int().min(1).max(40).optional().describe('At most this many rows, 40 by default.'),
|
||||
};
|
||||
export const listBookAssetsRequestSchema = z.strictObject(listBookAssetsArgs);
|
||||
export type ListBookAssetsRequest = z.infer<typeof listBookAssetsRequestSchema>;
|
||||
@@ -1,5 +1,3 @@
|
||||
import { MAX_STICKER_SLOTS } from './stickers/sticker-types';
|
||||
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
@@ -741,27 +739,6 @@ export const bookIconElementSchema = z.object({
|
||||
lineWidth: z.number().min(0.25).max(4).default(2),
|
||||
});
|
||||
|
||||
/**
|
||||
* An illustration from the Studio's sticker library (stickers/, book-sticker.ts).
|
||||
*
|
||||
* The drawing is not in the document, only its id: the library is code that
|
||||
* ships with the app, so a book stays small and every copy of a sticker draws
|
||||
* the same. Like an icon, an id this build does not know draws nothing and
|
||||
* costs the page nothing else. `colors` repaints the sticker's slots in order,
|
||||
* empty for its own colours; `flipX` mirrors it, for a bird facing the other
|
||||
* way or an arrow pointing back.
|
||||
*/
|
||||
export const bookStickerElementSchema = z.object({
|
||||
...elementBase,
|
||||
kind: z.literal('sticker'),
|
||||
stickerId: z
|
||||
.string()
|
||||
.regex(/^[a-z][A-Za-z0-9]*$/, 'expected a sticker id')
|
||||
.max(48),
|
||||
colors: z.array(hex).max(MAX_STICKER_SLOTS).default([]),
|
||||
flipX: z.boolean().default(false),
|
||||
});
|
||||
|
||||
/**
|
||||
* A journal entry's pros and cons, set as a page.
|
||||
*
|
||||
@@ -821,11 +798,9 @@ export const bookElementSchema = z.discriminatedUnion('kind', [
|
||||
bookBadgeElementSchema,
|
||||
bookListElementSchema,
|
||||
bookIconElementSchema,
|
||||
bookStickerElementSchema,
|
||||
]);
|
||||
export type BookElement = z.infer<typeof bookElementSchema>;
|
||||
export type BookIconElement = z.infer<typeof bookIconElementSchema>;
|
||||
export type BookStickerElement = z.infer<typeof bookStickerElementSchema>;
|
||||
export type BookPhotoElement = z.infer<typeof bookPhotoElementSchema>;
|
||||
export type BookTextElement = z.infer<typeof bookTextElementSchema>;
|
||||
export type BookShapeElement = z.infer<typeof bookShapeElementSchema>;
|
||||
|
||||
@@ -536,6 +536,6 @@ describe('summaries', () => {
|
||||
it('BOOKDESC-023: says with the layouts what a grid and a template do to the page', () => {
|
||||
const { notes } = listBookLayouts(null, book([]).page);
|
||||
expect(notes.grids).toMatch(/re-pours every photo of the page, placed or parked/);
|
||||
expect(notes.templates).toMatch(/shapes, maps, badges, stats, lists, icons and stickers are dropped/);
|
||||
expect(notes.templates).toMatch(/shapes, maps, badges, stats, lists and icons are dropped/);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -10,7 +10,6 @@ import type {
|
||||
BookPageDescription,
|
||||
BookSpreadSummary,
|
||||
} from './book-ops.schema';
|
||||
import { bookStickerWords } from './book-sticker';
|
||||
import {
|
||||
bookPageSetupSchema,
|
||||
type BookDocument,
|
||||
@@ -94,8 +93,6 @@ function elementWords(el: BookElement, photos: readonly BookPhotoInfo[] | undefi
|
||||
return shapeWords(el);
|
||||
case 'icon':
|
||||
return `icon ${el.name}, ${el.color}, line ${n(el.lineWidth)}`;
|
||||
case 'sticker':
|
||||
return bookStickerWords(el);
|
||||
default:
|
||||
return travelWords(el);
|
||||
}
|
||||
@@ -289,7 +286,7 @@ function templateRow(tpl: BookTemplate, page: BookPageSetup) {
|
||||
*/
|
||||
const BOOK_LAYOUT_NOTES = {
|
||||
templates:
|
||||
"A template or saved layout re-pours the photos and texts of the page into its slots and parks what it has no room for; the page's own shapes, maps, badges, stats, lists, icons and stickers are dropped (a saved layout brings its own), and the write answer names them in dropped.",
|
||||
"A template or saved layout re-pours the photos and texts of the page into its slots and parks what it has no room for; the page's own shapes, maps, badges, stats, lists and icons are dropped (a saved layout brings its own), and the write answer names them in dropped.",
|
||||
grids:
|
||||
'A grid re-pours every photo of the page, placed or parked, into its cells and parks the rest; the old frames go, empty ones too. Texts, shapes and travel elements stay where they are.',
|
||||
} as const;
|
||||
|
||||
@@ -1,617 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Asia and India: blossoms and lanterns, temples and gates, the elephant and the tuk-tuk. */
|
||||
export const ASIA_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'mountFuji',
|
||||
theme: 'asia',
|
||||
tags: ['mount fuji', 'fuji', 'japan', 'volcano', 'mountain', 'snow', 'landmark', 'sun'],
|
||||
descr:
|
||||
'Mount Fuji: the broad symmetrical volcano with a wavy snow cap, a red rising sun behind it and soft clouds.',
|
||||
box: [120, 76],
|
||||
slots: [
|
||||
{ name: 'mountain', color: '#3d5a80' },
|
||||
{ name: 'snow', color: '#f7f9fb' },
|
||||
{ name: 'sun', color: '#e63946' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M99 26C99 34.3 92.3 41 84 41C75.7 41 69 34.3 69 26C69 17.7 75.7 11 84 11C92.3 11 99 17.7 99 26Z' },
|
||||
{ p: 0, d: 'M2 74C20 62 36 46 48 26C50 22 52 18 56 18L64 18C68 18 70 22 72 26C84 46 100 62 118 74Z' },
|
||||
{ p: 'shade', d: 'M60 18L64 18C68 18 70 22 72 26C84 46 100 62 118 74L70 74C70 56 66 36 60 18Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M48 26C50 22 52 18 56 18L64 18C68 18 70 22 72 26C76 32 79 37 82 42C78 40 76 44 72 40C70 44 66 46 64 40C60 46 56 44 56 38C52 42 48 44 46 38C42 42 40 40 38 42C41 37 44 32 48 26Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M60 18L64 18C68 18 70 22 72 26C76 32 79 37 82 42C78 40 76 44 72 40C70 44 66 46 64 40C63 32 62 24 60 18Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: '#fbf8f0',
|
||||
d: 'M8 60C10 56 16 55 20 57C22 53 30 53 32 58C36 58 38 61 36 64L8 64C5 64 5 61 8 60ZM88 54C90 50 96 49 100 52C102 48 110 49 111 54C115 54 117 57 115 60L89 60C86 60 85 56 88 54Z',
|
||||
o: 0.95,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'toriiGate',
|
||||
theme: 'asia',
|
||||
tags: ['torii', 'gate', 'shrine', 'japan', 'shinto', 'kyoto', 'red', 'temple'],
|
||||
descr:
|
||||
'A vermilion Shinto torii gate: two round pillars, a straight tie beam and a top lintel curving up at both ends.',
|
||||
box: [110, 90],
|
||||
slots: [
|
||||
{ name: 'vermilion', color: '#e4572e' },
|
||||
{ name: 'black', color: '#2b2522' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M2 10C20 16 40 16 55 16C70 16 90 16 108 10L106 18C88 22 70 22 55 22C40 22 22 22 4 18Z' },
|
||||
{ p: 0, d: 'M8 20C24 24 40 24 55 24C70 24 86 24 102 20L100 28L10 28Z' },
|
||||
{ p: 0, d: 'M22 28L29 28L29 86L22 86ZM81 28L88 28L88 86L81 86Z' },
|
||||
{ p: 0, d: 'M12 38L98 38L98 44L12 44Z' },
|
||||
{ p: 0, d: 'M51 28L59 28L59 38L51 38Z' },
|
||||
{ p: 'shade', d: 'M26 28L29 28L29 86L26 86ZM85 28L88 28L88 86L85 86ZM12 42L98 42L98 44L12 44Z', o: 0.18 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M21.6 80L29.4 80C30 80 30.4 80.4 30.4 81L30.4 87C30.4 87.6 30 88 29.4 88L21.6 88C21 88 20.6 87.6 20.6 87L20.6 81C20.6 80.4 21 80 21.6 80ZM80.6 80L88.4 80C89 80 89.4 80.4 89.4 81L89.4 87C89.4 87.6 89 88 88.4 88L80.6 88C80 88 79.6 87.6 79.6 87L79.6 81C79.6 80.4 80 80 80.6 80Z',
|
||||
},
|
||||
{ p: 'light', d: 'M4 13C22 18 40 18 55 18C70 18 88 18 106 13', o: 0.3, w: 0.8 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'pagoda',
|
||||
theme: 'asia',
|
||||
tags: ['pagoda', 'temple', 'japan', 'china', 'tower', 'kyoto', 'buddhist', 'landmark'],
|
||||
descr: 'A five-storey pagoda with dark upswept roofs, red timber walls and a tall bronze spire.',
|
||||
box: [110, 100],
|
||||
slots: [
|
||||
{ name: 'walls', color: '#c8553d' },
|
||||
{ name: 'roofs', color: '#33363d' },
|
||||
{ name: 'spire', color: '#c9a45c' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M54 2L56 2L56 20L54 20ZM53 4L57 4C57.3 4 57.6 4.3 57.6 4.6L57.6 4.6C57.6 4.9 57.3 5.2 57 5.2L53 5.2C52.7 5.2 52.4 4.9 52.4 4.6L52.4 4.6C52.4 4.3 52.7 4 53 4ZM53 7L57 7C57.3 7 57.6 7.3 57.6 7.6L57.6 7.6C57.6 7.9 57.3 8.2 57 8.2L53 8.2C52.7 8.2 52.4 7.9 52.4 7.6L52.4 7.6C52.4 7.3 52.7 7 53 7ZM53 10L57 10C57.3 10 57.6 10.3 57.6 10.6L57.6 10.6C57.6 10.9 57.3 11.2 57 11.2L53 11.2C52.7 11.2 52.4 10.9 52.4 10.6L52.4 10.6C52.4 10.3 52.7 10 53 10ZM53 13L57 13C57.3 13 57.6 13.3 57.6 13.6L57.6 13.6C57.6 13.9 57.3 14.2 57 14.2L53 14.2C52.7 14.2 52.4 13.9 52.4 13.6L52.4 13.6C52.4 13.3 52.7 13 53 13ZM56.6 2C56.6 2.9 55.9 3.6 55 3.6C54.1 3.6 53.4 2.9 53.4 2C53.4 1.1 54.1 0.4 55 0.4C55.9 0.4 56.6 1.1 56.6 2Z',
|
||||
},
|
||||
{ p: 0, d: 'M32 87L78 87L78 96L32 96Z' },
|
||||
{ p: 0, d: 'M35.6 69L74.4 69L74.4 78L35.6 78Z' },
|
||||
{ p: 0, d: 'M38.4 53L71.6 53L71.6 78L38.4 78Z' },
|
||||
{ p: 0, d: 'M41.3 39L68.7 39L68.7 78L41.3 78Z' },
|
||||
{ p: 0, d: 'M44.2 27L65.8 27L65.8 78L44.2 78Z' },
|
||||
{
|
||||
p: '#f6e7c8',
|
||||
d: 'M40.8 90L43.6 90C43.9 90 44.2 90.3 44.2 90.6L44.2 93.4C44.2 93.7 43.9 94 43.6 94L40.8 94C40.5 94 40.2 93.7 40.2 93.4L40.2 90.6C40.2 90.3 40.5 90 40.8 90ZM53.6 90L56.4 90C56.7 90 57 90.3 57 90.6L57 93.4C57 93.7 56.7 94 56.4 94L53.6 94C53.3 94 53 93.7 53 93.4L53 90.6C53 90.3 53.3 90 53.6 90ZM66.4 90L69.2 90C69.5 90 69.8 90.3 69.8 90.6L69.8 93.4C69.8 93.7 69.5 94 69.2 94L66.4 94C66.1 94 65.8 93.7 65.8 93.4L65.8 90.6C65.8 90.3 66.1 90 66.4 90ZM42.8 72L45.6 72C45.9 72 46.2 72.3 46.2 72.6L46.2 75.4C46.2 75.7 45.9 76 45.6 76L42.8 76C42.5 76 42.2 75.7 42.2 75.4L42.2 72.6C42.2 72.3 42.5 72 42.8 72ZM53.6 72L56.4 72C56.7 72 57 72.3 57 72.6L57 75.4C57 75.7 56.7 76 56.4 76L53.6 76C53.3 76 53 75.7 53 75.4L53 72.6C53 72.3 53.3 72 53.6 72ZM64.4 72L67.2 72C67.5 72 67.8 72.3 67.8 72.6L67.8 75.4C67.8 75.7 67.5 76 67.2 76L64.4 76C64.1 76 63.8 75.7 63.8 75.4L63.8 72.6C63.8 72.3 64.1 72 64.4 72ZM44.4 56L47.2 56C47.5 56 47.8 56.3 47.8 56.6L47.8 75.4C47.8 75.7 47.5 76 47.2 76L44.4 76C44.1 76 43.8 75.7 43.8 75.4L43.8 56.6C43.8 56.3 44.1 56 44.4 56ZM53.6 56L56.4 56C56.7 56 57 56.3 57 56.6L57 75.4C57 75.7 56.7 76 56.4 76L53.6 76C53.3 76 53 75.7 53 75.4L53 56.6C53 56.3 53.3 56 53.6 56ZM62.8 56L65.6 56C65.9 56 66.2 56.3 66.2 56.6L66.2 75.4C66.2 75.7 65.9 76 65.6 76L62.8 76C62.5 76 62.2 75.7 62.2 75.4L62.2 56.6C62.2 56.3 62.5 56 62.8 56ZM46 42L48.8 42C49.1 42 49.4 42.3 49.4 42.6L49.4 75.4C49.4 75.7 49.1 76 48.8 76L46 76C45.7 76 45.4 75.7 45.4 75.4L45.4 42.6C45.4 42.3 45.7 42 46 42ZM53.6 42L56.4 42C56.7 42 57 42.3 57 42.6L57 75.4C57 75.7 56.7 76 56.4 76L53.6 76C53.3 76 53 75.7 53 75.4L53 42.6C53 42.3 53.3 42 53.6 42ZM61.2 42L64 42C64.3 42 64.6 42.3 64.6 42.6L64.6 75.4C64.6 75.7 64.3 76 64 76L61.2 76C60.9 76 60.6 75.7 60.6 75.4L60.6 42.6C60.6 42.3 60.9 42 61.2 42ZM47.6 30L50.4 30C50.7 30 51 30.3 51 30.6L51 75.4C51 75.7 50.7 76 50.4 76L47.6 76C47.3 76 47 75.7 47 75.4L47 30.6C47 30.3 47.3 30 47.6 30ZM53.6 30L56.4 30C56.7 30 57 30.3 57 30.6L57 75.4C57 75.7 56.7 76 56.4 76L53.6 76C53.3 76 53 75.7 53 75.4L53 30.6C53 30.3 53.3 30 53.6 30ZM59.6 30L62.4 30C62.7 30 63 30.3 63 30.6L63 75.4C63 75.7 62.7 76 62.4 76L59.6 76C59.3 76 59 75.7 59 75.4L59 30.6C59 30.3 59.3 30 59.6 30Z',
|
||||
o: 0.85,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M62.7 87L78 87L78 96L62.7 96ZM61.5 69L74.4 69L74.4 78L61.5 78ZM60.5 53L71.6 53L71.6 78L60.5 78ZM59.6 39L68.7 39L68.7 78L59.6 78ZM58.6 27L65.8 27L65.8 78L58.6 78Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M17 88C23 86 35.8 80 40.9 78L69.1 78C74.2 80 87 86 93 88C87 89 23 89 17 88ZM22 70C28 68 38.8 62 43.1 60L66.9 60C71.2 62 82 68 88 70C82 71 28 71 22 70ZM26 54C32 52 41.2 46 44.9 44L65.1 44C68.8 46 78 52 84 54C78 55 32 55 26 54ZM30 40C36 38 43.6 32 46.6 30L63.4 30C66.4 32 74 38 80 40C74 41 36 41 30 40ZM34 28C40 26 46 20 48.4 18L61.6 18C64 20 70 26 76 28C70 29 40 29 34 28Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M40.9 78L69.1 78M43.1 60L66.9 60M44.9 44L65.1 44M46.6 30L63.4 30M48.4 18L61.6 18',
|
||||
o: 0.3,
|
||||
w: 0.8,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M19 96L91 96C91.6 96 92 96.4 92 97L92 99C92 99.6 91.6 100 91 100L19 100C18.4 100 18 99.6 18 99L18 97C18 96.4 18.4 96 19 96Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'cherryBlossom',
|
||||
theme: 'asia',
|
||||
tags: ['cherry blossom', 'sakura', 'japan', 'spring', 'flowers', 'pink', 'hanami', 'branch'],
|
||||
descr: 'A dark branch of cherry blossom with five open pink sakura flowers and a few buds.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'petals', color: '#f7b2c4' },
|
||||
{ name: 'branch', color: '#4a3428' },
|
||||
{ name: 'centres', color: '#d6336c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M2 82C20 70 34 58 48 48C60 40 72 34 96 24', w: 3 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M34 58C30 48 30 40 30 34M60 40C58 32 58 26 58 22M48 48C48 54 46 58 46 62M74 34C76 40 76 46 74 52',
|
||||
w: 1.8,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M17.5 75.3C16.5 76.6 14.9 77 14.1 76.3C13.2 75.6 13.4 74 14.5 72.7C15.5 71.4 17.1 71 17.9 71.7C18.8 72.4 18.6 74 17.5 75.3ZM97.5 25.3C96.5 26.6 94.9 27 94.1 26.3C93.2 25.6 93.4 24 94.5 22.7C95.5 21.4 97.1 21 97.9 21.7C98.8 22.4 98.6 24 97.5 25.3ZM85.5 31.3C84.5 32.6 82.9 33 82.1 32.3C81.2 31.6 81.4 30 82.5 28.7C83.5 27.4 85.1 27 85.9 27.7C86.8 28.4 86.6 30 85.5 31.3Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M16.6 71.5C15.4 73.6 13.2 74.6 11.8 73.8C10.4 73 10.2 70.6 11.4 68.5C12.6 66.4 14.8 65.4 16.2 66.2C17.6 67 17.8 69.4 16.6 71.5ZM95.7 22C94.1 23.3 92 23.5 91.1 22.4C90.2 21.3 90.7 19.4 92.3 18C93.9 16.7 96 16.5 96.9 17.6C97.8 18.7 97.3 20.6 95.7 22ZM42.4 45.1C43.1 47 42.6 48.9 41.2 49.4C39.9 49.9 38.2 48.8 37.6 46.9C36.9 45 37.4 43.1 38.8 42.6C40.1 42.1 41.8 43.2 42.4 45.1Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M29.3 32C28.5 31 26.5 27.6 26.5 26.1C26.5 24.6 28.4 22.1 29.1 21.8C29.9 21.4 30.9 23.7 31.8 23.8C32.7 24 34.3 22.2 35 22.8C35.6 23.4 36.5 26.4 36 27.8C35.5 29.2 32.4 31.7 31.4 32.3C30.4 33 30 32.9 29.3 32ZM31.7 32.7C32.4 31.7 35 28.7 36.4 28.2C37.9 27.7 40.8 28.8 41.3 29.4C41.9 30.1 40.1 31.7 40.2 32.6C40.3 33.4 42.5 34.5 42.2 35.3C41.8 36.1 39.3 37.9 37.8 37.8C36.2 37.7 32.9 35.6 32 34.8C31.1 34 31 33.7 31.7 32.7ZM31.8 35.2C32.9 35.5 36.6 37.1 37.5 38.3C38.4 39.5 38.3 42.6 37.9 43.4C37.4 44.1 35.3 42.9 34.5 43.3C33.7 43.7 33.4 46.1 32.5 46C31.7 45.9 29.2 44 28.8 42.6C28.4 41.1 29.4 37.3 29.8 36.2C30.3 35.1 30.6 34.9 31.8 35.2ZM29.4 36.1C29.4 37.3 29.1 41.2 28.2 42.5C27.3 43.7 24.4 44.6 23.5 44.4C22.7 44.2 23.2 41.8 22.6 41.2C22 40.5 19.6 41 19.4 40.1C19.2 39.3 20.2 36.3 21.5 35.5C22.8 34.7 26.7 34.4 27.9 34.5C29.1 34.6 29.4 34.9 29.4 36.1ZM27.8 34.1C26.7 34.5 22.9 35.4 21.4 34.9C19.9 34.4 18.2 31.9 18.1 31C18 30.2 20.5 29.9 20.9 29.2C21.3 28.4 20.1 26.2 20.9 25.8C21.7 25.4 24.8 25.4 25.9 26.4C27.1 27.3 28.6 31 28.9 32.2C29.1 33.3 29 33.7 27.8 34.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M30.6 30.5L31.3 26.9M33.6 33.5L37.1 33M31.6 37.2L33.2 40.5M27.4 36.5L24.8 39M26.8 32.3L23.6 30.6',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M32.4 34C32.4 35.3 31.3 36.4 30 36.4C28.7 36.4 27.6 35.3 27.6 34C27.6 32.7 28.7 31.6 30 31.6C31.3 31.6 32.4 32.7 32.4 34Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M34.7 34.7C34.7 35.1 34.4 35.4 34 35.4C33.6 35.4 33.3 35.1 33.3 34.7C33.3 34.3 33.6 34 34 34C34.4 34 34.7 34.3 34.7 34.7ZM33.1 37.3C33.1 37.7 32.7 38.1 32.3 38.1C31.9 38.1 31.6 37.7 31.6 37.3C31.6 36.9 31.9 36.6 32.3 36.6C32.7 36.6 33.1 36.9 33.1 37.3ZM30 38C30 38.4 29.7 38.7 29.3 38.7C28.9 38.7 28.6 38.4 28.6 38C28.6 37.6 28.9 37.3 29.3 37.3C29.7 37.3 30 37.6 30 38ZM27.4 36.3C27.4 36.7 27.1 37.1 26.7 37.1C26.3 37.1 25.9 36.7 25.9 36.3C25.9 35.9 26.3 35.6 26.7 35.6C27.1 35.6 27.4 35.9 27.4 36.3ZM26.7 33.3C26.7 33.7 26.4 34 26 34C25.6 34 25.3 33.7 25.3 33.3C25.3 32.9 25.6 32.6 26 32.6C26.4 32.6 26.7 32.9 26.7 33.3ZM28.4 30.7C28.4 31.1 28.1 31.4 27.7 31.4C27.3 31.4 26.9 31.1 26.9 30.7C26.9 30.3 27.3 29.9 27.7 29.9C28.1 29.9 28.4 30.3 28.4 30.7ZM31.4 30C31.4 30.4 31.1 30.7 30.7 30.7C30.3 30.7 30 30.4 30 30C30 29.6 30.3 29.3 30.7 29.3C31.1 29.3 31.4 29.6 31.4 30ZM34.1 31.7C34.1 32.1 33.7 32.4 33.3 32.4C32.9 32.4 32.6 32.1 32.6 31.7C32.6 31.3 32.9 30.9 33.3 30.9C33.7 30.9 34.1 31.3 34.1 31.7Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M58 20.2C57.7 19.3 57.1 16 57.5 14.8C57.9 13.6 60.1 12.2 60.8 12.2C61.5 12.2 61.7 14.2 62.3 14.6C62.9 14.9 64.8 14 65.1 14.7C65.4 15.3 65.3 17.9 64.5 18.8C63.6 19.8 60.5 20.9 59.6 21.1C58.6 21.3 58.3 21.1 58 20.2ZM59.7 21.4C60.5 20.9 63.4 19.3 64.7 19.3C65.9 19.3 67.9 21 68.2 21.6C68.5 22.3 66.6 23.1 66.4 23.8C66.3 24.5 67.7 26 67.2 26.5C66.7 27 64.2 27.7 63 27.2C61.8 26.7 59.8 24.1 59.3 23.2C58.8 22.3 58.9 22 59.7 21.4ZM59.1 23.5C59.9 24 62.3 26.3 62.6 27.5C63 28.7 62 31.1 61.5 31.6C60.9 32 59.6 30.5 58.9 30.6C58.2 30.6 57.2 32.4 56.6 32.1C55.9 31.8 54.5 29.6 54.6 28.4C54.7 27.1 56.6 24.4 57.3 23.6C57.9 22.9 58.3 22.9 59.1 23.5ZM56.9 23.5C56.6 24.4 55.2 27.4 54.2 28.1C53.1 28.8 50.6 28.7 50 28.3C49.4 27.9 50.4 26.2 50.1 25.5C49.8 24.8 47.8 24.5 48 23.8C48.1 23.1 49.7 21 50.9 20.7C52.1 20.5 55.3 21.4 56.2 21.8C57.1 22.2 57.2 22.5 56.9 23.5ZM56.3 21.4C55.3 21.4 52 21 51 20.3C50 19.5 49.4 17 49.5 16.3C49.7 15.6 51.7 16.1 52.2 15.6C52.8 15.1 52.5 13.1 53.2 13C53.9 12.9 56.3 13.8 57 14.9C57.7 16 57.7 19.3 57.6 20.2C57.5 21.2 57.3 21.4 56.3 21.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M59.5 19.4L61 16.8M60.9 22.6L63.9 23.2M58.3 25L58.6 28M55.3 23.2L52.5 24.4M56 19.8L54 17.5',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M60 22C60 23.1 59.1 24 58 24C56.9 24 56 23.1 56 22C56 20.9 56.9 20 58 20C59.1 20 60 20.9 60 22Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M61.5 23.7C61.5 24 61.3 24.3 60.9 24.3C60.6 24.3 60.3 24 60.3 23.7C60.3 23.4 60.6 23.1 60.9 23.1C61.3 23.1 61.5 23.4 61.5 23.7ZM59.5 25.3C59.5 25.6 59.2 25.9 58.9 25.9C58.5 25.9 58.3 25.6 58.3 25.3C58.3 25 58.5 24.7 58.9 24.7C59.2 24.7 59.5 25 59.5 25.3ZM56.9 24.9C56.9 25.3 56.6 25.5 56.3 25.5C56 25.5 55.7 25.3 55.7 24.9C55.7 24.6 56 24.3 56.3 24.3C56.6 24.3 56.9 24.6 56.9 24.9ZM55.3 22.9C55.3 23.2 55 23.5 54.7 23.5C54.4 23.5 54.1 23.2 54.1 22.9C54.1 22.5 54.4 22.3 54.7 22.3C55 22.3 55.3 22.5 55.3 22.9ZM55.7 20.3C55.7 20.6 55.4 20.9 55.1 20.9C54.7 20.9 54.5 20.6 54.5 20.3C54.5 20 54.7 19.7 55.1 19.7C55.4 19.7 55.7 20 55.7 20.3ZM57.7 18.7C57.7 19 57.5 19.3 57.1 19.3C56.8 19.3 56.5 19 56.5 18.7C56.5 18.4 56.8 18.1 57.1 18.1C57.5 18.1 57.7 18.4 57.7 18.7ZM60.3 19.1C60.3 19.4 60 19.7 59.7 19.7C59.4 19.7 59.1 19.4 59.1 19.1C59.1 18.7 59.4 18.5 59.7 18.5C60 18.5 60.3 18.7 60.3 19.1ZM61.9 21.1C61.9 21.5 61.6 21.7 61.3 21.7C61 21.7 60.7 21.5 60.7 21.1C60.7 20.8 61 20.5 61.3 20.5C61.6 20.5 61.9 20.8 61.9 21.1Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M72.6 50.2C71.5 49.4 68.3 46.6 67.7 45C67.2 43.5 68.3 40.3 69 39.7C69.7 39.1 71.5 41.1 72.4 40.9C73.4 40.8 74.5 38.4 75.4 38.8C76.2 39.2 78.2 41.9 78.1 43.6C78 45.2 75.7 48.8 74.9 49.8C74 50.8 73.6 50.9 72.6 50.2ZM75.3 50.1C75.7 48.8 77.4 44.9 78.7 43.9C80 42.9 83.4 43 84.2 43.5C85 44 83.6 46.2 84 47.1C84.5 48 87.1 48.3 87 49.2C86.9 50.2 84.9 52.9 83.3 53.3C81.7 53.7 77.5 52.6 76.3 52.2C75.1 51.7 75 51.3 75.3 50.1ZM76.2 52.6C77.5 52.6 81.8 53 83.2 53.9C84.5 54.9 85.5 58.1 85.2 59C85 59.9 82.5 59.4 81.8 60C81.1 60.7 81.6 63.3 80.6 63.5C79.7 63.7 76.5 62.6 75.6 61.2C74.7 59.8 74.5 55.6 74.6 54.3C74.7 53 75 52.7 76.2 52.6ZM74.1 54.3C74.5 55.5 75.5 59.7 75 61.3C74.5 62.9 71.7 64.8 70.8 64.9C69.9 65 69.6 62.3 68.8 61.9C67.9 61.4 65.6 62.7 65.1 61.9C64.7 61 64.7 57.7 65.7 56.4C66.8 55.1 70.8 53.5 72 53.2C73.3 52.9 73.6 53.1 74.1 54.3ZM71.8 52.8C70.8 53.6 67.1 55.8 65.4 55.8C63.8 55.8 61.1 53.8 60.8 52.9C60.4 52.1 62.8 51 63 50.1C63.2 49.1 61.2 47.3 61.9 46.6C62.5 45.9 65.7 44.9 67.3 45.5C68.8 46.1 71.5 49.4 72.2 50.5C72.9 51.6 72.8 52 71.8 52.8Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M73.5 48.1L72.9 44.3M77.5 50.3L81 48.6M76.7 54.8L79.4 57.6M72.2 55.4L70.3 58.9M70.2 51.3L66.3 50.6',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M76.6 52C76.6 53.4 75.4 54.6 74 54.6C72.6 54.6 71.4 53.4 71.4 52C71.4 50.6 72.6 49.4 74 49.4C75.4 49.4 76.6 50.6 76.6 52Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M79.2 51.4C79.2 51.8 78.8 52.2 78.4 52.2C77.9 52.2 77.6 51.8 77.6 51.4C77.6 51 77.9 50.6 78.4 50.6C78.8 50.6 79.2 51 79.2 51.4ZM78.3 54.7C78.3 55.1 78 55.4 77.5 55.4C77.1 55.4 76.7 55.1 76.7 54.7C76.7 54.2 77.1 53.9 77.5 53.9C78 53.9 78.3 54.2 78.3 54.7ZM75.4 56.4C75.4 56.8 75 57.2 74.6 57.2C74.2 57.2 73.8 56.8 73.8 56.4C73.8 55.9 74.2 55.6 74.6 55.6C75 55.6 75.4 55.9 75.4 56.4ZM72.1 55.5C72.1 56 71.8 56.3 71.3 56.3C70.9 56.3 70.6 56 70.6 55.5C70.6 55.1 70.9 54.7 71.3 54.7C71.8 54.7 72.1 55.1 72.1 55.5ZM70.4 52.6C70.4 53 70.1 53.4 69.6 53.4C69.2 53.4 68.8 53 68.8 52.6C68.8 52.2 69.2 51.8 69.6 51.8C70.1 51.8 70.4 52.2 70.4 52.6ZM71.3 49.3C71.3 49.8 70.9 50.1 70.5 50.1C70 50.1 69.7 49.8 69.7 49.3C69.7 48.9 70 48.6 70.5 48.6C70.9 48.6 71.3 48.9 71.3 49.3ZM74.2 47.6C74.2 48.1 73.8 48.4 73.4 48.4C73 48.4 72.6 48.1 72.6 47.6C72.6 47.2 73 46.8 73.4 46.8C73.8 46.8 74.2 47.2 74.2 47.6ZM77.4 48.5C77.4 48.9 77.1 49.3 76.7 49.3C76.2 49.3 75.9 48.9 75.9 48.5C75.9 48 76.2 47.7 76.7 47.7C77.1 47.7 77.4 48 77.4 48.5Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M46.3 60.4C46.2 59.5 46.1 56.6 46.7 55.6C47.2 54.6 49.4 53.7 50 53.7C50.7 53.8 50.5 55.6 51 56.1C51.5 56.5 53.2 56 53.4 56.6C53.6 57.2 53.1 59.5 52.2 60.2C51.3 60.9 48.4 61.4 47.5 61.4C46.6 61.5 46.4 61.3 46.3 60.4ZM47.6 61.8C48.4 61.4 51.2 60.4 52.3 60.7C53.5 60.9 55 62.6 55.1 63.3C55.2 63.9 53.4 64.3 53.2 64.9C52.9 65.5 54 67 53.4 67.4C52.9 67.8 50.6 68 49.6 67.4C48.7 66.8 47.3 64.1 47 63.3C46.7 62.4 46.8 62.2 47.6 61.8ZM46.7 63.5C47.3 64.1 49.1 66.5 49.2 67.6C49.4 68.7 48.2 70.7 47.6 71C47 71.4 46.1 69.8 45.5 69.7C44.8 69.7 43.7 71.1 43.2 70.7C42.6 70.3 41.7 68.2 42 67.1C42.3 66 44.4 63.9 45.1 63.3C45.8 62.8 46.1 62.8 46.7 63.5ZM44.8 63.1C44.4 63.9 42.7 66.3 41.7 66.8C40.6 67.3 38.4 66.8 37.9 66.3C37.4 65.9 38.7 64.5 38.5 63.9C38.3 63.2 36.6 62.6 36.8 62C37 61.4 38.8 59.9 39.9 59.8C41.1 59.7 43.7 61.1 44.4 61.6C45.2 62.1 45.3 62.3 44.8 63.1ZM44.6 61.2C43.7 61.1 40.9 60.2 40.1 59.4C39.3 58.5 39.1 56.2 39.4 55.6C39.7 55 41.3 55.8 41.9 55.4C42.5 55.1 42.5 53.3 43.2 53.3C43.8 53.3 45.8 54.5 46.2 55.5C46.6 56.6 46.2 59.5 45.9 60.4C45.7 61.2 45.4 61.4 44.6 61.2Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M47.7 59.9L49.5 57.9M48.5 63L51 64M45.8 64.7L45.6 67.4M43.4 62.7L40.8 63.3M44.6 59.7L43.1 57.4',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M47.8 62C47.8 63 47 63.8 46 63.8C45 63.8 44.2 63 44.2 62C44.2 61 45 60.2 46 60.2C47 60.2 47.8 61 47.8 62Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M48.9 64C48.9 64.3 48.6 64.5 48.3 64.5C48 64.5 47.8 64.3 47.8 64C47.8 63.7 48 63.4 48.3 63.4C48.6 63.4 48.9 63.7 48.9 64ZM46.8 65C46.8 65.3 46.6 65.6 46.3 65.6C46 65.6 45.7 65.3 45.7 65C45.7 64.8 46 64.5 46.3 64.5C46.6 64.5 46.8 64.8 46.8 65ZM44.6 64.3C44.6 64.6 44.3 64.9 44 64.9C43.7 64.9 43.5 64.6 43.5 64.3C43.5 64 43.7 63.8 44 63.8C44.3 63.8 44.6 64 44.6 64.3ZM43.5 62.3C43.5 62.6 43.2 62.8 43 62.8C42.7 62.8 42.4 62.6 42.4 62.3C42.4 62 42.7 61.7 43 61.7C43.2 61.7 43.5 62 43.5 62.3ZM44.2 60C44.2 60.3 44 60.6 43.7 60.6C43.4 60.6 43.1 60.3 43.1 60C43.1 59.7 43.4 59.5 43.7 59.5C44 59.5 44.2 59.7 44.2 60ZM46.3 59C46.3 59.2 46 59.5 45.7 59.5C45.4 59.5 45.2 59.2 45.2 59C45.2 58.7 45.4 58.4 45.7 58.4C46 58.4 46.3 58.7 46.3 59ZM48.5 59.7C48.5 60 48.3 60.2 48 60.2C47.7 60.2 47.4 60 47.4 59.7C47.4 59.4 47.7 59.1 48 59.1C48.3 59.1 48.5 59.4 48.5 59.7ZM49.6 61.7C49.6 62 49.3 62.3 49 62.3C48.8 62.3 48.5 62 48.5 61.7C48.5 61.4 48.8 61.2 49 61.2C49.3 61.2 49.6 61.4 49.6 61.7Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M87.7 26.6C87.4 25.9 86.4 23.4 86.6 22.4C86.8 21.4 88.3 20 88.9 19.9C89.4 19.8 89.8 21.3 90.4 21.5C90.9 21.7 92.2 20.8 92.6 21.2C92.9 21.7 93.2 23.7 92.7 24.6C92.1 25.5 89.8 26.8 89.1 27.1C88.4 27.4 88.1 27.3 87.7 26.6ZM89.3 27.3C89.8 26.8 91.9 25.1 92.9 24.9C93.9 24.8 95.7 25.8 96 26.3C96.3 26.8 94.9 27.6 94.9 28.2C94.9 28.8 96.2 29.8 95.8 30.2C95.5 30.7 93.7 31.6 92.7 31.4C91.7 31.2 89.7 29.4 89.2 28.8C88.7 28.2 88.7 27.9 89.3 27.3ZM89 29C89.7 29.3 92 30.8 92.4 31.7C92.9 32.6 92.5 34.6 92.1 35.1C91.7 35.5 90.5 34.5 89.9 34.6C89.3 34.8 88.8 36.3 88.3 36.2C87.7 36 86.3 34.5 86.2 33.5C86.1 32.5 87.2 30.1 87.7 29.4C88.1 28.7 88.3 28.7 89 29ZM87.4 29.3C87.3 30.1 86.6 32.6 85.8 33.3C85.1 34.1 83.1 34.3 82.5 34.1C82 33.8 82.6 32.3 82.3 31.8C82 31.4 80.3 31.4 80.3 30.8C80.3 30.2 81.3 28.4 82.2 28C83.2 27.6 85.8 27.9 86.6 28.1C87.3 28.3 87.5 28.5 87.4 29.3ZM86.6 27.8C85.8 27.9 83.2 28.1 82.3 27.6C81.3 27.1 80.5 25.3 80.5 24.7C80.6 24.1 82.2 24.2 82.6 23.8C82.9 23.3 82.4 21.8 83 21.6C83.5 21.4 85.5 21.8 86.2 22.5C86.9 23.3 87.4 25.9 87.5 26.7C87.5 27.5 87.4 27.7 86.6 27.8Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M88.8 25.7L89.6 23.5M90.4 28.1L92.8 28.2M88.7 30.3L89.3 32.6M86 29.3L84 30.7M86.1 26.5L84.2 25',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M89.6 28C89.6 28.9 88.9 29.6 88 29.6C87.1 29.6 86.4 28.9 86.4 28C86.4 27.1 87.1 26.4 88 26.4C88.9 26.4 89.6 27.1 89.6 28Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M91 28.9C91 29.2 90.8 29.4 90.6 29.4C90.3 29.4 90.1 29.2 90.1 28.9C90.1 28.7 90.3 28.5 90.6 28.5C90.8 28.5 91 28.7 91 28.9ZM89.6 30.5C89.6 30.7 89.4 30.9 89.1 30.9C88.9 30.9 88.7 30.7 88.7 30.5C88.7 30.2 88.9 30 89.1 30C89.4 30 89.6 30.2 89.6 30.5ZM87.5 30.6C87.5 30.8 87.3 31 87.1 31C86.8 31 86.6 30.8 86.6 30.6C86.6 30.3 86.8 30.1 87.1 30.1C87.3 30.1 87.5 30.3 87.5 30.6ZM86 29.1C86 29.4 85.8 29.6 85.5 29.6C85.3 29.6 85.1 29.4 85.1 29.1C85.1 28.9 85.3 28.7 85.5 28.7C85.8 28.7 86 28.9 86 29.1ZM85.9 27.1C85.9 27.3 85.7 27.5 85.4 27.5C85.2 27.5 85 27.3 85 27.1C85 26.8 85.2 26.6 85.4 26.6C85.7 26.6 85.9 26.8 85.9 27.1ZM87.3 25.5C87.3 25.8 87.1 26 86.9 26C86.6 26 86.4 25.8 86.4 25.5C86.4 25.3 86.6 25.1 86.9 25.1C87.1 25.1 87.3 25.3 87.3 25.5ZM89.4 25.4C89.4 25.7 89.2 25.9 88.9 25.9C88.7 25.9 88.5 25.7 88.5 25.4C88.5 25.2 88.7 25 88.9 25C89.2 25 89.4 25.2 89.4 25.4ZM90.9 26.9C90.9 27.1 90.7 27.3 90.5 27.3C90.2 27.3 90 27.1 90 26.9C90 26.6 90.2 26.4 90.5 26.4C90.7 26.4 90.9 26.6 90.9 26.9Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M27.6 30C27.6 30.9 26.9 31.6 26 31.6C25.1 31.6 24.4 30.9 24.4 30C24.4 29.1 25.1 28.4 26 28.4C26.9 28.4 27.6 29.1 27.6 30ZM56.6 19C56.6 19.9 55.9 20.6 55 20.6C54.1 20.6 53.4 19.9 53.4 19C53.4 18.1 54.1 17.4 55 17.4C55.9 17.4 56.6 18.1 56.6 19ZM71.6 47C71.6 47.9 70.9 48.6 70 48.6C69.1 48.6 68.4 47.9 68.4 47C68.4 46.1 69.1 45.4 70 45.4C70.9 45.4 71.6 46.1 71.6 47ZM45.6 59C45.6 59.9 44.9 60.6 44 60.6C43.1 60.6 42.4 59.9 42.4 59C42.4 58.1 43.1 57.4 44 57.4C44.9 57.4 45.6 58.1 45.6 59ZM87.6 26C87.6 26.9 86.9 27.6 86 27.6C85.1 27.6 84.4 26.9 84.4 26C84.4 25.1 85.1 24.4 86 24.4C86.9 24.4 87.6 25.1 87.6 26Z',
|
||||
o: 0.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'paperLantern',
|
||||
theme: 'asia',
|
||||
tags: ['lantern', 'paper lantern', 'chochin', 'japan', 'china', 'festival', 'red', 'light'],
|
||||
descr: 'A round red paper lantern with ribbed sides, black top and bottom caps and a golden tassel.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'paper', color: '#d62828' },
|
||||
{ name: 'caps', color: '#2b2522' },
|
||||
{ name: 'tassel', color: '#e9b44c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M35 2L35 10', w: 1.4 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M25.6 10L44.4 10C45.3 10 46 10.7 46 11.6L46 15.4C46 16.3 45.3 17 44.4 17L25.6 17C24.7 17 24 16.3 24 15.4L24 11.6C24 10.7 24.7 10 25.6 10Z',
|
||||
},
|
||||
{ p: 0, d: 'M24 16C6 22 4 66 24 76L46 76C66 66 64 22 46 16Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M11.2 24C15.2 24.4 27.1 26.4 35 26.4C42.9 26.4 54.8 24.4 58.8 24M10 34C14.2 34.4 26.7 36.4 35 36.4C43.3 36.4 55.8 34.4 60 34M8.8 44C13.2 44.4 26.3 46.4 35 46.4C43.7 46.4 56.8 44.4 61.2 44M9.6 54C13.8 54.4 26.5 56.4 35 56.4C43.5 56.4 56.2 54.4 60.4 54M10.8 64C14.8 64.4 26.9 66.4 35 66.4C43.1 66.4 55.2 64.4 59.2 64',
|
||||
o: 0.3,
|
||||
w: 0.8,
|
||||
},
|
||||
{ p: 'shade', d: 'M46 16C66 22 66 66 46 76L40 76C54 64 54 26 40 16Z', o: 0.18 },
|
||||
{ p: 'light', d: 'M14 32C14 26 18 22 22 20', o: 0.4, w: 2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M25.6 75L44.4 75C45.3 75 46 75.7 46 76.6L46 80.4C46 81.3 45.3 82 44.4 82L25.6 82C24.7 82 24 81.3 24 80.4L24 76.6C24 75.7 24.7 75 25.6 75Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M33 82L37 82C37.6 82 38 82.4 38 83L38 84C38 84.6 37.6 85 37 85L33 85C32.4 85 32 84.6 32 84L32 83C32 82.4 32.4 82 33 82ZM31 85L39 85L40 98L30 98Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M33 86L32.6 97M35 86L35 97M37 86L37.4 97', o: 0.3, w: 0.5 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'koi',
|
||||
theme: 'asia',
|
||||
tags: ['koi', 'carp', 'fish', 'japan', 'pond', 'garden', 'luck', 'nishikigoi'],
|
||||
descr:
|
||||
'A white koi carp seen from above, swimming upward with a slight curve, orange patches, rounded pectoral fins and a forked tail.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'body', color: '#fbf8f0' },
|
||||
{ name: 'patches', color: '#f77f00' },
|
||||
{ name: 'fins', color: '#f6c7a8' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M41.4 24C37.9 21.9 33 22.5 28 26.8C24.6 29.7 26 35.7 26 37C27.3 37.2 33 39.6 36.4 36.8C41.4 32.5 42.9 27.8 41.4 24ZM62.6 25C61.1 28.8 62.6 33.5 67.6 37.8C71 40.6 76.7 38.2 78 38C78 36.7 79.4 30.7 76 27.8C71 23.5 66.1 22.9 62.6 25ZM45 50C43 49 40.2 49.6 37.2 52.3C34.7 54.6 35.1 58.2 35 59C35.8 58.9 39.4 59.8 41.8 57.6C44.9 54.8 45.8 52.1 45 50ZM62 50C61.1 52.1 61.9 54.6 64.6 57C66.9 59 70.2 58 71 58C70.9 57.2 71.5 53.8 69.3 51.8C66.6 49.4 63.9 48.9 62 50Z',
|
||||
},
|
||||
{ p: 'light', d: 'M41 25L29 35M63 26L75 36', o: 0.6, w: 0.5 },
|
||||
{ p: 2, d: 'M45.6 76C40 82 34 90 33 97C38 95 44 91 48 88C51 92 56 96 62 98C60 90 55 82 50.6 76Z' },
|
||||
{ p: 'light', d: 'M47 82L38 94M49 82L58 95', o: 0.6, w: 0.5 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M54 7C56.1 7.8 58.7 10.1 60 12C61.3 14 61.9 16.4 62.6 20C63.4 23.6 64.9 31.2 65 36C65.1 40.8 64.2 47.5 63 52C61.8 56.5 58.9 62.1 57 66C55.1 69.9 52.3 76.2 50.6 78C48.9 79.8 46.1 79.8 45.6 78C45.1 76.2 47.1 69.9 47 66C46.9 62.1 45.9 56.5 45 52C44.1 47.5 41.8 40.8 41 36C40.3 31.2 39.9 23.6 40 20C40.2 16.4 41.1 14 42 12C42.9 10.1 44.2 7.8 46 7C47.8 6.3 51.9 6.3 54 7Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 7C52.9 7 58.4 10.1 60 12C61.6 14 61.9 16.4 62.6 20C63.4 23.6 64.9 31.2 65 36C65.1 40.8 64.2 47.5 63 52C61.8 56.5 58.9 62.1 57 66C55.1 69.9 51.4 78 50.6 78C49.9 78 51.2 69.9 52 66C52.8 62.1 55.3 56.5 56 52C56.8 47.5 57 40.8 57 36C57 31.2 56.5 23.6 56 20C55.6 16.4 54.6 14 54 12C53.4 10.1 51.1 7 52 7Z',
|
||||
o: 0.07,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M46 11C47.4 9.7 52.1 8.8 54 9.4C55.9 10 58.8 13.3 58.6 15C58.5 16.7 55 20.5 53 21C51 21.5 46.1 19.9 45 18.4C44 16.9 44.7 12.4 46 11ZM42.6 29C44.7 26.5 55 24.7 58 26C61 27.4 63.1 34.7 62.6 38C62.2 41.3 57.8 47.3 55 48C52.2 48.8 45.9 45.9 44 43C42.1 40.2 40.5 31.6 42.6 29ZM47 55C48.4 53 57.1 51.3 58.6 52.6C60.1 54 58.4 62 57 64C55.6 66 50.9 67.4 49.4 66C47.9 64.7 45.6 57 47 55Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M53 30C52.6 31.5 51.1 36 50.9 43.4C50.5 52.5 51.8 58.2 52 60C52.3 58.2 53.9 52.6 54.2 43.6C54.5 36.1 53.3 31.5 53 30Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M45.9 13.6C45.9 14.3 45.3 14.9 44.6 14.9C43.9 14.9 43.3 14.3 43.3 13.6C43.3 12.9 43.9 12.3 44.6 12.3C45.3 12.3 45.9 12.9 45.9 13.6ZM58.9 13.8C58.9 14.5 58.3 15.1 57.6 15.1C56.9 15.1 56.3 14.5 56.3 13.8C56.3 13.1 56.9 12.5 57.6 12.5C58.3 12.5 58.9 13.1 58.9 13.8Z',
|
||||
},
|
||||
{ p: 2, d: 'M47.6 8C46 6 44.6 5 42.6 5.4M54.6 8C56 6 57.6 5 59.6 5.4', w: 0.8 },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M49 32C49 32.6 48.6 33 48 33C47.4 33 47 32.6 47 32C47 31.4 47.4 31 48 31C48.6 31 49 31.4 49 32ZM51.8 40C51.8 40.4 51.4 40.8 51 40.8C50.6 40.8 50.2 40.4 50.2 40C50.2 39.6 50.6 39.2 51 39.2C51.4 39.2 51.8 39.6 51.8 40ZM50.8 58C50.8 58.4 50.4 58.8 50 58.8C49.6 58.8 49.2 58.4 49.2 58C49.2 57.6 49.6 57.2 50 57.2C50.4 57.2 50.8 57.6 50.8 58Z',
|
||||
o: 0.7,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'bamboo',
|
||||
theme: 'asia',
|
||||
tags: ['bamboo', 'forest', 'japan', 'china', 'kyoto', 'arashiyama', 'plant', 'zen'],
|
||||
descr: 'Three green bamboo stalks with jointed nodes and sprays of slender leaves.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'stalks', color: '#7fb33a' },
|
||||
{ name: 'leaves', color: '#3f8f3a' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M27.3 4L32.7 4C33.7 4 34.5 4.8 34.5 5.8L34.5 17.6C34.5 18.6 33.7 19.4 32.7 19.4L27.3 19.4C26.3 19.4 25.5 18.6 25.5 17.6L25.5 5.8C25.5 4.8 26.3 4 27.3 4ZM27.3 20L32.7 20C33.7 20 34.5 20.8 34.5 21.8L34.5 33.6C34.5 34.6 33.7 35.4 32.7 35.4L27.3 35.4C26.3 35.4 25.5 34.6 25.5 33.6L25.5 21.8C25.5 20.8 26.3 20 27.3 20ZM27.3 36L32.7 36C33.7 36 34.5 36.8 34.5 37.8L34.5 49.6C34.5 50.6 33.7 51.4 32.7 51.4L27.3 51.4C26.3 51.4 25.5 50.6 25.5 49.6L25.5 37.8C25.5 36.8 26.3 36 27.3 36ZM27.3 52L32.7 52C33.7 52 34.5 52.8 34.5 53.8L34.5 65.6C34.5 66.6 33.7 67.4 32.7 67.4L27.3 67.4C26.3 67.4 25.5 66.6 25.5 65.6L25.5 53.8C25.5 52.8 26.3 52 27.3 52ZM27.3 68L32.7 68C33.7 68 34.5 68.8 34.5 69.8L34.5 81.6C34.5 82.6 33.7 83.4 32.7 83.4L27.3 83.4C26.3 83.4 25.5 82.6 25.5 81.6L25.5 69.8C25.5 68.8 26.3 68 27.3 68ZM27.3 84L32.7 84C33.7 84 34.5 84.8 34.5 85.8L34.5 97.6C34.5 98.6 33.7 99.4 32.7 99.4L27.3 99.4C26.3 99.4 25.5 98.6 25.5 97.6L25.5 85.8C25.5 84.8 26.3 84 27.3 84Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M32.3 4L33.2 4C33.9 4 34.5 4.6 34.5 5.4L34.5 18C34.5 18.8 33.9 19.4 33.2 19.4L32.3 19.4C31.5 19.4 30.9 18.8 30.9 18L30.9 5.4C30.9 4.6 31.5 4 32.3 4ZM32.3 20L33.2 20C33.9 20 34.5 20.6 34.5 21.4L34.5 34.1C34.5 34.8 33.9 35.4 33.2 35.4L32.3 35.4C31.5 35.4 30.9 34.8 30.9 34.1L30.9 21.4C30.9 20.6 31.5 20 32.3 20ZM32.3 36L33.2 36C33.9 36 34.5 36.6 34.5 37.4L34.5 50.1C34.5 50.8 33.9 51.4 33.2 51.4L32.3 51.4C31.5 51.4 30.9 50.8 30.9 50.1L30.9 37.4C30.9 36.6 31.5 36 32.3 36ZM32.3 52L33.2 52C33.9 52 34.5 52.6 34.5 53.4L34.5 66.1C34.5 66.8 33.9 67.4 33.2 67.4L32.3 67.4C31.5 67.4 30.9 66.8 30.9 66.1L30.9 53.4C30.9 52.6 31.5 52 32.3 52ZM32.3 68L33.2 68C33.9 68 34.5 68.6 34.5 69.4L34.5 82.1C34.5 82.8 33.9 83.4 33.2 83.4L32.3 83.4C31.5 83.4 30.9 82.8 30.9 82.1L30.9 69.4C30.9 68.6 31.5 68 32.3 68ZM32.3 84L33.2 84C33.9 84 34.5 84.6 34.5 85.4L34.5 98.1C34.5 98.8 33.9 99.4 33.2 99.4L32.3 99.4C31.5 99.4 30.9 98.8 30.9 98.1L30.9 85.4C30.9 84.6 31.5 84 32.3 84Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: '#5d8a2a',
|
||||
d: 'M25.8 18.6L34.2 18.6C34.7 18.6 35.1 19 35.1 19.5L35.1 19.5C35.1 20 34.7 20.4 34.2 20.4L25.8 20.4C25.3 20.4 24.9 20 24.9 19.5L24.9 19.5C24.9 19 25.3 18.6 25.8 18.6ZM25.8 34.6L34.2 34.6C34.7 34.6 35.1 35 35.1 35.5L35.1 35.5C35.1 36 34.7 36.4 34.2 36.4L25.8 36.4C25.3 36.4 24.9 36 24.9 35.5L24.9 35.5C24.9 35 25.3 34.6 25.8 34.6ZM25.8 50.6L34.2 50.6C34.7 50.6 35.1 51 35.1 51.5L35.1 51.5C35.1 52 34.7 52.4 34.2 52.4L25.8 52.4C25.3 52.4 24.9 52 24.9 51.5L24.9 51.5C24.9 51 25.3 50.6 25.8 50.6ZM25.8 66.6L34.2 66.6C34.7 66.6 35.1 67 35.1 67.5L35.1 67.5C35.1 68 34.7 68.4 34.2 68.4L25.8 68.4C25.3 68.4 24.9 68 24.9 67.5L24.9 67.5C24.9 67 25.3 66.6 25.8 66.6ZM25.8 82.6L34.2 82.6C34.7 82.6 35.1 83 35.1 83.5L35.1 83.5C35.1 84 34.7 84.4 34.2 84.4L25.8 84.4C25.3 84.4 24.9 84 24.9 83.5L24.9 83.5C24.9 83 25.3 82.6 25.8 82.6ZM25.8 98.6L34.2 98.6C34.7 98.6 35.1 99 35.1 99.5L35.1 99.5C35.1 100 34.7 100.4 34.2 100.4L25.8 100.4C25.3 100.4 24.9 100 24.9 99.5L24.9 99.5C24.9 99 25.3 98.6 25.8 98.6Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M47.6 16L52.4 16C53.3 16 54 16.7 54 17.6L54 29.8C54 30.7 53.3 31.4 52.4 31.4L47.6 31.4C46.7 31.4 46 30.7 46 29.8L46 17.6C46 16.7 46.7 16 47.6 16ZM47.6 32L52.4 32C53.3 32 54 32.7 54 33.6L54 45.8C54 46.7 53.3 47.4 52.4 47.4L47.6 47.4C46.7 47.4 46 46.7 46 45.8L46 33.6C46 32.7 46.7 32 47.6 32ZM47.6 48L52.4 48C53.3 48 54 48.7 54 49.6L54 61.8C54 62.7 53.3 63.4 52.4 63.4L47.6 63.4C46.7 63.4 46 62.7 46 61.8L46 49.6C46 48.7 46.7 48 47.6 48ZM47.6 64L52.4 64C53.3 64 54 64.7 54 65.6L54 77.8C54 78.7 53.3 79.4 52.4 79.4L47.6 79.4C46.7 79.4 46 78.7 46 77.8L46 65.6C46 64.7 46.7 64 47.6 64ZM47.6 80L52.4 80C53.3 80 54 80.7 54 81.6L54 93.8C54 94.7 53.3 95.4 52.4 95.4L47.6 95.4C46.7 95.4 46 94.7 46 93.8L46 81.6C46 80.7 46.7 80 47.6 80ZM47.6 96L52.4 96C53.3 96 54 96.7 54 97.6L54 109.8C54 110.7 53.3 111.4 52.4 111.4L47.6 111.4C46.7 111.4 46 110.7 46 109.8L46 97.6C46 96.7 46.7 96 47.6 96Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 16L52.8 16C53.5 16 54 16.5 54 17.2L54 30.2C54 30.9 53.5 31.4 52.8 31.4L52 31.4C51.3 31.4 50.8 30.9 50.8 30.2L50.8 17.2C50.8 16.5 51.3 16 52 16ZM52 32L52.8 32C53.5 32 54 32.5 54 33.2L54 46.2C54 46.9 53.5 47.4 52.8 47.4L52 47.4C51.3 47.4 50.8 46.9 50.8 46.2L50.8 33.2C50.8 32.5 51.3 32 52 32ZM52 48L52.8 48C53.5 48 54 48.5 54 49.2L54 62.2C54 62.9 53.5 63.4 52.8 63.4L52 63.4C51.3 63.4 50.8 62.9 50.8 62.2L50.8 49.2C50.8 48.5 51.3 48 52 48ZM52 64L52.8 64C53.5 64 54 64.5 54 65.2L54 78.2C54 78.9 53.5 79.4 52.8 79.4L52 79.4C51.3 79.4 50.8 78.9 50.8 78.2L50.8 65.2C50.8 64.5 51.3 64 52 64ZM52 80L52.8 80C53.5 80 54 80.5 54 81.2L54 94.2C54 94.9 53.5 95.4 52.8 95.4L52 95.4C51.3 95.4 50.8 94.9 50.8 94.2L50.8 81.2C50.8 80.5 51.3 80 52 80ZM52 96L52.8 96C53.5 96 54 96.5 54 97.2L54 110.2C54 110.9 53.5 111.4 52.8 111.4L52 111.4C51.3 111.4 50.8 110.9 50.8 110.2L50.8 97.2C50.8 96.5 51.3 96 52 96Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: '#5d8a2a',
|
||||
d: 'M46.3 30.6L53.7 30.6C54.2 30.6 54.6 31 54.6 31.5L54.6 31.5C54.6 32 54.2 32.4 53.7 32.4L46.3 32.4C45.8 32.4 45.4 32 45.4 31.5L45.4 31.5C45.4 31 45.8 30.6 46.3 30.6ZM46.3 46.6L53.7 46.6C54.2 46.6 54.6 47 54.6 47.5L54.6 47.5C54.6 48 54.2 48.4 53.7 48.4L46.3 48.4C45.8 48.4 45.4 48 45.4 47.5L45.4 47.5C45.4 47 45.8 46.6 46.3 46.6ZM46.3 62.6L53.7 62.6C54.2 62.6 54.6 63 54.6 63.5L54.6 63.5C54.6 64 54.2 64.4 53.7 64.4L46.3 64.4C45.8 64.4 45.4 64 45.4 63.5L45.4 63.5C45.4 63 45.8 62.6 46.3 62.6ZM46.3 78.6L53.7 78.6C54.2 78.6 54.6 79 54.6 79.5L54.6 79.5C54.6 80 54.2 80.4 53.7 80.4L46.3 80.4C45.8 80.4 45.4 80 45.4 79.5L45.4 79.5C45.4 79 45.8 78.6 46.3 78.6ZM46.3 94.6L53.7 94.6C54.2 94.6 54.6 95 54.6 95.5L54.6 95.5C54.6 96 54.2 96.4 53.7 96.4L46.3 96.4C45.8 96.4 45.4 96 45.4 95.5L45.4 95.5C45.4 95 45.8 94.6 46.3 94.6ZM46.3 110.6L53.7 110.6C54.2 110.6 54.6 111 54.6 111.5L54.6 111.5C54.6 112 54.2 112.4 53.7 112.4L46.3 112.4C45.8 112.4 45.4 112 45.4 111.5L45.4 111.5C45.4 111 45.8 110.6 46.3 110.6Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M67.3 0L72.7 0C73.7 0 74.5 0.8 74.5 1.8L74.5 13.6C74.5 14.6 73.7 15.4 72.7 15.4L67.3 15.4C66.3 15.4 65.5 14.6 65.5 13.6L65.5 1.8C65.5 0.8 66.3 0 67.3 0ZM67.3 16L72.7 16C73.7 16 74.5 16.8 74.5 17.8L74.5 29.6C74.5 30.6 73.7 31.4 72.7 31.4L67.3 31.4C66.3 31.4 65.5 30.6 65.5 29.6L65.5 17.8C65.5 16.8 66.3 16 67.3 16ZM67.3 32L72.7 32C73.7 32 74.5 32.8 74.5 33.8L74.5 45.6C74.5 46.6 73.7 47.4 72.7 47.4L67.3 47.4C66.3 47.4 65.5 46.6 65.5 45.6L65.5 33.8C65.5 32.8 66.3 32 67.3 32ZM67.3 48L72.7 48C73.7 48 74.5 48.8 74.5 49.8L74.5 61.6C74.5 62.6 73.7 63.4 72.7 63.4L67.3 63.4C66.3 63.4 65.5 62.6 65.5 61.6L65.5 49.8C65.5 48.8 66.3 48 67.3 48ZM67.3 64L72.7 64C73.7 64 74.5 64.8 74.5 65.8L74.5 77.6C74.5 78.6 73.7 79.4 72.7 79.4L67.3 79.4C66.3 79.4 65.5 78.6 65.5 77.6L65.5 65.8C65.5 64.8 66.3 64 67.3 64ZM67.3 80L72.7 80C73.7 80 74.5 80.8 74.5 81.8L74.5 93.6C74.5 94.6 73.7 95.4 72.7 95.4L67.3 95.4C66.3 95.4 65.5 94.6 65.5 93.6L65.5 81.8C65.5 80.8 66.3 80 67.3 80ZM67.3 96L72.7 96C73.7 96 74.5 96.8 74.5 97.8L74.5 109.6C74.5 110.6 73.7 111.4 72.7 111.4L67.3 111.4C66.3 111.4 65.5 110.6 65.5 109.6L65.5 97.8C65.5 96.8 66.3 96 67.3 96Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M72.3 0L73.2 0C73.9 0 74.5 0.6 74.5 1.3L74.5 14.1C74.5 14.8 73.9 15.4 73.2 15.4L72.3 15.4C71.5 15.4 70.9 14.8 70.9 14.1L70.9 1.3C70.9 0.6 71.5 0 72.3 0ZM72.3 16L73.2 16C73.9 16 74.5 16.6 74.5 17.4L74.5 30.1C74.5 30.8 73.9 31.4 73.2 31.4L72.3 31.4C71.5 31.4 70.9 30.8 70.9 30.1L70.9 17.4C70.9 16.6 71.5 16 72.3 16ZM72.3 32L73.2 32C73.9 32 74.5 32.6 74.5 33.4L74.5 46.1C74.5 46.8 73.9 47.4 73.2 47.4L72.3 47.4C71.5 47.4 70.9 46.8 70.9 46.1L70.9 33.4C70.9 32.6 71.5 32 72.3 32ZM72.3 48L73.2 48C73.9 48 74.5 48.6 74.5 49.4L74.5 62.1C74.5 62.8 73.9 63.4 73.2 63.4L72.3 63.4C71.5 63.4 70.9 62.8 70.9 62.1L70.9 49.4C70.9 48.6 71.5 48 72.3 48ZM72.3 64L73.2 64C73.9 64 74.5 64.6 74.5 65.4L74.5 78.1C74.5 78.8 73.9 79.4 73.2 79.4L72.3 79.4C71.5 79.4 70.9 78.8 70.9 78.1L70.9 65.4C70.9 64.6 71.5 64 72.3 64ZM72.3 80L73.2 80C73.9 80 74.5 80.6 74.5 81.4L74.5 94.1C74.5 94.8 73.9 95.4 73.2 95.4L72.3 95.4C71.5 95.4 70.9 94.8 70.9 94.1L70.9 81.4C70.9 80.6 71.5 80 72.3 80ZM72.3 96L73.2 96C73.9 96 74.5 96.6 74.5 97.4L74.5 110.1C74.5 110.8 73.9 111.4 73.2 111.4L72.3 111.4C71.5 111.4 70.9 110.8 70.9 110.1L70.9 97.4C70.9 96.6 71.5 96 72.3 96Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: '#5d8a2a',
|
||||
d: 'M65.8 14.6L74.2 14.6C74.7 14.6 75.1 15 75.1 15.5L75.1 15.5C75.1 16 74.7 16.4 74.2 16.4L65.8 16.4C65.3 16.4 64.9 16 64.9 15.5L64.9 15.5C64.9 15 65.3 14.6 65.8 14.6ZM65.8 30.6L74.2 30.6C74.7 30.6 75.1 31 75.1 31.5L75.1 31.5C75.1 32 74.7 32.4 74.2 32.4L65.8 32.4C65.3 32.4 64.9 32 64.9 31.5L64.9 31.5C64.9 31 65.3 30.6 65.8 30.6ZM65.8 46.6L74.2 46.6C74.7 46.6 75.1 47 75.1 47.5L75.1 47.5C75.1 48 74.7 48.4 74.2 48.4L65.8 48.4C65.3 48.4 64.9 48 64.9 47.5L64.9 47.5C64.9 47 65.3 46.6 65.8 46.6ZM65.8 62.6L74.2 62.6C74.7 62.6 75.1 63 75.1 63.5L75.1 63.5C75.1 64 74.7 64.4 74.2 64.4L65.8 64.4C65.3 64.4 64.9 64 64.9 63.5L64.9 63.5C64.9 63 65.3 62.6 65.8 62.6ZM65.8 78.6L74.2 78.6C74.7 78.6 75.1 79 75.1 79.5L75.1 79.5C75.1 80 74.7 80.4 74.2 80.4L65.8 80.4C65.3 80.4 64.9 80 64.9 79.5L64.9 79.5C64.9 79 65.3 78.6 65.8 78.6ZM65.8 94.6L74.2 94.6C74.7 94.6 75.1 95 75.1 95.5L75.1 95.5C75.1 96 74.7 96.4 74.2 96.4L65.8 96.4C65.3 96.4 64.9 96 64.9 95.5L64.9 95.5C64.9 95 65.3 94.6 65.8 94.6ZM65.8 110.6L74.2 110.6C74.7 110.6 75.1 111 75.1 111.5L75.1 111.5C75.1 112 74.7 112.4 74.2 112.4L65.8 112.4C65.3 112.4 64.9 112 64.9 111.5L64.9 111.5C64.9 111 65.3 110.6 65.8 110.6Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M34 36C35 36.3 38.1 37.5 42.4 36.3C50.2 34.2 54.5 30.8 56 30C54.3 30.1 48.9 29.3 41 31.5C36.8 32.6 34.7 35.3 34 36ZM34 36C34.7 36.6 36.7 39.1 40.5 39.9C47.7 41.3 52.5 40.1 54 40C52.6 39.3 48.6 36.4 41.5 34.9C37.6 34.2 34.9 35.7 34 36ZM66 22C65.3 21.2 63.4 18.4 59.2 16.9C51.3 14 45.7 14.2 44 14C45.4 14.9 49.6 18.7 57.4 21.5C61.7 23.1 65 22.2 66 22ZM66 22C65.2 21.6 62.6 19.8 58.8 20.2C51.6 20.9 47.4 23.5 46 24C47.5 24.2 52.1 25.9 59.2 25.2C63.1 24.8 65.3 22.6 66 22ZM74 54C75 54.3 78.1 55.5 82.4 54.3C90.2 52.2 94.5 48.8 96 48C94.3 48.1 88.9 47.3 81 49.5C76.8 50.6 74.7 53.3 74 54ZM74 54C74.6 54.7 76.4 57.3 80.3 58.5C87.4 60.6 92.5 59.9 94 60C92.7 59.2 88.9 55.9 81.7 53.7C77.9 52.6 74.9 53.8 74 54ZM26 66C25.3 65.3 23.2 62.6 19 61.5C11.1 59.3 5.7 60.1 4 60C5.5 60.8 9.8 64.2 17.6 66.3C21.9 67.5 25 66.3 26 66ZM26 66C25.1 65.8 22.1 64.6 18.3 65.7C11.1 67.9 7.3 71.2 6 72C7.5 71.9 12.6 72.6 19.7 70.5C23.6 69.3 25.4 66.7 26 66ZM54 76C54.9 76.3 57.9 77.8 62.1 77.1C70 75.6 74.5 72.7 76 72C74.4 71.9 69.1 70.7 61.3 72.1C57 72.9 54.8 75.4 54 76Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M34 36C35 36.3 38.1 37.5 42.4 36.3C50.2 34.2 54.5 30.8 56 30L34 36ZM66 22C65.3 21.2 63.4 18.4 59.2 16.9C51.3 14 45.7 14.2 44 14L66 22ZM74 54C75 54.3 78.1 55.5 82.4 54.3C90.2 52.2 94.5 48.8 96 48L74 54ZM26 66C25.3 65.3 23.2 62.6 19 61.5C11.1 59.3 5.7 60.1 4 60L26 66Z',
|
||||
o: 0.2,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'foldingFan',
|
||||
theme: 'asia',
|
||||
tags: ['fan', 'folding fan', 'sensu', 'japan', 'spain', 'summer', 'geisha', 'flamenco'],
|
||||
descr:
|
||||
'An open folding fan with pleated paper in alternating tones, painted with a red sun and a blossom branch, on dark ribs.',
|
||||
box: [100, 84],
|
||||
slots: [
|
||||
{ name: 'paper', color: '#f3e3c3' },
|
||||
{ name: 'ribs', color: '#5a3825' },
|
||||
{ name: 'motif', color: '#e63946' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 78L29.3 70.5M50 78L30.9 67M50 78L33.1 63.9M50 78L35.9 61.1M50 78L39 58.9M50 78L42.5 57.3M50 78L46.2 56.3M50 78L50 56M50 78L53.8 56.3M50 78L57.5 57.3M50 78L61 58.9M50 78L64.1 61.1M50 78L66.9 63.9M50 78L69.1 67M50 78L70.7 70.5',
|
||||
w: 1.6,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M31.2 71.2L-15.8 54.1L-10.6 43L32.7 68ZM32.7 68L-10.6 43L-3.6 33L34.7 65.1ZM34.7 65.1L-3.6 33L5 24.4L37.1 62.7ZM37.1 62.7L5 24.4L15 17.4L40 60.7ZM40 60.7L15 17.4L26.1 12.2L43.2 59.2ZM43.2 59.2L26.1 12.2L37.8 9.1L46.5 58.3ZM46.5 58.3L37.8 9.1L50 8L50 58ZM50 58L50 8L62.2 9.1L53.5 58.3ZM53.5 58.3L62.2 9.1L73.9 12.2L56.8 59.2ZM56.8 59.2L73.9 12.2L85 17.4L60 60.7ZM60 60.7L85 17.4L95 24.4L62.9 62.7ZM62.9 62.7L95 24.4L103.6 33L65.3 65.1ZM65.3 65.1L103.6 33L110.6 43L67.3 68ZM67.3 68L110.6 43L115.8 54.1L68.8 71.2Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M32.7 68L-10.6 43L-3.6 33L34.7 65.1ZM37.1 62.7L5 24.4L15 17.4L40 60.7ZM43.2 59.2L26.1 12.2L37.8 9.1L46.5 58.3ZM50 58L50 8L62.2 9.1L53.5 58.3ZM56.8 59.2L73.9 12.2L85 17.4L60 60.7ZM62.9 62.7L95 24.4L103.6 33L65.3 65.1ZM67.3 68L110.6 43L115.8 54.1L68.8 71.2Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{ p: 2, d: 'M73 34C73 39 69 43 64 43C59 43 55 39 55 34C55 29 59 25 64 25C69 25 73 29 73 34Z' },
|
||||
{ p: '#4a3428', d: 'M24 58C32 46 42 38 56 32M36 46C36 40 38 36 40 32', w: 1.2 },
|
||||
{
|
||||
p: '#f7b2c4',
|
||||
d: 'M33.8 50C33.8 51 33 51.8 32 51.8C31 51.8 30.2 51 30.2 50C30.2 49 31 48.2 32 48.2C33 48.2 33.8 49 33.8 50ZM32.4 51.9C32.4 52.9 31.6 53.7 30.6 53.7C29.6 53.7 28.8 52.9 28.8 51.9C28.8 50.9 29.6 50.1 30.6 50.1C31.6 50.1 32.4 50.9 32.4 51.9ZM30.2 51.2C30.2 52.2 29.4 53 28.4 53C27.4 53 26.6 52.2 26.6 51.2C26.6 50.2 27.4 49.4 28.4 49.4C29.4 49.4 30.2 50.2 30.2 51.2ZM30.2 48.8C30.2 49.8 29.4 50.6 28.4 50.6C27.4 50.6 26.6 49.8 26.6 48.8C26.6 47.8 27.4 47 28.4 47C29.4 47 30.2 47.8 30.2 48.8ZM32.4 48.1C32.4 49.1 31.6 49.9 30.6 49.9C29.6 49.9 28.8 49.1 28.8 48.1C28.8 47.1 29.6 46.3 30.6 46.3C31.6 46.3 32.4 47.1 32.4 48.1ZM43.8 34C43.8 35 43 35.8 42 35.8C41 35.8 40.2 35 40.2 34C40.2 33 41 32.2 42 32.2C43 32.2 43.8 33 43.8 34ZM42.4 35.9C42.4 36.9 41.6 37.7 40.6 37.7C39.6 37.7 38.8 36.9 38.8 35.9C38.8 34.9 39.6 34.1 40.6 34.1C41.6 34.1 42.4 34.9 42.4 35.9ZM40.2 35.2C40.2 36.2 39.4 37 38.4 37C37.4 37 36.6 36.2 36.6 35.2C36.6 34.2 37.4 33.4 38.4 33.4C39.4 33.4 40.2 34.2 40.2 35.2ZM40.2 32.8C40.2 33.8 39.4 34.6 38.4 34.6C37.4 34.6 36.6 33.8 36.6 32.8C36.6 31.8 37.4 31 38.4 31C39.4 31 40.2 31.8 40.2 32.8ZM42.4 32.1C42.4 33.1 41.6 33.9 40.6 33.9C39.6 33.9 38.8 33.1 38.8 32.1C38.8 31.1 39.6 30.3 40.6 30.3C41.6 30.3 42.4 31.1 42.4 32.1ZM51.8 38C51.8 39 51 39.8 50 39.8C49 39.8 48.2 39 48.2 38C48.2 37 49 36.2 50 36.2C51 36.2 51.8 37 51.8 38ZM50.4 39.9C50.4 40.9 49.6 41.7 48.6 41.7C47.6 41.7 46.8 40.9 46.8 39.9C46.8 38.9 47.6 38.1 48.6 38.1C49.6 38.1 50.4 38.9 50.4 39.9ZM48.2 39.2C48.2 40.2 47.4 41 46.4 41C45.4 41 44.6 40.2 44.6 39.2C44.6 38.2 45.4 37.4 46.4 37.4C47.4 37.4 48.2 38.2 48.2 39.2ZM48.2 36.8C48.2 37.8 47.4 38.6 46.4 38.6C45.4 38.6 44.6 37.8 44.6 36.8C44.6 35.8 45.4 35 46.4 35C47.4 35 48.2 35.8 48.2 36.8ZM50.4 36.1C50.4 37.1 49.6 37.9 48.6 37.9C47.6 37.9 46.8 37.1 46.8 36.1C46.8 35.1 47.6 34.3 48.6 34.3C49.6 34.3 50.4 35.1 50.4 36.1ZM29.8 56C29.8 57 29 57.8 28 57.8C27 57.8 26.2 57 26.2 56C26.2 55 27 54.2 28 54.2C29 54.2 29.8 55 29.8 56ZM28.4 57.9C28.4 58.9 27.6 59.7 26.6 59.7C25.6 59.7 24.8 58.9 24.8 57.9C24.8 56.9 25.6 56.1 26.6 56.1C27.6 56.1 28.4 56.9 28.4 57.9ZM26.2 57.2C26.2 58.2 25.4 59 24.4 59C23.4 59 22.6 58.2 22.6 57.2C22.6 56.2 23.4 55.4 24.4 55.4C25.4 55.4 26.2 56.2 26.2 57.2ZM26.2 54.8C26.2 55.8 25.4 56.6 24.4 56.6C23.4 56.6 22.6 55.8 22.6 54.8C22.6 53.8 23.4 53 24.4 53C25.4 53 26.2 53.8 26.2 54.8ZM28.4 54.1C28.4 55.1 27.6 55.9 26.6 55.9C25.6 55.9 24.8 55.1 24.8 54.1C24.8 53.1 25.6 52.3 26.6 52.3C27.6 52.3 28.4 53.1 28.4 54.1Z',
|
||||
},
|
||||
{ p: 1, d: 'M36.8 73.2L-16.7 53.7M63.2 73.2L116.7 53.7', w: 2.4 },
|
||||
{ p: 1, d: 'M53 78C53 79.7 51.7 81 50 81C48.3 81 47 79.7 47 78C47 76.3 48.3 75 50 75C51.7 75 53 76.3 53 78Z' },
|
||||
{
|
||||
p: '#e9b44c',
|
||||
d: 'M51.2 78C51.2 78.7 50.7 79.2 50 79.2C49.3 79.2 48.8 78.7 48.8 78C48.8 77.3 49.3 76.8 50 76.8C50.7 76.8 51.2 77.3 51.2 78Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'lotus',
|
||||
theme: 'asia',
|
||||
tags: ['lotus', 'water lily', 'flower', 'india', 'yoga', 'pond', 'pink', 'zen'],
|
||||
descr: 'A pink lotus flower open on the water, its pointed petals in two rows above a flat green leaf.',
|
||||
box: [100, 80],
|
||||
slots: [
|
||||
{ name: 'petals', color: '#f497b6' },
|
||||
{ name: 'leaf', color: '#4caf7d' },
|
||||
{ name: 'tips', color: '#d6336c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M4 64C4 56 26 50 50 50C74 50 96 56 96 64C96 72 74 78 50 78C34 78 20 75 12 70L50 64Z' },
|
||||
{ p: 'shade', d: 'M50 64L12 70C20 75 34 78 50 78C74 78 96 72 96 64C88 70 70 72 50 72Z', o: 0.15 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 62C48.5 59.3 44.4 49.4 32.9 43.9C21.3 38.4 10.9 41.9 8 42C9.7 44.3 13.6 54.6 25.1 60.1C36.7 65.6 46.9 62.5 50 62ZM50 62C53.1 62.5 63.3 65.6 74.9 60.1C86.4 54.6 90.3 44.3 92 42C89.1 41.9 78.7 38.4 67.1 43.9C55.6 49.4 51.5 59.3 50 62Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 62C48.5 59.3 44.4 49.4 32.9 43.9C21.3 38.4 10.9 41.9 8 42C9.7 44.3 13.6 54.6 25.1 60.1C36.7 65.6 46.9 62.5 50 62ZM50 62C53.1 62.5 63.3 65.6 74.9 60.1C86.4 54.6 90.3 44.3 92 42C89.1 41.9 78.7 38.4 67.1 43.9C55.6 49.4 51.5 59.3 50 62Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 62C49.9 58.8 51.1 47.8 43.4 36.8C35.7 25.8 24.6 23.4 22 22C22.4 25 20.9 36.2 28.6 47.2C36.3 58.2 47 60.8 50 62ZM50 62C53 60.8 63.7 58.2 71.4 47.2C79.1 36.2 77.6 25 78 22C75.4 23.4 64.3 25.8 56.6 36.8C48.9 47.8 50.1 58.8 50 62Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M30 30C29.9 29 30 25.7 27.3 23.1C25.6 21.3 22.7 22 22 22C22 22.7 21.3 25.6 23.1 27.3C25.7 30 29 29.9 30 30ZM70 30C71 29.9 74.3 30 76.9 27.3C78.7 25.6 78 22.7 78 22C77.3 22 74.4 21.3 72.7 23.1C70 25.7 70.1 29 70 30Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{ p: 0, d: 'M50 62C52.2 59 61 49.9 61 35C61 20.2 51.7 11 50 8C48.4 11 39 20.2 39 35C39 49.9 47.8 59 50 62Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M50 18C50.8 17.3 54 15.3 54 12C54 9.8 50.6 8.4 50 8C49.4 8.4 46 9.8 46 12C46 15.3 49.2 17.3 50 18Z',
|
||||
o: 0.55,
|
||||
},
|
||||
{ p: 'shade', d: 'M50 62C52.2 59 61 49.9 61 35C61 20.2 51.7 11 50 8L50 62Z', o: 0.1 },
|
||||
{ p: 'light', d: 'M50 56L50 20M44 56L28 30M56 56L72 30', o: 0.45, w: 0.8 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'templeArch',
|
||||
theme: 'asia',
|
||||
tags: ['arch', 'temple', 'india', 'mughal', 'frame', 'window', 'palace', 'jaipur'],
|
||||
descr:
|
||||
'A Mughal-style pointed temple arch in sandstone with a scalloped inner edge and carved columns, open in the middle like a frame.',
|
||||
box: [90, 110],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#e3a36b' },
|
||||
{ name: 'carving', color: '#b5693f' },
|
||||
{ name: 'inlay', color: '#2f9c95' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M4 108L4 40C4 20 24 6 45 2C66 6 86 20 86 40L86 108L70 108L70 46C70 30 58 18 45 14C32 18 20 30 20 46L20 108Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M20 108L20 46C20 30 32 18 45 14C58 18 70 30 70 46L70 108L66 108L66 47C66 33 56 23 45 19C34 23 24 33 24 47L24 108Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M23 37.1C23 38.4 21.9 39.5 20.6 39.5C19.2 39.5 18.2 38.4 18.2 37.1C18.2 35.8 19.2 34.7 20.6 34.7C21.9 34.7 23 35.8 23 37.1ZM26.8 30.2C26.8 31.5 25.7 32.6 24.4 32.6C23 32.6 22 31.5 22 30.2C22 28.8 23 27.8 24.4 27.8C25.7 27.8 26.8 28.8 26.8 30.2ZM32.5 24.7C32.5 26 31.4 27.1 30.1 27.1C28.8 27.1 27.7 26 27.7 24.7C27.7 23.4 28.8 22.3 30.1 22.3C31.4 22.3 32.5 23.4 32.5 24.7ZM39.6 21.2C39.6 22.5 38.5 23.6 37.2 23.6C35.9 23.6 34.8 22.5 34.8 21.2C34.8 19.9 35.9 18.8 37.2 18.8C38.5 18.8 39.6 19.9 39.6 21.2ZM47.4 20C47.4 21.3 46.3 22.4 45 22.4C43.7 22.4 42.6 21.3 42.6 20C42.6 18.7 43.7 17.6 45 17.6C46.3 17.6 47.4 18.7 47.4 20ZM55.2 21.2C55.2 22.5 54.1 23.6 52.8 23.6C51.5 23.6 50.4 22.5 50.4 21.2C50.4 19.9 51.5 18.8 52.8 18.8C54.1 18.8 55.2 19.9 55.2 21.2ZM62.3 24.7C62.3 26 61.2 27.1 59.9 27.1C58.6 27.1 57.5 26 57.5 24.7C57.5 23.4 58.6 22.3 59.9 22.3C61.2 22.3 62.3 23.4 62.3 24.7ZM68 30.2C68 31.5 67 32.6 65.6 32.6C64.3 32.6 63.2 31.5 63.2 30.2C63.2 28.8 64.3 27.8 65.6 27.8C67 27.8 68 28.8 68 30.2ZM71.8 37.1C71.8 38.4 70.8 39.5 69.4 39.5C68.1 39.5 67 38.4 67 37.1C67 35.8 68.1 34.7 69.4 34.7C70.8 34.7 71.8 35.8 71.8 37.1Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M12 50L12 50C14.2 50 16 51.8 16 54L16 100C16 102.2 14.2 104 12 104L12 104C9.8 104 8 102.2 8 100L8 54C8 51.8 9.8 50 12 50ZM78 50L78 50C80.2 50 82 51.8 82 54L82 100C82 102.2 80.2 104 78 104L78 104C75.8 104 74 102.2 74 100L74 54C74 51.8 75.8 50 78 50Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M12 52L12 52C13.3 52 14.4 53.1 14.4 54.4L14.4 99.6C14.4 100.9 13.3 102 12 102L12 102C10.7 102 9.6 100.9 9.6 99.6L9.6 54.4C9.6 53.1 10.7 52 12 52ZM78 52L78 52C79.3 52 80.4 53.1 80.4 54.4L80.4 99.6C80.4 100.9 79.3 102 78 102L78 102C76.7 102 75.6 100.9 75.6 99.6L75.6 54.4C75.6 53.1 76.7 52 78 52Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M8 56L16 56L16 57.4L8 57.4ZM74 56L82 56L82 57.4L74 57.4ZM8 68L16 68L16 69.4L8 69.4ZM74 68L82 68L82 69.4L74 69.4ZM8 80L16 80L16 81.4L8 81.4ZM74 80L82 80L82 81.4L74 81.4ZM8 92L16 92L16 93.4L8 93.4ZM74 92L82 92L82 93.4L74 93.4Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M45 6L48 10L45 14L42 10ZM16.4 28C16.4 29.3 15.3 30.4 14 30.4C12.7 30.4 11.6 29.3 11.6 28C11.6 26.7 12.7 25.6 14 25.6C15.3 25.6 16.4 26.7 16.4 28ZM78.4 28C78.4 29.3 77.3 30.4 76 30.4C74.7 30.4 73.6 29.3 73.6 28C73.6 26.7 74.7 25.6 76 25.6C77.3 25.6 78.4 26.7 78.4 28Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M45 2C66 6 86 20 86 40L86 108L80 108L80 40C80 24 64 10 45 2Z', o: 0.15 },
|
||||
{ p: 0, d: 'M0 104L24 104L24 110L0 110ZM66 104L90 104L90 110L66 110Z' },
|
||||
{ p: 'shade', d: 'M0 108L24 108L24 110L0 110ZM66 108L90 108L90 110L66 110Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'elephant',
|
||||
theme: 'asia',
|
||||
tags: ['elephant', 'india', 'thailand', 'festival', 'animal', 'decorated', 'safari', 'jaipur'],
|
||||
descr:
|
||||
'An Indian elephant in profile facing left, its trunk curled up, wearing a red and gold saddle cloth and a painted forehead.',
|
||||
box: [110, 90],
|
||||
slots: [
|
||||
{ name: 'skin', color: '#8e9aaf' },
|
||||
{ name: 'cloth', color: '#c8102e' },
|
||||
{ name: 'gold', color: '#e9b44c' },
|
||||
{ name: 'paint', color: '#ef476f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M30 60L30 86L42 86L42 64ZM74 62L74 86L86 86L86 60Z' },
|
||||
{ p: 'shade', d: 'M38 62L38 86L46 86L46 64ZM80 62L80 86L90 86L90 58Z', o: 0.25 },
|
||||
{ p: 0, d: 'M38 62L38 86L46 86L46 64ZM80 62L80 86L90 86L90 58Z' },
|
||||
{ p: 'shade', d: 'M30 60L30 86L42 86L42 64ZM74 62L74 86L86 86L86 60Z', o: 0.12 },
|
||||
{ p: 0, d: 'M30 30C38 22 60 20 78 22C92 24 100 34 100 46C100 56 96 64 88 66L36 66C30 66 26 60 26 54Z' },
|
||||
{ p: 0, d: 'M100 42C104 46 106 52 106 58', w: 2 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M34 28C24 22 14 24 12 34C10 42 12 50 10 58C8 66 4 70 4 74C4 78 8 78 10 74C12 70 14 66 16 60C18 54 20 50 24 50L30 54Z',
|
||||
},
|
||||
{ p: 0, d: 'M4 74C2 70 4 66 8 66', w: 4 },
|
||||
{ p: 'shade', d: 'M30 30C22 34 20 40 22 48C26 46 30 42 32 36Z', o: 0.18 },
|
||||
{ p: 0, d: 'M32 24C44 20 52 28 52 40C52 50 46 56 38 56C34 50 32 40 32 24Z' },
|
||||
{ p: 'shade', d: 'M32 24C44 20 52 28 52 40C52 50 46 56 38 56C40 46 40 34 32 24Z', o: 0.15 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M25.4 34C25.4 34.8 24.8 35.4 24 35.4C23.2 35.4 22.6 34.8 22.6 34C22.6 33.2 23.2 32.6 24 32.6C24.8 32.6 25.4 33.2 25.4 34Z',
|
||||
},
|
||||
{ p: '#fbf8f0', d: 'M16 52C14 56 10 58 6 58', w: 2.4 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M21.4 23.6C21.4 24.4 20.8 25 20 25C19.2 25 18.6 24.4 18.6 23.6C18.6 22.8 19.2 22.2 20 22.2C20.8 22.2 21.4 22.8 21.4 23.6ZM23.7 25.3C23.7 26 23.1 26.7 22.3 26.7C21.5 26.7 20.9 26 20.9 25.3C20.9 24.5 21.5 23.9 22.3 23.9C23.1 23.9 23.7 24.5 23.7 25.3ZM22.8 27.9C22.8 28.7 22.2 29.3 21.4 29.3C20.6 29.3 20 28.7 20 27.9C20 27.2 20.6 26.5 21.4 26.5C22.2 26.5 22.8 27.2 22.8 27.9ZM20 27.9C20 28.7 19.4 29.3 18.6 29.3C17.8 29.3 17.2 28.7 17.2 27.9C17.2 27.2 17.8 26.5 18.6 26.5C19.4 26.5 20 27.2 20 27.9ZM19.1 25.3C19.1 26 18.5 26.7 17.7 26.7C16.9 26.7 16.3 26 16.3 25.3C16.3 24.5 16.9 23.9 17.7 23.9C18.5 23.9 19.1 24.5 19.1 25.3ZM21.2 26C21.2 26.7 20.7 27.2 20 27.2C19.3 27.2 18.8 26.7 18.8 26C18.8 25.3 19.3 24.8 20 24.8C20.7 24.8 21.2 25.3 21.2 26Z',
|
||||
},
|
||||
{ p: 1, d: 'M54 24L84 24C86 34 86 46 82 56L58 56C54 46 52 34 54 24Z' },
|
||||
{ p: 2, d: 'M54 24L84 24M58 56L82 56', w: 2 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M61 37L61.9 39.1L64 40L61.9 40.9L61 43L60.1 40.9L58 40L60.1 39.1ZM68 37L68.9 39.1L71 40L68.9 40.9L68 43L67.1 40.9L65 40L67.1 39.1ZM75 37L75.9 39.1L78 40L75.9 40.9L75 43L74.1 40.9L72 40L74.1 39.1Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M61.4 59C61.4 59.8 60.8 60.4 60 60.4C59.2 60.4 58.6 59.8 58.6 59C58.6 58.2 59.2 57.6 60 57.6C60.8 57.6 61.4 58.2 61.4 59ZM67.4 59C67.4 59.8 66.8 60.4 66 60.4C65.2 60.4 64.6 59.8 64.6 59C64.6 58.2 65.2 57.6 66 57.6C66.8 57.6 67.4 58.2 67.4 59ZM73.4 59C73.4 59.8 72.8 60.4 72 60.4C71.2 60.4 70.6 59.8 70.6 59C70.6 58.2 71.2 57.6 72 57.6C72.8 57.6 73.4 58.2 73.4 59ZM79.4 59C79.4 59.8 78.8 60.4 78 60.4C77.2 60.4 76.6 59.8 76.6 59C76.6 58.2 77.2 57.6 78 57.6C78.8 57.6 79.4 58.2 79.4 59Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'tukTuk',
|
||||
theme: 'asia',
|
||||
tags: ['tuk tuk', 'rickshaw', 'auto rickshaw', 'thailand', 'india', 'bangkok', 'taxi', 'street'],
|
||||
descr:
|
||||
'A three-wheeled tuk-tuk in side view: a rounded nose with one headlight, a slanted windscreen, a canvas roof over the open passenger bench.',
|
||||
box: [110, 80],
|
||||
slots: [
|
||||
{ name: 'body', color: '#2a9d5c' },
|
||||
{ name: 'roof', color: '#f6c445' },
|
||||
{ name: 'trim', color: '#2b2522' },
|
||||
{ name: 'seat', color: '#b5432f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M15 22L15 46M58 22L58 44', w: 2 },
|
||||
{ p: 1, d: 'M10 22C10 14 14 10 22 10L84 10C92 10 96 14 98 22Z' },
|
||||
{ p: 'shade', d: 'M10 22L98 22L97.6 19.6L10 19.6Z', o: 0.22 },
|
||||
{ p: '#a9d6e5', d: 'M86 24L95 24L101 44L90 44Z', o: 0.85 },
|
||||
{ p: 2, d: 'M86 22L95 22L101.4 44', w: 1.6 },
|
||||
{ p: 3, d: 'M18 44C18 40 20 38 24 38L44 38C47 38 48 40 48 44ZM62 44C62 41 64 40 66 40L74 40C76 40 77 42 77 44Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 62L6 48C6 45 8 44 12 44L62 44L64 50L78 50C80 46 84 44 90 44C98 45 103 50 103 58L103 62C103 64 101 66 99 66L10 66C8 66 6 64 6 62Z',
|
||||
},
|
||||
{ p: 1, d: 'M8 54L102 54', w: 2.4 },
|
||||
{ p: 'shade', d: 'M6 60L103 60L103 62C103 64 101 66 99 66L10 66C8 66 6 64 6 62Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M90 46C96 47 100 51 101 56', o: 0.35, w: 1.2 },
|
||||
{
|
||||
p: '#fff3c4',
|
||||
d: 'M103.2 49C103.2 50.4 102 51.6 100.6 51.6C99.2 51.6 98 50.4 98 49C98 47.6 99.2 46.4 100.6 46.4C102 46.4 103.2 47.6 103.2 49Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M35 68C35 73 31 77 26 77C21 77 17 73 17 68C17 63 21 59 26 59C31 59 35 63 35 68ZM99.4 69C99.4 73.1 96.1 76.4 92 76.4C87.9 76.4 84.6 73.1 84.6 69C84.6 64.9 87.9 61.6 92 61.6C96.1 61.6 99.4 64.9 99.4 69Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M30 68C30 70.2 28.2 72 26 72C23.8 72 22 70.2 22 68C22 65.8 23.8 64 26 64C28.2 64 30 65.8 30 68ZM95.4 69C95.4 70.9 93.9 72.4 92 72.4C90.1 72.4 88.6 70.9 88.6 69C88.6 67.1 90.1 65.6 92 65.6C93.9 65.6 95.4 67.1 95.4 69Z',
|
||||
},
|
||||
{ p: 2, d: 'M80 44L74 30L70 30', w: 1.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,211 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Doodles: hand-drawn circles, arrows, sparkles and scribbles, drawn as pen strokes. */
|
||||
export const DOODLES_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'handCircle',
|
||||
theme: 'doodles',
|
||||
tags: ['circle', 'hand drawn', 'doodle', 'highlight', 'ring', 'marker', 'pen', 'mark'],
|
||||
descr: 'A loose hand-drawn pen circle that overshoots where it closes, for ringing something on a page.',
|
||||
box: [120, 80],
|
||||
slots: [{ name: 'ink', color: '#e63946' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M16.3 25C17.4 23.9 20.3 20.4 22.9 18.6C25.6 16.7 29.1 15.3 32.3 13.8C35.6 12.4 39 10.8 42.6 9.8C46.3 8.9 50.4 8.3 54.3 8.1C58.2 7.8 62.1 8.2 66.2 8.2C70.2 8.2 75 7.3 78.6 8.1C82.3 8.9 85.1 11.4 88.3 12.9C91.5 14.5 94.7 15.7 97.8 17.4C100.8 19 104.3 20.7 106.4 22.8C108.6 24.9 109.6 27.5 110.7 30C111.7 32.4 112.8 35 112.8 37.5C112.9 40 112 42.6 111 45C110 47.4 108.4 49.7 106.8 52C105.2 54.3 103.5 56.6 101.2 58.6C98.9 60.6 96 62.4 93 64.1C89.9 65.8 86.8 67.7 83.1 68.7C79.5 69.8 75.1 70.1 71.1 70.6C67.1 71 63 71.4 58.9 71.3C54.8 71.2 50.4 71.1 46.6 70.2C42.8 69.4 39.5 67.4 36 66.1C32.4 64.8 28.2 64 25.2 62.3C22.2 60.6 20.2 58 18 55.8C15.8 53.6 13.4 51.5 11.8 49.1C10.3 46.7 9.3 44 8.8 41.5C8.3 38.9 8.4 36.2 8.8 33.7C9.2 31.1 10.1 28.6 11.1 26C12.1 23.4 12.7 20.6 14.7 18.3C16.6 16 20.1 14.2 23 12.3C25.9 10.4 30.6 7.7 32.1 6.8',
|
||||
w: 2.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'underlineSwoosh',
|
||||
theme: 'doodles',
|
||||
tags: ['underline', 'swoosh', 'brush stroke', 'doodle', 'emphasis', 'line', 'marker', 'hand drawn'],
|
||||
descr: 'A hand-drawn double underline swoosh, the second stroke shorter and returning under the first.',
|
||||
box: [120, 30],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M4 16C8.3 15 20.3 11.3 30 10C39.7 8.7 51.3 8.2 62 8C72.7 7.8 85 8.3 94 9C103 9.7 112.3 11.5 116 12',
|
||||
w: 2.8,
|
||||
},
|
||||
{ p: 0, d: 'M22 22C26.7 21.2 40.7 18 50 17C59.3 16 69 15.8 78 16C87 16.2 99.7 17.7 104 18', w: 2.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'markerHighlight',
|
||||
theme: 'doodles',
|
||||
tags: ['highlight', 'marker', 'highlighter', 'scribble', 'emphasis', 'brush', 'band', 'note'],
|
||||
descr: 'A translucent yellow highlighter band with frayed square ends, to lay behind a word.',
|
||||
box: [120, 30],
|
||||
slots: [{ name: 'marker', color: '#ffe066' }],
|
||||
layers: [
|
||||
{ p: 0, d: 'M6 6.6L114 5.2L116 9L113.4 13L116.4 18L114 24.4L5.6 25L3.4 20L6.4 15L3.6 10Z', o: 0.8 },
|
||||
{ p: 0, d: 'M10 10L110 9L110 21L10 22Z', o: 0.35 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'handArrow',
|
||||
theme: 'doodles',
|
||||
tags: ['arrow', 'hand drawn', 'pointer', 'doodle', 'right', 'this way', 'sketch', 'direction'],
|
||||
descr: 'A plain hand-drawn arrow in a gentle arc, pointing right.',
|
||||
box: [100, 50],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{ p: 0, d: 'M6 40C10 38 20.7 30.7 30 28C39.3 25.3 51.7 23.7 62 24C72.3 24.3 87 29 92 30', w: 2.6 },
|
||||
{ p: 0, d: 'M82.5 33.2L92 30L84.5 23.4', w: 2.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'curlyArrow',
|
||||
theme: 'doodles',
|
||||
tags: ['arrow', 'curly arrow', 'loop', 'doodle', 'pointer', 'hand drawn', 'direction', 'look here'],
|
||||
descr: 'A hand-drawn arrow that loops once on its way and points up to the right.',
|
||||
box: [100, 80],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 70C9 69.3 18.3 68.7 24 66C29.7 63.3 36.7 58.7 40 54C43.3 49.3 44.7 42.3 44 38C43.3 33.7 39 29 36 28C33 27 27.7 29.3 26 32C24.3 34.7 24 41 26 44C28 47 32.7 49.7 38 50C43.3 50.3 51.7 49 58 46C64.3 43 70.3 36.7 76 32C81.7 27.3 89.3 20.3 92 18',
|
||||
w: 2.4,
|
||||
},
|
||||
{ p: 0, d: 'M88.8 26.4L92 18L83.2 20.1', w: 2.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'loopArrow',
|
||||
theme: 'doodles',
|
||||
tags: ['arrow', 'loop arrow', 'curved arrow', 'doodle', 'pointer', 'hand drawn', 'down', 'direction'],
|
||||
descr: 'A hand-drawn arrow sweeping right, curling into a small loop and pointing down.',
|
||||
box: [100, 80],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M8 18C11.7 17 22 12.3 30 12C38 11.7 48.7 13 56 16C63.3 19 70 24.7 74 30C78 35.3 80.7 43 80 48C79.3 53 74 58.3 70 60C66 61.7 58.7 60.3 56 58C53.3 55.7 52.3 48.7 54 46C55.7 43.3 61.3 41 66 42C70.7 43 78 47.3 82 52C86 56.7 88.7 67 90 70',
|
||||
w: 2.4,
|
||||
},
|
||||
{ p: 0, d: 'M82.9 64.5L90 70L90.6 61', w: 2.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sparkles',
|
||||
theme: 'doodles',
|
||||
tags: ['sparkles', 'stars', 'shine', 'glitter', 'magic', 'twinkle', 'doodle', 'celebration'],
|
||||
descr: 'A cluster of three four-pointed sparkles of different sizes with two tiny dots.',
|
||||
box: [90, 90],
|
||||
slots: [{ name: 'sparkle', color: '#f6c445' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M36 20C39.6 46.4 39.6 46.4 66 50C39.6 53.6 39.6 53.6 36 80C32.4 53.6 32.4 53.6 6 50C32.4 46.4 32.4 46.4 36 20ZM70 7C71.8 20.2 71.8 20.2 85 22C71.8 23.8 71.8 23.8 70 37C68.2 23.8 68.2 23.8 55 22C68.2 20.2 68.2 20.2 70 7ZM72 60C73.2 68.8 73.2 68.8 82 70C73.2 71.2 73.2 71.2 72 80C70.8 71.2 70.8 71.2 62 70C70.8 68.8 70.8 68.8 72 60Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M20.6 16C20.6 17.4 19.4 18.6 18 18.6C16.6 18.6 15.4 17.4 15.4 16C15.4 14.6 16.6 13.4 18 13.4C19.4 13.4 20.6 14.6 20.6 16ZM86 46C86 47.1 85.1 48 84 48C82.9 48 82 47.1 82 46C82 44.9 82.9 44 84 44C85.1 44 86 44.9 86 46Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M36 41C37.1 48.9 37.1 48.9 45 50C37.1 51.1 37.1 51.1 36 59C34.9 51.1 34.9 51.1 27 50C34.9 48.9 34.9 48.9 36 41ZM70 17.4C70.6 21.4 70.6 21.4 74.6 22C70.6 22.6 70.6 22.6 70 26.6C69.4 22.6 69.4 22.6 65.4 22C69.4 21.4 69.4 21.4 70 17.4Z',
|
||||
o: 0.5,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'doodleHeart',
|
||||
theme: 'doodles',
|
||||
tags: ['heart', 'love', 'doodle', 'hand drawn', 'romance', 'favourite', 'sketch', 'valentine'],
|
||||
descr: 'A hand-drawn heart outline in red pen, its line wobbling slightly and crossing over itself at the bottom.',
|
||||
box: [100, 90],
|
||||
slots: [{ name: 'ink', color: '#e63946' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50.7 28.7C51.2 27.9 52.4 25.4 53.6 23.8C54.9 22.2 56.3 20.6 58.1 19.3C59.9 18 61.8 16.5 64.2 15.8C66.6 15 70.1 14.6 72.6 14.8C75.1 15 76.8 15.9 79 17.1C81.1 18.2 83.7 19.8 85.6 21.8C87.5 23.7 89.5 26.3 90.6 28.7C91.6 31 91.9 33.3 91.9 35.8C91.8 38.3 91.4 41.1 90.4 43.7C89.4 46.3 87.6 49.1 85.8 51.4C83.9 53.7 81.4 55.5 79.2 57.7C76.9 60 74.4 62.8 72 64.9C69.6 67.1 67 68.8 64.9 70.7C62.7 72.7 60.8 74.9 59 76.8C57.2 78.7 55.4 80.5 54.1 82C52.9 83.6 52.1 85 51.6 86.2C51 87.3 50.9 88.3 50.6 89C50.3 89.8 49.8 90.7 49.7 90.7C49.6 90.8 50.3 90 50.1 89.4C49.9 88.8 49.2 88.2 48.5 87C47.9 85.7 47.2 83.6 46.1 81.9C44.9 80.2 43.3 78.5 41.5 76.7C39.6 74.9 37.3 73.3 35.1 71.3C32.8 69.3 30.1 67 27.8 64.8C25.5 62.6 23.3 60.5 21.1 58.2C18.9 55.9 16.2 53.6 14.4 51.1C12.6 48.6 11.5 45.6 10.5 43.1C9.4 40.6 8.3 38.5 8.2 36C8 33.4 8.7 30.1 9.7 27.8C10.8 25.4 12.7 23.8 14.5 22C16.4 20.2 18.4 18.4 20.7 17.2C22.9 16 25.6 14.9 28.1 14.7C30.6 14.5 33.3 15.2 35.5 15.9C37.7 16.6 39.4 17.6 41.3 18.9C43.1 20.2 45.3 22.2 46.5 23.7C47.7 25.3 47.8 26.6 48.5 28C49.1 29.4 49.9 31.1 50.2 31.9C50.5 32.7 49.3 33.6 50.2 33C51.1 32.3 54.7 28.7 55.6 27.8',
|
||||
w: 2.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'doodleStars',
|
||||
theme: 'doodles',
|
||||
tags: ['stars', 'doodle', 'hand drawn', 'night', 'sketch', 'favourite', 'rating', 'decoration'],
|
||||
descr: 'Three hand-drawn pen stars of different sizes, each drawn in one continuous line.',
|
||||
box: [100, 80],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M32 21L46.4 65.8L8 38.2L55.9 38.2L17.5 65.9L32 18.5M76 9.3L84.5 35.6L62.2 19.5L89.3 19.7L68 35L76 10M78 54.8L83.5 71.5L69.1 61.1L86.3 61.3L72.6 71.5L78 55.2',
|
||||
w: 2.2,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'squiggle',
|
||||
theme: 'doodles',
|
||||
tags: ['squiggle', 'wave', 'zigzag', 'doodle', 'line', 'scribble', 'decoration', 'hand drawn'],
|
||||
descr: 'A loose hand-drawn wavy pen line, like a pen testing itself in a margin.',
|
||||
box: [120, 40],
|
||||
slots: [{ name: 'ink', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 20C6.6 20.9 8.3 24 9.4 25.2C10.5 26.4 11.6 27 12.8 27.1C13.9 27.1 15 26.5 16.1 25.3C17.3 24.2 18.4 21.7 19.5 20C20.6 18.3 21.8 16.5 22.9 15C24 13.5 25.1 11.1 26.3 11.1C27.4 11 28.5 13.4 29.6 14.9C30.8 16.4 31.9 18.1 33 20C34.1 21.9 35.3 24.8 36.4 26.3C37.5 27.7 38.6 28.5 39.8 28.5C40.9 28.4 42 27.5 43.1 26.1C44.3 24.6 45.4 21.9 46.5 20C47.6 18.1 48.8 16 49.9 14.7C51 13.3 52.1 12.1 53.3 12C54.4 11.9 55.5 12.8 56.6 14.2C57.8 15.5 58.9 18 60 20C61.1 22 62.3 24.5 63.4 25.9C64.5 27.3 65.6 28.5 66.8 28.6C67.9 28.6 69 27.6 70.1 26.2C71.3 24.8 72.4 22 73.5 20C74.6 18 75.8 15.3 76.9 14C78 12.8 79.1 12.3 80.3 12.4C81.4 12.4 82.5 13.1 83.6 14.4C84.8 15.7 85.9 18.2 87 20C88.1 21.8 89.3 24.1 90.4 25.4C91.5 26.7 92.6 27.6 93.8 27.7C94.9 27.9 96 27.6 97.1 26.3C98.3 25 99.4 22.1 100.5 20C101.6 17.9 102.8 14.9 103.9 13.7C105 12.4 106.1 12.3 107.3 12.4C108.4 12.5 109.5 13.3 110.6 14.5C111.8 15.8 113.4 19.1 114 20',
|
||||
w: 2.4,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'xMark',
|
||||
theme: 'doodles',
|
||||
tags: ['x marks the spot', 'cross', 'treasure map', 'doodle', 'mark', 'destination', 'here', 'hand drawn'],
|
||||
descr: 'A bold hand-drawn red X, as on a treasure map, with two small tick strokes beside it.',
|
||||
box: [80, 80],
|
||||
slots: [{ name: 'ink', color: '#d62828' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M14 12C18 16.3 29.3 28.7 38 38C46.7 47.3 61.3 63 66 68M64 10C60 14.3 48.3 26.7 40 36C31.7 45.3 18.3 61 14 66',
|
||||
w: 6,
|
||||
},
|
||||
{ p: 0, d: 'M66 20L74 14M68 30L77 28', w: 1.8 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'dottedPath',
|
||||
theme: 'doodles',
|
||||
tags: ['dotted path', 'route', 'trail', 'journey', 'map', 'treasure', 'doodle', 'dashed line'],
|
||||
descr: 'A winding dashed pen line, a journey from the corner, ending at a small red X.',
|
||||
box: [90, 80],
|
||||
slots: [
|
||||
{ name: 'trail', color: '#2b2522' },
|
||||
{ name: 'x', color: '#d62828' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 70L6.5 69.6L7.2 69.2L7.9 68.7L8.6 68.2M10.8 66.8L11.8 66.2L12.9 65.5L13.5 65.1M15.7 63.6L16.3 63.2L17.4 62.4L18.3 61.7M20.3 60.1L20.5 60L21.4 59.2L22.2 58.3L22.6 57.9M24.1 55.8L24.3 55.2L24.5 54.4L24.6 53.6L24.6 52.8L24.5 52.7M24 50.1L23.7 49.3L23.3 48.4L23 47.5L22.9 47.1M21.9 44.7L21.8 44.1L21.6 43.3L21.4 42.6L21.4 41.9L21.4 41.6M22.6 39.3L23 38.9L23.6 38.4L24.3 37.9L25 37.4L25.1 37.4M27.5 36.2L27.7 36.1L28.6 35.7L29.6 35.4L30.5 35.1M33 34.5L33.8 34.3L34.9 34.1L36 34L36.2 34M38.7 33.9L39 33.9L40 34L41 34.2L41.9 34.4M44.3 35.5L45 35.9L46.1 36.6L47 37.2M49.1 38.6L49.3 38.7L50.4 39.5L51.4 40.2L51.8 40.5M53.9 41.9L54.5 42.3L55.5 42.8L56.5 43.3L56.8 43.4M59.3 44L60 44L60.8 43.8L61.6 43.6L62.3 43.2M64.4 41.7L64.6 41.6L65.3 40.9L66 40.1L66.7 39.4M68.2 37.3L68.6 36.8L69.2 35.9L69.7 35L69.9 34.6M71.1 32.3L71.4 31.5L71.7 30.7L72 30L72.2 29.3M72.5 26.7L72.4 26.2L72.4 25.4L72.3 24.5L72.1 23.7L72.1 23.5M71.5 21L71.3 20.6L71.1 19.9L70.9 19.2L70.7 18.5L70.5 18',
|
||||
w: 2,
|
||||
},
|
||||
{ p: 1, d: 'M64 6L78 18M78 6L64 18', w: 3.6 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M8.6 70C8.6 71.4 7.4 72.6 6 72.6C4.6 72.6 3.4 71.4 3.4 70C3.4 68.6 4.6 67.4 6 67.4C7.4 67.4 8.6 68.6 8.6 70Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,954 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Travel ephemera: the things a trip is packed, booked and stamped with. */
|
||||
export const EPHEMERA_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'airplane',
|
||||
theme: 'ephemera',
|
||||
tags: ['airplane', 'plane', 'flight', 'aircraft', 'jet', 'travel', 'sky', 'airport'],
|
||||
descr: 'A white passenger jet flying to the right with a red cheat line, a row of windows and a turned-up tail.',
|
||||
box: [120, 72],
|
||||
slots: [
|
||||
{ name: 'body', color: '#f6f3ec' },
|
||||
{ name: 'stripe', color: '#e4572e' },
|
||||
{ name: 'windows', color: '#2f4858' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M60 30L47 9L54 8L76 30Z' },
|
||||
{ p: 'shade', d: 'M60 30L47 9L54 8L76 30Z', o: 0.3 },
|
||||
{ p: 1, d: 'M14 32L6 9C6 7 8 6 10 6L15 6L33 30Z' },
|
||||
{ p: 'shade', d: 'M10 6L15 6L33 30L24 30Z', o: 0.12 },
|
||||
{ p: 1, d: 'M22 38.5L9 46.5L15 47.5L33 40Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M12 33C16 29 30 27.5 50 27.5L97 27.5C107 27.5 114 31 114 36.5C114 41.5 107 45 97 45L38 45C26 45 16 41 11 37C10 35.5 10.5 34 12 33Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M11 37C16 41 26 45 38 45L97 45C105 45 111 43 113 39.5C108 41 102 41.5 96 41.5L38 41.5C27 41.5 18 39.5 11 37Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M24 29.6C33 28.6 42 28.4 50 28.4L97 28.4C102 28.4 106 29.4 108.5 31C104 30.4 100 30.2 96 30.2L50 30.2C40 30.2 31 30.6 24 31.4Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M14 38.5C22 40.4 30 41 40 41L104 41C107.5 41 110.5 40.2 112.6 39C111 41.8 107 43.2 102 43.4L40 43.4C29 43.4 20 41.6 13.6 39.4Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M39.5 32.2L39.5 32.2C40.3 32.2 41 32.9 41 33.7L41 34.5C41 35.3 40.3 36 39.5 36L39.5 36C38.7 36 38 35.3 38 34.5L38 33.7C38 32.9 38.7 32.2 39.5 32.2ZM45.1 32.2L45.1 32.2C45.9 32.2 46.6 32.9 46.6 33.7L46.6 34.5C46.6 35.3 45.9 36 45.1 36L45.1 36C44.3 36 43.6 35.3 43.6 34.5L43.6 33.7C43.6 32.9 44.3 32.2 45.1 32.2ZM50.7 32.2L50.7 32.2C51.5 32.2 52.2 32.9 52.2 33.7L52.2 34.5C52.2 35.3 51.5 36 50.7 36L50.7 36C49.9 36 49.2 35.3 49.2 34.5L49.2 33.7C49.2 32.9 49.9 32.2 50.7 32.2ZM56.3 32.2L56.3 32.2C57.1 32.2 57.8 32.9 57.8 33.7L57.8 34.5C57.8 35.3 57.1 36 56.3 36L56.3 36C55.5 36 54.8 35.3 54.8 34.5L54.8 33.7C54.8 32.9 55.5 32.2 56.3 32.2ZM61.9 32.2L61.9 32.2C62.7 32.2 63.4 32.9 63.4 33.7L63.4 34.5C63.4 35.3 62.7 36 61.9 36L61.9 36C61.1 36 60.4 35.3 60.4 34.5L60.4 33.7C60.4 32.9 61.1 32.2 61.9 32.2ZM67.5 32.2L67.5 32.2C68.3 32.2 69 32.9 69 33.7L69 34.5C69 35.3 68.3 36 67.5 36L67.5 36C66.7 36 66 35.3 66 34.5L66 33.7C66 32.9 66.7 32.2 67.5 32.2ZM73.1 32.2L73.1 32.2C73.9 32.2 74.6 32.9 74.6 33.7L74.6 34.5C74.6 35.3 73.9 36 73.1 36L73.1 36C72.3 36 71.6 35.3 71.6 34.5L71.6 33.7C71.6 32.9 72.3 32.2 73.1 32.2ZM78.7 32.2L78.7 32.2C79.5 32.2 80.2 32.9 80.2 33.7L80.2 34.5C80.2 35.3 79.5 36 78.7 36L78.7 36C77.9 36 77.2 35.3 77.2 34.5L77.2 33.7C77.2 32.9 77.9 32.2 78.7 32.2ZM84.3 32.2L84.3 32.2C85.1 32.2 85.8 32.9 85.8 33.7L85.8 34.5C85.8 35.3 85.1 36 84.3 36L84.3 36C83.5 36 82.8 35.3 82.8 34.5L82.8 33.7C82.8 32.9 83.5 32.2 84.3 32.2ZM89.9 32.2L89.9 32.2C90.7 32.2 91.4 32.9 91.4 33.7L91.4 34.5C91.4 35.3 90.7 36 89.9 36L89.9 36C89.1 36 88.4 35.3 88.4 34.5L88.4 33.7C88.4 32.9 89.1 32.2 89.9 32.2Z',
|
||||
},
|
||||
{ p: 2, d: 'M100.5 31.6L106.8 31.6C108.6 32.2 110 33.2 110.8 34.6L101.5 34.6Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M33.2 31L35 31C35.7 31 36.2 31.5 36.2 32.2L36.2 38.3C36.2 39 35.7 39.5 35 39.5L33.2 39.5C32.5 39.5 32 39 32 38.3L32 32.2C32 31.5 32.5 31 33.2 31Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{ p: 1, d: 'M54 39L76 39L52 66C51 67.5 49 68 47.5 67.6L45 67Z' },
|
||||
{ p: 'light', d: 'M54 39L60 39L47.6 64.5L45 67Z', o: 0.28 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 50L64 50C67 50 68.5 51.6 68.5 53.6C68.5 55.6 67 57.2 64 57.2L52 57.2C50.5 57.2 49.5 55.6 49.5 53.6C49.5 51.6 50.5 50 52 50Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M49.6 54.4L68.4 54.4C68 56 66.5 57.2 64 57.2L52 57.2C50.6 57.2 49.8 56 49.6 54.4Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M69.6 53.6C69.6 55.4 69 56.9 68.2 56.9C67.4 56.9 66.8 55.4 66.8 53.6C66.8 51.8 67.4 50.3 68.2 50.3C69 50.3 69.6 51.8 69.6 53.6Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'boardingPass',
|
||||
theme: 'ephemera',
|
||||
tags: ['boarding pass', 'ticket', 'flight', 'airplane', 'airport', 'gate', 'travel', 'barcode'],
|
||||
descr:
|
||||
'A boarding pass with a coloured header, an arrow between two airport codes, a dashed tear line and a barcode stub.',
|
||||
box: [120, 62],
|
||||
slots: [
|
||||
{ name: 'header', color: '#3d7ea6' },
|
||||
{ name: 'paper', color: '#fbf7ee' },
|
||||
{ name: 'print', color: '#2b2d42' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M10 7L112 7C114.8 7 117 9.2 117 12L117 54C117 56.8 114.8 59 112 59L10 59C7.2 59 5 56.8 5 54L5 12C5 9.2 7.2 7 10 7Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M8 4L110 4C112.8 4 115 6.2 115 9L115 51C115 53.8 112.8 56 110 56L8 56C5.2 56 3 53.8 3 51L3 9C3 6.2 5.2 4 8 4Z',
|
||||
},
|
||||
{ p: 0, d: 'M8 4L110 4C112.8 4 115 6.2 115 9L115 17L3 17L3 9C3 6.2 5.2 4 8 4Z' },
|
||||
{ p: 'light', d: 'M8 4L110 4C112.8 4 115 6.2 115 9L115 10L3 10L3 9C3 6.2 5.2 4 8 4Z', o: 0.18 },
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M9 8.6L11.4 8.6L16.4 12.2L21.6 12.2C23 12.2 23.8 12.8 23.8 13.4C23.8 14 23 14.6 21.6 14.6L16.4 14.6L11.4 18.2L9 18.2L12.2 14.6L8.6 14.6L7.4 15.8L6 15.8L6.8 13.4L6 11L7.4 11L8.6 12.2L12.2 12.2Z',
|
||||
o: 0.92,
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M29.2 9.4L52.8 9.4C53.5 9.4 54 9.9 54 10.6L54 10.6C54 11.3 53.5 11.8 52.8 11.8L29.2 11.8C28.5 11.8 28 11.3 28 10.6L28 10.6C28 9.9 28.5 9.4 29.2 9.4Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M89.2 9.4L104.8 9.4C105.5 9.4 106 9.9 106 10.6L106 10.6C106 11.3 105.5 11.8 104.8 11.8L89.2 11.8C88.5 11.8 88 11.3 88 10.6L88 10.6C88 9.9 88.5 9.4 89.2 9.4Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M10 25L10 37L12.6 37L12.6 32.4L17 32.4L17 30.2L12.6 30.2L12.6 27.2L17.8 27.2L17.8 25ZM20 25L25 25C27.6 25 29 26.6 29 28.8C29 30.4 28.2 31.6 26.8 32.2L29.6 37L26.8 37L24.4 32.6L22.6 32.6L22.6 37L20 37ZM22.6 27.2L22.6 30.4L24.8 30.4C25.9 30.4 26.4 29.8 26.4 28.8C26.4 27.8 25.9 27.2 24.8 27.2ZM30.4 37L34 25L36.4 25L40 37L37.4 37L36.6 34.2L33.8 34.2L33 37ZM34.4 32L36 32L35.2 28.6Z',
|
||||
eo: 1,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M54 25L54 37L56.4 37L56.4 29.6L61 37L63.4 37L63.4 25L61 25L61 32.4L56.4 25ZM66 25L71 25C73.6 25 75 26.6 75 28.8C75 30.4 74.2 31.6 72.8 32.2L75.6 37L72.8 37L70.4 32.6L68.6 32.6L68.6 37L66 37ZM68.6 27.2L68.6 30.4L70.8 30.4C71.9 30.4 72.4 29.8 72.4 28.8C72.4 27.8 71.9 27.2 70.8 27.2ZM76.6 25L85.6 25L85.6 27.2L82.4 27.2L82.4 37L79.8 37L79.8 27.2L76.6 27.2Z',
|
||||
},
|
||||
{ p: 0, d: 'M42 31L50.4 31M47.6 28L50.8 31L47.6 34', w: 1.6 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M10.9 42L25.1 42C25.6 42 26 42.4 26 42.9L26 42.9C26 43.4 25.6 43.8 25.1 43.8L10.9 43.8C10.4 43.8 10 43.4 10 42.9L10 42.9C10 42.4 10.4 42 10.9 42ZM10.9 46.4L19.1 46.4C19.6 46.4 20 46.8 20 47.3L20 47.3C20 47.8 19.6 48.2 19.1 48.2L10.9 48.2C10.4 48.2 10 47.8 10 47.3L10 47.3C10 46.8 10.4 46.4 10.9 46.4ZM32.9 42L45.1 42C45.6 42 46 42.4 46 42.9L46 42.9C46 43.4 45.6 43.8 45.1 43.8L32.9 43.8C32.4 43.8 32 43.4 32 42.9L32 42.9C32 42.4 32.4 42 32.9 42ZM32.9 46.4L49.1 46.4C49.6 46.4 50 46.8 50 47.3L50 47.3C50 47.8 49.6 48.2 49.1 48.2L32.9 48.2C32.4 48.2 32 47.8 32 47.3L32 47.3C32 46.8 32.4 46.4 32.9 46.4ZM56.9 42L67.1 42C67.6 42 68 42.4 68 42.9L68 42.9C68 43.4 67.6 43.8 67.1 43.8L56.9 43.8C56.4 43.8 56 43.4 56 42.9L56 42.9C56 42.4 56.4 42 56.9 42ZM56.9 46.4L77.1 46.4C77.6 46.4 78 46.8 78 47.3L78 47.3C78 47.8 77.6 48.2 77.1 48.2L56.9 48.2C56.4 48.2 56 47.8 56 47.3L56 47.3C56 46.8 56.4 46.4 56.9 46.4Z',
|
||||
o: 0.45,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M90 20L90 22.2M90 24L90 26.2M90 28L90 30.2M90 32L90 34.2M90 36L90 38.2M90 40L90 42.2M90 44L90 46.2M90 48L90 50.2M90 52L90 54',
|
||||
o: 0.45,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M95 21L96.3 21L96.3 51L95 51ZM97 21L97.5 21L97.5 51L97 51ZM98.3 21L100.2 21L100.2 51L98.3 51ZM100.8 21L101.5 21L101.5 51L100.8 51ZM102.6 21L103.1 21L103.1 51L102.6 51ZM103.9 21L105.4 21L105.4 51L103.9 51ZM105.9 21L106.6 21L106.6 51L105.9 51ZM107.5 21L108.6 21L108.6 51L107.5 51ZM109.3 21L110 21L110 51L109.3 51Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M96.2 53L108.8 53C109.2 53 109.5 53.3 109.5 53.7L109.5 53.7C109.5 54.1 109.2 54.4 108.8 54.4L96.2 54.4C95.8 54.4 95.5 54.1 95.5 53.7L95.5 53.7C95.5 53.3 95.8 53 96.2 53Z',
|
||||
o: 0.45,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'passport',
|
||||
theme: 'ephemera',
|
||||
tags: ['passport', 'document', 'id', 'border', 'travel', 'visa', 'abroad'],
|
||||
descr: 'A closed passport with a gold globe emblem and title bars on its cover, a boarding pass tucked inside.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'cover', color: '#7b2d3b' },
|
||||
{ name: 'emblem', color: '#e2b856' },
|
||||
{ name: 'ticket', color: '#f3efe2' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M44 6L72 10L64 62L36 58Z' },
|
||||
{ p: 'shade', d: 'M44 6L72 10L71 16.4L43 12.4Z', o: 0.14 },
|
||||
{ p: '#e4572e', d: 'M44.6 6.1L71.6 10L71 14L44 10.1Z' },
|
||||
{ p: 'ink', d: 'M47 20L64 22.4L63.8 23.8L46.8 21.4ZM46.4 25L58 26.6L57.8 28L46.2 26.4Z', o: 0.5 },
|
||||
{
|
||||
p: '#efe9da',
|
||||
d: 'M18 15L64 15C66.2 15 68 16.8 68 19L68 89C68 91.2 66.2 93 64 93L18 93C15.8 93 14 91.2 14 89L14 19C14 16.8 15.8 15 18 15Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M16 89L66 89C67.1 89 68 89.9 68 91L68 91C68 92.1 67.1 93 66 93L16 93C14.9 93 14 92.1 14 91L14 91C14 89.9 14.9 89 16 89Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M15 12L59 12C61.8 12 64 14.2 64 17L64 85C64 87.8 61.8 90 59 90L15 90C12.2 90 10 87.8 10 85L10 17C10 14.2 12.2 12 15 12Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M10 17L10 85C10 87.8 12.2 90 15 90L17 90L17 12L15 12C12.2 12 10 14.2 10 17Z', o: 0.25 },
|
||||
{ p: 'light', d: 'M59 12C61.8 12 64 14.2 64 17L64 85C64 87.8 61.8 90 59 90L57 90L57 12Z', o: 0.12 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M27.3 23L50.7 23C51.4 23 52 23.6 52 24.3L52 24.3C52 25 51.4 25.6 50.7 25.6L27.3 25.6C26.6 25.6 26 25 26 24.3L26 24.3C26 23.6 26.6 23 27.3 23Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M30.8 28L47.2 28C47.6 28 48 28.4 48 28.8L48 28.8C48 29.2 47.6 29.6 47.2 29.6L30.8 29.6C30.4 29.6 30 29.2 30 28.8L30 28.8C30 28.4 30.4 28 30.8 28Z',
|
||||
},
|
||||
{ p: 1, d: 'M50 52C50 58.1 45.1 63 39 63C32.9 63 28 58.1 28 52C28 45.9 32.9 41 39 41C45.1 41 50 45.9 50 52Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M48.2 52C48.2 57.1 44.1 61.2 39 61.2C33.9 61.2 29.8 57.1 29.8 52C29.8 46.9 33.9 42.8 39 42.8C44.1 42.8 48.2 46.9 48.2 52Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M39 43.6C35 47 33.8 49.6 33.8 52C33.8 54.4 35 57 39 60.4C43 57 44.2 54.4 44.2 52C44.2 49.6 43 47 39 43.6ZM38.2 46C35.8 48.6 35.4 50.4 35.4 52C35.4 53.6 35.8 55.4 38.2 58Z',
|
||||
eo: 1,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M30 51.2L48 51.2L48 52.8L30 52.8ZM31.4 46.8L46.6 46.8L46.2 48.2L31.8 48.2ZM31.8 55.8L46.2 55.8L46.6 57.2L31.4 57.2Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M28.3 72L49.7 72C50.4 72 51 72.6 51 73.3L51 73.3C51 74 50.4 74.6 49.7 74.6L28.3 74.6C27.6 74.6 27 74 27 73.3L27 73.3C27 72.6 27.6 72 28.3 72Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M32.8 77L45.2 77C45.6 77 46 77.4 46 77.8L46 77.8C46 78.2 45.6 78.6 45.2 78.6L32.8 78.6C32.4 78.6 32 78.2 32 77.8L32 77.8C32 77.4 32.4 77 32.8 77Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'suitcase',
|
||||
theme: 'ephemera',
|
||||
tags: ['suitcase', 'luggage', 'baggage', 'vintage', 'trunk', 'packing', 'travel', 'holiday'],
|
||||
descr: 'A vintage leather suitcase with a handle, two straps, brass corners and travel labels stuck on its side.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'case', color: '#c8743c' },
|
||||
{ name: 'straps', color: '#6b3e26' },
|
||||
{ name: 'labels', color: '#f2c14e' },
|
||||
{ name: 'label2', color: '#3d7ea6' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M38 20L38 13C38 9 41 7 45 7L55 7C59 7 62 9 62 13L62 20L57 20L57 14C57 12.6 56.4 12 55 12L45 12C43.6 12 43 12.6 43 14L43 20Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M37.5 18L62.5 18C63.3 18 64 18.7 64 19.5L64 20.5C64 21.3 63.3 22 62.5 22L37.5 22C36.7 22 36 21.3 36 20.5L36 19.5C36 18.7 36.7 18 37.5 18Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M15 20L85 20C88.9 20 92 23.1 92 27L92 75C92 78.9 88.9 82 85 82L15 82C11.1 82 8 78.9 8 75L8 27C8 23.1 11.1 20 15 20Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M8 66L92 66L92 75C92 79 89 82 85 82L15 82C11 82 8 79 8 75Z' },
|
||||
{ p: 'light', d: 'M15 20L85 20C89 20 92 23 92 27L92 29L8 29L8 27C8 23 11 20 15 20Z', o: 0.25 },
|
||||
{ p: 'shade', d: 'M8 28.5L92 28.5L92 30.1L8 30.1Z', o: 0.3 },
|
||||
{ p: 2, d: 'M14 38L40 35L42 52L16 55Z' },
|
||||
{ p: 'shade', d: 'M14 38L40 35L40.4 38.2L14.4 41.2Z', o: 0.15 },
|
||||
{ p: 'ink', d: 'M18 45.6L37.6 43.4L37.8 45.2L18.2 47.4ZM18.8 49.4L31 48L31.2 49.6L19 51Z', o: 0.55 },
|
||||
{ p: 3, d: 'M85 52C85 58.6 79.6 64 73 64C66.4 64 61 58.6 61 52C61 45.4 66.4 40 73 40C79.6 40 85 45.4 85 52Z' },
|
||||
{ p: 'light', d: 'M82 52C82 57 78 61 73 61C68 61 64 57 64 52C64 47 68 43 73 43C78 43 82 47 82 52Z', o: 0.4 },
|
||||
{ p: 3, d: 'M73 46L74.5 49.9L78.7 50.1L75.5 52.8L76.5 56.9L73 54.6L69.5 56.9L70.5 52.8L67.3 50.1L71.5 49.9Z' },
|
||||
{ p: 1, d: 'M26 20L33 20L33 82L26 82Z' },
|
||||
{ p: 1, d: 'M67 20L74 20L74 82L67 82Z' },
|
||||
{ p: 'light', d: 'M26 20L27.6 20L27.6 82L26 82Z', o: 0.25 },
|
||||
{ p: 'light', d: 'M67 20L68.6 20L68.6 82L67 82Z', o: 0.25 },
|
||||
{
|
||||
p: '#d9a441',
|
||||
d: 'M26 60L33 60C33.8 60 34.4 60.6 34.4 61.4L34.4 66C34.4 66.8 33.8 67.4 33 67.4L26 67.4C25.2 67.4 24.6 66.8 24.6 66L24.6 61.4C24.6 60.6 25.2 60 26 60Z',
|
||||
},
|
||||
{
|
||||
p: '#d9a441',
|
||||
d: 'M67 60L74 60C74.8 60 75.4 60.6 75.4 61.4L75.4 66C75.4 66.8 74.8 67.4 74 67.4L67 67.4C66.2 67.4 65.6 66.8 65.6 66L65.6 61.4C65.6 60.6 66.2 60 67 60Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M28.2 62L30.8 62C31.2 62 31.6 62.4 31.6 62.8L31.6 64.6C31.6 65 31.2 65.4 30.8 65.4L28.2 65.4C27.8 65.4 27.4 65 27.4 64.6L27.4 62.8C27.4 62.4 27.8 62 28.2 62Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M69.2 62L71.8 62C72.2 62 72.6 62.4 72.6 62.8L72.6 64.6C72.6 65 72.2 65.4 71.8 65.4L69.2 65.4C68.8 65.4 68.4 65 68.4 64.6L68.4 62.8C68.4 62.4 68.8 62 69.2 62Z',
|
||||
},
|
||||
{
|
||||
p: '#d9a441',
|
||||
d: 'M8 32L8 27C8 23 11 20 15 20L20 20L20 23L15 23C12.8 23 11 24.8 11 27L11 32ZM92 32L92 27C92 23 89 20 85 20L80 20L80 23L85 23C87.2 23 89 24.8 89 27L89 32ZM8 70L8 75C8 79 11 82 15 82L20 82L20 79L15 79C12.8 79 11 77.2 11 75L11 70ZM92 70L92 75C92 79 89 82 85 82L80 82L80 79L85 79C87.2 79 89 77.2 89 75L89 70Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M17.2 82L24.8 82C25.5 82 26 82.5 26 83.2L26 83.8C26 84.5 25.5 85 24.8 85L17.2 85C16.5 85 16 84.5 16 83.8L16 83.2C16 82.5 16.5 82 17.2 82Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M75.2 82L82.8 82C83.5 82 84 82.5 84 83.2L84 83.8C84 84.5 83.5 85 82.8 85L75.2 85C74.5 85 74 84.5 74 83.8L74 83.2C74 82.5 74.5 82 75.2 82Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'rollingSuitcase',
|
||||
theme: 'ephemera',
|
||||
tags: ['suitcase', 'trolley', 'carry on', 'luggage', 'wheels', 'airport', 'travel', 'packing'],
|
||||
descr: 'An upright hard-shell carry-on suitcase on two wheels with its telescopic handle pulled out.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'shell', color: '#4d9de0' },
|
||||
{ name: 'handle', color: '#2b2d42' },
|
||||
{ name: 'trim', color: '#e1bc29' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M24 30L24 8C24 5 26 3 29 3L41 3C44 3 46 5 46 8L46 30L43 30L43 8.6C43 7.4 42.4 6.8 41.2 6.8L28.8 6.8C27.6 6.8 27 7.4 27 8.6L27 30Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M30.9 3L39.1 3C39.6 3 40 3.4 40 3.9L40 3.9C40 4.4 39.6 4.8 39.1 4.8L30.9 4.8C30.4 4.8 30 4.4 30 3.9L30 3.9C30 3.4 30.4 3 30.9 3Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M18 26L52 26C56.4 26 60 29.6 60 34L60 82C60 86.4 56.4 90 52 90L18 90C13.6 90 10 86.4 10 82L10 34C10 29.6 13.6 26 18 26Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M43 26L52 26C56.4 26 60 29.6 60 34L60 82C60 86.4 56.4 90 52 90L43 90Z', o: 0.14 },
|
||||
{ p: 'light', d: 'M18 26L24 26L24 90L18 90C13.6 90 10 86.4 10 82L10 34C10 29.6 13.6 26 18 26Z', o: 0.3 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M22.2 32L22.2 32C22.9 32 23.4 32.5 23.4 33.2L23.4 82.8C23.4 83.5 22.9 84 22.2 84L22.2 84C21.5 84 21 83.5 21 82.8L21 33.2C21 32.5 21.5 32 22.2 32Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M35 32L35 32C35.7 32 36.2 32.5 36.2 33.2L36.2 82.8C36.2 83.5 35.7 84 35 84L35 84C34.3 84 33.8 83.5 33.8 82.8L33.8 33.2C33.8 32.5 34.3 32 35 32Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M47.8 32L47.8 32C48.5 32 49 32.5 49 33.2L49 82.8C49 83.5 48.5 84 47.8 84L47.8 84C47.1 84 46.6 83.5 46.6 82.8L46.6 33.2C46.6 32.5 47.1 32 47.8 32Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M24 32L24 32C24.3 32 24.6 32.3 24.6 32.6L24.6 83.4C24.6 83.7 24.3 84 24 84L24 84C23.7 84 23.4 83.7 23.4 83.4L23.4 32.6C23.4 32.3 23.7 32 24 32Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M36.8 32L36.8 32C37.1 32 37.4 32.3 37.4 32.6L37.4 83.4C37.4 83.7 37.1 84 36.8 84L36.8 84C36.5 84 36.2 83.7 36.2 83.4L36.2 32.6C36.2 32.3 36.5 32 36.8 32Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M49.6 32L49.6 32C49.9 32 50.2 32.3 50.2 32.6L50.2 83.4C50.2 83.7 49.9 84 49.6 84L49.6 84C49.3 84 49 83.7 49 83.4L49 32.6C49 32.3 49.3 32 49.6 32Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M29 23L41 23C42.1 23 43 23.9 43 25L43 25C43 26.1 42.1 27 41 27L29 27C27.9 27 27 26.1 27 25L27 25C27 23.9 27.9 23 29 23Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M10 36L10 34C10 29.6 13.6 26 18 26L20 26L20 29.6L18 29.6C15.6 29.6 13.6 31.6 13.6 34L13.6 36ZM60 36L60 34C60 29.6 56.4 26 52 26L50 26L50 29.6L52 29.6C54.4 29.6 56.4 31.6 56.4 34L56.4 36Z',
|
||||
},
|
||||
{ p: 2, d: 'M52 46L60 44L61.6 52L53.6 54Z' },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M55.5 47.4C55.5 47.9 55.1 48.3 54.6 48.3C54.1 48.3 53.7 47.9 53.7 47.4C53.7 46.9 54.1 46.5 54.6 46.5C55.1 46.5 55.5 46.9 55.5 47.4Z',
|
||||
},
|
||||
{ p: 1, d: 'M23 93C23 95.8 20.8 98 18 98C15.2 98 13 95.8 13 93C13 90.2 15.2 88 18 88C20.8 88 23 90.2 23 93Z' },
|
||||
{ p: 1, d: 'M57 93C57 95.8 54.8 98 52 98C49.2 98 47 95.8 47 93C47 90.2 49.2 88 52 88C54.8 88 57 90.2 57 93Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M20 93C20 94.1 19.1 95 18 95C16.9 95 16 94.1 16 93C16 91.9 16.9 91 18 91C19.1 91 20 91.9 20 93Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M54 93C54 94.1 53.1 95 52 95C50.9 95 50 94.1 50 93C50 91.9 50.9 91 52 91C53.1 91 54 91.9 54 93Z',
|
||||
o: 0.5,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'luggageTag',
|
||||
theme: 'ephemera',
|
||||
tags: ['luggage tag', 'label', 'baggage', 'name tag', 'string', 'suitcase', 'travel'],
|
||||
descr: 'A kraft luggage tag with a reinforced eyelet, a looped string and ruled lines for a name and address.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'tag', color: '#d9b382' },
|
||||
{ name: 'string', color: '#c0392b' },
|
||||
{ name: 'eyelet', color: '#f3ead8' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M35 22C30 14 24 8 26 4C28 0 36 2 40 8C44 14 40 20 35 24', w: 1.6 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M17 27L31 14L47 14L61 27L61 95C61 97 59.4 98.6 57.4 98.6L20.6 98.6C18.6 98.6 17 97 17 95Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 0, d: 'M14 25L28 12L44 12L58 25L58 93C58 95 56.4 96.6 54.4 96.6L17.6 96.6C15.6 96.6 14 95 14 93Z' },
|
||||
{ p: 'light', d: 'M14 25L28 12L31 12L17 26L17 96.6C15.4 96.4 14 95 14 93Z', o: 0.3 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M42.4 24C42.4 27.5 39.5 30.4 36 30.4C32.5 30.4 29.6 27.5 29.6 24C29.6 20.5 32.5 17.6 36 17.6C39.5 17.6 42.4 20.5 42.4 24Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M42.4 24C42.4 27.5 39.5 30.4 36 30.4C32.5 30.4 29.6 27.5 29.6 24C29.6 20.5 32.5 17.6 36 17.6C39.5 17.6 42.4 20.5 42.4 24Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: '#fffaf0',
|
||||
d: 'M39.2 24C39.2 25.8 37.8 27.2 36 27.2C34.2 27.2 32.8 25.8 32.8 24C32.8 22.2 34.2 20.8 36 20.8C37.8 20.8 39.2 22.2 39.2 24Z',
|
||||
},
|
||||
{ p: 1, d: 'M36 24C34 30 30 34 31 40', w: 1.6 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M20 46L52 46L52 47.1L20 47.1ZM20 56L52 56L52 57.1L20 57.1ZM20 66L52 66L52 67.1L20 67.1ZM20 76L42 76L42 77.1L20 77.1Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M21.5 38L32.5 38C33.3 38 34 38.7 34 39.5L34 39.5C34 40.3 33.3 41 32.5 41L21.5 41C20.7 41 20 40.3 20 39.5L20 39.5C20 38.7 20.7 38 21.5 38Z',
|
||||
},
|
||||
{ p: 'ink', d: 'M22 52C26 49 28 53 31 50C34 47 36 52 40 49', o: 0.55, w: 0.9 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'ticket',
|
||||
theme: 'ephemera',
|
||||
tags: ['ticket', 'admit one', 'stub', 'train', 'cinema', 'entry', 'museum', 'event'],
|
||||
descr: 'A classic admission ticket with notched sides, a star, printed lines and a perforated stub on the right.',
|
||||
box: [110, 56],
|
||||
slots: [
|
||||
{ name: 'ticket', color: '#f2c14e' },
|
||||
{ name: 'print', color: '#7b2d3b' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M8 8L106 8L106 24C102.7 24 100 26.7 100 30C100 33.3 102.7 36 106 36L106 52L8 52L8 36C11.3 36 14 33.3 14 30C14 26.7 11.3 24 8 24Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 5L103 5L103 21C99.7 21 97 23.7 97 27C97 30.3 99.7 33 103 33L103 49L5 49L5 33C8.3 33 11 30.3 11 27C11 23.7 8.3 21 5 21Z',
|
||||
},
|
||||
{ p: 'light', d: 'M5 5L103 5L103 10L5 10Z', o: 0.25 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M11 11L97 11L97 17C94.8 17 93 18.8 93 21C93 23.2 94.8 25 97 25L97 29C94.8 29 93 30.8 93 33C93 35.2 94.8 37 97 37L97 43L11 43L11 37C13.2 37 15 35.2 15 33C15 30.8 13.2 29 11 29L11 25C13.2 25 15 23.2 15 21C15 18.8 13.2 17 11 17Z',
|
||||
o: 0.55,
|
||||
w: 0.8,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M80 9L80 11M80 12.6L80 14.6M80 16.2L80 18.2M80 19.8L80 21.8M80 23.4L80 25.4M80 27L80 29M80 30.6L80 32.6M80 34.2L80 36.2M80 37.8L80 39.8M80 41.4L80 43.4',
|
||||
o: 0.6,
|
||||
w: 0.9,
|
||||
},
|
||||
{ p: 1, d: 'M24 20.6L25.5 24.9L30.1 25L26.5 27.8L27.8 32.2L24 29.6L20.2 32.2L21.5 27.8L17.9 25L22.5 24.9Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M35 20L69 20C69.6 20 70 20.4 70 21L70 23.2C70 23.8 69.6 24.2 69 24.2L35 24.2C34.4 24.2 34 23.8 34 23.2L34 21C34 20.4 34.4 20 35 20ZM35 27.4L61 27.4C61.6 27.4 62 27.8 62 28.4L62 28.4C62 29 61.6 29.4 61 29.4L35 29.4C34.4 29.4 34 29 34 28.4L34 28.4C34 27.8 34.4 27.4 35 27.4ZM35 32L65 32C65.6 32 66 32.4 66 33L66 33C66 33.6 65.6 34 65 34L35 34C34.4 34 34 33.6 34 33L34 33C34 32.4 34.4 32 35 32Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M86.1 18L90.9 18C91.5 18 92 18.5 92 19.1L92 19.1C92 19.7 91.5 20.2 90.9 20.2L86.1 20.2C85.5 20.2 85 19.7 85 19.1L85 19.1C85 18.5 85.5 18 86.1 18ZM86.1 23L90.9 23C91.5 23 92 23.5 92 24.1L92 24.1C92 24.7 91.5 25.2 90.9 25.2L86.1 25.2C85.5 25.2 85 24.7 85 24.1L85 24.1C85 23.5 85.5 23 86.1 23ZM86.1 28L90.9 28C91.5 28 92 28.5 92 29.1L92 29.1C92 29.7 91.5 30.2 90.9 30.2L86.1 30.2C85.5 30.2 85 29.7 85 29.1L85 29.1C85 28.5 85.5 28 86.1 28ZM86.1 33L90.9 33C91.5 33 92 33.5 92 34.1L92 34.1C92 34.7 91.5 35.2 90.9 35.2L86.1 35.2C85.5 35.2 85 34.7 85 34.1L85 34.1C85 33.5 85.5 33 86.1 33Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'camera',
|
||||
theme: 'ephemera',
|
||||
tags: ['camera', 'photo', 'photography', 'vintage', 'lens', 'snapshot', 'memories'],
|
||||
descr: 'A vintage rangefinder camera with a leather band, a big chrome lens, a shutter button and a viewfinder.',
|
||||
box: [100, 78],
|
||||
slots: [
|
||||
{ name: 'body', color: '#3a3f47' },
|
||||
{ name: 'band', color: '#b5651d' },
|
||||
{ name: 'lens', color: '#5c7aa3' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M63 10L77 10C78.7 10 80 11.3 80 13L80 17C80 18.7 78.7 20 77 20L63 20C61.3 20 60 18.7 60 17L60 13C60 11.3 61.3 10 63 10Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M20 12L28 12C29.1 12 30 12.9 30 14L30 17C30 18.1 29.1 19 28 19L20 19C18.9 19 18 18.1 18 17L18 14C18 12.9 18.9 12 20 12Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M66 13L74 13C75.1 13 76 13.9 76 15L76 15C76 16.1 75.1 17 74 17L66 17C64.9 17 64 16.1 64 15L64 15C64 13.9 64.9 13 66 13Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M18 16L30 16L30 19L18 19Z', o: 0.25 },
|
||||
{
|
||||
p: '#d8dcdf',
|
||||
d: 'M14 18L86 18C90.4 18 94 21.6 94 26L94 64C94 68.4 90.4 72 86 72L14 72C9.6 72 6 68.4 6 64L6 26C6 21.6 9.6 18 14 18Z',
|
||||
},
|
||||
{ p: 1, d: 'M6 30L94 30L94 62L6 62Z' },
|
||||
{ p: 'shade', d: 'M6 30L94 30L94 33L6 33Z', o: 0.22 },
|
||||
{ p: 'light', d: 'M14 18L86 18C90.4 18 94 21.6 94 26L94 27L6 27L6 26C6 21.6 9.6 18 14 18Z', o: 0.5 },
|
||||
{ p: 'shade', d: 'M6 64L94 64C94 68.4 90.4 72 86 72L14 72C9.6 72 6 68.4 6 64Z', o: 0.22 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M13.2 21L24.8 21C26 21 27 22 27 23.2L27 25.8C27 27 26 28 24.8 28L13.2 28C12 28 11 27 11 25.8L11 23.2C11 22 12 21 13.2 21Z',
|
||||
},
|
||||
{
|
||||
p: '#9fb6c9',
|
||||
d: 'M14.6 22.6L23.4 22.6C24.3 22.6 25 23.3 25 24.2L25 24.8C25 25.7 24.3 26.4 23.4 26.4L14.6 26.4C13.7 26.4 13 25.7 13 24.8L13 24.2C13 23.3 13.7 22.6 14.6 22.6Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M14.8 23.2L17.2 23.2C17.6 23.2 18 23.6 18 24L18 24C18 24.4 17.6 24.8 17.2 24.8L14.8 24.8C14.4 24.8 14 24.4 14 24L14 24C14 23.6 14.4 23.2 14.8 23.2Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{ p: 0, d: 'M71 46C71 57.6 61.6 67 50 67C38.4 67 29 57.6 29 46C29 34.4 38.4 25 50 25C61.6 25 71 34.4 71 46Z' },
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M67.4 46C67.4 55.6 59.6 63.4 50 63.4C40.4 63.4 32.6 55.6 32.6 46C32.6 36.4 40.4 28.6 50 28.6C59.6 28.6 67.4 36.4 67.4 46Z',
|
||||
},
|
||||
{ p: 0, d: 'M64 46C64 53.7 57.7 60 50 60C42.3 60 36 53.7 36 46C36 38.3 42.3 32 50 32C57.7 32 64 38.3 64 46Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M60.4 46C60.4 51.7 55.7 56.4 50 56.4C44.3 56.4 39.6 51.7 39.6 46C39.6 40.3 44.3 35.6 50 35.6C55.7 35.6 60.4 40.3 60.4 46Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 35.6C55.7 35.6 60.4 40.3 60.4 46C60.4 51.7 55.7 56.4 50 56.4C53.7 54.3 56 50.3 56 46C56 41.7 53.7 37.7 50 35.6Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{
|
||||
p: '#1d2b3a',
|
||||
d: 'M55.2 46C55.2 48.9 52.9 51.2 50 51.2C47.1 51.2 44.8 48.9 44.8 46C44.8 43.1 47.1 40.8 50 40.8C52.9 40.8 55.2 43.1 55.2 46Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M48.8 41.6C48.8 42.8 47.4 43.8 45.6 43.8C43.8 43.8 42.4 42.8 42.4 41.6C42.4 40.4 43.8 39.4 45.6 39.4C47.4 39.4 48.8 40.4 48.8 41.6Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M55.2 50.6C55.2 51.3 54.7 51.8 54 51.8C53.3 51.8 52.8 51.3 52.8 50.6C52.8 49.9 53.3 49.4 54 49.4C54.7 49.4 55.2 49.9 55.2 50.6Z',
|
||||
o: 0.6,
|
||||
},
|
||||
{
|
||||
p: '#e05a47',
|
||||
d: 'M85.4 23C85.4 24.3 84.3 25.4 83 25.4C81.7 25.4 80.6 24.3 80.6 23C80.6 21.7 81.7 20.6 83 20.6C84.3 20.6 85.4 21.7 85.4 23Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M84.6 46C84.6 48 83 49.6 81 49.6C79 49.6 77.4 48 77.4 46C77.4 44 79 42.4 81 42.4C83 42.4 84.6 44 84.6 46Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M81.2 45C81.2 45.7 80.7 46.2 80 46.2C79.3 46.2 78.8 45.7 78.8 45C78.8 44.3 79.3 43.8 80 43.8C80.7 43.8 81.2 44.3 81.2 45Z',
|
||||
o: 0.5,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'instantPhoto',
|
||||
theme: 'ephemera',
|
||||
tags: ['polaroid', 'instant photo', 'snapshot', 'picture', 'photo', 'memory', 'print', 'beach'],
|
||||
descr: 'An instant photo print with a thick white chin, showing a sun over a calm sea and a small island.',
|
||||
box: [80, 96],
|
||||
slots: [
|
||||
{ name: 'sky', color: '#8ecae6' },
|
||||
{ name: 'sea', color: '#219ebc' },
|
||||
{ name: 'sun', color: '#ffb703' },
|
||||
{ name: 'frame', color: '#fdfcf8' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M12.2 5.4L76.2 8.7C77.3 8.8 78.1 9.7 78 10.8L73.9 90.7C73.8 91.8 72.9 92.7 71.8 92.6L7.8 89.3C6.7 89.2 5.9 88.3 6 87.2L10.1 7.3C10.2 6.2 11.1 5.3 12.2 5.4Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M10.2 2.4L74.2 5.7C75.3 5.8 76.1 6.7 76 7.8L71.9 87.7C71.8 88.8 70.9 89.7 69.8 89.6L5.8 86.3C4.7 86.2 3.9 85.3 4 84.2L8.1 4.3C8.2 3.2 9.1 2.3 10.2 2.4Z',
|
||||
},
|
||||
{ p: 0, d: 'M13 7.5L70.9 10.6L68 66.5L10 63.5Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M64.5 29.3C64.2 35.7 58.7 40.6 52.3 40.2C45.9 39.9 41 34.4 41.3 28C41.7 21.6 47.1 16.7 53.5 17.1C59.9 17.4 64.8 22.9 64.5 29.3Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M60.9 29.1C60.7 33.5 56.9 36.9 52.5 36.6C48.1 36.4 44.7 32.6 44.9 28.2C45.2 23.8 48.9 20.4 53.3 20.7C57.8 20.9 61.1 24.7 60.9 29.1Z',
|
||||
},
|
||||
{ p: 1, d: 'M10.9 46.5L68.9 49.5L68 66.5L10 63.5Z' },
|
||||
{ p: '#3a7d44', d: 'M16.9 46.8C19.2 41.9 23.3 39.1 27.3 39.3C31.3 39.5 34.2 42.7 35.9 47.8Z' },
|
||||
{ p: 'light', d: 'M13.7 51.6L29.6 52.5M41.4 57.1L59.4 58M21.2 60L33.2 60.7', o: 0.5, w: 1 },
|
||||
{ p: 'light', d: 'M43.8 49.8L61.8 50.7', o: 0.7, w: 0.8 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M18.5 74.9C22.6 72.1 25.3 77.3 29.5 74.5C33.6 71.7 36.4 76.9 40.5 74.1C44.7 71.3 46.5 75.4 50.6 73.6',
|
||||
o: 0.45,
|
||||
w: 1,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'globe',
|
||||
theme: 'ephemera',
|
||||
tags: ['globe', 'world', 'earth', 'map', 'geography', 'atlas', 'travel', 'school'],
|
||||
descr: 'A desk globe on a curved brass meridian and a round foot, with green continents on a blue ocean.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'ocean', color: '#4ea8de' },
|
||||
{ name: 'land', color: '#7cb518' },
|
||||
{ name: 'stand', color: '#c58b3c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M40 84L40 90', w: 3 },
|
||||
{ p: 2, d: 'M24 96C24 91 31 89 40 89C49 89 56 91 56 96Z' },
|
||||
{ p: 'shade', d: 'M24 96C24 94 31 92.6 40 92.6C49 92.6 56 94 56 96Z', o: 0.2 },
|
||||
{ p: 0, d: 'M70 44C70 60.6 56.6 74 40 74C23.4 74 10 60.6 10 44C10 27.4 23.4 14 40 14C56.6 14 70 27.4 70 44Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M22 26C26 22 33 21 36 24C38 26 35 29 37 32C39 35 44 34 45 38C46 42 41 45 37 44C33 43 32 47 29 49C26 51 22 48 21 44C20 40 15 38 14 35C13 31 18 29 22 26Z',
|
||||
},
|
||||
{ p: 1, d: 'M48 52C51 50 56 51 58 55C60 59 57 62 58 66C59 69 55 72 51 70C48 68 49 64 46 61C44 58 45 54 48 52Z' },
|
||||
{ p: 1, d: 'M52 22C56 21 62 24 64 28C65 31 62 33 59 32C56 31 54 33 51 31C48 29 49 23 52 22Z' },
|
||||
{ p: 1, d: 'M28 62C30 61 33 62 33 65C33 67 30 68 28 67C26 66 26 63 28 62Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M40 14C56.6 14 70 27.4 70 44C70 60.6 56.6 74 40 74C50.1 67.3 56.1 56.1 56.1 44C56.1 31.9 50.1 20.7 40 14Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{ p: 'light', d: 'M18 30C21 23 27 18 34 16C29 20 24 26 22 33Z', o: 0.45 },
|
||||
{ p: 'light', d: 'M40 14C32 22 29 33 29 44C29 55 32 66 40 74M10 44L70 44', o: 0.35, w: 0.5 },
|
||||
{ p: 2, d: 'M16 23C7 37 8 58 21 70C29 78 42 80 52 77', w: 3 },
|
||||
{ p: 'light', d: 'M16.6 25C9.4 37.4 10 56.6 21.4 67.6', o: 0.4, w: 0.8 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M42.2 14C42.2 15.2 41.2 16.2 40 16.2C38.8 16.2 37.8 15.2 37.8 14C37.8 12.8 38.8 11.8 40 11.8C41.2 11.8 42.2 12.8 42.2 14Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M54.2 77C54.2 78.2 53.2 79.2 52 79.2C50.8 79.2 49.8 78.2 49.8 77C49.8 75.8 50.8 74.8 52 74.8C53.2 74.8 54.2 75.8 54.2 77Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'mapPin',
|
||||
theme: 'ephemera',
|
||||
tags: ['map pin', 'location', 'marker', 'pin', 'place', 'destination', 'here', 'gps'],
|
||||
descr: 'A glossy red map pin with a white centre, casting a small oval shadow beneath its point.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'pin', color: '#e63946' },
|
||||
{ name: 'centre', color: '#fff7ec' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M48 92C48 94 42.2 95.6 35 95.6C27.8 95.6 22 94 22 92C22 90 27.8 88.4 35 88.4C42.2 88.4 48 90 48 92Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{ p: 0, d: 'M35 91C28 78 10 62 10 38C10 23 21 12 35 12C49 12 60 23 60 38C60 62 42 78 35 91Z' },
|
||||
{ p: 'shade', d: 'M35 12C49 12 60 23 60 38C60 62 42 78 35 91C40 76 52 60 52 38C52 25 45 15 35 12Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M19 30C21 23 27 18 34 17C29 21 25 26 23.6 33C22 34 19 33 19 30Z', o: 0.5 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M45.5 38C45.5 43.8 40.8 48.5 35 48.5C29.2 48.5 24.5 43.8 24.5 38C24.5 32.2 29.2 27.5 35 27.5C40.8 27.5 45.5 32.2 45.5 38Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M35 27.5C40.8 27.5 45.5 32.2 45.5 38C45.5 43.8 40.8 48.5 35 48.5C38.8 46.4 41.2 42.4 41.2 38C41.2 33.6 38.8 29.6 35 27.5Z',
|
||||
o: 0.12,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'foldedMap',
|
||||
theme: 'ephemera',
|
||||
tags: ['map', 'folded map', 'route', 'road trip', 'navigation', 'paper map', 'adventure'],
|
||||
descr: 'A paper map folded in four panels with a dashed red route across it, ending at a pin.',
|
||||
box: [110, 82],
|
||||
slots: [
|
||||
{ name: 'paper', color: '#f1e3c6' },
|
||||
{ name: 'land', color: '#a8c686' },
|
||||
{ name: 'route', color: '#d62828' },
|
||||
{ name: 'water', color: '#8ecae6' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M6 14L32 6L32 72L6 80Z' },
|
||||
{ p: 0, d: 'M32 6L56 14L56 80L32 72Z' },
|
||||
{ p: 0, d: 'M56 14L80 6L80 72L56 80Z' },
|
||||
{ p: 0, d: 'M80 6L104 14L104 80L80 72Z' },
|
||||
{ p: 3, d: 'M6 52C14 50 18 56 26 56C30 56 32 54 32 54L32 72L6 80Z' },
|
||||
{ p: 1, d: 'M36 22C42 18 50 20 54 26L56 30L56 46C50 50 42 48 38 42C34 36 32 28 36 22Z' },
|
||||
{ p: 1, d: 'M62 50C68 46 76 48 80 54L80 72L64 77C60 70 58 56 62 50Z' },
|
||||
{ p: 1, d: 'M84 18C90 16 98 20 100 28C102 34 96 38 90 36C84 34 80 24 84 18Z' },
|
||||
{ p: 3, d: 'M82 52C88 50 94 54 100 52L104 51L104 62C98 64 92 60 86 62Z' },
|
||||
{ p: 'shade', d: 'M32 6L56 14L56 80L32 72Z', o: 0.12 },
|
||||
{ p: 'shade', d: 'M80 6L104 14L104 80L80 72Z', o: 0.12 },
|
||||
{ p: 'light', d: 'M6 14L32 6L32 72L6 80Z', o: 0.18 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M12 64L12.2 63.6L12.4 63.2L12.7 62.7L13 62.1L13.2 61.7M14 59.9L14.2 59.4L14.6 58.6L15 57.8L15.1 57.5M15.9 55.7L16.2 55.2L16.6 54.4L17 53.5L17.1 53.4M18 51.6L18.3 50.9L18.8 50.1L19.3 49.3L19.3 49.3M20.4 47.6L20.7 47.2L21.2 46.5L21.6 45.9L22 45.6M23.5 44.3L23.5 44.2L24 44L24.5 43.8L25 43.8L25.5 43.8L26 43.9M27.8 44.6L28.1 44.8L28.6 45.2L29.2 45.6L29.7 46L29.9 46.1M31.5 47.4L32 47.9L32.6 48.4L33.1 48.9L33.4 49.1M35 50.4L35.4 50.6L35.9 51L36.5 51.3L37 51.6L37.2 51.7M39.1 52.2L39.5 52.1L40 52L40.5 51.8L40.9 51.5L41.4 51.2L41.4 51.1M42.7 49.6L43 49.1L43.4 48.5L43.8 47.8L44.1 47.3M45 45.6L45.4 44.8L45.7 44L46.1 43.3L46.1 43.2M47 41.4L47.2 40.9L47.6 40.1L48 39.3L48.1 39.1M49.1 37.3L49.1 37.2L49.5 36.6L49.9 36L50.3 35.5L50.6 35.2M52.1 33.9L52.4 33.8L52.9 33.6L53.3 33.4L53.8 33.3L54.3 33.2L54.6 33.2M56.6 33.1L56.7 33.1L57.2 33.2L57.7 33.2L58.2 33.4L58.7 33.5L59.1 33.6M61 34.3L61.2 34.4L61.7 34.7L62.2 34.9L62.6 35.2L63.1 35.5L63.2 35.6M64.8 36.8L64.8 36.9L65.2 37.2L65.6 37.6L66 38L66.4 38.4L66.6 38.8M67.5 40.5L67.6 40.8L67.9 41.5L68.2 42.3L68.4 43M68.9 44.9L69.1 45.6L69.3 46.5L69.6 47.4L69.6 47.4M70.1 49.3L70.2 50L70.4 50.8L70.7 51.7L70.7 51.9M71.3 53.8L71.3 54L71.6 54.7L71.8 55.3L72.1 55.9L72.3 56.2M73.5 57.7L73.6 57.9L74 58L74.4 58.1L74.8 58L75.2 57.9L75.7 57.7L75.9 57.6M77.6 56.4L77.7 56.3L78.2 55.9L78.7 55.3L79.3 54.8L79.4 54.6M80.8 53.1L80.9 52.9L81.5 52.3L82 51.6L82.4 51.1M83.6 49.6L83.6 49.6L84.1 48.9L84.6 48.2L85.1 47.6L85.2 47.5M86.4 45.9L86.8 45.4L87.1 45L87.5 44.6L87.7 44.3L88 44',
|
||||
w: 1.5,
|
||||
},
|
||||
{ p: 2, d: 'M88 44C85.4 39 82 36.4 82 33C82 29.6 84.7 27 88 27C91.3 27 94 29.6 94 33C94 36.4 90.6 39 88 44Z' },
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M90.4 33C90.4 34.3 89.3 35.4 88 35.4C86.7 35.4 85.6 34.3 85.6 33C85.6 31.7 86.7 30.6 88 30.6C89.3 30.6 90.4 31.7 90.4 33Z',
|
||||
},
|
||||
{ p: 2, d: 'M10 61L14 67M14 61L10 67', w: 1.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'postageStamp',
|
||||
theme: 'ephemera',
|
||||
tags: ['stamp', 'postage stamp', 'post', 'mail', 'letter', 'postcard', 'mountains', 'vintage'],
|
||||
descr: 'A perforated postage stamp with a mountain and sun scene in a printed frame and a value in the corner.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'sky', color: '#f4a261' },
|
||||
{ name: 'mountains', color: '#2a9d8f' },
|
||||
{ name: 'sun', color: '#fef3c7' },
|
||||
{ name: 'paper', color: '#f7edd5' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M8 8L9.3 8C9.3 9.3 10.3 10.4 11.7 10.4C13 10.4 14.1 9.3 14.1 8L16.6 8C16.6 9.3 17.7 10.4 19 10.4C20.3 10.4 21.4 9.3 21.4 8L23.9 8C23.9 9.3 25 10.4 26.3 10.4C27.7 10.4 28.7 9.3 28.7 8L31.3 8C31.3 9.3 32.3 10.4 33.7 10.4C35 10.4 36.1 9.3 36.1 8L38.6 8C38.6 9.3 39.7 10.4 41 10.4C42.3 10.4 43.4 9.3 43.4 8L45.9 8C45.9 9.3 47 10.4 48.3 10.4C49.7 10.4 50.7 9.3 50.7 8L53.3 8C53.3 9.3 54.3 10.4 55.7 10.4C57 10.4 58.1 9.3 58.1 8L60.6 8C60.6 9.3 61.7 10.4 63 10.4C64.3 10.4 65.4 9.3 65.4 8L67.9 8C67.9 9.3 69 10.4 70.3 10.4C71.7 10.4 72.7 9.3 72.7 8L74 8L74 9.2C72.7 9.2 71.6 10.3 71.6 11.6C71.6 12.9 72.7 14 74 14L74 16.4C72.7 16.4 71.6 17.4 71.6 18.8C71.6 20.1 72.7 21.1 74 21.2L74 23.5C72.7 23.5 71.6 24.6 71.6 25.9C71.6 27.2 72.7 28.3 74 28.3L74 30.7C72.7 30.7 71.6 31.8 71.6 33.1C71.6 34.4 72.7 35.5 74 35.5L74 37.9C72.7 37.9 71.6 38.9 71.6 40.3C71.6 41.6 72.7 42.6 74 42.7L74 45C72.7 45 71.6 46.1 71.6 47.4C71.6 48.7 72.7 49.8 74 49.8L74 52.2C72.7 52.2 71.6 53.3 71.6 54.6C71.6 55.9 72.7 57 74 57L74 59.4C72.7 59.4 71.6 60.4 71.6 61.8C71.6 63.1 72.7 64.2 74 64.2L74 66.5C72.7 66.5 71.6 67.6 71.6 68.9C71.6 70.2 72.7 71.3 74 71.3L74 73.7C72.7 73.7 71.6 74.8 71.6 76.1C71.6 77.4 72.7 78.5 74 78.5L74 80.9C72.7 80.9 71.6 81.9 71.6 83.3C71.6 84.6 72.7 85.7 74 85.7L74 88C72.7 88 71.6 89.1 71.6 90.4C71.6 91.7 72.7 92.8 74 92.8L74 94L72.7 94C72.7 92.7 71.7 91.6 70.3 91.6C69 91.6 67.9 92.7 67.9 94L65.4 94C65.4 92.7 64.3 91.6 63 91.6C61.7 91.6 60.6 92.7 60.6 94L58.1 94C58.1 92.7 57 91.6 55.7 91.6C54.3 91.6 53.3 92.7 53.3 94L50.7 94C50.7 92.7 49.7 91.6 48.3 91.6C47 91.6 45.9 92.7 45.9 94L43.4 94C43.4 92.7 42.3 91.6 41 91.6C39.7 91.6 38.6 92.7 38.6 94L36.1 94C36.1 92.7 35 91.6 33.7 91.6C32.3 91.6 31.3 92.7 31.3 94L28.7 94C28.7 92.7 27.7 91.6 26.3 91.6C25 91.6 23.9 92.7 23.9 94L21.4 94C21.4 92.7 20.3 91.6 19 91.6C17.7 91.6 16.6 92.7 16.6 94L14.1 94C14.1 92.7 13 91.6 11.7 91.6C10.3 91.6 9.3 92.7 9.3 94L8 94L8 92.8C9.3 92.8 10.4 91.7 10.4 90.4C10.4 89.1 9.3 88 8 88L8 85.7C9.3 85.7 10.4 84.6 10.4 83.3C10.4 81.9 9.3 80.9 8 80.9L8 78.5C9.3 78.5 10.4 77.4 10.4 76.1C10.4 74.8 9.3 73.7 8 73.7L8 71.3C9.3 71.3 10.4 70.2 10.4 68.9C10.4 67.6 9.3 66.5 8 66.5L8 64.2C9.3 64.2 10.4 63.1 10.4 61.8C10.4 60.4 9.3 59.4 8 59.4L8 57C9.3 57 10.4 55.9 10.4 54.6C10.4 53.3 9.3 52.2 8 52.2L8 49.8C9.3 49.8 10.4 48.7 10.4 47.4C10.4 46.1 9.3 45 8 45L8 42.7C9.3 42.6 10.4 41.6 10.4 40.3C10.4 38.9 9.3 37.9 8 37.9L8 35.5C9.3 35.5 10.4 34.4 10.4 33.1C10.4 31.8 9.3 30.7 8 30.7L8 28.3C9.3 28.3 10.4 27.2 10.4 25.9C10.4 24.6 9.3 23.5 8 23.5L8 21.2C9.3 21.1 10.4 20.1 10.4 18.8C10.4 17.4 9.3 16.4 8 16.4L8 14C9.3 14 10.4 12.9 10.4 11.6C10.4 10.3 9.3 9.2 8 9.2Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M6 6L7.3 6C7.3 7.3 8.3 8.4 9.7 8.4C11 8.4 12.1 7.3 12.1 6L14.6 6C14.6 7.3 15.7 8.4 17 8.4C18.3 8.4 19.4 7.3 19.4 6L21.9 6C21.9 7.3 23 8.4 24.3 8.4C25.7 8.4 26.7 7.3 26.7 6L29.3 6C29.3 7.3 30.3 8.4 31.7 8.4C33 8.4 34.1 7.3 34.1 6L36.6 6C36.6 7.3 37.7 8.4 39 8.4C40.3 8.4 41.4 7.3 41.4 6L43.9 6C43.9 7.3 45 8.4 46.3 8.4C47.7 8.4 48.7 7.3 48.7 6L51.3 6C51.3 7.3 52.3 8.4 53.7 8.4C55 8.4 56.1 7.3 56.1 6L58.6 6C58.6 7.3 59.7 8.4 61 8.4C62.3 8.4 63.4 7.3 63.4 6L65.9 6C65.9 7.3 67 8.4 68.3 8.4C69.7 8.4 70.7 7.3 70.7 6L72 6L72 7.2C70.7 7.2 69.6 8.3 69.6 9.6C69.6 10.9 70.7 12 72 12L72 14.4C70.7 14.4 69.6 15.4 69.6 16.8C69.6 18.1 70.7 19.1 72 19.2L72 21.5C70.7 21.5 69.6 22.6 69.6 23.9C69.6 25.2 70.7 26.3 72 26.3L72 28.7C70.7 28.7 69.6 29.8 69.6 31.1C69.6 32.4 70.7 33.5 72 33.5L72 35.9C70.7 35.9 69.6 36.9 69.6 38.3C69.6 39.6 70.7 40.6 72 40.7L72 43C70.7 43 69.6 44.1 69.6 45.4C69.6 46.7 70.7 47.8 72 47.8L72 50.2C70.7 50.2 69.6 51.3 69.6 52.6C69.6 53.9 70.7 55 72 55L72 57.4C70.7 57.4 69.6 58.4 69.6 59.8C69.6 61.1 70.7 62.1 72 62.2L72 64.5C70.7 64.5 69.6 65.6 69.6 66.9C69.6 68.2 70.7 69.3 72 69.3L72 71.7C70.7 71.7 69.6 72.8 69.6 74.1C69.6 75.4 70.7 76.5 72 76.5L72 78.9C70.7 78.9 69.6 79.9 69.6 81.3C69.6 82.6 70.7 83.7 72 83.7L72 86C70.7 86 69.6 87.1 69.6 88.4C69.6 89.7 70.7 90.8 72 90.8L72 92L70.7 92C70.7 90.7 69.7 89.6 68.3 89.6C67 89.6 65.9 90.7 65.9 92L63.4 92C63.4 90.7 62.3 89.6 61 89.6C59.7 89.6 58.6 90.7 58.6 92L56.1 92C56.1 90.7 55 89.6 53.7 89.6C52.3 89.6 51.3 90.7 51.3 92L48.7 92C48.7 90.7 47.7 89.6 46.3 89.6C45 89.6 43.9 90.7 43.9 92L41.4 92C41.4 90.7 40.3 89.6 39 89.6C37.7 89.6 36.6 90.7 36.6 92L34.1 92C34.1 90.7 33 89.6 31.7 89.6C30.3 89.6 29.3 90.7 29.3 92L26.7 92C26.7 90.7 25.7 89.6 24.3 89.6C23 89.6 21.9 90.7 21.9 92L19.4 92C19.4 90.7 18.3 89.6 17 89.6C15.7 89.6 14.6 90.7 14.6 92L12.1 92C12.1 90.7 11 89.6 9.7 89.6C8.3 89.6 7.3 90.7 7.3 92L6 92L6 90.8C7.3 90.8 8.4 89.7 8.4 88.4C8.4 87.1 7.3 86 6 86L6 83.7C7.3 83.7 8.4 82.6 8.4 81.3C8.4 79.9 7.3 78.9 6 78.9L6 76.5C7.3 76.5 8.4 75.4 8.4 74.1C8.4 72.8 7.3 71.7 6 71.7L6 69.3C7.3 69.3 8.4 68.2 8.4 66.9C8.4 65.6 7.3 64.5 6 64.5L6 62.2C7.3 62.1 8.4 61.1 8.4 59.8C8.4 58.4 7.3 57.4 6 57.4L6 55C7.3 55 8.4 53.9 8.4 52.6C8.4 51.3 7.3 50.2 6 50.2L6 47.8C7.3 47.8 8.4 46.7 8.4 45.4C8.4 44.1 7.3 43 6 43L6 40.7C7.3 40.6 8.4 39.6 8.4 38.3C8.4 36.9 7.3 35.9 6 35.9L6 33.5C7.3 33.5 8.4 32.4 8.4 31.1C8.4 29.8 7.3 28.7 6 28.7L6 26.3C7.3 26.3 8.4 25.2 8.4 23.9C8.4 22.6 7.3 21.5 6 21.5L6 19.2C7.3 19.1 8.4 18.1 8.4 16.8C8.4 15.4 7.3 14.4 6 14.4L6 12C7.3 12 8.4 10.9 8.4 9.6C8.4 8.3 7.3 7.2 6 7.2Z',
|
||||
},
|
||||
{ p: 0, d: 'M14 14L64 14L64 72L14 72Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M57.6 34C57.6 40.4 52.4 45.6 46 45.6C39.6 45.6 34.4 40.4 34.4 34C34.4 27.6 39.6 22.4 46 22.4C52.4 22.4 57.6 27.6 57.6 34Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{ p: 2, d: 'M54 34C54 38.4 50.4 42 46 42C41.6 42 38 38.4 38 34C38 29.6 41.6 26 46 26C50.4 26 54 29.6 54 34Z' },
|
||||
{ p: 1, d: 'M14 72L14 54L28 38L38 50L46 42L64 60L64 72Z' },
|
||||
{ p: 'shade', d: 'M28 38L38 50L34 72L28 72L32 52Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M28 38L33 44L29 46L26 44L23 46Z', o: 0.7 },
|
||||
{ p: 'light', d: 'M46 42L50 46L47 47.6L44 47Z', o: 0.7 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M15.6 76L38.4 76C39.3 76 40 76.7 40 77.6L40 77.6C40 78.5 39.3 79.2 38.4 79.2L15.6 79.2C14.7 79.2 14 78.5 14 77.6L14 77.6C14 76.7 14.7 76 15.6 76Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M15 82L29 82C29.6 82 30 82.4 30 83L30 83C30 83.6 29.6 84 29 84L15 84C14.4 84 14 83.6 14 83L14 83C14 82.4 14.4 82 15 82Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M52 75L52 86L50 86L50 79L48 80.4L48 78L50.6 75ZM55 75L62 75L62 77L57.4 77L57.2 79.2C58 79 59 78.8 59.8 79C61.6 79.4 62.6 80.8 62.6 82.6C62.6 84.8 61 86.2 58.6 86.2C56.8 86.2 55.4 85.4 54.8 84L56.6 83C57 83.8 57.8 84.2 58.6 84.2C59.8 84.2 60.6 83.6 60.6 82.6C60.6 81.6 59.8 80.8 58.6 80.8C57.8 80.8 57.2 81 56.6 81.6L55 81.4Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'postmark',
|
||||
theme: 'ephemera',
|
||||
tags: ['postmark', 'cancellation', 'stamp', 'post', 'mail', 'ink', 'letter', 'vintage'],
|
||||
descr: 'A round inked postmark with a double ring, a star and date bars, trailed by five wavy cancellation lines.',
|
||||
box: [110, 64],
|
||||
slots: [{ name: 'ink', color: '#33415c' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M57 32C57 45.8 45.8 57 32 57C18.2 57 7 45.8 7 32C7 18.2 18.2 7 32 7C45.8 7 57 18.2 57 32Z',
|
||||
o: 0.9,
|
||||
w: 2.2,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M51.5 32C51.5 42.8 42.8 51.5 32 51.5C21.2 51.5 12.5 42.8 12.5 32C12.5 21.2 21.2 12.5 32 12.5C42.8 12.5 51.5 21.2 51.5 32Z',
|
||||
o: 0.9,
|
||||
w: 1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M32 18.6L33 21.2L35.8 21.4L33.6 23.1L34.4 25.8L32 24.3L29.6 25.8L30.4 23.1L28.2 21.4L31 21.2Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M20 29.6L44 29.6C44.6 29.6 45 30 45 30.6L45 31.8C45 32.4 44.6 32.8 44 32.8L20 32.8C19.4 32.8 19 32.4 19 31.8L19 30.6C19 30 19.4 29.6 20 29.6ZM23 35.6L41 35.6C41.6 35.6 42 36 42 36.6L42 36.6C42 37.2 41.6 37.6 41 37.6L23 37.6C22.4 37.6 22 37.2 22 36.6L22 36.6C22 36 22.4 35.6 23 35.6ZM26 40.4L38 40.4C38.6 40.4 39 40.8 39 41.4L39 41.4C39 42 38.6 42.4 38 42.4L26 42.4C25.4 42.4 25 42 25 41.4L25 41.4C25 40.8 25.4 40.4 26 40.4Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M58 12C58.4 12.3 59.6 13.4 60.4 13.8C61.2 14.3 62 14.6 62.8 14.6C63.6 14.6 64.4 14.3 65.2 13.8C66 13.4 66.8 12.6 67.6 12C68.4 11.4 69.2 10.6 70 10.2C70.8 9.7 71.6 9.4 72.4 9.4C73.2 9.4 74 9.7 74.8 10.2C75.6 10.6 76.4 11.4 77.2 12C78 12.6 78.8 13.4 79.6 13.8C80.4 14.3 81.2 14.6 82 14.6C82.8 14.6 83.6 14.3 84.4 13.8C85.2 13.4 86 12.6 86.8 12C87.6 11.4 88.4 10.6 89.2 10.2C90 9.7 90.8 9.4 91.6 9.4C92.4 9.4 93.2 9.7 94 10.2C94.8 10.6 95.6 11.4 96.4 12C97.2 12.6 98 13.4 98.8 13.8C99.6 14.3 100.4 14.6 101.2 14.6C102 14.6 102.8 14.3 103.6 13.8C104.4 13.4 105.6 12.3 106 12M58 22C58.4 22.3 59.6 23.4 60.4 23.8C61.2 24.3 62 24.6 62.8 24.6C63.6 24.6 64.4 24.3 65.2 23.8C66 23.4 66.8 22.6 67.6 22C68.4 21.4 69.2 20.6 70 20.2C70.8 19.7 71.6 19.4 72.4 19.4C73.2 19.4 74 19.7 74.8 20.2C75.6 20.6 76.4 21.4 77.2 22C78 22.6 78.8 23.4 79.6 23.8C80.4 24.3 81.2 24.6 82 24.6C82.8 24.6 83.6 24.3 84.4 23.8C85.2 23.4 86 22.6 86.8 22C87.6 21.4 88.4 20.6 89.2 20.2C90 19.7 90.8 19.4 91.6 19.4C92.4 19.4 93.2 19.7 94 20.2C94.8 20.6 95.6 21.4 96.4 22C97.2 22.6 98 23.4 98.8 23.8C99.6 24.3 100.4 24.6 101.2 24.6C102 24.6 102.8 24.3 103.6 23.8C104.4 23.4 105.6 22.3 106 22M58 32C58.4 32.3 59.6 33.4 60.4 33.8C61.2 34.3 62 34.6 62.8 34.6C63.6 34.6 64.4 34.3 65.2 33.8C66 33.4 66.8 32.6 67.6 32C68.4 31.4 69.2 30.6 70 30.2C70.8 29.7 71.6 29.4 72.4 29.4C73.2 29.4 74 29.7 74.8 30.2C75.6 30.6 76.4 31.4 77.2 32C78 32.6 78.8 33.4 79.6 33.8C80.4 34.3 81.2 34.6 82 34.6C82.8 34.6 83.6 34.3 84.4 33.8C85.2 33.4 86 32.6 86.8 32C87.6 31.4 88.4 30.6 89.2 30.2C90 29.7 90.8 29.4 91.6 29.4C92.4 29.4 93.2 29.7 94 30.2C94.8 30.6 95.6 31.4 96.4 32C97.2 32.6 98 33.4 98.8 33.8C99.6 34.3 100.4 34.6 101.2 34.6C102 34.6 102.8 34.3 103.6 33.8C104.4 33.4 105.6 32.3 106 32M58 42C58.4 42.3 59.6 43.4 60.4 43.8C61.2 44.3 62 44.6 62.8 44.6C63.6 44.6 64.4 44.3 65.2 43.8C66 43.4 66.8 42.6 67.6 42C68.4 41.4 69.2 40.6 70 40.2C70.8 39.7 71.6 39.4 72.4 39.4C73.2 39.4 74 39.7 74.8 40.2C75.6 40.6 76.4 41.4 77.2 42C78 42.6 78.8 43.4 79.6 43.8C80.4 44.3 81.2 44.6 82 44.6C82.8 44.6 83.6 44.3 84.4 43.8C85.2 43.4 86 42.6 86.8 42C87.6 41.4 88.4 40.6 89.2 40.2C90 39.7 90.8 39.4 91.6 39.4C92.4 39.4 93.2 39.7 94 40.2C94.8 40.6 95.6 41.4 96.4 42C97.2 42.6 98 43.4 98.8 43.8C99.6 44.3 100.4 44.6 101.2 44.6C102 44.6 102.8 44.3 103.6 43.8C104.4 43.4 105.6 42.3 106 42M58 52C58.4 52.3 59.6 53.4 60.4 53.8C61.2 54.3 62 54.6 62.8 54.6C63.6 54.6 64.4 54.3 65.2 53.8C66 53.4 66.8 52.6 67.6 52C68.4 51.4 69.2 50.6 70 50.2C70.8 49.7 71.6 49.4 72.4 49.4C73.2 49.4 74 49.7 74.8 50.2C75.6 50.6 76.4 51.4 77.2 52C78 52.6 78.8 53.4 79.6 53.8C80.4 54.3 81.2 54.6 82 54.6C82.8 54.6 83.6 54.3 84.4 53.8C85.2 53.4 86 52.6 86.8 52C87.6 51.4 88.4 50.6 89.2 50.2C90 49.7 90.8 49.4 91.6 49.4C92.4 49.4 93.2 49.7 94 50.2C94.8 50.6 95.6 51.4 96.4 52C97.2 52.6 98 53.4 98.8 53.8C99.6 54.3 100.4 54.6 101.2 54.6C102 54.6 102.8 54.3 103.6 53.8C104.4 53.4 105.6 52.3 106 52',
|
||||
o: 0.85,
|
||||
w: 2,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'passportStamp',
|
||||
theme: 'ephemera',
|
||||
tags: ['passport stamp', 'visa', 'arrival', 'border', 'immigration', 'stamp', 'ink', 'airport'],
|
||||
descr: 'A tilted rectangular arrival stamp in ink with a double border, a plane and date bars.',
|
||||
box: [100, 70],
|
||||
slots: [{ name: 'ink', color: '#2a7f62' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M13.5 16.3L80.9 8C84.2 7.6 87.2 10 87.6 13.3L91.8 47C92.2 50.3 89.8 53.3 86.5 53.7L19.1 62C15.8 62.4 12.8 60 12.4 56.7L8.2 23C7.8 19.7 10.2 16.7 13.5 16.3Z',
|
||||
o: 0.88,
|
||||
w: 2.4,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M16.6 21L79 13.3C80.9 13.1 82.7 14.5 83 16.4L86.5 45C86.7 47 85.3 48.8 83.4 49L21 56.7C19.1 56.9 17.3 55.5 17 53.6L13.5 25C13.3 23 14.7 21.2 16.6 21Z',
|
||||
o: 0.88,
|
||||
w: 0.9,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M21.7 34.4L27.7 33.7L34.9 26.8L38.5 26.3L35.2 32.8L42.6 31.9L44.7 29.2L46.6 29L45.7 33.1L47.6 36.9L45.6 37.1L43 35.1L35.6 36L40.3 41.4L36.7 41.9L28.1 36.9L22.1 37.6C21.1 37.7 20.4 37 20.3 36.2C20.2 35.4 20.7 34.6 21.7 34.4Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M51.6 23.7L75.5 20.8C76 20.7 76.5 21.1 76.6 21.7L76.9 24C76.9 24.6 76.5 25.1 76 25.2L52.2 28.1C51.6 28.2 51.1 27.8 51.1 27.2L50.8 24.8C50.7 24.3 51.1 23.8 51.6 23.7ZM52.5 31.1L70.4 28.9C71 28.8 71.5 29.2 71.5 29.7L71.6 30.1C71.6 30.7 71.2 31.2 70.7 31.2L52.8 33.4C52.3 33.5 51.8 33.1 51.7 32.6L51.7 32.2C51.6 31.6 52 31.1 52.5 31.1ZM53.2 36.6L75.1 33.9C75.6 33.9 76.1 34.3 76.2 34.8L76.2 35.2C76.3 35.8 75.9 36.3 75.3 36.3L53.5 39C53 39.1 52.5 38.7 52.4 38.1L52.4 37.7C52.3 37.2 52.7 36.7 53.2 36.6ZM28.4 47.7L74 42.1C74.6 42.1 75.1 42.4 75.2 43L75.2 43.4C75.3 43.9 74.9 44.4 74.3 44.5L28.7 50.1C28.1 50.2 27.6 49.8 27.6 49.2L27.5 48.8C27.5 48.3 27.8 47.8 28.4 47.7Z',
|
||||
o: 0.88,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'hotAirBalloon',
|
||||
theme: 'ephemera',
|
||||
tags: ['hot air balloon', 'balloon', 'flight', 'sky', 'cappadocia', 'adventure', 'float'],
|
||||
descr: 'A striped hot air balloon in three colours with a wicker basket hanging on ropes.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'stripe1', color: '#e63946' },
|
||||
{ name: 'stripe2', color: '#f1c453' },
|
||||
{ name: 'stripe3', color: '#2a9d8f' },
|
||||
{ name: 'basket', color: '#a0612e' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M40 4C20 4 8 18 8 34C8 50 20 60 30 70L50 70C60 60 72 50 72 34C72 18 60 4 40 4Z' },
|
||||
{ p: 1, d: 'M40 4C29 4 22 18 22 34C22 50 28 60 33 70L47 70C52 60 58 50 58 34C58 18 51 4 40 4Z' },
|
||||
{ p: 2, d: 'M40 4C35 4 32 18 32 34C32 50 35 60 37 70L43 70C45 60 48 50 48 34C48 18 45 4 40 4Z' },
|
||||
{ p: 'light', d: 'M14 24C17 15 24 9 32 6C26 12 21 20 19 30C17 31 13 29 14 24Z', o: 0.45 },
|
||||
{ p: 'shade', d: 'M40 4C60 4 72 18 72 34C72 50 60 60 50 70L44 70C54 58 64 48 64 34C64 20 54 8 40 4Z', o: 0.18 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M30.6 69L49.4 69C50.3 69 51 69.7 51 70.6L51 71.8C51 72.7 50.3 73.4 49.4 73.4L30.6 73.4C29.7 73.4 29 72.7 29 71.8L29 70.6C29 69.7 29.7 69 30.6 69Z',
|
||||
},
|
||||
{ p: 'ink', d: 'M31 73L33 84M49 73L47 84M40 73L40 84', o: 0.55, w: 0.8 },
|
||||
{ p: 3, d: 'M31 84L49 84L47.4 96L32.6 96Z' },
|
||||
{ p: 'shade', d: 'M31 88L49 88L49 89.2L31 89.2ZM32 92L48 92L48 93.2L32 93.2Z', o: 0.25 },
|
||||
{ p: 'light', d: 'M31 84L49 84L49 85.6L31 85.6Z', o: 0.3 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sunglasses',
|
||||
theme: 'ephemera',
|
||||
tags: ['sunglasses', 'shades', 'summer', 'beach', 'sun', 'holiday', 'cool'],
|
||||
descr: 'A pair of sunglasses with dark tinted lenses, a white glare on each and the arms folded out.',
|
||||
box: [100, 48],
|
||||
slots: [
|
||||
{ name: 'frame', color: '#e76f51' },
|
||||
{ name: 'lens', color: '#264653' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M6 14L2 10M94 14L98 10', w: 3 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 12L44 12C46 12 47 13 47 15L46 26C45 35 38 40 28 40C16 40 8 34 6 24ZM94 12L56 12C54 12 53 13 53 15L54 26C55 35 62 40 72 40C84 40 92 34 94 24Z',
|
||||
},
|
||||
{ p: 0, d: 'M44 15C47 12 53 12 56 15L56 18C53 16 47 16 44 18Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M10 16L43 16L42.2 25.6C41.4 32 36 36 28 36C18.6 36 12 31.6 10.4 24ZM90 16L57 16L57.8 25.6C58.6 32 64 36 72 36C81.4 36 88 31.6 89.6 24Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M14 20L22 20L16 32C13.4 30 12 27.6 11.4 24.6ZM61 20L69 20L63 33C61 31.6 60 29 59.4 26.4Z',
|
||||
o: 0.32,
|
||||
},
|
||||
{ p: 'light', d: 'M26 20L29 20L23 34.4L21 33.6ZM73 20L76 20L70 34.8L68 34Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'campervan',
|
||||
theme: 'ephemera',
|
||||
tags: ['camper van', 'van', 'road trip', 'campervan', 'bus', 'surf', 'vintage', 'car'],
|
||||
descr: 'A two-tone vintage camper van with a surfboard on the roof rack, a round headlight and chunky wheels.',
|
||||
box: [120, 84],
|
||||
slots: [
|
||||
{ name: 'body', color: '#5fb49c' },
|
||||
{ name: 'roof', color: '#f6f1e7' },
|
||||
{ name: 'board', color: '#f4a261' },
|
||||
{ name: 'glass', color: '#a9d6e5' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M18 13C18 10 24 8 34 8L96 8C104 8 108 10 108 13C108 16 104 18 96 18L34 18C24 18 18 16 18 13Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M18 13C18 16 24 18 34 18L96 18C104 18 108 16 108 13C104 14.6 100 15 96 15L34 15C26 15 20 14.4 18 13Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{ p: '#e76f51', d: 'M20 12L106 12L106 14L20 14Z' },
|
||||
{ p: 'ink', d: 'M30 18L30 22M94 18L94 22', o: 0.6, w: 1.6 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M14 44L14 30C14 24 18 21 26 21L94 21C104 21 110 26 112 36L114 48L114 64C114 67 112 69 109 69L19 69C16 69 14 67 14 64Z',
|
||||
},
|
||||
{ p: 1, d: 'M14 44L14 30C14 24 18 21 26 21L94 21C104 21 110 26 112 36L113.2 44Z' },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M22 26L44 26L44 40L22 40ZM50 26L72 26L72 40L50 40ZM78 26L95 26C101 26 105 30 106.6 38L107 40L78 40Z',
|
||||
},
|
||||
{ p: 'light', d: 'M24 38L33 27L37 27L28 38ZM52 38L61 27L63 27L54 38ZM80 38L89 27L93 27L84 38Z', o: 0.55 },
|
||||
{ p: 'shade', d: 'M14 60L114 60L114 69L14 69Z', o: 0.15 },
|
||||
{ p: 1, d: 'M98 52L114 52L114 56L98 56Z' },
|
||||
{
|
||||
p: '#ffe8a3',
|
||||
d: 'M109.6 49C109.6 51 108 52.6 106 52.6C104 52.6 102.4 51 102.4 49C102.4 47 104 45.4 106 45.4C108 45.4 109.6 47 109.6 49Z',
|
||||
},
|
||||
{ p: 1, d: 'M46 46L60 46L60 66L46 66Z', o: 0.35 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M55.7 54L57.3 54C57.7 54 58 54.3 58 54.7L58 54.7C58 55.1 57.7 55.4 57.3 55.4L55.7 55.4C55.3 55.4 55 55.1 55 54.7L55 54.7C55 54.3 55.3 54 55.7 54Z',
|
||||
o: 0.6,
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M12 62L16 62C17.1 62 18 62.9 18 64L18 64C18 65.1 17.1 66 16 66L12 66C10.9 66 10 65.1 10 64L10 64C10 62.9 10.9 62 12 62Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M112 62L116 62C117.1 62 118 62.9 118 64L118 64C118 65.1 117.1 66 116 66L112 66C110.9 66 110 65.1 110 64L110 64C110 62.9 110.9 62 112 62Z',
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M44 70C44 75.5 39.5 80 34 80C28.5 80 24 75.5 24 70C24 64.5 28.5 60 34 60C39.5 60 44 64.5 44 70Z',
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M104 70C104 75.5 99.5 80 94 80C88.5 80 84 75.5 84 70C84 64.5 88.5 60 94 60C99.5 60 104 64.5 104 70Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M38.6 70C38.6 72.5 36.5 74.6 34 74.6C31.5 74.6 29.4 72.5 29.4 70C29.4 67.5 31.5 65.4 34 65.4C36.5 65.4 38.6 67.5 38.6 70Z',
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M98.6 70C98.6 72.5 96.5 74.6 94 74.6C91.5 74.6 89.4 72.5 89.4 70C89.4 67.5 91.5 65.4 94 65.4C96.5 65.4 98.6 67.5 98.6 70Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M35.6 70C35.6 70.9 34.9 71.6 34 71.6C33.1 71.6 32.4 70.9 32.4 70C32.4 69.1 33.1 68.4 34 68.4C34.9 68.4 35.6 69.1 35.6 70Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M95.6 70C95.6 70.9 94.9 71.6 94 71.6C93.1 71.6 92.4 70.9 92.4 70C92.4 69.1 93.1 68.4 94 68.4C94.9 68.4 95.6 69.1 95.6 70Z',
|
||||
o: 0.8,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
File diff suppressed because one or more lines are too long
@@ -1,846 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Landmarks: famous buildings and monuments, drawn as flat architecture. */
|
||||
export const LANDMARKS_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'eiffelTower',
|
||||
theme: 'landmarks',
|
||||
tags: ['eiffel tower', 'paris', 'france', 'tower', 'landmark', 'europe', 'iron', 'romance'],
|
||||
descr:
|
||||
'The Eiffel Tower in Paris in warm bronze, with its curved lattice legs, the arch between them and three viewing decks.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'iron', color: '#7a5c48' },
|
||||
{ name: 'decks', color: '#4a3a30' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M34.2 1L35.8 1L35.8 9L34.2 9Z' },
|
||||
{ p: 0, d: 'M33 9L37 9L37.6 13L32.4 13Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M32.4 12L32.4 14L32.3 16L32.2 18L32.1 20L32 22L31.8 24L31.6 26L31.3 28L31 30L30.7 32L30.4 34L30.1 36L29.7 38L29.3 40L28.8 42L28.4 44L27.9 46L27.4 48L26.8 50L26.2 52L25.6 54L25 56L24.4 58L23.7 60L23 62L22.3 64L21.5 66L20.7 68L19.9 70L19.1 72L18.2 74L17.3 76L16.4 78L15.5 80L14.5 82L13.6 84L12.6 86L11.5 88L10.5 90L9.4 92L8.3 94L7.2 96L6 98L16 98L20.5 98L20.8 95.1L21.6 92.3L22.9 89.7L24.7 87.4L26.9 85.5L29.5 84.1L32.2 83.3L35 83L37.8 83.3L40.5 84.1L43.1 85.5L45.3 87.4L47.1 89.7L48.4 92.3L49.2 95.1L49.5 98L54 98L64 98L62.8 96L61.7 94L60.6 92L59.5 90L58.5 88L57.4 86L56.4 84L55.5 82L54.5 80L53.6 78L52.7 76L51.8 74L50.9 72L50.1 70L49.3 68L48.5 66L47.7 64L47 62L46.3 60L45.6 58L45 56L44.4 54L43.8 52L43.2 50L42.6 48L42.1 46L41.6 44L41.2 42L40.7 40L40.3 38L39.9 36L39.6 34L39.3 32L39 30L38.7 28L38.4 26L38.2 24L38 22L37.9 20L37.8 18L37.7 16L37.6 14L37.6 12Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M35 12L37.6 12L37.6 14L37.7 16L37.8 18L37.9 20L38 22L38.2 24L38.4 26L38.7 28L39 30L39.3 32L39.6 34L39.9 36L40.3 38L40.7 40L41.2 42L41.6 44L42.1 46L42.6 48L43.2 50L43.8 52L44.4 54L45 56L45.6 58L46.3 60L47 62L47.7 64L48.5 66L49.3 68L50.1 70L50.9 72L51.8 74L52.7 76L53.6 78L54.5 80L55.5 82L56.4 84L57.4 86L58.5 88L59.5 90L60.6 92L61.7 94L62.8 96L64 98L54 98L44 87L35 83Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M33.3 16.8L37 21.2M36.7 16.8L33 21.2M32.9 22.8L37.6 27.2M37.1 22.8L32.4 27.2M32.2 28.8L38.4 33.2M37.8 28.8L31.6 33.2M31.3 34.8L39.6 39.2M38.7 34.8L30.4 39.2M30.1 40.8L41.2 46.2M39.9 40.8L28.8 46.2M28.4 47.8L43.1 53.2M41.6 47.8L26.9 53.2M26.4 54.8L45.7 61.2M43.6 54.8L24.3 61.2M23.7 62.8L48.8 69.2M46.3 62.8L21.2 69.2',
|
||||
o: 0.38,
|
||||
w: 0.55,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M23.5 64L31.7 72M32.5 64L20.3 72M46.5 64L38.3 72M37.5 64L49.7 72M20.3 72L30.5 80M30.9 72L16.7 80M49.7 72L39.5 80M39.1 72L53.3 80M16.7 80L28.9 88M28.9 80L12.7 88M53.3 80L41.1 88M41.1 80L57.3 88',
|
||||
o: 0.38,
|
||||
w: 0.55,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M31.4 12.6L38.6 12.6C38.9 12.6 39.2 12.9 39.2 13.2L39.2 14C39.2 14.3 38.9 14.6 38.6 14.6L31.4 14.6C31.1 14.6 30.8 14.3 30.8 14L30.8 13.2C30.8 12.9 31.1 12.6 31.4 12.6Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M27.7 39L42.3 39C42.8 39 43.1 39.4 43.1 39.8L43.1 41.2C43.1 41.6 42.8 42 42.3 42L27.7 42C27.2 42 26.9 41.6 26.9 41.2L26.9 39.8C26.9 39.4 27.2 39 27.7 39Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M20.4 61L49.6 61C50.1 61 50.4 61.4 50.4 61.8L50.4 64.2C50.4 64.6 50.1 65 49.6 65L20.4 65C19.9 65 19.6 64.6 19.6 64.2L19.6 61.8C19.6 61.4 19.9 61 20.4 61Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M20.1 61L49.9 61C50.2 61 50.4 61.2 50.4 61.5L50.4 61.5C50.4 61.8 50.2 62 49.9 62L20.1 62C19.8 62 19.6 61.8 19.6 61.5L19.6 61.5C19.6 61.2 19.8 61 20.1 61Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M27.3 39L42.7 39C43 39 43.1 39.2 43.1 39.4L43.1 39.4C43.1 39.6 43 39.8 42.7 39.8L27.3 39.8C27 39.8 26.9 39.6 26.9 39.4L26.9 39.4C26.9 39.2 27 39 27.3 39Z',
|
||||
o: 0.3,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'arcDeTriomphe',
|
||||
theme: 'landmarks',
|
||||
tags: ['arc de triomphe', 'paris', 'france', 'arch', 'champs elysees', 'monument', 'landmark'],
|
||||
descr:
|
||||
'The Arc de Triomphe in Paris: a massive stone arch with a deep cornice, relief panels and a tall central vault.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#e6d3b0' },
|
||||
{ name: 'reliefs', color: '#c4ab83' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M8 88L8 22L92 22L92 88L64 88L64 52C64 42 58 36 50 36C42 36 36 42 36 52L36 88Z' },
|
||||
{ p: 0, d: 'M5 10L95 10L95 17L5 17ZM6 17L94 17L94 22L6 22ZM8 6L92 6L92 10L8 10Z' },
|
||||
{ p: 'shade', d: 'M5 15.4L95 15.4L95 17L5 17ZM8 21L92 21L92 22.4L8 22.4ZM6 9.4L94 9.4L94 10.4L6 10.4Z', o: 0.22 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M9.6 18.4L11.2 18.4L11.2 20.4L9.6 20.4ZM13.4 18.4L15 18.4L15 20.4L13.4 20.4ZM17.2 18.4L18.8 18.4L18.8 20.4L17.2 20.4ZM21 18.4L22.6 18.4L22.6 20.4L21 20.4ZM24.8 18.4L26.4 18.4L26.4 20.4L24.8 20.4ZM28.6 18.4L30.2 18.4L30.2 20.4L28.6 20.4ZM32.4 18.4L34 18.4L34 20.4L32.4 20.4ZM36.2 18.4L37.8 18.4L37.8 20.4L36.2 20.4ZM40 18.4L41.6 18.4L41.6 20.4L40 20.4ZM43.8 18.4L45.4 18.4L45.4 20.4L43.8 20.4ZM47.6 18.4L49.2 18.4L49.2 20.4L47.6 20.4ZM51.4 18.4L53 18.4L53 20.4L51.4 20.4ZM55.2 18.4L56.8 18.4L56.8 20.4L55.2 20.4ZM59 18.4L60.6 18.4L60.6 20.4L59 20.4ZM62.8 18.4L64.4 18.4L64.4 20.4L62.8 20.4ZM66.6 18.4L68.2 18.4L68.2 20.4L66.6 20.4ZM70.4 18.4L72 18.4L72 20.4L70.4 20.4ZM74.2 18.4L75.8 18.4L75.8 20.4L74.2 20.4ZM78 18.4L79.6 18.4L79.6 20.4L78 20.4ZM81.8 18.4L83.4 18.4L83.4 20.4L81.8 20.4ZM85.6 18.4L87.2 18.4L87.2 20.4L85.6 20.4ZM89.4 18.4L91 18.4L91 20.4L89.4 20.4Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M13.6 30L29.4 30C29.7 30 30 30.3 30 30.6L30 43.4C30 43.7 29.7 44 29.4 44L13.6 44C13.3 44 13 43.7 13 43.4L13 30.6C13 30.3 13.3 30 13.6 30ZM70.6 30L86.4 30C86.7 30 87 30.3 87 30.6L87 43.4C87 43.7 86.7 44 86.4 44L70.6 44C70.3 44 70 43.7 70 43.4L70 30.6C70 30.3 70.3 30 70.6 30ZM12.6 58L30.4 58C30.7 58 31 58.3 31 58.6L31 81.4C31 81.7 30.7 82 30.4 82L12.6 82C12.3 82 12 81.7 12 81.4L12 58.6C12 58.3 12.3 58 12.6 58ZM69.6 58L87.4 58C87.7 58 88 58.3 88 58.6L88 81.4C88 81.7 87.7 82 87.4 82L69.6 82C69.3 82 69 81.7 69 81.4L69 58.6C69 58.3 69.3 58 69.6 58Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M13 30L30 30L30 31.4L13 31.4ZM70 30L87 30L87 31.4L70 31.4ZM12 58L31 58L31 59.6L12 59.6ZM69 58L88 58L88 59.6L69 59.6Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{
|
||||
p: '#a8906a',
|
||||
d: 'M18.2 35.2C18.2 35.8 17.6 36.3 17 36.3C16.4 36.3 15.8 35.8 15.8 35.2C15.8 34.5 16.4 34 17 34C17.6 34 18.2 34.5 18.2 35.2ZM15.7 42L16 36.6L18 36.6L18.3 42ZM23.1 34.3C23.1 35 22.5 35.6 21.8 35.6C21.1 35.6 20.5 35 20.5 34.3C20.5 33.6 21.1 33 21.8 33C22.5 33 23.1 33.6 23.1 34.3ZM20.4 42L20.7 35.9L22.9 35.9L23.2 42ZM27.8 35.2C27.8 35.8 27.2 36.3 26.6 36.3C26 36.3 25.4 35.8 25.4 35.2C25.4 34.5 26 34 26.6 34C27.2 34 27.8 34.5 27.8 35.2ZM25.3 42L25.6 36.6L27.6 36.6L27.9 42ZM75.2 35.2C75.2 35.8 74.6 36.3 74 36.3C73.4 36.3 72.8 35.8 72.8 35.2C72.8 34.5 73.4 34 74 34C74.6 34 75.2 34.5 75.2 35.2ZM72.7 42L73 36.6L75 36.6L75.3 42ZM80.1 34.3C80.1 35 79.5 35.6 78.8 35.6C78.1 35.6 77.5 35 77.5 34.3C77.5 33.6 78.1 33 78.8 33C79.5 33 80.1 33.6 80.1 34.3ZM77.4 42L77.7 35.9L79.9 35.9L80.2 42ZM84.8 35.2C84.8 35.8 84.2 36.3 83.6 36.3C83 36.3 82.4 35.8 82.4 35.2C82.4 34.5 83 34 83.6 34C84.2 34 84.8 34.5 84.8 35.2ZM82.3 42L82.6 36.6L84.6 36.6L84.9 42ZM18.2 65.5C18.2 66.3 17.5 67 16.7 67C15.9 67 15.2 66.3 15.2 65.5C15.2 64.7 15.9 64 16.7 64C17.5 64 18.2 64.7 18.2 65.5ZM15 80L15.4 67.4L18 67.4L18.4 80ZM24.3 63.8C24.3 64.8 23.5 65.6 22.5 65.6C21.5 65.6 20.7 64.8 20.7 63.8C20.7 62.8 21.5 62 22.5 62C23.5 62 24.3 62.8 24.3 63.8ZM20.5 80L21 66L24 66L24.5 80ZM29.2 66.5C29.2 67.3 28.5 68 27.7 68C26.9 68 26.2 67.3 26.2 66.5C26.2 65.7 26.9 65 27.7 65C28.5 65 29.2 65.7 29.2 66.5ZM26 80L26.4 68.4L29 68.4L29.4 80ZM75.2 65.5C75.2 66.3 74.5 67 73.7 67C72.9 67 72.2 66.3 72.2 65.5C72.2 64.7 72.9 64 73.7 64C74.5 64 75.2 64.7 75.2 65.5ZM72 80L72.4 67.4L75 67.4L75.4 80ZM81.3 63.8C81.3 64.8 80.5 65.6 79.5 65.6C78.5 65.6 77.7 64.8 77.7 63.8C77.7 62.8 78.5 62 79.5 62C80.5 62 81.3 62.8 81.3 63.8ZM77.5 80L78 66L81 66L81.5 80ZM86.2 66.5C86.2 67.3 85.5 68 84.7 68C83.9 68 83.2 67.3 83.2 66.5C83.2 65.7 83.9 65 84.7 65C85.5 65 86.2 65.7 86.2 66.5ZM83 80L83.4 68.4L86 68.4L86.4 80Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M36.6 24L63.4 24C63.7 24 64 24.3 64 24.6L64 30.4C64 30.7 63.7 31 63.4 31L36.6 31C36.3 31 36 30.7 36 30.4L36 24.6C36 24.3 36.3 24 36.6 24Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M72 22L92 22L92 88L72 88Z', o: 0.1 },
|
||||
{ p: 'shade', d: 'M36 88L36 52C36 42 42 36 50 36C42 38 39 44 39 52L39 88Z', o: 0.12 },
|
||||
{ p: 0, d: 'M4 84L38 84L38 89L4 89ZM62 84L96 84L96 89L62 89Z' },
|
||||
{ p: 'light', d: 'M5 10L95 10L95 11.2L5 11.2Z', o: 0.5 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'colosseum',
|
||||
theme: 'landmarks',
|
||||
tags: ['colosseum', 'rome', 'italy', 'amphitheatre', 'arena', 'ancient', 'roman', 'landmark'],
|
||||
descr:
|
||||
'The Colosseum in Rome, its curved wall of stacked arches in warm travertine with the ruined section stepping down on the right.',
|
||||
box: [120, 66],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#e8c48f' },
|
||||
{ name: 'arches', color: '#8a5a3c' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M78 6.8L80 6.9L82 7L84 7.1L86 7.2L88 7.3L90 7.4L92 7.5L94 7.5L96 7.6L98 7.7L100 7.7L102 7.8L104 7.8L106 7.9L108 7.9L110 8L112 8L114 8L116 8L116 30.5L114 30.9L112 31.2L110 31.5L108 31.8L106 32.1L104 26.4L102 26.7L100 26.9L98 27.2L96 19.4L94 19.7L92 19.9L90 20.1L88 20.3L86 19.2L84 17.2L82 15.1L80 13.1L78 11Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M78 6.8L80 6.9L82 7L84 7.1L86 7.2L88 7.3L90 7.4L92 7.5L94 7.5L96 7.6L98 7.7L100 7.7L102 7.8L104 7.8L106 7.9L108 7.9L110 8L112 8L114 8L116 8L116 30.5L114 30.9L112 31.2L110 31.5L108 31.8L106 32.1L104 26.4L102 26.7L100 26.9L98 27.2L96 19.4L94 19.7L92 19.9L90 20.1L88 20.3L86 19.2L84 17.2L82 15.1L80 13.1L78 11Z',
|
||||
o: 0.32,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M83.8 11.1L84.2 11.1C85 11.1 85.6 11.7 85.6 12.5L85.6 14.7C85.6 15.5 85 16.1 84.2 16.1L83.8 16.1C83 16.1 82.4 15.5 82.4 14.7L82.4 12.5C82.4 11.7 83 11.1 83.8 11.1ZM90.8 11.4L91.2 11.4C92 11.4 92.6 12.1 92.6 12.8L92.6 15C92.6 15.8 92 16.4 91.2 16.4L90.8 16.4C90 16.4 89.4 15.8 89.4 15L89.4 12.8C89.4 12.1 90 11.4 90.8 11.4ZM97.8 11.7L98.2 11.7C99 11.7 99.6 12.3 99.6 13.1L99.6 15.3C99.6 16.1 99 16.7 98.2 16.7L97.8 16.7C97 16.7 96.4 16.1 96.4 15.3L96.4 13.1C96.4 12.3 97 11.7 97.8 11.7ZM104.8 11.9L105.2 11.9C106 11.9 106.6 12.5 106.6 13.3L106.6 15.5C106.6 16.2 106 16.9 105.2 16.9L104.8 16.9C104 16.9 103.4 16.2 103.4 15.5L103.4 13.3C103.4 12.5 104 11.9 104.8 11.9ZM111.8 12L112.2 12C113 12 113.6 12.6 113.6 13.4L113.6 15.6C113.6 16.4 113 17 112.2 17L111.8 17C111 17 110.4 16.4 110.4 15.6L110.4 13.4C110.4 12.6 111 12 111.8 12Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M4 56L6 56.4L8 56.7L10 57L12 57.3L14 57.6L16 57.9L18 58.2L20 58.4L22 58.7L24 58.9L26 59.2L28 59.4L30 59.6L32 59.8L34 59.9L36 60.1L38 60.2L40 60.4L42 60.5L44 60.6L46 60.7L48 60.8L50 60.8L52 60.9L54 60.9L56 61L58 61L60 61L62 61L64 61L66 60.9L68 60.9L70 60.8L72 60.8L74 60.7L76 60.6L78 60.5L80 60.4L82 60.2L84 60.1L86 59.9L88 59.8L90 59.6L92 59.4L94 59.2L96 58.9L98 58.7L100 58.4L102 58.2L104 57.9L106 57.6L108 57.3L110 57L112 56.7L114 56.4L116 56L116 29L114 29.4L112 29.7L110 30L108 30.3L106 30.6L104 24.9L102 25.2L100 25.4L98 25.7L96 17.9L94 18.2L92 18.4L90 18.6L88 18.8L86 17.7L84 15.7L82 13.6L80 11.6L78 9.5L76 9.6L74 9.7L72 9.8L70 9.8L68 9.9L66 9.9L64 10L62 10L60 10L58 10L56 10L54 9.9L52 9.9L50 9.8L48 9.8L46 9.7L44 9.6L42 9.5L40 9.4L38 9.2L36 9.1L34 8.9L32 8.8L30 8.6L28 8.4L26 8.2L24 7.9L22 7.7L20 7.4L18 7.2L16 6.9L14 6.6L12 6.3L10 6L8 5.7L6 5.4L4 5Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M4 56L4 5L18 7.2L18 58.2Z', o: 0.12 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M4 40.1L6 40.5L8 40.8L10 41.1L12 41.4L14 41.7L16 42L18 42.3L20 42.5L22 42.8L24 43L26 43.3L28 43.5L30 43.7L32 43.9L34 44L36 44.2L38 44.3L40 44.5L42 44.6L44 44.7L46 44.8L48 44.9L50 44.9L52 45L54 45L56 45.1L58 45.1L60 45.1L62 45.1L64 45.1L66 45L68 45L70 44.9L72 44.9L74 44.8L76 44.7L78 44.6L80 44.5L82 44.3L84 44.2L86 44L88 43.9L90 43.7L92 43.5L94 43.3L96 43L98 42.8L100 42.5L102 42.3L104 42L106 41.7L108 41.4L110 41.1L112 40.8L114 40.5L116 40.1L116 42.1L114 42.5L112 42.8L110 43.1L108 43.4L106 43.7L104 44L102 44.3L100 44.5L98 44.8L96 45L94 45.3L92 45.5L90 45.7L88 45.9L86 46L84 46.2L82 46.3L80 46.5L78 46.6L76 46.7L74 46.8L72 46.9L70 46.9L68 47L66 47L64 47.1L62 47.1L60 47.1L58 47.1L56 47.1L54 47L52 47L50 46.9L48 46.9L46 46.8L44 46.7L42 46.6L40 46.5L38 46.3L36 46.2L34 46L32 45.9L30 45.7L28 45.5L26 45.3L24 45L22 44.8L20 44.5L18 44.3L16 44L14 43.7L12 43.4L10 43.1L8 42.8L6 42.5L4 42.1ZM4 26.1L6 26.5L8 26.8L10 27.1L12 27.4L14 27.7L16 28L18 28.3L20 28.5L22 28.8L24 29L26 29.3L28 29.5L30 29.7L32 29.9L34 30L36 30.2L38 30.3L40 30.5L42 30.6L44 30.7L46 30.8L48 30.9L50 30.9L52 31L54 31L56 31.1L58 31.1L60 31.1L62 31.1L64 31.1L66 31L68 31L70 30.9L72 30.9L74 30.8L76 30.7L78 30.6L80 30.5L82 30.3L84 30.2L86 30L88 29.9L90 29.7L92 29.5L94 29.3L96 29L98 28.8L100 28.5L102 28.3L104 28L104 30L102 30.3L100 30.5L98 30.8L96 31L94 31.3L92 31.5L90 31.7L88 31.9L86 32L84 32.2L82 32.3L80 32.5L78 32.6L76 32.7L74 32.8L72 32.9L70 32.9L68 33L66 33L64 33.1L62 33.1L60 33.1L58 33.1L56 33.1L54 33L52 33L50 32.9L48 32.9L46 32.8L44 32.7L42 32.6L40 32.5L38 32.3L36 32.2L34 32L32 31.9L30 31.7L28 31.5L26 31.3L24 31L22 30.8L20 30.5L18 30.3L16 30L14 29.7L12 29.4L10 29.1L8 28.8L6 28.5L4 28.1ZM4 13.1L6 13.5L8 13.8L10 14.1L12 14.4L14 14.7L16 15L18 15.3L20 15.5L22 15.8L24 16L26 16.3L28 16.5L30 16.7L32 16.9L34 17L36 17.2L38 17.3L40 17.5L42 17.6L44 17.7L46 17.8L48 17.9L50 17.9L52 18L54 18L56 18.1L58 18.1L60 18.1L62 18.1L64 18.1L66 18L68 18L70 17.9L72 17.9L74 17.8L76 17.7L78 17.6L80 17.5L82 17.3L84 17.2L86 17L86 19L84 19.2L82 19.3L80 19.5L78 19.6L76 19.7L74 19.8L72 19.9L70 19.9L68 20L66 20L64 20.1L62 20.1L60 20.1L58 20.1L56 20.1L54 20L52 20L50 19.9L48 19.9L46 19.8L44 19.7L42 19.6L40 19.5L38 19.3L36 19.2L34 19L32 18.9L30 18.7L28 18.5L26 18.3L24 18L22 17.8L20 17.5L18 17.3L16 17L14 16.7L12 16.4L10 16.1L8 15.8L6 15.5L4 15.1Z',
|
||||
o: 0.22,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M8.7 55.1L8.7 46C8.7 45.1 9.5 44.3 10.5 44.3C11.4 44.3 12.2 45.1 12.2 46L12.2 55.1ZM13.5 55.9L13.5 47.3C13.5 46.1 14.5 45.1 15.7 45.1C17 45.1 18 46.1 18 47.3L18 55.9ZM19.9 56.8L19.9 48.6C19.9 47.2 21.1 46 22.6 46C24 46 25.2 47.2 25.2 48.6L25.2 56.8ZM27.7 57.6L27.7 49.9C27.7 48.2 29 46.8 30.7 46.8C32.4 46.8 33.7 48.2 33.7 49.9L33.7 57.6ZM36.6 58.4L36.6 50.8C36.6 49 38.1 47.6 39.9 47.6C41.7 47.6 43.2 49 43.2 50.8L43.2 58.4ZM46.3 58.8L46.3 51.5C46.3 49.6 47.9 48 49.8 48C51.7 48 53.2 49.6 53.2 51.5L53.2 58.8ZM56.5 59L56.5 51.7C56.5 49.8 58.1 48.2 60 48.2C61.9 48.2 63.5 49.8 63.5 51.7L63.5 59ZM66.8 58.8L66.8 51.5C66.8 49.6 68.3 48 70.2 48C72.1 48 73.7 49.6 73.7 51.5L73.7 58.8ZM76.8 58.4L76.8 50.8C76.8 49 78.3 47.6 80.1 47.6C81.9 47.6 83.4 49 83.4 50.8L83.4 58.4ZM86.3 57.6L86.3 49.9C86.3 48.2 87.6 46.8 89.3 46.8C91 46.8 92.3 48.2 92.3 49.9L92.3 57.6ZM94.8 56.8L94.8 48.6C94.8 47.2 96 46 97.4 46C98.9 46 100.1 47.2 100.1 48.6L100.1 56.8ZM102 55.9L102 47.3C102 46.1 103 45.1 104.3 45.1C105.5 45.1 106.5 46.1 106.5 47.3L106.5 55.9ZM107.8 55.1L107.8 46C107.8 45.1 108.6 44.3 109.5 44.3C110.5 44.3 111.3 45.1 111.3 46L111.3 55.1ZM8.7 40.1L8.7 32C8.7 31.1 9.5 30.3 10.5 30.3C11.4 30.3 12.2 31.1 12.2 32L12.2 40.1ZM13.5 40.9L13.5 33.3C13.5 32.1 14.5 31.1 15.7 31.1C17 31.1 18 32.1 18 33.3L18 40.9ZM19.9 41.8L19.9 34.6C19.9 33.2 21.1 32 22.6 32C24 32 25.2 33.2 25.2 34.6L25.2 41.8ZM27.7 42.6L27.7 35.9C27.7 34.2 29 32.8 30.7 32.8C32.4 32.8 33.7 34.2 33.7 35.9L33.7 42.6ZM36.6 43.4L36.6 36.8C36.6 35 38.1 33.6 39.9 33.6C41.7 33.6 43.2 35 43.2 36.8L43.2 43.4ZM46.3 43.8L46.3 37.5C46.3 35.6 47.9 34 49.8 34C51.7 34 53.2 35.6 53.2 37.5L53.2 43.8ZM56.5 44L56.5 37.7C56.5 35.8 58.1 34.2 60 34.2C61.9 34.2 63.5 35.8 63.5 37.7L63.5 44ZM66.8 43.8L66.8 37.5C66.8 35.6 68.3 34 70.2 34C72.1 34 73.7 35.6 73.7 37.5L73.7 43.8ZM76.8 43.4L76.8 36.8C76.8 35 78.3 33.6 80.1 33.6C81.9 33.6 83.4 35 83.4 36.8L83.4 43.4ZM86.3 42.6L86.3 35.9C86.3 34.2 87.6 32.8 89.3 32.8C91 32.8 92.3 34.2 92.3 35.9L92.3 42.6ZM94.8 41.8L94.8 34.6C94.8 33.2 96 32 97.4 32C98.9 32 100.1 33.2 100.1 34.6L100.1 41.8ZM8.7 26.1L8.7 19C8.7 18.1 9.5 17.3 10.5 17.3C11.4 17.3 12.2 18.1 12.2 19L12.2 26.1ZM13.5 26.9L13.5 20.3C13.5 19.1 14.5 18.1 15.7 18.1C17 18.1 18 19.1 18 20.3L18 26.9ZM19.9 27.8L19.9 21.6C19.9 20.2 21.1 19 22.6 19C24 19 25.2 20.2 25.2 21.6L25.2 27.8ZM27.7 28.6L27.7 22.9C27.7 21.2 29 19.8 30.7 19.8C32.4 19.8 33.7 21.2 33.7 22.9L33.7 28.6ZM36.6 29.4L36.6 23.8C36.6 22 38.1 20.6 39.9 20.6C41.7 20.6 43.2 22 43.2 23.8L43.2 29.4ZM46.3 29.8L46.3 24.5C46.3 22.6 47.9 21 49.8 21C51.7 21 53.2 22.6 53.2 24.5L53.2 29.8ZM56.5 30L56.5 24.7C56.5 22.8 58.1 21.2 60 21.2C61.9 21.2 63.5 22.8 63.5 24.7L63.5 30ZM66.8 29.8L66.8 24.5C66.8 22.6 68.3 21 70.2 21C72.1 21 73.7 22.6 73.7 24.5L73.7 29.8ZM76.8 29.4L76.8 23.8C76.8 22 78.3 20.6 80.1 20.6C81.9 20.6 83.4 22 83.4 23.8L83.4 29.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M8.7 55.1L8.7 46C8.7 45.1 9.5 44.3 10.5 44.3C11.4 44.3 12.2 45.1 12.2 46L12.2 55.1ZM13.5 55.9L13.5 47.3C13.5 46.1 14.5 45.1 15.7 45.1C17 45.1 18 46.1 18 47.3L18 55.9ZM19.9 56.8L19.9 48.6C19.9 47.2 21.1 46 22.6 46C24 46 25.2 47.2 25.2 48.6L25.2 56.8ZM27.7 57.6L27.7 49.9C27.7 48.2 29 46.8 30.7 46.8C32.4 46.8 33.7 48.2 33.7 49.9L33.7 57.6ZM36.6 58.4L36.6 50.8C36.6 49 38.1 47.6 39.9 47.6C41.7 47.6 43.2 49 43.2 50.8L43.2 58.4ZM46.3 58.8L46.3 51.5C46.3 49.6 47.9 48 49.8 48C51.7 48 53.2 49.6 53.2 51.5L53.2 58.8ZM56.5 59L56.5 51.7C56.5 49.8 58.1 48.2 60 48.2C61.9 48.2 63.5 49.8 63.5 51.7L63.5 59ZM66.8 58.8L66.8 51.5C66.8 49.6 68.3 48 70.2 48C72.1 48 73.7 49.6 73.7 51.5L73.7 58.8ZM76.8 58.4L76.8 50.8C76.8 49 78.3 47.6 80.1 47.6C81.9 47.6 83.4 49 83.4 50.8L83.4 58.4ZM86.3 57.6L86.3 49.9C86.3 48.2 87.6 46.8 89.3 46.8C91 46.8 92.3 48.2 92.3 49.9L92.3 57.6ZM94.8 56.8L94.8 48.6C94.8 47.2 96 46 97.4 46C98.9 46 100.1 47.2 100.1 48.6L100.1 56.8ZM102 55.9L102 47.3C102 46.1 103 45.1 104.3 45.1C105.5 45.1 106.5 46.1 106.5 47.3L106.5 55.9ZM107.8 55.1L107.8 46C107.8 45.1 108.6 44.3 109.5 44.3C110.5 44.3 111.3 45.1 111.3 46L111.3 55.1ZM8.7 40.1L8.7 32C8.7 31.1 9.5 30.3 10.5 30.3C11.4 30.3 12.2 31.1 12.2 32L12.2 40.1ZM13.5 40.9L13.5 33.3C13.5 32.1 14.5 31.1 15.7 31.1C17 31.1 18 32.1 18 33.3L18 40.9ZM19.9 41.8L19.9 34.6C19.9 33.2 21.1 32 22.6 32C24 32 25.2 33.2 25.2 34.6L25.2 41.8ZM27.7 42.6L27.7 35.9C27.7 34.2 29 32.8 30.7 32.8C32.4 32.8 33.7 34.2 33.7 35.9L33.7 42.6ZM36.6 43.4L36.6 36.8C36.6 35 38.1 33.6 39.9 33.6C41.7 33.6 43.2 35 43.2 36.8L43.2 43.4ZM46.3 43.8L46.3 37.5C46.3 35.6 47.9 34 49.8 34C51.7 34 53.2 35.6 53.2 37.5L53.2 43.8ZM56.5 44L56.5 37.7C56.5 35.8 58.1 34.2 60 34.2C61.9 34.2 63.5 35.8 63.5 37.7L63.5 44ZM66.8 43.8L66.8 37.5C66.8 35.6 68.3 34 70.2 34C72.1 34 73.7 35.6 73.7 37.5L73.7 43.8ZM76.8 43.4L76.8 36.8C76.8 35 78.3 33.6 80.1 33.6C81.9 33.6 83.4 35 83.4 36.8L83.4 43.4ZM86.3 42.6L86.3 35.9C86.3 34.2 87.6 32.8 89.3 32.8C91 32.8 92.3 34.2 92.3 35.9L92.3 42.6ZM94.8 41.8L94.8 34.6C94.8 33.2 96 32 97.4 32C98.9 32 100.1 33.2 100.1 34.6L100.1 41.8ZM8.7 26.1L8.7 19C8.7 18.1 9.5 17.3 10.5 17.3C11.4 17.3 12.2 18.1 12.2 19L12.2 26.1ZM13.5 26.9L13.5 20.3C13.5 19.1 14.5 18.1 15.7 18.1C17 18.1 18 19.1 18 20.3L18 26.9ZM19.9 27.8L19.9 21.6C19.9 20.2 21.1 19 22.6 19C24 19 25.2 20.2 25.2 21.6L25.2 27.8ZM27.7 28.6L27.7 22.9C27.7 21.2 29 19.8 30.7 19.8C32.4 19.8 33.7 21.2 33.7 22.9L33.7 28.6ZM36.6 29.4L36.6 23.8C36.6 22 38.1 20.6 39.9 20.6C41.7 20.6 43.2 22 43.2 23.8L43.2 29.4ZM46.3 29.8L46.3 24.5C46.3 22.6 47.9 21 49.8 21C51.7 21 53.2 22.6 53.2 24.5L53.2 29.8ZM56.5 30L56.5 24.7C56.5 22.8 58.1 21.2 60 21.2C61.9 21.2 63.5 22.8 63.5 24.7L63.5 30ZM66.8 29.8L66.8 24.5C66.8 22.6 68.3 21 70.2 21C72.1 21 73.7 22.6 73.7 24.5L73.7 29.8ZM76.8 29.4L76.8 23.8C76.8 22 78.3 20.6 80.1 20.6C81.9 20.6 83.4 22 83.4 23.8L83.4 29.4Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M8.9 9L10.3 9L10.3 12.4L8.9 12.4ZM12.7 9.6L14.5 9.6L14.5 13L12.7 13ZM17.6 10.3L19.7 10.3L19.7 13.7L17.6 13.7ZM23.6 11L25.9 11L25.9 14.4L23.6 14.4ZM30.4 11.7L33 11.7L33 15.1L30.4 15.1ZM37.9 12.3L40.7 12.3L40.7 15.7L37.9 15.7ZM45.9 12.7L48.8 12.7L48.8 16.1L45.9 16.1ZM54.3 13L57.2 13L57.2 16.4L54.3 16.4ZM62.8 13L65.7 13L65.7 16.4L62.8 16.4ZM71.2 12.7L74.1 12.7L74.1 16.1L71.2 16.1Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M4 6L4 5.8L6 6.2L8 6.5L10 6.8L12 7.1L14 7.4L16 7.7L18 8L20 8.2L22 8.5L24 8.7L26 9L28 9.2L30 9.4L32 9.5L34 9.7L36 9.9L38 10L40 10.2L42 10.3L44 10.4L46 10.5L48 10.6L50 10.6L52 10.7L54 10.7L56 10.8L58 10.8L60 10.8L62 10.8L64 10.8L66 10.7L68 10.7L70 10.6L72 10.6L74 10.5L76 10.4L78 10.3L78 11.5L78 11.5L76 11.6L74 11.7L72 11.8L70 11.8L68 11.9L66 11.9L64 12L62 12L60 12L58 12L56 12L54 11.9L52 11.9L50 11.8L48 11.8L46 11.7L44 11.6L42 11.5L40 11.4L38 11.2L36 11.1L34 10.9L32 10.8L30 10.6L28 10.4L26 10.2L24 9.9L22 9.7L20 9.4L18 9.2L16 8.9L14 8.6L12 8.3L10 8L8 7.7L6 7.4L4 7Z',
|
||||
o: 0.45,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M4 56L6 56.4L8 56.7L10 57L12 57.3L14 57.6L16 57.9L18 58.2L20 58.4L22 58.7L24 58.9L26 59.2L28 59.4L30 59.6L32 59.8L34 59.9L36 60.1L38 60.2L40 60.4L42 60.5L44 60.6L46 60.7L48 60.8L50 60.8L52 60.9L54 60.9L56 61L58 61L60 61L62 61L64 61L66 60.9L68 60.9L70 60.8L72 60.8L74 60.7L76 60.6L78 60.5L80 60.4L82 60.2L84 60.1L86 59.9L88 59.8L90 59.6L92 59.4L94 59.2L96 58.9L98 58.7L100 58.4L102 58.2L104 57.9L106 57.6L108 57.3L110 57L112 56.7L114 56.4L116 56L116 54L114 54.4L112 54.7L110 55L108 55.3L106 55.6L104 55.9L102 56.2L100 56.4L98 56.7L96 56.9L94 57.2L92 57.4L90 57.6L88 57.8L86 57.9L84 58.1L82 58.2L80 58.4L78 58.5L76 58.6L74 58.7L72 58.8L70 58.8L68 58.9L66 58.9L64 59L62 59L60 59L58 59L56 59L54 58.9L52 58.9L50 58.8L48 58.8L46 58.7L44 58.6L42 58.5L40 58.4L38 58.2L36 58.1L34 57.9L32 57.8L30 57.6L28 57.4L26 57.2L24 56.9L22 56.7L20 56.4L18 56.2L16 55.9L14 55.6L12 55.3L10 55L8 54.7L6 54.4L4 54Z',
|
||||
o: 0.2,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'pisaTower',
|
||||
theme: 'landmarks',
|
||||
tags: ['leaning tower', 'pisa', 'italy', 'tuscany', 'tower', 'bell tower', 'landmark'],
|
||||
descr: 'The Leaning Tower of Pisa: a white marble bell tower of stacked arcades, tilted to one side.',
|
||||
box: [64, 100],
|
||||
slots: [
|
||||
{ name: 'marble', color: '#f1ead9' },
|
||||
{ name: 'arcades', color: '#b8a483' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M58 95C58 96.7 48.2 98 36 98C23.8 98 14 96.7 14 95C14 93.3 23.8 92 36 92C48.2 92 58 93.3 58 95Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M24.6 20.1L52.5 22.5L46.6 89.3L18.8 86.8ZM29.4 11.4L49.3 13.2L48.4 23.2L28.5 21.4ZM28.5 10.4L50.4 12.3L50.2 14.3L28.3 12.4Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M21.6 85.5L22.1 79.2C22.2 78.2 23 77.5 24 77.6C24.9 77.7 25.6 78.5 25.5 79.5L25 85.7ZM26.4 85.9L26.9 79.6C27 78.7 27.8 78 28.8 78C29.7 78.1 30.4 79 30.3 79.9L29.7 86.2ZM31.1 86.3L31.7 80C31.8 79.1 32.6 78.4 33.5 78.5C34.5 78.5 35.2 79.4 35.1 80.3L34.5 86.6ZM35.9 86.7L36.5 80.4C36.6 79.5 37.4 78.8 38.3 78.9C39.3 79 39.9 79.8 39.9 80.7L39.3 87ZM40.7 87.1L41.3 80.8C41.3 79.9 42.2 79.2 43.1 79.3C44 79.4 44.7 80.2 44.6 81.1L44.1 87.4ZM22.6 73.5L23 69.2C23.1 68.3 23.9 67.6 24.8 67.7C25.8 67.8 26.5 68.6 26.4 69.5L26 73.8ZM27.4 73.9L27.8 69.6C27.9 68.7 28.7 68 29.6 68.1C30.6 68.2 31.3 69 31.2 69.9L30.8 74.2ZM32.2 74.3L32.6 70.1C32.6 69.1 33.5 68.4 34.4 68.5C35.3 68.6 36 69.4 36 70.3L35.6 74.6ZM37 74.8L37.3 70.5C37.4 69.5 38.3 68.8 39.2 68.9C40.1 69 40.8 69.8 40.7 70.8L40.4 75ZM41.8 75.2L42.1 70.9C42.2 70 43 69.3 44 69.3C44.9 69.4 45.6 70.2 45.5 71.2L45.1 75.5ZM23.5 63.5L23.8 60.2C23.9 59.3 24.7 58.6 25.6 58.7C26.6 58.8 27.3 59.6 27.2 60.5L26.9 63.8ZM28.3 64L28.6 60.7C28.6 59.7 29.5 59 30.4 59.1C31.3 59.2 32 60 32 61L31.7 64.3ZM33.1 64.4L33.3 61.1C33.4 60.1 34.3 59.5 35.2 59.5C36.1 59.6 36.8 60.4 36.7 61.4L36.4 64.7ZM37.8 64.8L38.1 61.5C38.2 60.6 39 59.9 40 60C40.9 60 41.6 60.9 41.5 61.8L41.2 65.1ZM42.6 65.2L42.9 61.9C43 61 43.8 60.3 44.8 60.4C45.7 60.5 46.4 61.3 46.3 62.2L46 65.5ZM24.3 54.6L24.6 51.3C24.7 50.3 25.5 49.7 26.4 49.7C27.3 49.8 28 50.6 28 51.6L27.7 54.9ZM29.1 55L29.4 51.7C29.4 50.8 30.3 50.1 31.2 50.2C32.1 50.2 32.8 51.1 32.7 52L32.5 55.3ZM33.8 55.4L34.1 52.1C34.2 51.2 35 50.5 36 50.6C36.9 50.7 37.6 51.5 37.5 52.4L37.2 55.7ZM38.6 55.8L38.9 52.5C39 51.6 39.8 50.9 40.8 51C41.7 51.1 42.4 51.9 42.3 52.8L42 56.1ZM43.4 56.2L43.7 53C43.8 52 44.6 51.3 45.5 51.4C46.5 51.5 47.2 52.3 47.1 53.3L46.8 56.5ZM25.1 45.6L25.4 42.3C25.4 41.4 26.3 40.7 27.2 40.8C28.1 40.9 28.8 41.7 28.7 42.6L28.5 45.9ZM29.8 46L30.1 42.7C30.2 41.8 31 41.1 32 41.2C32.9 41.3 33.6 42.1 33.5 43L33.2 46.3ZM34.6 46.4L34.9 43.2C35 42.2 35.8 41.5 36.8 41.6C37.7 41.7 38.4 42.5 38.3 43.4L38 46.7ZM39.4 46.9L39.7 43.6C39.8 42.6 40.6 41.9 41.5 42C42.5 42.1 43.2 42.9 43.1 43.9L42.8 47.2ZM44.2 47.3L44.5 44C44.6 43.1 45.4 42.4 46.3 42.4C47.3 42.5 47.9 43.4 47.9 44.3L47.6 47.6ZM25.9 36.6L26.1 33.4C26.2 32.4 27 31.7 28 31.8C28.9 31.9 29.6 32.7 29.5 33.6L29.2 36.9ZM30.6 37.1L30.9 33.8C31 32.8 31.8 32.1 32.8 32.2C33.7 32.3 34.4 33.1 34.3 34.1L34 37.4ZM35.4 37.5L35.7 34.2C35.8 33.3 36.6 32.6 37.5 32.6C38.5 32.7 39.2 33.5 39.1 34.5L38.8 37.8ZM40.2 37.9L40.5 34.6C40.6 33.7 41.4 33 42.3 33.1C43.3 33.1 44 34 43.9 34.9L43.6 38.2ZM45 38.3L45.3 35C45.3 34.1 46.2 33.4 47.1 33.5C48 33.6 48.7 34.4 48.7 35.3L48.4 38.6ZM26.6 27.7L26.9 24.4C27 23.4 27.8 22.8 28.8 22.8C29.7 22.9 30.4 23.7 30.3 24.7L30 28ZM31.4 28.1L31.7 24.8C31.8 23.9 32.6 23.2 33.5 23.3C34.5 23.3 35.2 24.2 35.1 25.1L34.8 28.4ZM36.2 28.5L36.5 25.2C36.6 24.3 37.4 23.6 38.3 23.7C39.3 23.8 40 24.6 39.9 25.5L39.6 28.8ZM41 28.9L41.3 25.6C41.3 24.7 42.2 24 43.1 24.1C44 24.2 44.7 25 44.7 25.9L44.4 29.2ZM45.8 29.3L46 26.1C46.1 25.1 47 24.4 47.9 24.5C48.8 24.6 49.5 25.4 49.4 26.4L49.1 29.6Z',
|
||||
o: 0.85,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M31.2 20.6L31.6 15.7C31.7 14.9 32.3 14.3 33.1 14.4C33.9 14.5 34.5 15.1 34.4 15.9L34 20.9ZM35 21L35.4 16C35.5 15.2 36.1 14.7 36.9 14.7C37.7 14.8 38.2 15.5 38.2 16.2L37.7 21.2ZM38.7 21.3L39.2 16.3C39.2 15.6 39.9 15 40.7 15C41.5 15.1 42 15.8 42 16.6L41.5 21.5ZM42.5 21.6L43 16.7C43 15.9 43.7 15.3 44.5 15.4C45.2 15.4 45.8 16.1 45.7 16.9L45.3 21.9ZM46.3 22L46.7 17C46.8 16.2 47.5 15.6 48.3 15.7C49 15.8 49.6 16.5 49.5 17.2L49.1 22.2Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M18.9 74.2L48.7 76.8L48.6 78.6L18.7 76ZM19.7 64.2L49.6 66.8L49.5 68.6L19.6 66ZM20.5 55.2L50.4 57.9L50.2 59.7L20.4 57ZM21.3 46.3L51.2 48.9L51 50.7L21.1 48.1ZM22.1 37.3L52 39.9L51.8 41.7L21.9 39.1ZM22.9 28.3L52.7 31L52.6 32.8L22.7 30.1ZM23.6 19.4L53.5 22L53.4 23.8L23.5 21.2Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M44.5 21.8L52.5 22.5L46.6 89.3L38.7 88.6ZM43.3 12.7L49.3 13.2L48.4 23.2L42.4 22.6Z', o: 0.14 },
|
||||
{ p: 0, d: 'M15.9 84.6L49.8 87.5L49.5 91.5L15.6 88.5Z' },
|
||||
{ p: 'shade', d: 'M15.7 87.1L49.6 90.1L49.5 91.5L15.6 88.5Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'bigBen',
|
||||
theme: 'landmarks',
|
||||
tags: ['big ben', 'london', 'england', 'uk', 'clock tower', 'westminster', 'landmark', 'gothic'],
|
||||
descr:
|
||||
'Big Ben, the Elizabeth Tower in London: a tall golden gothic tower with a big white clock face and a slim spire.',
|
||||
box: [50, 100],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#d9b26f' },
|
||||
{ name: 'roof', color: '#3d4a5c' },
|
||||
{ name: 'clock', color: '#fbf6e9' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M25 1L27 12L30.6 28L19.4 28L23 12Z' },
|
||||
{ p: 'shade', d: 'M25 1L27 12L30.6 28L25 28Z', o: 0.25 },
|
||||
{ p: 0, d: 'M18 28L32 28L32 31L18 31ZM19 22L20 22L20.6 28L18.4 28ZM30 22L31 22L31.6 28L29.4 28Z' },
|
||||
{ p: 0, d: 'M16 31L34 31L34 43L16 43Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18.4 42L18.4 35C18.4 33.6 19.2 33 20 33C20.8 33 21.6 33.6 21.6 35L21.6 42ZM23.4 42L23.4 35C23.4 33.6 24.2 33 25 33C25.8 33 26.6 33.6 26.6 35L26.6 42ZM28.4 42L28.4 35C28.4 33.6 29.2 33 30 33C30.8 33 31.6 33.6 31.6 35L31.6 42Z',
|
||||
},
|
||||
{ p: 0, d: 'M13 43L37 43L37 66L13 66ZM12 41L38 41L38 44L12 44Z' },
|
||||
{ p: 0, d: 'M12 41L14 36L16 41ZM34 41L36 36L38 41Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M34.6 54.5C34.6 59.8 30.3 64.1 25 64.1C19.7 64.1 15.4 59.8 15.4 54.5C15.4 49.2 19.7 44.9 25 44.9C30.3 44.9 34.6 49.2 34.6 54.5Z',
|
||||
},
|
||||
{
|
||||
p: '#c9a45c',
|
||||
d: 'M34.6 54.5C34.6 59.8 30.3 64.1 25 64.1C19.7 64.1 15.4 59.8 15.4 54.5C15.4 49.2 19.7 44.9 25 44.9C30.3 44.9 34.6 49.2 34.6 54.5Z',
|
||||
w: 1.2,
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M24.6 45.8L25.4 45.8L25.4 47.6L24.6 47.6ZM29 46.8L29.7 47.2L28.8 48.7L28.1 48.3ZM32.3 49.8L32.7 50.5L31.2 51.4L30.8 50.7ZM33.7 54.1L33.7 54.9L31.9 54.9L31.9 54.1ZM32.7 58.5L32.3 59.2L30.8 58.3L31.2 57.6ZM29.7 61.8L29 62.2L28.1 60.7L28.8 60.3ZM25.4 63.2L24.6 63.2L24.6 61.4L25.4 61.4ZM21 62.2L20.3 61.8L21.2 60.3L21.9 60.7ZM17.7 59.2L17.3 58.5L18.8 57.6L19.2 58.3ZM16.3 54.9L16.3 54.1L18.1 54.1L18.1 54.9ZM17.3 50.5L17.7 49.8L19.2 50.7L18.8 51.4ZM20.3 47.2L21 46.8L21.9 48.3L21.2 48.7Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{ p: 'ink', d: 'M25 54.5L25 48.4M25 54.5L29 56.4', o: 0.85, w: 1 },
|
||||
{ p: 0, d: 'M14 66L36 66L36 99L14 99Z' },
|
||||
{ p: 'shade', d: 'M14 66L36 66L36 68L14 68Z', o: 0.25 },
|
||||
{
|
||||
p: '#b99257',
|
||||
d: 'M17 69L18.6 69L18.6 99L17 99ZM21.2 69L22.8 69L22.8 99L21.2 99ZM25.4 69L27 69L27 99L25.4 99ZM29.6 69L31.2 69L31.2 99L29.6 99ZM32.6 69L34 69L34 99L32.6 99Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M16 76L34 76L34 77.2L16 77.2ZM16 86L34 86L34 87.2L16 87.2Z', o: 0.3 },
|
||||
{ p: 'shade', d: 'M28 31L34 31L34 43L28 43ZM30 43L37 43L37 66L30 66ZM28 66L36 66L36 99L28 99Z', o: 0.16 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'towerBridge',
|
||||
theme: 'landmarks',
|
||||
tags: ['tower bridge', 'london', 'england', 'uk', 'thames', 'bridge', 'landmark', 'victorian'],
|
||||
descr:
|
||||
"London's Tower Bridge: two stone gothic towers with slate roofs joined by blue high walkways over the Thames.",
|
||||
box: [130, 76],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#d8c3a0' },
|
||||
{ name: 'steel', color: '#5b9bd5' },
|
||||
{ name: 'roofs', color: '#4a5568' },
|
||||
{ name: 'river', color: '#6b8fa8' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 3,
|
||||
d: 'M0 66C0.3 66.1 1.4 66.4 2 66.5C2.7 66.6 3.4 66.7 4.1 66.7C4.7 66.7 5.4 66.6 6.1 66.5C6.8 66.4 7.4 66.2 8.1 66C8.8 65.8 9.5 65.6 10.2 65.5C10.8 65.4 11.5 65.3 12.2 65.3C12.9 65.3 13.5 65.4 14.2 65.5C14.9 65.6 15.6 65.8 16.3 66C16.9 66.2 17.6 66.4 18.3 66.5C19 66.6 19.6 66.7 20.3 66.7C21 66.7 21.7 66.6 22.3 66.5C23 66.4 23.7 66.2 24.4 66C25.1 65.8 25.7 65.6 26.4 65.5C27.1 65.4 27.8 65.3 28.4 65.3C29.1 65.3 29.8 65.4 30.5 65.5C31.1 65.6 31.8 65.8 32.5 66C33.2 66.2 33.9 66.4 34.5 66.5C35.2 66.6 35.9 66.7 36.6 66.7C37.2 66.7 37.9 66.6 38.6 66.5C39.3 66.4 39.9 66.2 40.6 66C41.3 65.8 42 65.6 42.7 65.5C43.3 65.4 44 65.3 44.7 65.3C45.4 65.3 46 65.4 46.7 65.5C47.4 65.6 48.1 65.8 48.8 66C49.4 66.2 50.1 66.4 50.8 66.5C51.5 66.6 52.1 66.7 52.8 66.7C53.5 66.7 54.2 66.6 54.8 66.5C55.5 66.4 56.2 66.2 56.9 66C57.6 65.8 58.2 65.6 58.9 65.5C59.6 65.4 60.3 65.3 60.9 65.3C61.6 65.3 62.3 65.4 63 65.5C63.6 65.6 64.3 65.8 65 66C65.7 66.2 66.4 66.4 67 66.5C67.7 66.6 68.4 66.7 69.1 66.7C69.7 66.7 70.4 66.6 71.1 66.5C71.8 66.4 72.4 66.2 73.1 66C73.8 65.8 74.5 65.6 75.2 65.5C75.8 65.4 76.5 65.3 77.2 65.3C77.9 65.3 78.5 65.4 79.2 65.5C79.9 65.6 80.6 65.8 81.3 66C81.9 66.2 82.6 66.4 83.3 66.5C84 66.6 84.6 66.7 85.3 66.7C86 66.7 86.7 66.6 87.3 66.5C88 66.4 88.7 66.2 89.4 66C90.1 65.8 90.7 65.6 91.4 65.5C92.1 65.4 92.8 65.3 93.4 65.3C94.1 65.3 94.8 65.4 95.5 65.5C96.1 65.6 96.8 65.8 97.5 66C98.2 66.2 98.9 66.4 99.5 66.5C100.2 66.6 100.9 66.7 101.6 66.7C102.2 66.7 102.9 66.6 103.6 66.5C104.3 66.4 104.9 66.2 105.6 66C106.3 65.8 107 65.6 107.7 65.5C108.3 65.4 109 65.3 109.7 65.3C110.4 65.3 111 65.4 111.7 65.5C112.4 65.6 113.1 65.8 113.8 66C114.4 66.2 115.1 66.4 115.8 66.5C116.5 66.6 117.1 66.7 117.8 66.7C118.5 66.7 119.2 66.6 119.8 66.5C120.5 66.4 121.2 66.2 121.9 66C122.6 65.8 123.2 65.6 123.9 65.5C124.6 65.4 125.3 65.3 125.9 65.3C126.6 65.3 127.3 65.4 128 65.5C128.6 65.6 129.7 65.9 130 66L130 76L0 76Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10 70C10.2 70.1 10.8 70.3 11.3 70.4C11.7 70.4 12.1 70.5 12.5 70.5C12.9 70.5 13.3 70.4 13.8 70.4C14.2 70.3 14.6 70.1 15 70C15.4 69.9 15.8 69.7 16.3 69.6C16.7 69.6 17.1 69.5 17.5 69.5C17.9 69.5 18.3 69.6 18.8 69.6C19.2 69.7 19.6 69.9 20 70C20.4 70.1 20.8 70.3 21.3 70.4C21.7 70.4 22.1 70.5 22.5 70.5C22.9 70.5 23.3 70.4 23.8 70.4C24.2 70.3 24.6 70.1 25 70C25.4 69.9 25.8 69.7 26.3 69.6C26.7 69.6 27.1 69.5 27.5 69.5C27.9 69.5 28.3 69.6 28.8 69.6C29.2 69.7 29.8 69.9 30 70M56 72C56.2 72.1 56.8 72.3 57.3 72.4C57.7 72.4 58.1 72.5 58.5 72.5C58.9 72.5 59.3 72.4 59.8 72.4C60.2 72.3 60.6 72.1 61 72C61.4 71.9 61.8 71.7 62.3 71.6C62.7 71.6 63.1 71.5 63.5 71.5C63.9 71.5 64.3 71.6 64.8 71.6C65.2 71.7 65.6 71.9 66 72C66.4 72.1 66.8 72.3 67.3 72.4C67.7 72.4 68.1 72.5 68.5 72.5C68.9 72.5 69.3 72.4 69.8 72.4C70.2 72.3 70.6 72.1 71 72C71.4 71.9 71.8 71.7 72.3 71.6C72.7 71.6 73.1 71.5 73.5 71.5C73.9 71.5 74.3 71.6 74.8 71.6C75.2 71.7 75.8 71.9 76 72M98 70C98.2 70.1 98.9 70.3 99.4 70.4C99.8 70.4 100.3 70.5 100.8 70.5C101.2 70.5 101.7 70.4 102.1 70.4C102.6 70.3 103 70.1 103.5 70C104 69.9 104.4 69.7 104.9 69.6C105.3 69.6 105.8 69.5 106.3 69.5C106.7 69.5 107.2 69.6 107.6 69.6C108.1 69.7 108.5 69.9 109 70C109.5 70.1 109.9 70.3 110.4 70.4C110.8 70.4 111.3 70.5 111.8 70.5C112.2 70.5 112.7 70.4 113.1 70.4C113.6 70.3 114 70.1 114.5 70C115 69.9 115.4 69.7 115.9 69.6C116.3 69.6 116.8 69.5 117.3 69.5C117.7 69.5 118.2 69.6 118.6 69.6C119.1 69.7 119.8 69.9 120 70',
|
||||
o: 0.5,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M0 44C14 44 26 32 38 24L38 28C26 36 14 48 0 48ZM130 44C116 44 104 32 92 24L92 28C104 36 116 48 130 48Z',
|
||||
},
|
||||
{ p: 1, d: 'M46 20L84 20L84 23.4L46 23.4ZM46 26L84 26L84 28L46 28Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M46 23.4L50.2 26M50.2 23.4L54.4 26M54.4 23.4L58.6 26M58.6 23.4L62.8 26M62.8 23.4L67 26M67 23.4L71.2 26M71.2 23.4L75.4 26M75.4 23.4L79.6 26M79.6 23.4L83.8 26',
|
||||
o: 0.4,
|
||||
w: 0.5,
|
||||
},
|
||||
{ p: 1, d: 'M0 50L130 50L130 53.6L0 53.6Z' },
|
||||
{ p: 'shade', d: 'M0 52.6L130 52.6L130 53.6L0 53.6Z', o: 0.3 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M31 22L49 22L49 66L31 66ZM30 22L34 10L46 10L50 22ZM37 10L40 2L43 10ZM30 22L31 14L32 22ZM48 22L49 14L50 22Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M81 22L99 22L99 66L81 66ZM80 22L84 10L96 10L100 22ZM87 10L90 2L93 10ZM80 22L81 14L82 22ZM98 22L99 14L100 22Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M30 22L34 10L46 10L50 22ZM80 22L84 10L96 10L100 22ZM37 10L40 2L43 10ZM87 10L90 2L93 10ZM30 22L31 14L32 22ZM48 22L49 14L50 22ZM80 22L81 14L82 22ZM98 22L99 14L100 22Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M43 22L49 22L49 66L43 66ZM93 22L99 22L99 66L93 66Z', o: 0.12 },
|
||||
{
|
||||
p: '#3c4a5a',
|
||||
d: 'M36.2 40L36.2 32C36.2 29.6 37.8 28 38.8 28C39.8 28 41.2 29.6 41.2 32L41.2 40ZM39.4 40L39.4 32C39.4 29.6 40.8 28 41.8 28C42.8 28 44.2 29.6 44.2 32L44.2 40ZM86.2 40L86.2 32C86.2 29.6 87.8 28 88.8 28C89.8 28 91.2 29.6 91.2 32L91.2 40ZM89.4 40L89.4 32C89.4 29.6 90.8 28 91.8 28C92.8 28 94.2 29.6 94.2 32L94.2 40Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{
|
||||
p: '#3c4a5a',
|
||||
d: 'M40 56L40 56C42.4 56 44.4 58 44.4 60.4L44.4 61.6C44.4 64 42.4 66 40 66L40 66C37.6 66 35.6 64 35.6 61.6L35.6 60.4C35.6 58 37.6 56 40 56ZM90 56L90 56C92.4 56 94.4 58 94.4 60.4L94.4 61.6C94.4 64 92.4 66 90 66L90 66C87.6 66 85.6 64 85.6 61.6L85.6 60.4C85.6 58 87.6 56 90 56Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{ p: 'light', d: 'M31 22L49 22L49 23.2L31 23.2ZM81 22L99 22L99 23.2L81 23.2Z', o: 0.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sagradaFamilia',
|
||||
theme: 'landmarks',
|
||||
tags: ['sagrada familia', 'barcelona', 'spain', 'gaudi', 'basilica', 'church', 'cathedral', 'landmark'],
|
||||
descr:
|
||||
"Gaudi's Sagrada Familia in Barcelona: a cluster of tall rounded spires over a pointed portal, in sandstone.",
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#d8a86a' },
|
||||
{ name: 'caps', color: '#d64933' },
|
||||
{ name: 'openings', color: '#6b4429' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M10.5 78C10.5 54 12.9 38.6 14.5 34C14.9 31 17.1 31 17.5 34C19.1 38.6 21.5 54 21.5 78Z' },
|
||||
{ p: 0, d: 'M22 78C22 48 24.6 28.8 26.3 22C26.8 19 29.2 19 29.7 22C31.4 28.8 34 48 34 78Z' },
|
||||
{ p: 0, d: 'M66 78C66 48 68.6 28.8 70.3 22C70.8 19 73.2 19 73.7 22C75.4 28.8 78 48 78 78Z' },
|
||||
{ p: 0, d: 'M78.5 78C78.5 54 80.9 38.6 82.5 34C82.9 31 85.1 31 85.5 34C87.1 38.6 89.5 54 89.5 78Z' },
|
||||
{ p: 0, d: 'M42 80C42 42 45.5 17.7 47.8 8C48.4 5 51.6 5 52.2 8C54.5 17.7 58 42 58 80Z' },
|
||||
{ p: 0, d: 'M34.5 74C34.5 48 36.5 31.4 37.7 26C38.1 23 39.9 23 40.3 26C41.5 31.4 43.5 48 43.5 74Z' },
|
||||
{ p: 0, d: 'M56.5 74C56.5 48 58.5 31.4 59.7 26C60.1 23 61.9 23 62.3 26C63.5 31.4 65.5 48 65.5 74Z' },
|
||||
{ p: 'shade', d: 'M16 32C16.7 32 17.1 32.6 17.5 34C19.1 38.6 21.5 54 21.5 78L16 78Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M28 20C28.7 20 29.2 20.6 29.7 22C31.4 28.8 34 48 34 78L28 78Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M72 20C72.7 20 73.2 20.6 73.7 22C75.4 28.8 78 48 78 78L72 78Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M84 32C84.7 32 85.1 32.6 85.5 34C87.1 38.6 89.5 54 89.5 78L84 78Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M50 6C51 6 51.6 6.6 52.2 8C54.5 17.7 58 42 58 80L50 80Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M39 24C39.5 24 39.9 24.6 40.3 26C41.5 31.4 43.5 48 43.5 74L39 74Z', o: 0.16 },
|
||||
{ p: 'shade', d: 'M61 24C61.5 24 61.9 24.6 62.3 26C63.5 31.4 65.5 48 65.5 74L61 74Z', o: 0.16 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M15.3 42L16.7 42C17 42 17.3 42.3 17.3 42.6L17.3 42.7C17.3 43 17 43.3 16.7 43.3L15.3 43.3C15 43.3 14.7 43 14.7 42.7L14.7 42.6C14.7 42.3 15 42 15.3 42ZM15.1 47L16.9 47C17.2 47 17.5 47.3 17.5 47.6L17.5 47.7C17.5 48 17.2 48.3 16.9 48.3L15.1 48.3C14.8 48.3 14.5 48 14.5 47.7L14.5 47.6C14.5 47.3 14.8 47 15.1 47ZM14.9 52L17.1 52C17.5 52 17.7 52.3 17.7 52.6L17.7 52.7C17.7 53 17.5 53.3 17.1 53.3L14.9 53.3C14.5 53.3 14.3 53 14.3 52.7L14.3 52.6C14.3 52.3 14.5 52 14.9 52ZM14.6 57L17.4 57C17.7 57 18 57.3 18 57.6L18 57.7C18 58 17.7 58.3 17.4 58.3L14.6 58.3C14.3 58.3 14 58 14 57.7L14 57.6C14 57.3 14.3 57 14.6 57ZM14.4 62L17.6 62C17.9 62 18.2 62.3 18.2 62.6L18.2 62.7C18.2 63 17.9 63.3 17.6 63.3L14.4 63.3C14.1 63.3 13.8 63 13.8 62.7L13.8 62.6C13.8 62.3 14.1 62 14.4 62ZM14.2 67L17.8 67C18.1 67 18.4 67.3 18.4 67.6L18.4 67.7C18.4 68 18.1 68.3 17.8 68.3L14.2 68.3C13.9 68.3 13.6 68 13.6 67.7L13.6 67.6C13.6 67.3 13.9 67 14.2 67Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M27.3 30L28.7 30C29 30 29.3 30.3 29.3 30.6L29.3 30.7C29.3 31 29 31.3 28.7 31.3L27.3 31.3C27 31.3 26.7 31 26.7 30.7L26.7 30.6C26.7 30.3 27 30 27.3 30ZM27.1 35L28.9 35C29.2 35 29.5 35.3 29.5 35.6L29.5 35.7C29.5 36 29.2 36.3 28.9 36.3L27.1 36.3C26.8 36.3 26.5 36 26.5 35.7L26.5 35.6C26.5 35.3 26.8 35 27.1 35ZM26.9 40L29.1 40C29.4 40 29.7 40.3 29.7 40.6L29.7 40.7C29.7 41 29.4 41.3 29.1 41.3L26.9 41.3C26.6 41.3 26.3 41 26.3 40.7L26.3 40.6C26.3 40.3 26.6 40 26.9 40ZM26.7 45L29.3 45C29.6 45 29.9 45.3 29.9 45.6L29.9 45.7C29.9 46 29.6 46.3 29.3 46.3L26.7 46.3C26.4 46.3 26.1 46 26.1 45.7L26.1 45.6C26.1 45.3 26.4 45 26.7 45ZM26.5 50L29.5 50C29.8 50 30.1 50.3 30.1 50.6L30.1 50.7C30.1 51 29.8 51.3 29.5 51.3L26.5 51.3C26.2 51.3 25.9 51 25.9 50.7L25.9 50.6C25.9 50.3 26.2 50 26.5 50ZM26.3 55L29.7 55C30 55 30.3 55.3 30.3 55.6L30.3 55.7C30.3 56 30 56.3 29.7 56.3L26.3 56.3C26 56.3 25.7 56 25.7 55.7L25.7 55.6C25.7 55.3 26 55 26.3 55ZM26.1 60L29.9 60C30.2 60 30.5 60.3 30.5 60.6L30.5 60.7C30.5 61 30.2 61.3 29.9 61.3L26.1 61.3C25.8 61.3 25.5 61 25.5 60.7L25.5 60.6C25.5 60.3 25.8 60 26.1 60ZM25.9 65L30.1 65C30.4 65 30.7 65.3 30.7 65.6L30.7 65.7C30.7 66 30.4 66.3 30.1 66.3L25.9 66.3C25.6 66.3 25.3 66 25.3 65.7L25.3 65.6C25.3 65.3 25.6 65 25.9 65ZM25.7 70L30.3 70C30.6 70 30.9 70.3 30.9 70.6L30.9 70.7C30.9 71 30.6 71.3 30.3 71.3L25.7 71.3C25.4 71.3 25.1 71 25.1 70.7L25.1 70.6C25.1 70.3 25.4 70 25.7 70Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M71.3 30L72.7 30C73 30 73.3 30.3 73.3 30.6L73.3 30.7C73.3 31 73 31.3 72.7 31.3L71.3 31.3C71 31.3 70.7 31 70.7 30.7L70.7 30.6C70.7 30.3 71 30 71.3 30ZM71.1 35L72.9 35C73.2 35 73.5 35.3 73.5 35.6L73.5 35.7C73.5 36 73.2 36.3 72.9 36.3L71.1 36.3C70.8 36.3 70.5 36 70.5 35.7L70.5 35.6C70.5 35.3 70.8 35 71.1 35ZM70.9 40L73.1 40C73.4 40 73.7 40.3 73.7 40.6L73.7 40.7C73.7 41 73.4 41.3 73.1 41.3L70.9 41.3C70.6 41.3 70.3 41 70.3 40.7L70.3 40.6C70.3 40.3 70.6 40 70.9 40ZM70.7 45L73.3 45C73.6 45 73.9 45.3 73.9 45.6L73.9 45.7C73.9 46 73.6 46.3 73.3 46.3L70.7 46.3C70.4 46.3 70.1 46 70.1 45.7L70.1 45.6C70.1 45.3 70.4 45 70.7 45ZM70.5 50L73.5 50C73.8 50 74.1 50.3 74.1 50.6L74.1 50.7C74.1 51 73.8 51.3 73.5 51.3L70.5 51.3C70.2 51.3 69.9 51 69.9 50.7L69.9 50.6C69.9 50.3 70.2 50 70.5 50ZM70.3 55L73.7 55C74 55 74.3 55.3 74.3 55.6L74.3 55.7C74.3 56 74 56.3 73.7 56.3L70.3 56.3C70 56.3 69.7 56 69.7 55.7L69.7 55.6C69.7 55.3 70 55 70.3 55ZM70.1 60L73.9 60C74.2 60 74.5 60.3 74.5 60.6L74.5 60.7C74.5 61 74.2 61.3 73.9 61.3L70.1 61.3C69.8 61.3 69.5 61 69.5 60.7L69.5 60.6C69.5 60.3 69.8 60 70.1 60ZM69.9 65L74.1 65C74.4 65 74.7 65.3 74.7 65.6L74.7 65.7C74.7 66 74.4 66.3 74.1 66.3L69.9 66.3C69.6 66.3 69.3 66 69.3 65.7L69.3 65.6C69.3 65.3 69.6 65 69.9 65ZM69.7 70L74.3 70C74.6 70 74.9 70.3 74.9 70.6L74.9 70.7C74.9 71 74.6 71.3 74.3 71.3L69.7 71.3C69.4 71.3 69.1 71 69.1 70.7L69.1 70.6C69.1 70.3 69.4 70 69.7 70Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M83.3 42L84.7 42C85 42 85.3 42.3 85.3 42.6L85.3 42.7C85.3 43 85 43.3 84.7 43.3L83.3 43.3C83 43.3 82.7 43 82.7 42.7L82.7 42.6C82.7 42.3 83 42 83.3 42ZM83.1 47L84.9 47C85.2 47 85.5 47.3 85.5 47.6L85.5 47.7C85.5 48 85.2 48.3 84.9 48.3L83.1 48.3C82.8 48.3 82.5 48 82.5 47.7L82.5 47.6C82.5 47.3 82.8 47 83.1 47ZM82.9 52L85.1 52C85.5 52 85.7 52.3 85.7 52.6L85.7 52.7C85.7 53 85.5 53.3 85.1 53.3L82.9 53.3C82.5 53.3 82.3 53 82.3 52.7L82.3 52.6C82.3 52.3 82.5 52 82.9 52ZM82.6 57L85.4 57C85.7 57 86 57.3 86 57.6L86 57.7C86 58 85.7 58.3 85.4 58.3L82.6 58.3C82.3 58.3 82 58 82 57.7L82 57.6C82 57.3 82.3 57 82.6 57ZM82.4 62L85.6 62C85.9 62 86.2 62.3 86.2 62.6L86.2 62.7C86.2 63 85.9 63.3 85.6 63.3L82.4 63.3C82.1 63.3 81.8 63 81.8 62.7L81.8 62.6C81.8 62.3 82.1 62 82.4 62ZM82.2 67L85.8 67C86.1 67 86.4 67.3 86.4 67.6L86.4 67.7C86.4 68 86.1 68.3 85.8 68.3L82.2 68.3C81.9 68.3 81.6 68 81.6 67.7L81.6 67.6C81.6 67.3 81.9 67 82.2 67Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M49 16L51 16C51.3 16 51.6 16.3 51.6 16.6L51.6 16.7C51.6 17 51.3 17.3 51 17.3L49 17.3C48.7 17.3 48.4 17 48.4 16.7L48.4 16.6C48.4 16.3 48.7 16 49 16ZM48.8 21L51.2 21C51.5 21 51.8 21.3 51.8 21.6L51.8 21.7C51.8 22 51.5 22.3 51.2 22.3L48.8 22.3C48.5 22.3 48.2 22 48.2 21.7L48.2 21.6C48.2 21.3 48.5 21 48.8 21ZM48.6 26L51.4 26C51.7 26 52 26.3 52 26.6L52 26.7C52 27 51.7 27.3 51.4 27.3L48.6 27.3C48.3 27.3 48 27 48 26.7L48 26.6C48 26.3 48.3 26 48.6 26ZM48.4 31L51.6 31C51.9 31 52.2 31.3 52.2 31.6L52.2 31.7C52.2 32 51.9 32.3 51.6 32.3L48.4 32.3C48.1 32.3 47.8 32 47.8 31.7L47.8 31.6C47.8 31.3 48.1 31 48.4 31ZM48.2 36L51.8 36C52.1 36 52.4 36.3 52.4 36.6L52.4 36.7C52.4 37 52.1 37.3 51.8 37.3L48.2 37.3C47.9 37.3 47.6 37 47.6 36.7L47.6 36.6C47.6 36.3 47.9 36 48.2 36ZM48 41L52 41C52.3 41 52.6 41.3 52.6 41.6L52.6 41.7C52.6 42 52.3 42.3 52 42.3L48 42.3C47.7 42.3 47.4 42 47.4 41.7L47.4 41.6C47.4 41.3 47.7 41 48 41ZM47.8 46L52.2 46C52.5 46 52.8 46.3 52.8 46.6L52.8 46.7C52.8 47 52.5 47.3 52.2 47.3L47.8 47.3C47.5 47.3 47.2 47 47.2 46.7L47.2 46.6C47.2 46.3 47.5 46 47.8 46ZM47.6 51L52.4 51C52.7 51 53 51.3 53 51.6L53 51.7C53 52 52.7 52.3 52.4 52.3L47.6 52.3C47.3 52.3 47 52 47 51.7L47 51.6C47 51.3 47.3 51 47.6 51ZM47.4 56L52.6 56C53 56 53.2 56.3 53.2 56.6L53.2 56.7C53.2 57 53 57.3 52.6 57.3L47.4 57.3C47 57.3 46.8 57 46.8 56.7L46.8 56.6C46.8 56.3 47 56 47.4 56ZM47.2 61L52.8 61C53.2 61 53.4 61.3 53.4 61.6L53.4 61.7C53.4 62 53.2 62.3 52.8 62.3L47.2 62.3C46.8 62.3 46.6 62 46.6 61.7L46.6 61.6C46.6 61.3 46.8 61 47.2 61ZM47 66L53 66C53.4 66 53.6 66.3 53.6 66.6L53.6 66.7C53.6 67 53.4 67.3 53 67.3L47 67.3C46.6 67.3 46.4 67 46.4 66.7L46.4 66.6C46.4 66.3 46.6 66 47 66ZM46.8 71L53.2 71C53.6 71 53.8 71.3 53.8 71.6L53.8 71.7C53.8 72 53.6 72.3 53.2 72.3L46.8 72.3C46.4 72.3 46.2 72 46.2 71.7L46.2 71.6C46.2 71.3 46.4 71 46.8 71Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M38.6 34L39.4 34C39.7 34 40 34.3 40 34.6L40 34.7C40 35 39.7 35.3 39.4 35.3L38.6 35.3C38.3 35.3 38 35 38 34.7L38 34.6C38 34.3 38.3 34 38.6 34ZM38.4 39L39.6 39C39.9 39 40.2 39.3 40.2 39.6L40.2 39.7C40.2 40 39.9 40.3 39.6 40.3L38.4 40.3C38.1 40.3 37.8 40 37.8 39.7L37.8 39.6C37.8 39.3 38.1 39 38.4 39ZM38.3 44L39.7 44C40.1 44 40.3 44.3 40.3 44.6L40.3 44.7C40.3 45 40.1 45.3 39.7 45.3L38.3 45.3C37.9 45.3 37.7 45 37.7 44.7L37.7 44.6C37.7 44.3 37.9 44 38.3 44ZM38.1 49L39.9 49C40.3 49 40.5 49.3 40.5 49.6L40.5 49.7C40.5 50 40.3 50.3 39.9 50.3L38.1 50.3C37.7 50.3 37.5 50 37.5 49.7L37.5 49.6C37.5 49.3 37.7 49 38.1 49ZM37.9 54L40.1 54C40.4 54 40.7 54.3 40.7 54.6L40.7 54.7C40.7 55 40.4 55.3 40.1 55.3L37.9 55.3C37.6 55.3 37.3 55 37.3 54.7L37.3 54.6C37.3 54.3 37.6 54 37.9 54ZM37.7 59L40.3 59C40.6 59 40.9 59.3 40.9 59.6L40.9 59.7C40.9 60 40.6 60.3 40.3 60.3L37.7 60.3C37.4 60.3 37.1 60 37.1 59.7L37.1 59.6C37.1 59.3 37.4 59 37.7 59ZM37.6 64L40.4 64C40.8 64 41 64.3 41 64.6L41 64.7C41 65 40.8 65.3 40.4 65.3L37.6 65.3C37.2 65.3 37 65 37 64.7L37 64.6C37 64.3 37.2 64 37.6 64Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M60.6 34L61.4 34C61.7 34 62 34.3 62 34.6L62 34.7C62 35 61.7 35.3 61.4 35.3L60.6 35.3C60.3 35.3 60 35 60 34.7L60 34.6C60 34.3 60.3 34 60.6 34ZM60.4 39L61.6 39C61.9 39 62.2 39.3 62.2 39.6L62.2 39.7C62.2 40 61.9 40.3 61.6 40.3L60.4 40.3C60.1 40.3 59.8 40 59.8 39.7L59.8 39.6C59.8 39.3 60.1 39 60.4 39ZM60.3 44L61.7 44C62.1 44 62.3 44.3 62.3 44.6L62.3 44.7C62.3 45 62.1 45.3 61.7 45.3L60.3 45.3C59.9 45.3 59.7 45 59.7 44.7L59.7 44.6C59.7 44.3 59.9 44 60.3 44ZM60.1 49L61.9 49C62.3 49 62.5 49.3 62.5 49.6L62.5 49.7C62.5 50 62.3 50.3 61.9 50.3L60.1 50.3C59.7 50.3 59.5 50 59.5 49.7L59.5 49.6C59.5 49.3 59.7 49 60.1 49ZM59.9 54L62.1 54C62.4 54 62.7 54.3 62.7 54.6L62.7 54.7C62.7 55 62.4 55.3 62.1 55.3L59.9 55.3C59.6 55.3 59.3 55 59.3 54.7L59.3 54.6C59.3 54.3 59.6 54 59.9 54ZM59.7 59L62.3 59C62.6 59 62.9 59.3 62.9 59.6L62.9 59.7C62.9 60 62.6 60.3 62.3 60.3L59.7 60.3C59.4 60.3 59.1 60 59.1 59.7L59.1 59.6C59.1 59.3 59.4 59 59.7 59ZM59.6 64L62.4 64C62.8 64 63 64.3 63 64.6L63 64.7C63 65 62.8 65.3 62.4 65.3L59.6 65.3C59.2 65.3 59 65 59 64.7L59 64.6C59 64.3 59.2 64 59.6 64Z',
|
||||
o: 0.75,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18.4 31.5C18.4 32.8 17.3 33.9 16 33.9C14.7 33.9 13.6 32.8 13.6 31.5C13.6 30.2 14.7 29.1 16 29.1C17.3 29.1 18.4 30.2 18.4 31.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M30.5 19.5C30.5 20.9 29.4 22 28 22C26.6 22 25.5 20.9 25.5 19.5C25.5 18.1 26.6 17 28 17C29.4 17 30.5 18.1 30.5 19.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M74.5 19.5C74.5 20.9 73.4 22 72 22C70.6 22 69.5 20.9 69.5 19.5C69.5 18.1 70.6 17 72 17C73.4 17 74.5 18.1 74.5 19.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M86.4 31.5C86.4 32.8 85.3 33.9 84 33.9C82.7 33.9 81.6 32.8 81.6 31.5C81.6 30.2 82.7 29.1 84 29.1C85.3 29.1 86.4 30.2 86.4 31.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M53.2 5.5C53.2 7.2 51.7 8.7 50 8.7C48.3 8.7 46.8 7.2 46.8 5.5C46.8 3.8 48.3 2.3 50 2.3C51.7 2.3 53.2 3.8 53.2 5.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M41 23.5C41 24.6 40.1 25.5 39 25.5C37.9 25.5 37 24.6 37 23.5C37 22.4 37.9 21.5 39 21.5C40.1 21.5 41 22.4 41 23.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M63 23.5C63 24.6 62.1 25.5 61 25.5C59.9 25.5 59 24.6 59 23.5C59 22.4 59.9 21.5 61 21.5C62.1 21.5 63 22.4 63 23.5Z',
|
||||
},
|
||||
{ p: 0, d: 'M8 98L8 76L92 76L92 98Z' },
|
||||
{ p: 0, d: 'M30 76L50 50L70 76Z' },
|
||||
{ p: 'shade', d: 'M50 50L70 76L50 76Z', o: 0.16 },
|
||||
{ p: 2, d: 'M42 98L42 84C42 78 46 74 50 72C54 74 58 78 58 84L58 98Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M20 98L20 88C20 85 22 83 24 83C26 83 28 85 28 88L28 98ZM72 98L72 88C72 85 74 83 76 83C78 83 80 85 80 88L80 98Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{ p: 'shade', d: 'M8 76L92 76L92 78.4L8 78.4ZM8 98L92 98L92 99L8 99Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M60 76L92 76L92 98L60 98Z', o: 0.12 },
|
||||
{ p: 0, d: 'M49 1L51 1L51 3L53 3L53 5L51 5L51 8L49 8L49 5L47 5L47 3L49 3Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'brandenburgGate',
|
||||
theme: 'landmarks',
|
||||
tags: ['brandenburg gate', 'berlin', 'germany', 'gate', 'columns', 'quadriga', 'landmark'],
|
||||
descr: 'The Brandenburg Gate in Berlin: six columns under a deep entablature and attic, crowned by the quadriga.',
|
||||
box: [110, 84],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#e3d3b1' },
|
||||
{ name: 'quadriga', color: '#4f7a6a' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M61.6 18.4C61.6 14.4 57.6 13.4 53.6 13.8C51.6 14 50.6 13 49.6 11.4L47.6 8C47.2 7.4 46.2 7.2 45.6 7.6L43.2 9.2C42.6 9.6 42.8 10.4 43.4 10.6L46 10.4L48 15C48.4 16.4 49.2 17.4 49.6 19L47.6 21.4L49 21.4L51 19.4L52.6 19.6L52.2 21.4L53.6 21.4L54.4 19.6L58.6 19.4L59 21.4L60.4 21.4L60.6 19.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M61.6 18.4C61.6 14.4 57.6 13.4 53.6 13.8C51.6 14 50.6 13 49.6 11.4L47.6 8C47.2 7.4 46.2 7.2 45.6 7.6L43.2 9.2C42.6 9.6 42.8 10.4 43.4 10.6L46 10.4L48 15C48.4 16.4 49.2 17.4 49.6 19L47.6 21.4L49 21.4L51 19.4L52.6 19.6L52.2 21.4L53.6 21.4L54.4 19.6L58.6 19.4L59 21.4L60.4 21.4L60.6 19.4Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M58 19C58 15 54 14 50 14.4C48 14.6 47 13.6 46 12L44 8.6C43.6 8 42.6 7.8 42 8.2L39.6 9.8C39 10.2 39.2 11 39.8 11.2L42.4 11L44.4 15.6C44.8 17 45.6 18 46 19.6L44 22L45.4 22L47.4 20L49 20.2L48.6 22L50 22L50.8 20.2L55 20L55.4 22L56.8 22L57 20Z',
|
||||
},
|
||||
{ p: 1, d: 'M59 13L67 13L66 21L60 21Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M62.4 13L62.4 7.6C62.4 6.4 63 5.6 64 5.6C65 5.6 65.6 6.4 65.6 7.6L65.6 13ZM63.2 5.4C63.2 4.4 63.6 3.8 64 3.8C64.4 3.8 64.8 4.4 64.8 5.4Z',
|
||||
},
|
||||
{ p: 1, d: 'M66.6 14L66.6 1.6', w: 0.8 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M68 1.8C68 2.6 67.4 3.2 66.6 3.2C65.8 3.2 65.2 2.6 65.2 1.8C65.2 1 65.8 0.4 66.6 0.4C67.4 0.4 68 1 68 1.8Z',
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M65 21.2C65 22.3 64.1 23.2 63 23.2C61.9 23.2 61 22.3 61 21.2C61 20.1 61.9 19.2 63 19.2C64.1 19.2 65 20.1 65 21.2Z',
|
||||
o: 0.3,
|
||||
},
|
||||
{ p: 0, d: 'M30 22L80 22L80 31L30 31Z' },
|
||||
{ p: 0, d: 'M26 30L84 30L84 33L26 33Z' },
|
||||
{ p: 'shade', d: 'M30 22L80 22L80 23.6L30 23.6Z', o: 0.18 },
|
||||
{ p: 0, d: 'M10 33L100 33L100 43L10 43Z' },
|
||||
{ p: 'shade', d: 'M10 37L100 37L100 38L10 38ZM10 42L100 42L100 43.4L10 43.4Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M10 33L100 33L100 34.4L10 34.4Z', o: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M16 43L22 43L22 76L16 76ZM30 43L36 43L36 76L30 76ZM44 43L50 43L50 76L44 76ZM60 43L66 43L66 76L60 76ZM74 43L80 43L80 76L74 76ZM88 43L94 43L94 76L88 76Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M19.6 43L22 43L22 76L19.6 76ZM33.6 43L36 43L36 76L33.6 76ZM47.6 43L50 43L50 76L47.6 76ZM63.6 43L66 43L66 76L63.6 76ZM77.6 43L80 43L80 76L77.6 76ZM91.6 43L94 43L94 76L91.6 76Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M17.4 45L18 45L18 75L17.4 75ZM18.8 45L19.4 45L19.4 75L18.8 75ZM31.4 45L32 45L32 75L31.4 75ZM32.8 45L33.4 45L33.4 75L32.8 75ZM45.4 45L46 45L46 75L45.4 75ZM46.8 45L47.4 45L47.4 75L46.8 75ZM61.4 45L62 45L62 75L61.4 75ZM62.8 45L63.4 45L63.4 75L62.8 75ZM75.4 45L76 45L76 75L75.4 75ZM76.8 45L77.4 45L77.4 75L76.8 75ZM89.4 45L90 45L90 75L89.4 75ZM90.8 45L91.4 45L91.4 75L90.8 75Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M15 43L23 43L23 45L15 45ZM29 43L37 43L37 45L29 45ZM43 43L51 43L51 45L43 45ZM59 43L67 43L67 45L59 45ZM73 43L81 43L81 45L73 45ZM87 43L95 43L95 45L87 45Z',
|
||||
},
|
||||
{ p: 0, d: 'M4 46L10 46L10 76L4 76ZM100 46L106 46L106 76L100 76Z' },
|
||||
{ p: 'shade', d: 'M4 46L10 46L10 76L4 76ZM100 46L106 46L106 76L100 76Z', o: 0.12 },
|
||||
{ p: 0, d: 'M2 76L108 76L108 82L2 82Z' },
|
||||
{ p: 'shade', d: 'M2 79.6L108 79.6L108 82L2 82Z', o: 0.2 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M22 45L30 45L30 76L22 76ZM36 45L44 45L44 76L36 76ZM50 45L60 45L60 76L50 76ZM66 45L74 45L74 76L66 76ZM80 45L88 45L88 76L80 76Z',
|
||||
o: 0.08,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'hagiaSophia',
|
||||
theme: 'landmarks',
|
||||
tags: ['hagia sophia', 'istanbul', 'turkey', 'mosque', 'dome', 'minarets', 'byzantine', 'landmark'],
|
||||
descr:
|
||||
'Hagia Sophia in Istanbul: a great shallow dome over stacked half domes and buttresses, framed by four pencil minarets.',
|
||||
box: [120, 80],
|
||||
slots: [
|
||||
{ name: 'walls', color: '#e8b49a' },
|
||||
{ name: 'domes', color: '#8aa2a8' },
|
||||
{ name: 'minarets', color: '#efe3d0' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M8.4 74L8.6 14L10 6L11.4 14L11.6 74ZM7.8 18L12.2 18L12.2 19.2L7.8 19.2ZM7.8 30L12.2 30L12.2 31.2L7.8 31.2ZM20.4 74L20.6 22L22 14L23.4 22L23.6 74ZM19.8 26L24.2 26L24.2 27.2L19.8 27.2ZM19.8 38L24.2 38L24.2 39.2L19.8 39.2ZM96.4 74L96.6 22L98 14L99.4 22L99.6 74ZM95.8 26L100.2 26L100.2 27.2L95.8 27.2ZM95.8 38L100.2 38L100.2 39.2L95.8 39.2ZM108.4 74L108.6 14L110 6L111.4 14L111.6 74ZM107.8 18L112.2 18L112.2 19.2L107.8 19.2ZM107.8 30L112.2 30L112.2 31.2L107.8 31.2Z',
|
||||
},
|
||||
{ p: 1, d: 'M38 30C38 11.5 82 11.5 82 30Z' },
|
||||
{ p: 'light', d: 'M42 28C43 21 49 17.6 56 16.8C50 19 46 23 45 28Z', o: 0.5 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M59.4 9L60.6 9L60.6 13L59.4 13ZM61.2 8.4C61.2 9.1 60.7 9.6 60 9.6C59.3 9.6 58.8 9.1 58.8 8.4C58.8 7.7 59.3 7.2 60 7.2C60.7 7.2 61.2 7.7 61.2 8.4Z',
|
||||
},
|
||||
{ p: 0, d: 'M36 30L84 30L84 36L36 36Z' },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M39.1 31.4L39.1 31.4C39.5 31.4 39.8 31.7 39.8 32.1L39.8 33.9C39.8 34.3 39.5 34.6 39.1 34.6L39.1 34.6C38.7 34.6 38.4 34.3 38.4 33.9L38.4 32.1C38.4 31.7 38.7 31.4 39.1 31.4ZM42.7 31.4L42.7 31.4C43.1 31.4 43.4 31.7 43.4 32.1L43.4 33.9C43.4 34.3 43.1 34.6 42.7 34.6L42.7 34.6C42.3 34.6 42 34.3 42 33.9L42 32.1C42 31.7 42.3 31.4 42.7 31.4ZM46.3 31.4L46.3 31.4C46.7 31.4 47 31.7 47 32.1L47 33.9C47 34.3 46.7 34.6 46.3 34.6L46.3 34.6C45.9 34.6 45.6 34.3 45.6 33.9L45.6 32.1C45.6 31.7 45.9 31.4 46.3 31.4ZM49.9 31.4L49.9 31.4C50.3 31.4 50.6 31.7 50.6 32.1L50.6 33.9C50.6 34.3 50.3 34.6 49.9 34.6L49.9 34.6C49.5 34.6 49.2 34.3 49.2 33.9L49.2 32.1C49.2 31.7 49.5 31.4 49.9 31.4ZM53.5 31.4L53.5 31.4C53.9 31.4 54.2 31.7 54.2 32.1L54.2 33.9C54.2 34.3 53.9 34.6 53.5 34.6L53.5 34.6C53.1 34.6 52.8 34.3 52.8 33.9L52.8 32.1C52.8 31.7 53.1 31.4 53.5 31.4ZM57.1 31.4L57.1 31.4C57.5 31.4 57.8 31.7 57.8 32.1L57.8 33.9C57.8 34.3 57.5 34.6 57.1 34.6L57.1 34.6C56.7 34.6 56.4 34.3 56.4 33.9L56.4 32.1C56.4 31.7 56.7 31.4 57.1 31.4ZM60.7 31.4L60.7 31.4C61.1 31.4 61.4 31.7 61.4 32.1L61.4 33.9C61.4 34.3 61.1 34.6 60.7 34.6L60.7 34.6C60.3 34.6 60 34.3 60 33.9L60 32.1C60 31.7 60.3 31.4 60.7 31.4ZM64.3 31.4L64.3 31.4C64.7 31.4 65 31.7 65 32.1L65 33.9C65 34.3 64.7 34.6 64.3 34.6L64.3 34.6C63.9 34.6 63.6 34.3 63.6 33.9L63.6 32.1C63.6 31.7 63.9 31.4 64.3 31.4ZM67.9 31.4L67.9 31.4C68.3 31.4 68.6 31.7 68.6 32.1L68.6 33.9C68.6 34.3 68.3 34.6 67.9 34.6L67.9 34.6C67.5 34.6 67.2 34.3 67.2 33.9L67.2 32.1C67.2 31.7 67.5 31.4 67.9 31.4ZM71.5 31.4L71.5 31.4C71.9 31.4 72.2 31.7 72.2 32.1L72.2 33.9C72.2 34.3 71.9 34.6 71.5 34.6L71.5 34.6C71.1 34.6 70.8 34.3 70.8 33.9L70.8 32.1C70.8 31.7 71.1 31.4 71.5 31.4ZM75.1 31.4L75.1 31.4C75.5 31.4 75.8 31.7 75.8 32.1L75.8 33.9C75.8 34.3 75.5 34.6 75.1 34.6L75.1 34.6C74.7 34.6 74.4 34.3 74.4 33.9L74.4 32.1C74.4 31.7 74.7 31.4 75.1 31.4ZM78.7 31.4L78.7 31.4C79.1 31.4 79.4 31.7 79.4 32.1L79.4 33.9C79.4 34.3 79.1 34.6 78.7 34.6L78.7 34.6C78.3 34.6 78 34.3 78 33.9L78 32.1C78 31.7 78.3 31.4 78.7 31.4ZM82.3 31.4L82.3 31.4C82.7 31.4 83 31.7 83 32.1L83 33.9C83 34.3 82.7 34.6 82.3 34.6L82.3 34.6C81.9 34.6 81.6 34.3 81.6 33.9L81.6 32.1C81.6 31.7 81.9 31.4 82.3 31.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
{ p: 1, d: 'M22 42C22 32.8 42 32.8 42 42ZM78 42C78 32.8 98 32.8 98 42Z' },
|
||||
{ p: 0, d: 'M20 42L100 42L100 56L20 56ZM30 36L90 36L90 42L30 42Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18 56C18 50.5 30 50.5 30 56ZM90 56C90 50.5 102 50.5 102 56ZM41 42C41 37.5 51 37.5 51 42ZM69 42C69 37.5 79 37.5 79 42Z',
|
||||
},
|
||||
{ p: 0, d: 'M12 56L108 56L108 74L12 74Z' },
|
||||
{ p: 'shade', d: 'M12 56L108 56L108 58L12 58ZM20 42L100 42L100 43.6L20 43.6Z', o: 0.18 },
|
||||
{
|
||||
p: '#9a5b48',
|
||||
d: 'M18 70L18 63C18 61.2 19.4 60 21 60C22.6 60 24 61.2 24 63L24 70ZM28 70L28 63C28 61.2 29.4 60 31 60C32.6 60 34 61.2 34 63L34 70ZM38 70L38 63C38 61.2 39.4 60 41 60C42.6 60 44 61.2 44 63L44 70ZM48 70L48 63C48 61.2 49.4 60 51 60C52.6 60 54 61.2 54 63L54 70ZM58 70L58 63C58 61.2 59.4 60 61 60C62.6 60 64 61.2 64 63L64 70ZM68 70L68 63C68 61.2 69.4 60 71 60C72.6 60 74 61.2 74 63L74 70ZM78 70L78 63C78 61.2 79.4 60 81 60C82.6 60 84 61.2 84 63L84 70ZM88 70L88 63C88 61.2 89.4 60 91 60C92.6 60 94 61.2 94 63L94 70ZM98 70L98 63C98 61.2 99.4 60 101 60C102.6 60 104 61.2 104 63L104 70ZM32.1 46L32.1 46C32.9 46 33.6 46.7 33.6 47.5L33.6 50.5C33.6 51.3 32.9 52 32.1 52L32.1 52C31.3 52 30.6 51.3 30.6 50.5L30.6 47.5C30.6 46.7 31.3 46 32.1 46ZM40.7 46L40.7 46C41.5 46 42.2 46.7 42.2 47.5L42.2 50.5C42.2 51.3 41.5 52 40.7 52L40.7 52C39.9 52 39.2 51.3 39.2 50.5L39.2 47.5C39.2 46.7 39.9 46 40.7 46ZM49.3 46L49.3 46C50.1 46 50.8 46.7 50.8 47.5L50.8 50.5C50.8 51.3 50.1 52 49.3 52L49.3 52C48.5 52 47.8 51.3 47.8 50.5L47.8 47.5C47.8 46.7 48.5 46 49.3 46ZM57.9 46L57.9 46C58.7 46 59.4 46.7 59.4 47.5L59.4 50.5C59.4 51.3 58.7 52 57.9 52L57.9 52C57.1 52 56.4 51.3 56.4 50.5L56.4 47.5C56.4 46.7 57.1 46 57.9 46ZM66.5 46L66.5 46C67.3 46 68 46.7 68 47.5L68 50.5C68 51.3 67.3 52 66.5 52L66.5 52C65.7 52 65 51.3 65 50.5L65 47.5C65 46.7 65.7 46 66.5 46ZM75.1 46L75.1 46C75.9 46 76.6 46.7 76.6 47.5L76.6 50.5C76.6 51.3 75.9 52 75.1 52L75.1 52C74.3 52 73.6 51.3 73.6 50.5L73.6 47.5C73.6 46.7 74.3 46 75.1 46ZM83.7 46L83.7 46C84.5 46 85.2 46.7 85.2 47.5L85.2 50.5C85.2 51.3 84.5 52 83.7 52L83.7 52C82.9 52 82.2 51.3 82.2 50.5L82.2 47.5C82.2 46.7 82.9 46 83.7 46Z',
|
||||
o: 0.6,
|
||||
},
|
||||
{ p: 'shade', d: 'M60 30L108 30L108 74L60 74Z', o: 0.08 },
|
||||
{ p: 0, d: 'M4 74L116 74L116 78L4 78Z' },
|
||||
{ p: 'shade', d: 'M4 76.4L116 76.4L116 78L4 78Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'tajMahal',
|
||||
theme: 'landmarks',
|
||||
tags: ['taj mahal', 'agra', 'india', 'mausoleum', 'dome', 'minarets', 'landmark', 'marble'],
|
||||
descr: 'The Taj Mahal in Agra: a white marble mausoleum with its onion dome, arched facade and four minarets.',
|
||||
box: [110, 88],
|
||||
slots: [
|
||||
{ name: 'marble', color: '#f4efe6' },
|
||||
{ name: 'shadow', color: '#c9b9a6' },
|
||||
{ name: 'finial', color: '#d9a640' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M7.6 80L8.2 32L11.8 32L12.4 80ZM7.8 32C6.3 30 6.9 27.7 9 26.8C9.6 26.6 9.9 26.3 10 26C10.1 26.3 10.4 26.6 11 26.8C13.1 27.7 13.7 30 12.2 32ZM7.2 44L12.8 44L12.8 45.2L7.2 45.2ZM7.2 60L12.8 60L12.8 61.2L7.2 61.2ZM7 52L13 52L13 53.4L7 53.4Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M97.6 80L98.2 32L101.8 32L102.4 80ZM97.8 32C96.3 30 96.9 27.7 99 26.8C99.6 26.6 99.9 26.3 100 26C100.1 26.3 100.4 26.6 101 26.8C103.1 27.7 103.7 30 102.2 32ZM97.2 44L102.8 44L102.8 45.2L97.2 45.2ZM97.2 60L102.8 60L102.8 61.2L97.2 61.2ZM97 52L103 52L103 53.4L97 53.4Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M10 32L12.4 32L12.4 80L10 80ZM100 32L102.4 32L102.4 80L100 80Z', o: 0.12 },
|
||||
{ p: 0, d: 'M41 30L69 30L69 38L41 38Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M42 32C32.7 21.8 36.3 10.4 49.2 6.2C52.8 5 54.3 3.5 55 2C55.7 3.5 57.2 5 60.8 6.2C73.7 10.4 77.3 21.8 68 32Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M55 2C55.6 4 57 5.6 60.8 6.2C73.6 9.6 79 20.4 68 32L55 32Z', o: 0.12 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M54.6 5L54.6 2L55.4 2L55.4 5ZM55 0.4C55.8 0.4 56.2 1 56.2 1.6C56.2 2.2 55.8 2.6 55 2.6C54.2 2.6 53.8 2.2 53.8 1.6C53.8 1 54.2 0.4 55 0.4Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M28.7 40C25.6 36.6 26.8 32.8 31.1 31.4C32.3 31 32.8 30.5 33 30C33.2 30.5 33.7 31 34.9 31.4C39.2 32.8 40.4 36.6 37.3 40ZM72.7 40C69.6 36.6 70.8 32.8 75.1 31.4C76.3 31 76.8 30.5 77 30C77.2 30.5 77.7 31 78.9 31.4C83.2 32.8 84.4 36.6 81.3 40ZM28.6 39L37.4 39L37.4 42L28.6 42ZM72.6 39L81.4 39L81.4 42L72.6 42Z',
|
||||
},
|
||||
{ p: 0, d: 'M22 42L88 42L88 80L22 80Z' },
|
||||
{ p: 0, d: 'M21 40L24 40L24 80L21 80ZM86 40L89 40L89 80L86 80Z' },
|
||||
{ p: 1, d: 'M45 74L45 57.8C45 51.6 51 47.7 55 46C59 47.7 65 51.6 65 57.8L65 74Z' },
|
||||
{ p: 0, d: 'M48.4 74L48.4 60.1C48.4 54.8 52.4 51.4 55 50C57.6 51.4 61.6 54.8 61.6 60.1L61.6 74Z', o: 0.4 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M27 61L27 53.5C27 50.6 30 48.8 32 48C34 48.8 37 50.6 37 53.5L37 61ZM73 61L73 53.5C73 50.6 76 48.8 78 48C80 48.8 83 50.6 83 53.5L83 61ZM27 77L27 69.5C27 66.6 30 64.8 32 64C34 64.8 37 66.6 37 69.5L37 77ZM73 77L73 69.5C73 66.6 76 64.8 78 64C80 64.8 83 66.6 83 69.5L83 77Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M66 42L88 42L88 80L66 80Z', o: 0.08 },
|
||||
{ p: 0, d: 'M2 80L108 80L108 86L2 86Z' },
|
||||
{ p: 'shade', d: 'M2 83.4L108 83.4L108 86L2 86Z', o: 0.14 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M10.9 23.2C10.9 23.7 10.5 24.1 10 24.1C9.5 24.1 9.1 23.7 9.1 23.2C9.1 22.7 9.5 22.3 10 22.3C10.5 22.3 10.9 22.7 10.9 23.2ZM100.9 23.2C100.9 23.7 100.5 24.1 100 24.1C99.5 24.1 99.1 23.7 99.1 23.2C99.1 22.7 99.5 22.3 100 22.3C100.5 22.3 100.9 22.7 100.9 23.2Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'pyramids',
|
||||
theme: 'landmarks',
|
||||
tags: ['pyramids', 'giza', 'egypt', 'cairo', 'desert', 'ancient', 'pharaoh', 'landmark'],
|
||||
descr:
|
||||
'The pyramids of Giza: three sandstone pyramids with a lit and a shadowed face, a sun behind them and desert dunes.',
|
||||
box: [120, 72],
|
||||
slots: [
|
||||
{ name: 'stone', color: '#e3b05f' },
|
||||
{ name: 'sun', color: '#f28c38' },
|
||||
{ name: 'sand', color: '#f2d08f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M95 18C95 24.1 90.1 29 84 29C77.9 29 73 24.1 73 18C73 11.9 77.9 7 84 7C90.1 7 95 11.9 95 18Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M99 18C99 26.3 92.3 33 84 33C75.7 33 69 26.3 69 18C69 9.7 75.7 3 84 3C92.3 3 99 9.7 99 18Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{ p: 0, d: 'M70 60L92 30L95.5 60Z' },
|
||||
{ p: 0, d: 'M92 30L114 60L95.5 60Z' },
|
||||
{ p: 'shade', d: 'M92 30L114 60L95.5 60Z', o: 0.25 },
|
||||
{ p: 0, d: 'M6 62L26 34L29.2 62Z' },
|
||||
{ p: 0, d: 'M26 34L46 62L29.2 62Z' },
|
||||
{ p: 'shade', d: 'M26 34L46 62L29.2 62Z', o: 0.25 },
|
||||
{ p: 0, d: 'M24 64L58 18L63.4 64Z' },
|
||||
{ p: 0, d: 'M58 18L92 64L63.4 64Z' },
|
||||
{ p: 'shade', d: 'M58 18L92 64L63.4 64Z', o: 0.25 },
|
||||
{ p: 'light', d: 'M58 18L52 26L56 26Z', o: 0.5 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M54.6 22.6L58.6 22.6M51.2 27.2L58.6 27.2M47.8 31.8L58.6 31.8M44.4 36.4L58.6 36.4M41 41L58.6 41',
|
||||
o: 0.25,
|
||||
w: 0.4,
|
||||
},
|
||||
{ p: 2, d: 'M0 72L0 64C16 60 30 62 44 65C60 68 76 62 92 62C104 62 112 64 120 63L120 72Z' },
|
||||
{ p: 'shade', d: 'M44 65C60 68 76 62 92 62C104 62 112 64 120 63L120 72L60 72C66 70 58 67 44 65Z', o: 0.1 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'statueOfLiberty',
|
||||
theme: 'landmarks',
|
||||
tags: ['statue of liberty', 'new york', 'usa', 'america', 'liberty', 'torch', 'landmark', 'monument'],
|
||||
descr:
|
||||
'The Statue of Liberty in New York, facing the viewer: the copper green figure raising the torch in her right hand, the tablet in her left, a seven-rayed crown, on a stone pedestal.',
|
||||
box: [60, 100],
|
||||
slots: [
|
||||
{ name: 'copper', color: '#6fb3a0' },
|
||||
{ name: 'flame', color: '#f4a62a' },
|
||||
{ name: 'pedestal', color: '#c9b79c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M21.6 2C18.4 4 17.4 7 18.6 9.6L24.4 9.6C25.6 7.4 24.6 4.6 21.6 2Z' },
|
||||
{ p: 'light', d: 'M21.6 4.4C20.2 5.8 20 7.4 20.6 8.8L22.6 8.8C23 7.4 22.6 6 21.6 4.4Z', o: 0.5 },
|
||||
{ p: 0, d: 'M25.2 9.4L17.8 9.4L19.2 12.4L23.8 12.4Z' },
|
||||
{ p: 0, d: 'M30.4 33.6L25.4 30.2L19.4 12.2L23.6 12.2Z' },
|
||||
{ p: 'shade', d: 'M21.6 12.2L19.4 12.2L25.4 30.2L27.4 31.6Z', o: 0.18 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M33.2 23.3L32.8 21.9L39.3 20.6ZM33.5 23.2L32.5 22L37.9 18.2ZM33.7 22.9L32.3 22.3L35.7 16.6ZM33.8 22.6L32.3 22.6L33 16ZM33.7 22.3L32.3 22.9L30.3 16.6ZM33.5 22L32.5 23.2L28.1 18.2ZM33.2 21.9L32.8 23.3L26.7 20.6ZM36.6 24.4C36.6 21.6 35 20.6 33 20.6C31 20.6 29.4 21.6 29.4 24.4Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M35.6 25.6C35.6 23.6 34.4 22.6 33 22.6C31.4 22.6 30.4 23.8 30.4 25.6C30.4 27.8 31.4 29.4 33 29.4C34.6 29.4 35.6 27.8 35.6 25.6Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M36.8 31.2C34.8 29.6 31.2 29.4 28 30.2L25.4 31.4C24.2 34.4 24 40 24.6 46C23.8 52 23.6 58 24 64L42 64C42.4 56 42 50 40.4 44C41.4 40 41.2 35 36.8 31.2Z',
|
||||
},
|
||||
{ p: 0, d: 'M40 37.6L44.4 45.6L42.4 47.2L37.4 41.2Z' },
|
||||
{ p: 0, d: 'M45.8 39.4L39.8 37.2L37.2 45.6L43.2 47.8Z' },
|
||||
{ p: 'shade', d: 'M45.8 39.4L39.8 37.2L39.2 39.2L45.2 41.4Z', o: 0.2 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M32.6 31C30 32 26.6 32 25 33.6C24.2 38 24.4 42 24.8 46C24 52 23.8 58 24 64L32 64C30.4 56 30.2 48 31.6 42C32.4 38 32.8 34 32.6 31Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M39 48C37 52 35.6 58 36 63M35.2 44C33 50 32.6 57 33 63M29 40C27.4 47 27 56 27.6 63',
|
||||
o: 0.28,
|
||||
w: 0.6,
|
||||
},
|
||||
{ p: 2, d: 'M43 64L23 64L22 68L44 68Z' },
|
||||
{ p: 2, d: 'M45.4 68L20.6 68L19 86L47 86Z' },
|
||||
{ p: 2, d: 'M52 86L14 86L12 98L54 98Z' },
|
||||
{ p: 'shade', d: 'M33 68L20.6 68L19 86L33 86ZM33 86L14 86L12 98L33 98Z', o: 0.15 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M40 72L38 72C37.4 72 37 72.4 37 73L37 79C37 79.6 37.4 80 38 80L40 80C40.6 80 41 79.6 41 79L41 73C41 72.4 40.6 72 40 72ZM28 72L26 72C25.4 72 25 72.4 25 73L25 79C25 79.6 25.4 80 26 80L28 80C28.6 80 29 79.6 29 79L29 73C29 72.4 28.6 72 28 72Z',
|
||||
o: 0.28,
|
||||
},
|
||||
{ p: 'light', d: 'M45.4 68L20.6 68L20.6 69L45.4 69ZM52 86L14 86L14 87L52 87Z', o: 0.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'goldenGate',
|
||||
theme: 'landmarks',
|
||||
tags: ['golden gate', 'bridge', 'san francisco', 'california', 'usa', 'suspension bridge', 'landmark', 'bay'],
|
||||
descr:
|
||||
'The Golden Gate Bridge in San Francisco: two red art-deco towers, swooping main cables and the deck over the bay.',
|
||||
box: [130, 72],
|
||||
slots: [
|
||||
{ name: 'bridge', color: '#d1442f' },
|
||||
{ name: 'water', color: '#4f9dc6' },
|
||||
{ name: 'hills', color: '#8fb573' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M0 60C6 50 14 47 22 50L26 66L0 66ZM104 66L110 52C116 46 124 47 130 52L130 66Z' },
|
||||
{ p: 'shade', d: 'M0 60C6 50 14 47 22 50L26 66L0 66ZM104 66L110 52C116 46 124 47 130 52L130 66Z', o: 0.14 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M0 61C0.4 61.1 1.5 61.4 2.3 61.6C3.1 61.7 3.9 61.8 4.6 61.8C5.4 61.8 6.2 61.7 7 61.6C7.7 61.4 8.5 61.2 9.3 61C10.1 60.8 10.8 60.6 11.6 60.4C12.4 60.3 13.2 60.2 13.9 60.2C14.7 60.2 15.5 60.3 16.3 60.4C17 60.6 17.8 60.8 18.6 61C19.3 61.2 20.1 61.4 20.9 61.6C21.7 61.7 22.4 61.8 23.2 61.8C24 61.8 24.8 61.7 25.5 61.6C26.3 61.4 27.1 61.2 27.9 61C28.6 60.8 29.4 60.6 30.2 60.4C31 60.3 31.7 60.2 32.5 60.2C33.3 60.2 34 60.3 34.8 60.4C35.6 60.6 36.4 60.8 37.1 61C37.9 61.2 38.7 61.4 39.5 61.6C40.2 61.7 41 61.8 41.8 61.8C42.6 61.8 43.3 61.7 44.1 61.6C44.9 61.4 45.7 61.2 46.4 61C47.2 60.8 48 60.6 48.8 60.4C49.5 60.3 50.3 60.2 51.1 60.2C51.8 60.2 52.6 60.3 53.4 60.4C54.2 60.6 54.9 60.8 55.7 61C56.5 61.2 57.3 61.4 58 61.6C58.8 61.7 59.6 61.8 60.4 61.8C61.1 61.8 61.9 61.7 62.7 61.6C63.5 61.4 64.2 61.2 65 61C65.8 60.8 66.5 60.6 67.3 60.4C68.1 60.3 68.9 60.2 69.6 60.2C70.4 60.2 71.2 60.3 72 60.4C72.7 60.6 73.5 60.8 74.3 61C75.1 61.2 75.8 61.4 76.6 61.6C77.4 61.7 78.2 61.8 78.9 61.8C79.7 61.8 80.5 61.7 81.3 61.6C82 61.4 82.8 61.2 83.6 61C84.3 60.8 85.1 60.6 85.9 60.4C86.7 60.3 87.4 60.2 88.2 60.2C89 60.2 89.8 60.3 90.5 60.4C91.3 60.6 92.1 60.8 92.9 61C93.6 61.2 94.4 61.4 95.2 61.6C96 61.7 96.7 61.8 97.5 61.8C98.3 61.8 99 61.7 99.8 61.6C100.6 61.4 101.4 61.2 102.1 61C102.9 60.8 103.7 60.6 104.5 60.4C105.2 60.3 106 60.2 106.8 60.2C107.6 60.2 108.3 60.3 109.1 60.4C109.9 60.6 110.7 60.8 111.4 61C112.2 61.2 113 61.4 113.8 61.6C114.5 61.7 115.3 61.8 116.1 61.8C116.8 61.8 117.6 61.7 118.4 61.6C119.2 61.4 119.9 61.2 120.7 61C121.5 60.8 122.3 60.6 123 60.4C123.8 60.3 124.6 60.2 125.4 60.2C126.1 60.2 126.9 60.3 127.7 60.4C128.5 60.6 129.6 60.9 130 61L130 72L0 72Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M8 65C8.2 65.1 8.9 65.3 9.4 65.4C9.8 65.5 10.3 65.6 10.8 65.6C11.2 65.6 11.7 65.5 12.1 65.4C12.6 65.3 13 65.1 13.5 65C14 64.9 14.4 64.7 14.9 64.6C15.3 64.5 15.8 64.4 16.3 64.4C16.7 64.4 17.2 64.5 17.6 64.6C18.1 64.7 18.5 64.9 19 65C19.5 65.1 19.9 65.3 20.4 65.4C20.8 65.5 21.3 65.6 21.8 65.6C22.2 65.6 22.7 65.5 23.1 65.4C23.6 65.3 24 65.1 24.5 65C25 64.9 25.4 64.7 25.9 64.6C26.3 64.5 26.8 64.4 27.3 64.4C27.7 64.4 28.2 64.5 28.6 64.6C29.1 64.7 29.8 64.9 30 65M48 67C48.2 67.1 48.9 67.3 49.3 67.4C49.8 67.5 50.2 67.6 50.7 67.6C51.1 67.6 51.6 67.5 52 67.4C52.4 67.3 52.9 67.1 53.3 67C53.8 66.9 54.2 66.7 54.7 66.6C55.1 66.5 55.6 66.4 56 66.4C56.4 66.4 56.9 66.5 57.3 66.6C57.8 66.7 58.2 66.9 58.7 67C59.1 67.1 59.6 67.3 60 67.4C60.4 67.5 60.9 67.6 61.3 67.6C61.8 67.6 62.2 67.5 62.7 67.4C63.1 67.3 63.6 67.1 64 67C64.4 66.9 64.9 66.7 65.3 66.6C65.8 66.5 66.2 66.4 66.7 66.4C67.1 66.4 67.6 66.5 68 66.6C68.4 66.7 68.9 66.9 69.3 67C69.8 67.1 70.2 67.3 70.7 67.4C71.1 67.5 71.6 67.6 72 67.6C72.4 67.6 72.9 67.5 73.3 67.4C73.8 67.3 74.2 67.1 74.7 67C75.1 66.9 75.6 66.7 76 66.6C76.4 66.5 76.9 66.4 77.3 66.4C77.8 66.4 78.2 66.5 78.7 66.6C79.1 66.7 79.8 66.9 80 67M92 65.4C92.3 65.5 93.1 65.7 93.6 65.8C94.2 65.9 94.7 66 95.3 66C95.8 66 96.3 65.9 96.9 65.8C97.4 65.7 98 65.5 98.5 65.4C99 65.3 99.6 65.1 100.1 65C100.7 64.9 101.2 64.8 101.8 64.8C102.3 64.8 102.8 64.9 103.4 65C103.9 65.1 104.5 65.3 105 65.4C105.5 65.5 106.1 65.7 106.6 65.8C107.2 65.9 107.7 66 108.3 66C108.8 66 109.3 65.9 109.9 65.8C110.4 65.7 111 65.5 111.5 65.4C112 65.3 112.6 65.1 113.1 65C113.7 64.9 114.2 64.8 114.8 64.8C115.3 64.8 115.8 64.9 116.4 65C116.9 65.1 117.7 65.3 118 65.4',
|
||||
o: 0.55,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M37.1 16.8L37.1 50M40.2 23L40.2 50M43.3 28.4L43.3 50M46.4 33L46.4 50M49.5 37L49.5 50M52.6 40.2L52.6 50M55.7 42.8L55.7 50M58.8 44.6L58.8 50M61.9 45.6L61.9 50M65 46L65 50M68.1 45.6L68.1 50M71.2 44.6L71.2 50M74.3 42.8L74.3 50M77.4 40.2L77.4 50M80.5 37L80.5 50M83.6 33L83.6 50M86.7 28.4L86.7 50M89.8 23L89.8 50M92.9 16.8L92.9 50M12 36L12 50M18 29L18 50M24 22L24 50M29 16L29 50M101 16L101 50M106 22L106 50M112 29L112 50M118 36L118 50',
|
||||
o: 0.85,
|
||||
w: 0.35,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M34 10C34.5 11.1 36.1 14.7 37.1 16.8C38.1 19 39.2 21 40.2 23C41.2 24.9 42.3 26.7 43.3 28.4C44.3 30 45.4 31.6 46.4 33C47.4 34.5 48.5 35.8 49.5 37C50.5 38.2 51.6 39.3 52.6 40.2C53.6 41.2 54.7 42 55.7 42.8C56.7 43.5 57.8 44.1 58.8 44.6C59.8 45 60.9 45.4 61.9 45.6C62.9 45.9 64 46 65 46C66 46 67.1 45.9 68.1 45.6C69.1 45.4 70.2 45 71.2 44.6C72.2 44.1 73.3 43.5 74.3 42.8C75.3 42 76.4 41.2 77.4 40.2C78.4 39.3 79.5 38.2 80.5 37C81.5 35.8 82.6 34.5 83.6 33C84.6 31.6 85.7 30 86.7 28.4C87.7 26.7 88.8 24.9 89.8 23C90.8 21 91.9 19 92.9 16.8C93.9 14.7 95.5 11.1 96 10',
|
||||
w: 1.4,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M2 44C3.7 42.7 8.3 39.7 12 36C15.7 32.3 20.3 26.3 24 22C27.7 17.7 32.3 12 34 10M96 10C97.7 12 102.3 17.7 106 22C109.7 26.3 114.3 32.3 118 36C121.7 39.7 126.3 42.7 128 44',
|
||||
w: 1.4,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M30 66L30.8 6L32.8 6L32.4 66ZM35.6 66L35.2 6L37.2 6L38 66ZM30.6 9L37.4 9L37.4 10.6L30.6 10.6ZM30.4 19L37.6 19L37.6 20.8L30.4 20.8ZM30.2 30L37.8 30L37.8 32L30.2 32ZM30.1 41L37.9 41L37.9 43L30.1 43ZM92 66L92.8 6L94.8 6L94.4 66ZM97.6 66L97.2 6L99.2 6L100 66ZM92.6 9L99.4 9L99.4 10.6L92.6 10.6ZM92.4 19L99.6 19L99.6 20.8L92.4 20.8ZM92.2 30L99.8 30L99.8 32L92.2 32ZM92.1 41L99.9 41L99.9 43L92.1 43Z',
|
||||
},
|
||||
{ p: 0, d: 'M0 50L130 50L130 53.4L0 53.4Z' },
|
||||
{ p: 'shade', d: 'M0 52.2L130 52.2L130 53.4L0 53.4Z', o: 0.3 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M29.8 53.4L32.4 53.4L32.4 61.4L29.8 61.4ZM35.6 53.4L38.2 53.4L38.2 61.4L35.6 61.4ZM91.8 53.4L94.4 53.4L94.4 61.4L91.8 61.4ZM97.6 53.4L100.2 53.4L100.2 61.4L97.6 61.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'christRedeemer',
|
||||
theme: 'landmarks',
|
||||
tags: ['christ the redeemer', 'rio de janeiro', 'brazil', 'corcovado', 'statue', 'landmark', 'mountain'],
|
||||
descr:
|
||||
'Christ the Redeemer in Rio de Janeiro: the pale statue with outstretched arms on the green peak of Corcovado.',
|
||||
box: [100, 92],
|
||||
slots: [
|
||||
{ name: 'statue', color: '#efe8dc' },
|
||||
{ name: 'mountain', color: '#5e9f5b' },
|
||||
{ name: 'rock', color: '#7d8a8c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M0 92L0 78C10 72 18 66 26 58C32 52 38 48 42 47L58 47C64 50 70 56 76 62C84 70 92 74 100 76L100 92Z' },
|
||||
{ p: 1, d: 'M0 92L0 80C10 76 18 72 26 66C34 60 40 58 50 60C60 62 66 66 74 70C84 76 92 78 100 79L100 92Z' },
|
||||
{ p: 'shade', d: 'M50 60C60 62 66 66 74 70C84 76 92 78 100 79L100 92L50 92Z', o: 0.14 },
|
||||
{ p: 'light', d: 'M8 78C16 74 22 70 30 64C26 70 18 76 10 80Z', o: 0.3 },
|
||||
{ p: 2, d: 'M44 47L56 47L55 52L45 52Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M44.7 50L45.7 28.4C42.8 29.6 39.2 30.3 35.6 29.6C38 27.2 41.1 25.5 44 24.3L6.8 19.5C5.1 19.3 4.9 16.9 6.6 16.4L45.7 12.8C46.4 10.9 47.8 9.9 50 9.9C52.2 9.9 53.6 10.9 54.3 12.8L93.4 16.4C95.1 16.9 94.9 19.3 93.2 19.5L56 24.3C58.9 25.5 62 27.2 64.4 29.6C60.8 30.3 57.2 29.6 54.3 28.4L55.3 50Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M53.5 6.1C53.5 8 51.9 9.6 50 9.6C48.1 9.6 46.5 8 46.5 6.1C46.5 4.2 48.1 2.6 50 2.6C51.9 2.6 53.5 4.2 53.5 6.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 9.9C52.2 9.9 53.6 10.9 54.3 12.8L93.4 16.4C95.1 16.9 94.9 19.3 93.2 19.5L56 24.3C58.9 25.5 62 27.2 64.4 29.6C60.8 30.3 57.2 29.6 54.3 28.4L55.3 50L50 50Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M48.1 30.8C48.6 36.8 48.1 42.8 47.1 48.8M51.9 30.8C51.7 36.8 52.2 42.8 52.9 48.8',
|
||||
o: 0.6,
|
||||
w: 0.4,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sydneyOperaHouse',
|
||||
theme: 'landmarks',
|
||||
tags: ['sydney opera house', 'sydney', 'australia', 'opera', 'harbour', 'shells', 'landmark'],
|
||||
descr: 'The Sydney Opera House: white sail-like shells rising in two rows from a podium on the harbour.',
|
||||
box: [130, 64],
|
||||
slots: [
|
||||
{ name: 'shells', color: '#f7f5f0' },
|
||||
{ name: 'podium', color: '#d7b98e' },
|
||||
{ name: 'water', color: '#3f88c5' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M0 54C0.3 54.1 1.2 54.3 1.8 54.4C2.4 54.5 3 54.6 3.6 54.6C4.2 54.6 4.8 54.5 5.4 54.4C6 54.3 6.6 54.1 7.2 54C7.8 53.9 8.4 53.7 9 53.6C9.6 53.5 10.2 53.4 10.8 53.4C11.4 53.4 12 53.5 12.6 53.6C13.2 53.7 13.8 53.9 14.4 54C15 54.1 15.6 54.3 16.3 54.4C16.9 54.5 17.5 54.6 18.1 54.6C18.7 54.6 19.3 54.5 19.9 54.4C20.5 54.3 21.1 54.1 21.7 54C22.3 53.9 22.9 53.7 23.5 53.6C24.1 53.5 24.7 53.4 25.3 53.4C25.9 53.4 26.5 53.5 27.1 53.6C27.7 53.7 28.3 53.9 28.9 54C29.5 54.1 30.1 54.3 30.7 54.4C31.3 54.5 31.9 54.6 32.5 54.6C33.1 54.6 33.7 54.5 34.3 54.4C34.9 54.3 35.5 54.1 36.1 54C36.7 53.9 37.3 53.7 37.9 53.6C38.5 53.5 39.1 53.4 39.7 53.4C40.3 53.4 40.9 53.5 41.5 53.6C42.1 53.7 42.7 53.9 43.3 54C43.9 54.1 44.5 54.3 45.1 54.4C45.7 54.5 46.3 54.6 46.9 54.6C47.5 54.6 48.1 54.5 48.8 54.4C49.4 54.3 50 54.1 50.6 54C51.2 53.9 51.8 53.7 52.4 53.6C53 53.5 53.6 53.4 54.2 53.4C54.8 53.4 55.4 53.5 56 53.6C56.6 53.7 57.2 53.9 57.8 54C58.4 54.1 59 54.3 59.6 54.4C60.2 54.5 60.8 54.6 61.4 54.6C62 54.6 62.6 54.5 63.2 54.4C63.8 54.3 64.4 54.1 65 54C65.6 53.9 66.2 53.7 66.8 53.6C67.4 53.5 68 53.4 68.6 53.4C69.2 53.4 69.8 53.5 70.4 53.6C71 53.7 71.6 53.9 72.2 54C72.8 54.1 73.4 54.3 74 54.4C74.6 54.5 75.2 54.6 75.8 54.6C76.4 54.6 77 54.5 77.6 54.4C78.2 54.3 78.8 54.1 79.4 54C80 53.9 80.6 53.7 81.3 53.6C81.9 53.5 82.5 53.4 83.1 53.4C83.7 53.4 84.3 53.5 84.9 53.6C85.5 53.7 86.1 53.9 86.7 54C87.3 54.1 87.9 54.3 88.5 54.4C89.1 54.5 89.7 54.6 90.3 54.6C90.9 54.6 91.5 54.5 92.1 54.4C92.7 54.3 93.3 54.1 93.9 54C94.5 53.9 95.1 53.7 95.7 53.6C96.3 53.5 96.9 53.4 97.5 53.4C98.1 53.4 98.7 53.5 99.3 53.6C99.9 53.7 100.5 53.9 101.1 54C101.7 54.1 102.3 54.3 102.9 54.4C103.5 54.5 104.1 54.6 104.7 54.6C105.3 54.6 105.9 54.5 106.5 54.4C107.1 54.3 107.7 54.1 108.3 54C108.9 53.9 109.5 53.7 110.1 53.6C110.7 53.5 111.3 53.4 111.9 53.4C112.5 53.4 113.1 53.5 113.8 53.6C114.4 53.7 115 53.9 115.6 54C116.2 54.1 116.8 54.3 117.4 54.4C118 54.5 118.6 54.6 119.2 54.6C119.8 54.6 120.4 54.5 121 54.4C121.6 54.3 122.2 54.1 122.8 54C123.4 53.9 124 53.7 124.6 53.6C125.2 53.5 125.8 53.4 126.4 53.4C127 53.4 127.6 53.5 128.2 53.6C128.8 53.7 129.7 53.9 130 54L130 64L0 64Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M6 59C6.2 59.1 6.8 59.3 7.2 59.4C7.6 59.4 7.9 59.5 8.3 59.5C8.7 59.5 9.1 59.4 9.5 59.4C9.9 59.3 10.3 59.1 10.7 59C11.1 58.9 11.4 58.7 11.8 58.6C12.2 58.6 12.6 58.5 13 58.5C13.4 58.5 13.8 58.6 14.2 58.6C14.6 58.7 14.9 58.9 15.3 59C15.7 59.1 16.1 59.3 16.5 59.4C16.9 59.4 17.3 59.5 17.7 59.5C18.1 59.5 18.4 59.4 18.8 59.4C19.2 59.3 19.6 59.1 20 59C20.4 58.9 20.8 58.7 21.2 58.6C21.6 58.6 21.9 58.5 22.3 58.5C22.7 58.5 23.1 58.6 23.5 58.6C23.9 58.7 24.3 58.9 24.7 59C25.1 59.1 25.4 59.3 25.8 59.4C26.2 59.4 26.6 59.5 27 59.5C27.4 59.5 27.8 59.4 28.2 59.4C28.6 59.3 28.9 59.1 29.3 59C29.7 58.9 30.1 58.7 30.5 58.6C30.9 58.6 31.3 58.5 31.7 58.5C32.1 58.5 32.4 58.6 32.8 58.6C33.2 58.7 33.8 58.9 34 59M54 61C54.2 61.1 54.8 61.3 55.2 61.4C55.6 61.4 55.9 61.5 56.3 61.5C56.7 61.5 57.1 61.4 57.5 61.4C57.9 61.3 58.3 61.1 58.7 61C59.1 60.9 59.4 60.7 59.8 60.6C60.2 60.6 60.6 60.5 61 60.5C61.4 60.5 61.8 60.6 62.2 60.6C62.6 60.7 62.9 60.9 63.3 61C63.7 61.1 64.1 61.3 64.5 61.4C64.9 61.4 65.3 61.5 65.7 61.5C66.1 61.5 66.4 61.4 66.8 61.4C67.2 61.3 67.6 61.1 68 61C68.4 60.9 68.8 60.7 69.2 60.6C69.6 60.6 69.9 60.5 70.3 60.5C70.7 60.5 71.1 60.6 71.5 60.6C71.9 60.7 72.3 60.9 72.7 61C73.1 61.1 73.4 61.3 73.8 61.4C74.2 61.4 74.6 61.5 75 61.5C75.4 61.5 75.8 61.4 76.2 61.4C76.6 61.3 76.9 61.1 77.3 61C77.7 60.9 78.1 60.7 78.5 60.6C78.9 60.6 79.3 60.5 79.7 60.5C80.1 60.5 80.4 60.6 80.8 60.6C81.2 60.7 81.8 60.9 82 61M96 58.6C96.2 58.7 96.8 58.9 97.2 59C97.6 59 97.9 59.1 98.3 59.1C98.7 59.1 99.1 59 99.5 59C99.9 58.9 100.3 58.7 100.7 58.6C101.1 58.5 101.4 58.3 101.8 58.2C102.2 58.2 102.6 58.1 103 58.1C103.4 58.1 103.8 58.2 104.2 58.2C104.6 58.3 104.9 58.5 105.3 58.6C105.7 58.7 106.1 58.9 106.5 59C106.9 59 107.3 59.1 107.7 59.1C108.1 59.1 108.4 59 108.8 59C109.2 58.9 109.6 58.7 110 58.6C110.4 58.5 110.8 58.3 111.2 58.2C111.6 58.2 111.9 58.1 112.3 58.1C112.7 58.1 113.1 58.2 113.5 58.2C113.9 58.3 114.3 58.5 114.7 58.6C115.1 58.7 115.4 58.9 115.8 59C116.2 59 116.6 59.1 117 59.1C117.4 59.1 117.8 59 118.2 59C118.6 58.9 118.9 58.7 119.3 58.6C119.7 58.5 120.1 58.3 120.5 58.2C120.9 58.2 121.3 58.1 121.7 58.1C122.1 58.1 122.4 58.2 122.8 58.2C123.2 58.3 123.8 58.5 124 58.6',
|
||||
o: 0.5,
|
||||
w: 0.7,
|
||||
},
|
||||
{ p: 1, d: 'M6 54L10 46L122 46L126 54Z' },
|
||||
{ p: 'shade', d: 'M6 54L8.4 50L123.6 50L126 54Z', o: 0.2 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M78 46C79.6 29.2 88 22 96 22C93.2 34 92.4 41.2 94 46ZM92 46C93.4 33.4 101 28 108 28C105.3 37 104.6 42.4 106 46ZM104 46C105.2 36.9 112 33 118 33C115.4 39.5 114.8 43.4 116 46Z',
|
||||
},
|
||||
{
|
||||
p: '#d9d5cc',
|
||||
d: 'M84 46C85.2 36.2 91 32 97 32C95.4 39 94.8 43.2 96 46ZM97 46C98 39 103 36 108 36C106.5 41 106 44 107 46Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M14 46C16.2 20.8 29 10 40 10C34.9 28 33.8 38.8 36 46ZM32 46C34 25 46 16 56 16C51 31 50 40 52 46ZM50 46C51.8 29.2 62 22 71 22C67.1 34 66.2 41.2 68 46ZM66 46C67.4 34.8 75 30 82 30C79.3 38 78.6 42.8 80 46Z',
|
||||
},
|
||||
{
|
||||
p: '#d9d5cc',
|
||||
d: 'M22 46C23.6 30.6 32 24 40 24C37.2 35 36.4 41.6 38 46ZM40 46C41.3 34.1 48.5 29 55 29C52.4 37.5 51.7 42.6 53 46ZM56 46C57.1 36.9 63.5 33 69 33C66.5 39.5 65.9 43.4 67 46Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M31.6 46C31.2 35.2 32.7 23.7 40 10C34.9 28 33.8 38.8 36 46ZM48 46C47.6 37 49 27.4 56 16C51 31 50 40 52 46ZM64.4 46C64 38.8 65.3 31.1 71 22C67.1 34 66.2 41.2 68 46ZM77.2 46C76.9 41.2 77.9 36.1 82 30C79.3 38 78.6 42.8 80 46ZM90.8 46C90.5 38.8 91.6 31.1 96 22C93.2 34 92.4 41.2 94 46ZM103.2 46C102.9 40.6 103.9 34.8 108 28C105.3 37 104.6 42.4 106 46ZM113.6 46C113.4 42.1 114.2 37.9 118 33C115.4 39.5 114.8 43.4 116 46Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{ p: '#a7b8c0', d: 'M12 44.6L116 44.6L116 46.2L12 46.2Z', o: 0.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,903 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Mediterranean: lemons and olives, tiles and shutters, the white islands and their windmills. */
|
||||
export const MEDITERRANEAN_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'lemon',
|
||||
theme: 'mediterranean',
|
||||
tags: ['lemon', 'citrus', 'fruit', 'amalfi', 'sicily', 'yellow', 'summer', 'italy'],
|
||||
descr: 'A single bright lemon with two glossy leaves on a short stem.',
|
||||
box: [100, 80],
|
||||
slots: [
|
||||
{ name: 'lemon', color: '#ffd23f' },
|
||||
{ name: 'leaves', color: '#3f8f4f' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M58 22C60.3 22.7 67.7 26.1 76.2 22.6C86.4 18.4 90.4 9.9 92 8C89.5 7.8 80.7 4.5 70.4 8.8C62 12.2 59.1 19.9 58 22Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M58 22C60.3 22.7 67.7 26.1 76.2 22.6C86.4 18.4 90.4 9.9 92 8L58 22Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M58 22C59.5 21.6 65.1 20.8 68.1 15.8C71.7 9.8 70 3.6 70 2C68.6 2.8 62.3 4.1 58.7 10.2C55.7 15.1 57.7 20.4 58 22Z',
|
||||
},
|
||||
{ p: 'light', d: 'M60 21L89 9M58.6 20L68.4 4', o: 0.4, w: 0.7 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M9.8 53.7C9.9 49.1 11.8 27.5 33.4 22.2C50.6 17.8 72.4 20.7 78.7 36L82.2 38.3L79.9 41.8C80.4 58.4 61.7 69.9 44.1 72.9C22.3 76.8 11.7 57.8 9.8 53.7Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M79.9 41.8C80.4 58.4 61.7 69.9 44.1 72.9C22.3 76.8 11.7 57.8 9.8 53.7C34.6 63.6 63.6 57.4 79.9 41.8Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M22.4 41.9C27.8 31.7 41.8 26.5 51 26.8', o: 0.55, w: 4.4399999999999995 },
|
||||
{
|
||||
p: '#8a6d1c',
|
||||
d: 'M52.5 46C52.5 46.2 52.2 46.5 52 46.5C51.8 46.5 51.6 46.2 51.6 46C51.6 45.8 51.8 45.6 52 45.6C52.2 45.6 52.5 45.8 52.5 46ZM58.8 61.4C58.8 61.6 58.6 61.8 58.3 61.8C58.1 61.8 57.9 61.6 57.9 61.4C57.9 61.1 58.1 60.9 58.3 60.9C58.6 60.9 58.8 61.1 58.8 61.4ZM43.5 60C43.5 60.2 43.3 60.4 43 60.4C42.8 60.4 42.6 60.2 42.6 60C42.6 59.7 42.8 59.5 43 59.5C43.3 59.5 43.5 59.7 43.5 60ZM23.5 63C23.5 63.2 23.3 63.4 23 63.4C22.8 63.4 22.6 63.2 22.6 63C22.6 62.7 22.8 62.5 23 62.5C23.3 62.5 23.5 62.7 23.5 63ZM24.6 43.2C24.6 43.5 24.4 43.7 24.2 43.7C23.9 43.7 23.7 43.5 23.7 43.2C23.7 43 23.9 42.8 24.2 42.8C24.4 42.8 24.6 43 24.6 43.2ZM37 35.4C37 35.6 36.8 35.8 36.5 35.8C36.3 35.8 36.1 35.6 36.1 35.4C36.1 35.1 36.3 34.9 36.5 34.9C36.8 34.9 37 35.1 37 35.4ZM49.9 20.6C49.9 20.8 49.7 21 49.4 21C49.2 21 49 20.8 49 20.6C49 20.3 49.2 20.1 49.4 20.1C49.7 20.1 49.9 20.3 49.9 20.6ZM60.7 36.2C60.7 36.5 60.5 36.7 60.3 36.7C60 36.7 59.8 36.5 59.8 36.2C59.8 36 60 35.8 60.3 35.8C60.5 35.8 60.7 36 60.7 36.2ZM56 49.3C56 49.6 55.8 49.8 55.5 49.8C55.3 49.8 55.1 49.6 55.1 49.3C55.1 49.1 55.3 48.9 55.5 48.9C55.8 48.9 56 49.1 56 49.3ZM55.8 68.3C55.8 68.5 55.6 68.7 55.3 68.7C55.1 68.7 54.9 68.5 54.9 68.3C54.9 68 55.1 67.8 55.3 67.8C55.6 67.8 55.8 68 55.8 68.3ZM38.3 62.9C38.3 63.2 38.1 63.4 37.8 63.4C37.6 63.4 37.4 63.2 37.4 62.9C37.4 62.7 37.6 62.5 37.8 62.5C38.1 62.5 38.3 62.7 38.3 62.9ZM34.3 50.3C34.3 50.5 34.1 50.7 33.9 50.7C33.6 50.7 33.4 50.5 33.4 50.3C33.4 50 33.6 49.8 33.9 49.8C34.1 49.8 34.3 50 34.3 50.3ZM22.5 36.2C22.5 36.5 22.3 36.7 22.1 36.7C21.8 36.7 21.6 36.5 21.6 36.2C21.6 36 21.8 35.8 22.1 35.8C22.3 35.8 22.5 36 22.5 36.2ZM38.9 29.9C38.9 30.2 38.7 30.4 38.5 30.4C38.2 30.4 38 30.2 38 29.9C38 29.7 38.2 29.5 38.5 29.5C38.7 29.5 38.9 29.7 38.9 29.9Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{ p: 1, d: 'M58 22L55 18', w: 1.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'lemonBranch',
|
||||
theme: 'mediterranean',
|
||||
tags: ['lemon branch', 'lemons', 'citrus', 'branch', 'amalfi', 'mediterranean', 'botanical', 'fruit'],
|
||||
descr: 'A curved lemon branch with three hanging lemons and a row of pointed green leaves.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'lemons', color: '#ffd23f' },
|
||||
{ name: 'leaves', color: '#3f8f4f' },
|
||||
{ name: 'twig', color: '#6b4f2e' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M6 14C30 10 56 16 76 30C86 38 92 48 94 60', w: 2.2 },
|
||||
{ p: 2, d: 'M38 15C40 30 38 42 34 52M66 24C66 36 66 46 68 58', w: 1.4 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M20 12C18.3 12.3 12.2 12.6 8.8 17.6C4.5 23.6 6.1 30.3 6 32C7.6 31.3 14.4 30.5 18.6 24.4C22.1 19.5 20.3 13.7 20 12Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M20 12C18.3 12.3 12.2 12.6 8.8 17.6C4.5 23.6 6.1 30.3 6 32L20 12Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M20 12L6 32', o: 0.35, w: 0.6 },
|
||||
{ p: 1, d: 'M30 12C31 11.4 35 9.6 35 6.6C35 3 30.8 0.7 30 0C29.3 0.7 25 3 25 6.6C25 9.6 29 11.4 30 12Z' },
|
||||
{ p: 'shade', d: 'M30 12C31 11.4 35 9.6 35 6.6C35 3 30.8 0.7 30 0L30 12Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M30 12L30 0', o: 0.35, w: 0.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 16C51.4 16 56.6 16.7 59.6 13.3C63.2 9 61.9 3.4 62 2C60.6 2.3 54.9 1.9 51.2 6.1C48.3 9.6 49.8 14.6 50 16Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M50 16C51.4 16 56.6 16.7 59.6 13.3C63.2 9 61.9 3.4 62 2L50 16Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M50 16L62 2', o: 0.35, w: 0.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M76 30C77.6 30.4 83.1 32.7 88.1 29.7C94.1 26.1 95.3 19.5 96 18C94.3 18 88 15.8 81.9 19.5C77 22.4 76.4 28.4 76 30Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M76 30C77.6 30.4 83.1 32.7 88.1 29.7C94.1 26.1 95.3 19.5 96 18L76 30Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M76 30L96 18', o: 0.35, w: 0.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M84 40C82.5 40.1 77.2 39.9 74.2 43.9C70.6 48.7 72.1 54.5 72 56C73.4 55.5 79.4 55.3 83 50.5C86 46.5 84.3 41.5 84 40Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M84 40C82.5 40.1 77.2 39.9 74.2 43.9C70.6 48.7 72.1 54.5 72 56L84 40Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M84 40L72 56', o: 0.35, w: 0.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M90 50C89.5 51.5 87.2 56.3 89.4 61.8C92.1 68.4 97.8 71 99 72C99.1 70.4 101.4 64.7 98.7 58C96.5 52.6 91.4 50.7 90 50Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M90 50C89.5 51.5 87.2 56.3 89.4 61.8C92.1 68.4 97.8 71 99 72L90 50Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M90 50L99 72', o: 0.35, w: 0.6 },
|
||||
{ p: 1, d: 'M12 13C12.1 11.9 12.9 8.1 10.5 5.4C7.4 2 3 2.3 2 2C2.2 3.1 1.5 7.4 4.5 10.7C7 13.5 10.9 13 12 13Z' },
|
||||
{ p: 'shade', d: 'M12 13C12.1 11.9 12.9 8.1 10.5 5.4C7.4 2 3 2.3 2 2L12 13Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M12 13L2 2', o: 0.35, w: 0.6 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M29.4 49.2C31.3 49.9 40 50.4 41.8 59.2C43.4 66.3 41.9 75.1 35.6 77.4L34.6 78.8L33.2 77.8C26.5 77.8 22.1 70 21.1 62.9C19.9 54 27.8 50.5 29.4 49.2Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M33.2 77.8C26.5 77.8 22.1 70 21.1 62.9C19.9 54 27.8 50.5 29.4 49.2C25 59.1 27.1 71 33.2 77.8Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M34 54.5C38 56.8 40 62.6 39.7 66.3', o: 0.55, w: 1.7999999999999998 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M67.6 57.1C69.3 58.3 77.4 61.1 76.8 70.1C76.3 77.3 72.4 85.3 65.8 85.8L64.4 86.9L63.4 85.6C56.9 83.7 54.8 75 55.9 67.9C57.1 59 65.7 57.9 67.6 57.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M63.4 85.6C56.9 83.7 54.8 75 55.9 67.9C57.1 59 65.7 57.9 67.6 57.1C60.7 65.4 59.4 77.3 63.4 85.6Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M70.5 63.4C73.8 66.8 74.1 72.8 72.8 76.3', o: 0.55, w: 1.7999999999999998 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M88.2 65.7C89.8 66.2 96 65.2 98.5 71.3C100.5 76.2 100.5 82.7 96.3 85.2L95.8 86.3L94.6 85.8C89.8 86.6 85.6 81.6 84 76.6C82 70.3 87.3 67.1 88.2 65.7Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M94.6 85.8C89.8 86.6 85.6 81.6 84 76.6C82 70.3 87.3 67.1 88.2 65.7C86.4 73.4 89.4 81.6 94.6 85.8Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M92.2 68.9C95.5 70.1 97.6 74 97.9 76.7', o: 0.55, w: 1.3199999999999998 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'lemonVase',
|
||||
theme: 'mediterranean',
|
||||
tags: ['vase', 'lemons', 'still life', 'mediterranean', 'ceramic', 'pottery', 'amalfi', 'decor'],
|
||||
descr: 'A round blue and white ceramic vase painted with a wave band, holding a sprig of lemon leaves and lemons.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'vase', color: '#2f6fb3' },
|
||||
{ name: 'glaze', color: '#f4efe4' },
|
||||
{ name: 'lemons', color: '#ffd23f' },
|
||||
{ name: 'leaves', color: '#3f8f4f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: '#6b4f2e', d: 'M40 46C38 34 30 24 20 18M40 46C42 32 50 22 62 16M40 46L40 22', w: 1.4 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M30 26C29.3 24.8 27.2 20.5 22.3 19C16.2 17.2 11.4 19.7 10 20C11 21 13.7 25.8 19.7 27.6C24.7 29.1 28.8 26.6 30 26Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M30 26C29.3 24.8 27.2 20.5 22.3 19C16.2 17.2 11.4 19.7 10 20L30 26Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M22 19C22.6 18.1 25 15.2 24 12C22.8 8 18.8 6.6 18 6C17.7 7 15.2 10.4 16.4 14.3C17.4 17.5 21 18.6 22 19Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M22 19C22.6 18.1 25 15.2 24 12C22.8 8 18.8 6.6 18 6L22 19Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M40 30C40.4 28.6 42.6 24 40.6 18.6C38.2 11.9 33.1 9.1 32 8C31.8 9.6 29.8 15 32.2 21.6C34.2 27.1 38.8 29.2 40 30Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M40 30C40.4 28.6 42.6 24 40.6 18.6C38.2 11.9 33.1 9.1 32 8L40 30Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M42 26C43.4 25.5 48.3 24.3 51.3 19.3C54.9 13.3 53.9 7.6 54 6C52.7 6.9 47.2 8.6 43.5 14.7C40.6 19.6 41.8 24.5 42 26Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M42 26C43.4 25.5 48.3 24.3 51.3 19.3C54.9 13.3 53.9 7.6 54 6L42 26Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M52 22C53.3 22.4 57.7 24.6 62.7 22.6C68.7 20.2 71 15.1 72 14C70.5 13.9 65.4 11.8 59.3 14.2C54.4 16.2 52.7 20.8 52 22Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M52 22C53.3 22.4 57.7 24.6 62.7 22.6C68.7 20.2 71 15.1 72 14L52 22Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M58 18C58 19.2 57.6 23.3 60.6 26.2C64.2 29.9 68.8 29.7 70 30C69.7 28.8 69.9 24.2 66.2 20.6C63.3 17.6 59.2 18 58 18Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M58 18C58 19.2 57.6 23.3 60.6 26.2C64.2 29.9 68.8 29.7 70 30L58 18Z', o: 0.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M28 30C26.9 29.7 23.2 28.1 19.7 30.1C15.5 32.5 14.5 37 14 38C15.1 38 19.4 39.5 23.7 37.1C27.1 35.1 27.7 31.1 28 30Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M28 30C26.9 29.7 23.2 28.1 19.7 30.1C15.5 32.5 14.5 37 14 38L28 30Z', o: 0.2 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M16.9 21.5C18.3 22.1 23.3 21.1 25.3 26.2C27 30.2 27 35.5 23.5 37.5L23.1 38.5L22.2 38C18.2 38.7 14.8 34.6 13.5 30.5C11.8 25.3 16.2 22.9 16.9 21.5Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M22.2 38C18.2 38.7 14.8 34.6 13.5 30.5C11.8 25.3 16.2 22.9 16.9 21.5C15.4 27.8 17.8 34.6 22.2 38Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M20.2 24.2C22.8 25.1 24.6 28.3 24.8 30.6', o: 0.55, w: 1.08 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M65.1 17.5C65.8 18.9 70.2 21.3 68.5 26.5C67.2 30.6 63.8 34.7 59.8 34L58.9 34.5L58.5 33.5C55 31.5 55 26.2 56.7 22.2C58.7 17.1 63.7 18.1 65.1 17.5Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M58.5 33.5C55 31.5 55 26.2 56.7 22.2C58.7 17.1 63.7 18.1 65.1 17.5C59.8 21.4 57.4 28.2 58.5 33.5Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M65.9 21.7C67.3 24.1 66.6 27.7 65.3 29.5', o: 0.55, w: 1.08 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M41.3 10C42.3 10.9 46.9 11.2 47.4 15.9C47.9 19.7 46.7 24.3 43.3 25.3L42.7 26L42 25.4C38.4 25.1 36.5 20.7 36.3 16.9C36 12.1 40.4 11.1 41.3 10Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M42 25.4C38.4 25.1 36.5 20.7 36.3 16.9C36 12.1 40.4 11.1 41.3 10C38.5 15.1 39.1 21.5 42 25.4Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{ p: 'light', d: 'M43.5 13.1C45.5 14.5 46.3 17.6 46 19.6', o: 0.55, w: 0.96 },
|
||||
{ p: 1, d: 'M31 44L49 44L48 50C62 54 70 64 70 76C70 88 58 96 40 96C22 96 10 88 10 76C10 64 18 54 32 50Z' },
|
||||
{ p: 0, d: 'M31 42L49 42L49 46L31 46Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M12.6 68C20 64 26 70 33 66C40 62 46 70 53 66C60 62 64 66 67.4 68L68.8 72C64 70 60 66 53 70C46 74 40 66 33 70C26 74 20 68 11.6 72Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M19.4 81C19.4 82.3 18.3 83.4 17 83.4C15.7 83.4 14.6 82.3 14.6 81C14.6 79.7 15.7 78.6 17 78.6C18.3 78.6 19.4 79.7 19.4 81ZM29.4 81C29.4 82.3 28.3 83.4 27 83.4C25.7 83.4 24.6 82.3 24.6 81C24.6 79.7 25.7 78.6 27 78.6C28.3 78.6 29.4 79.7 29.4 81ZM39.4 81C39.4 82.3 38.3 83.4 37 83.4C35.7 83.4 34.6 82.3 34.6 81C34.6 79.7 35.7 78.6 37 78.6C38.3 78.6 39.4 79.7 39.4 81ZM49.4 81C49.4 82.3 48.3 83.4 47 83.4C45.7 83.4 44.6 82.3 44.6 81C44.6 79.7 45.7 78.6 47 78.6C48.3 78.6 49.4 79.7 49.4 81ZM59.4 81C59.4 82.3 58.3 83.4 57 83.4C55.7 83.4 54.6 82.3 54.6 81C54.6 79.7 55.7 78.6 57 78.6C58.3 78.6 59.4 79.7 59.4 81ZM67.4 81C67.4 82.3 66.3 83.4 65 83.4C63.7 83.4 62.6 82.3 62.6 81C62.6 79.7 63.7 78.6 65 78.6C66.3 78.6 67.4 79.7 67.4 81ZM23.6 88C23.6 88.9 22.9 89.6 22 89.6C21.1 89.6 20.4 88.9 20.4 88C20.4 87.1 21.1 86.4 22 86.4C22.9 86.4 23.6 87.1 23.6 88ZM33.6 88C33.6 88.9 32.9 89.6 32 89.6C31.1 89.6 30.4 88.9 30.4 88C30.4 87.1 31.1 86.4 32 86.4C32.9 86.4 33.6 87.1 33.6 88ZM43.6 88C43.6 88.9 42.9 89.6 42 89.6C41.1 89.6 40.4 88.9 40.4 88C40.4 87.1 41.1 86.4 42 86.4C42.9 86.4 43.6 87.1 43.6 88ZM53.6 88C53.6 88.9 52.9 89.6 52 89.6C51.1 89.6 50.4 88.9 50.4 88C50.4 87.1 51.1 86.4 52 86.4C52.9 86.4 53.6 87.1 53.6 88ZM63.6 88C63.6 88.9 62.9 89.6 62 89.6C61.1 89.6 60.4 88.9 60.4 88C60.4 87.1 61.1 86.4 62 86.4C62.9 86.4 63.6 87.1 63.6 88Z',
|
||||
},
|
||||
{ p: 0, d: 'M12 78L68 78', o: 0.6, w: 0.8 },
|
||||
{ p: 'shade', d: 'M48 50C62 54 70 64 70 76C70 88 58 96 40 96C54 90 60 82 60 72C60 62 54 54 46 51Z', o: 0.14 },
|
||||
{ p: 'light', d: 'M18 64C20 60 24 57 28 55', o: 0.6, w: 2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'oliveBranch',
|
||||
theme: 'mediterranean',
|
||||
tags: ['olive branch', 'olives', 'olive tree', 'greece', 'mediterranean', 'botanical', 'peace', 'leaves'],
|
||||
descr: 'A slender olive branch with narrow silvery leaves and a few dark olives.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'leaves', color: '#7d9a6a' },
|
||||
{ name: 'olives', color: '#3d3b5c' },
|
||||
{ name: 'twig', color: '#6b5b45' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M8 92C26 72 44 54 62 38C72 28 82 18 94 8', w: 1.8 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M20 79C19.8 77.9 19.5 74.1 16.3 70.7C11.8 65.9 7.2 64.6 6 64C6.6 65.3 7.5 70 11.9 74.7C15.2 78.2 18.9 78.7 20 79Z',
|
||||
},
|
||||
{ p: 'light', d: 'M20 79C18.9 78.7 15.2 78.2 11.9 74.7C7.5 70 6.6 65.3 6 64L20 79Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M20 79L6 64', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M22 77C22.4 77.9 23.3 81 26.5 82.6C31 84.9 34.9 84 36 84C35.3 83.2 33.7 79.5 29.2 77.3C26 75.6 22.9 76.8 22 77Z',
|
||||
},
|
||||
{ p: 'light', d: 'M22 77C22.9 76.8 26 75.6 29.2 77.3C33.7 79.5 35.3 83.2 36 84L22 77Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M22 77L36 84', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M32 67C31.9 65.9 32.2 62.1 29.4 58.1C25.6 52.7 21.1 50.8 20 50C20.4 51.3 20.7 56.2 24.5 61.6C27.3 65.5 31 66.6 32 67Z',
|
||||
},
|
||||
{ p: 'light', d: 'M32 67C31 66.6 27.3 65.5 24.5 61.6C20.7 56.2 20.4 51.3 20 50L32 67Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M32 67L20 50', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M34 65C34.6 65.8 36.1 68.8 39.8 70C44.9 71.6 48.8 70.1 50 70C49.1 69.3 46.7 65.8 41.6 64.2C37.9 63.1 34.9 64.7 34 65Z',
|
||||
},
|
||||
{ p: 'light', d: 'M34 65C34.9 64.7 37.9 63.1 41.6 64.2C46.7 65.8 49.1 69.3 50 70L34 65Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M34 65L50 70', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M44 56C44.1 54.9 44.7 51.1 42.4 47C39.2 41.2 35 38.9 34 38C34.2 39.4 34 44.2 37.2 49.9C39.5 54.1 43 55.5 44 56Z',
|
||||
},
|
||||
{ p: 'light', d: 'M44 56C43 55.5 39.5 54.1 37.2 49.9C34 44.2 34.2 39.4 34 38L44 56Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M44 56L34 38', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M46 54C46.6 54.8 48.3 57.7 52 58.6C57.1 59.9 60.9 58.2 62 58C61.1 57.3 58.6 54 53.4 52.8C49.8 51.8 46.9 53.6 46 54Z',
|
||||
},
|
||||
{ p: 'light', d: 'M46 54C46.9 53.6 49.8 51.8 53.4 52.8C58.6 54 61.1 57.3 62 58L46 54Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M46 54L62 58', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M56 44C56.1 42.9 57 39.5 55.2 35.3C52.6 29.6 48.9 27 48 26C48.1 27.3 47.5 31.8 50.1 37.6C51.9 41.7 55.1 43.4 56 44Z',
|
||||
},
|
||||
{ p: 'light', d: 'M56 44C55.1 43.4 51.9 41.7 50.1 37.6C47.5 31.8 48.1 27.3 48 26L56 44Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M56 44L48 26', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M58 42C58.6 42.7 60.3 45.5 64 46.4C69.1 47.7 72.9 46.2 74 46C73.1 45.3 70.5 42.2 65.4 41C61.7 40 58.9 41.6 58 42Z',
|
||||
},
|
||||
{ p: 'light', d: 'M58 42C58.9 41.6 61.7 40 65.4 41C70.5 42.2 73.1 45.3 74 46L58 42Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M58 42L74 46', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M68 33C68.2 32 69.4 28.9 68 25C66.1 19.5 62.8 16.9 62 16C62 17.2 61 21.3 62.9 26.8C64.3 30.7 67.2 32.4 68 33Z',
|
||||
},
|
||||
{ p: 'light', d: 'M68 33C67.2 32.4 64.3 30.7 62.9 26.8C61 21.3 62 17.2 62 16L68 33Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M68 33L62 16', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M70 31C70.6 31.7 72.5 34.2 76.2 34.9C81.3 35.9 84.9 34.2 86 34C85.1 33.4 82.3 30.6 77.2 29.6C73.5 28.9 70.8 30.6 70 31Z',
|
||||
},
|
||||
{ p: 'light', d: 'M70 31C70.8 30.6 73.5 28.9 77.2 29.6C82.3 30.6 85.1 33.4 86 34L70 31Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M70 31L86 34', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M80 22C80.4 21.2 82.1 18.7 81.6 15C81 9.9 78.5 7 78 6C77.8 7.1 76 10.5 76.7 15.6C77.1 19.3 79.4 21.3 80 22Z',
|
||||
},
|
||||
{ p: 'light', d: 'M80 22C79.4 21.3 77.1 19.3 76.7 15.6C76 10.5 77.8 7.1 78 6L80 22Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M80 22L78 6', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M94 8C94.5 7.9 96.5 7.7 97.4 6.1C98.7 3.8 98 1.6 98 1C97.5 1.3 95.2 1.8 93.9 4.1C93 5.7 93.8 7.5 94 8Z',
|
||||
},
|
||||
{ p: 'light', d: 'M94 8C93.8 7.5 93 5.7 93.9 4.1C95.2 1.8 97.5 1.3 98 1L94 8Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M94 8L98 1', o: 0.25, w: 0.4 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M31.5 82C33 84.6 32.6 87.6 30.7 88.7C28.8 89.8 26 88.6 24.5 86C23 83.4 23.4 80.4 25.3 79.3C27.2 78.2 30 79.4 31.5 82ZM57.5 60C59 62.6 58.6 65.6 56.7 66.7C54.8 67.8 52 66.6 50.5 64C49 61.4 49.4 58.4 51.3 57.3C53.2 56.2 56 57.4 57.5 60ZM65.4 64.8C66.3 67.4 65.6 70 63.7 70.7C61.8 71.4 59.6 69.8 58.6 67.2C57.7 64.6 58.4 62 60.3 61.3C62.2 60.6 64.4 62.2 65.4 64.8ZM81.1 38.2C82.5 40.6 82.2 43.3 80.5 44.3C78.8 45.3 76.3 44.2 74.9 41.8C73.5 39.4 73.8 36.7 75.5 35.7C77.2 34.7 79.7 35.8 81.1 38.2Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M27.6 81.6C27.6 82.2 27.2 82.6 26.6 82.6C26 82.6 25.6 82.2 25.6 81.6C25.6 81 26 80.6 26.6 80.6C27.2 80.6 27.6 81 27.6 81.6ZM53.6 59.6C53.6 60.2 53.2 60.6 52.6 60.6C52 60.6 51.6 60.2 51.6 59.6C51.6 59 52 58.6 52.6 58.6C53.2 58.6 53.6 59 53.6 59.6ZM61.7 63.8C61.7 64.3 61.3 64.7 60.8 64.7C60.3 64.7 59.9 64.3 59.9 63.8C59.9 63.3 60.3 62.9 60.8 62.9C61.3 62.9 61.7 63.3 61.7 63.8ZM77.7 38C77.7 38.5 77.3 38.9 76.8 38.9C76.3 38.9 75.9 38.5 75.9 38C75.9 37.5 76.3 37.1 76.8 37.1C77.3 37.1 77.7 37.5 77.7 38Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{ p: 2, d: 'M26 79L27.6 79.4M52 57L53.4 57.4', w: 0.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'orangeSlice',
|
||||
theme: 'mediterranean',
|
||||
tags: ['orange', 'orange slice', 'citrus', 'fruit', 'summer', 'juice', 'spain', 'sicily'],
|
||||
descr: 'A round slice of orange with its rind, white pith and ten juicy segments.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'rind', color: '#f77f00' },
|
||||
{ name: 'flesh', color: '#fcbf49' },
|
||||
{ name: 'pith', color: '#fff3dc' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M96 53C96 77.3 76.3 97 52 97C27.7 97 8 77.3 8 53C8 28.7 27.7 9 52 9C76.3 9 96 28.7 96 53Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{ p: 0, d: 'M94 50C94 74.3 74.3 94 50 94C25.7 94 6 74.3 6 50C6 25.7 25.7 6 50 6C74.3 6 94 25.7 94 50Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M89.6 50C89.6 71.9 71.9 89.6 50 89.6C28.1 89.6 10.4 71.9 10.4 50C10.4 28.1 28.1 10.4 50 10.4C71.9 10.4 89.6 28.1 89.6 50Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M53.9 49C57.7 47.6 78.4 41.2 82.7 40.6C87 40 85.4 43.1 86 44.3C86.5 45.6 87 48.5 87 50C87 51.5 86.5 54.4 86 55.7C85.4 56.9 87 60 82.7 59.4C78.4 58.8 57.7 52.4 53.9 51C50 49.6 50 50.4 53.9 49ZM53.7 51.4C57.7 52.6 78.1 59.6 81.9 61.6C85.8 63.6 82.7 65.2 82.4 66.5C82.2 67.9 80.8 70.5 79.9 71.7C79 73 76.9 75.1 75.7 75.7C74.5 76.4 74 79.8 70.9 76.8C67.8 73.8 54.8 56.5 52.5 53.1C50.2 49.7 49.8 50.3 53.7 51.4ZM52.2 53.4C54.7 56.6 67.1 74.3 69 78.2C70.9 82.1 67.5 81.5 66.5 82.4C65.5 83.4 62.9 84.7 61.4 85.2C60 85.7 57.1 86.1 55.7 86C54.3 85.8 51.9 88.2 51.2 84C50.5 79.7 50.1 58.1 50.2 54C50.3 49.9 49.7 50.1 52.2 53.4ZM49.8 54C49.9 58.1 49.5 79.7 48.8 84C48.1 88.2 45.7 85.8 44.3 86C42.9 86.1 40 85.7 38.6 85.2C37.1 84.7 34.5 83.4 33.5 82.4C32.5 81.5 29.1 82.1 31 78.2C32.9 74.3 45.3 56.6 47.8 53.4C50.3 50.1 49.7 49.9 49.8 54ZM47.5 53.1C45.2 56.5 32.2 73.8 29.1 76.8C26 79.8 25.5 76.4 24.3 75.7C23.1 75.1 21 73 20.1 71.7C19.2 70.5 17.8 67.9 17.6 66.5C17.3 65.2 14.2 63.6 18.1 61.6C21.9 59.6 42.3 52.6 46.3 51.4C50.2 50.3 49.8 49.7 47.5 53.1ZM46.1 51C42.3 52.4 21.6 58.8 17.3 59.4C13 60 14.6 56.9 14 55.7C13.5 54.4 13 51.5 13 50C13 48.5 13.5 45.6 14 44.3C14.6 43.1 13 40 17.3 40.6C21.6 41.2 42.3 47.6 46.1 49C50 50.4 50 49.6 46.1 51ZM46.3 48.6C42.3 47.4 21.9 40.4 18.1 38.4C14.2 36.4 17.3 34.8 17.6 33.5C17.8 32.1 19.2 29.5 20.1 28.3C21 27 23.1 24.9 24.3 24.3C25.5 23.6 26 20.2 29.1 23.2C32.2 26.2 45.2 43.5 47.5 46.9C49.8 50.3 50.2 49.7 46.3 48.6ZM47.8 46.6C45.3 43.4 32.9 25.7 31 21.8C29.1 17.9 32.5 18.5 33.5 17.6C34.5 16.6 37.1 15.3 38.6 14.8C40 14.3 42.9 13.9 44.3 14C45.7 14.2 48.1 11.8 48.8 16C49.5 20.3 49.9 41.9 49.8 46C49.7 50.1 50.3 49.9 47.8 46.6ZM50.2 46C50.1 41.9 50.5 20.3 51.2 16C51.9 11.8 54.3 14.2 55.7 14C57.1 13.9 60 14.3 61.4 14.8C62.9 15.3 65.5 16.6 66.5 17.6C67.5 18.5 70.9 17.9 69 21.8C67.1 25.7 54.7 43.4 52.2 46.6C49.7 49.9 50.3 50.1 50.2 46ZM52.5 46.9C54.8 43.5 67.8 26.2 70.9 23.2C74 20.2 74.5 23.6 75.7 24.3C76.9 24.9 79 27 79.9 28.3C80.8 29.5 82.2 32.1 82.4 33.5C82.7 34.8 85.8 36.4 81.9 38.4C78.1 40.4 57.7 47.4 53.7 48.6C49.8 49.7 50.2 50.3 52.5 46.9Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M63.9 48.5C65.6 48.2 70.9 47 73.8 46.7C76.6 46.4 79.7 46.7 80.8 46.8M62.1 57C63.6 57.7 68.7 59.9 71.2 61.3C73.6 62.7 75.9 64.8 76.8 65.5M55.7 62.8C56.5 64.3 59.4 69 60.5 71.6C61.7 74.2 62.3 77.2 62.6 78.3M47.1 63.7C46.9 65.4 46.4 70.9 45.8 73.6C45.2 76.4 43.9 79.2 43.6 80.3M39.6 59.4C38.5 60.6 34.8 64.8 32.7 66.7C30.6 68.6 27.9 70.1 27 70.7M36.1 51.5C34.4 51.8 29.1 53 26.2 53.3C23.4 53.6 20.3 53.3 19.2 53.2M37.9 43C36.4 42.3 31.3 40.1 28.8 38.7C26.4 37.3 24.1 35.2 23.2 34.5M44.3 37.2C43.5 35.7 40.6 31 39.5 28.4C38.3 25.8 37.7 22.8 37.4 21.7M52.9 36.3C53.1 34.6 53.6 29.1 54.2 26.4C54.8 23.6 56.1 20.8 56.4 19.7M60.4 40.6C61.5 39.4 65.2 35.2 67.3 33.3C69.4 31.4 72.1 29.9 73 29.3',
|
||||
o: 0.55,
|
||||
w: 1.4,
|
||||
},
|
||||
{
|
||||
p: '#e85d04',
|
||||
d: 'M73.9 52.8C72.8 52.7 71.9 52.1 71.9 51.5C72 50.9 72.9 50.5 74 50.6C75.1 50.7 76 51.2 75.9 51.8C75.9 52.4 75 52.8 73.9 52.8ZM67.7 66.3C66.8 65.6 66.5 64.6 66.9 64.1C67.2 63.7 68.2 63.9 69.1 64.6C69.9 65.3 70.3 66.2 69.9 66.7C69.5 67.2 68.5 67 67.7 66.3ZM54.7 73.6C54.5 72.5 54.7 71.5 55.3 71.3C55.9 71.2 56.6 71.9 56.9 73C57.1 74.1 56.9 75.1 56.3 75.2C55.7 75.4 55 74.6 54.7 73.6ZM40 71.8C40.4 70.8 41.2 70.2 41.8 70.4C42.3 70.6 42.4 71.6 42 72.7C41.6 73.7 40.8 74.3 40.3 74.1C39.7 73.9 39.6 72.9 40 71.8ZM29.1 61.8C30 61.2 31 61.1 31.3 61.7C31.7 62.2 31.2 63.1 30.2 63.7C29.3 64.2 28.3 64.3 28 63.8C27.6 63.3 28.1 62.4 29.1 61.8ZM26.1 47.2C27.2 47.3 28.1 47.9 28.1 48.5C28 49.1 27.1 49.5 26 49.4C24.9 49.3 24 48.8 24.1 48.2C24.1 47.6 25 47.2 26.1 47.2ZM32.3 33.7C33.2 34.4 33.5 35.4 33.1 35.9C32.8 36.3 31.8 36.1 30.9 35.4C30.1 34.7 29.7 33.8 30.1 33.3C30.5 32.8 31.5 33 32.3 33.7ZM45.3 26.4C45.5 27.5 45.3 28.5 44.7 28.7C44.1 28.8 43.4 28.1 43.1 27C42.9 25.9 43.1 24.9 43.7 24.8C44.3 24.6 45 25.4 45.3 26.4ZM60 28.2C59.6 29.2 58.8 29.8 58.2 29.6C57.7 29.4 57.6 28.4 58 27.3C58.4 26.3 59.2 25.7 59.7 25.9C60.3 26.1 60.4 27.1 60 28.2ZM70.9 38.2C70 38.8 69 38.9 68.7 38.3C68.3 37.8 68.8 36.9 69.8 36.3C70.7 35.8 71.7 35.7 72 36.2C72.4 36.7 71.9 37.6 70.9 38.2Z',
|
||||
o: 0.35,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M53.2 50C53.2 51.8 51.8 53.2 50 53.2C48.2 53.2 46.8 51.8 46.8 50C46.8 48.2 48.2 46.8 50 46.8C51.8 46.8 53.2 48.2 53.2 50Z',
|
||||
},
|
||||
{ p: 'light', d: 'M18 30C24 18 36 10 50 8', o: 0.4, w: 2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'fig',
|
||||
theme: 'mediterranean',
|
||||
tags: ['fig', 'figs', 'fruit', 'mediterranean', 'greece', 'turkey', 'late summer', 'food'],
|
||||
descr: 'A whole purple fig beside a halved one showing its pink, seeded flesh, with a lobed fig leaf behind.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'skin', color: '#5b2a5c' },
|
||||
{ name: 'flesh', color: '#e86a7a' },
|
||||
{ name: 'leaf', color: '#5a9a4a' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M60 46C57.4 43.4 57.4 33.5 56 30C54.6 26.5 48 17.4 48 16C48 14.6 54.4 18.9 56 18C57.6 17.1 60.6 8 62 8C63.4 8 66.1 17.8 68 18C69.9 18.2 76.6 9.5 78 10C79.4 10.5 78.4 20.8 80 22C81.6 23.2 91.3 18.8 92 20C92.7 21.2 85.5 29.7 86 32C86.5 34.3 96.2 38.6 96 40C95.8 41.4 86.1 42.6 84 44C81.9 45.4 80.8 51.8 78 52C75.2 52.2 62.6 48.6 60 46Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M60 46L66 18M64 34L78 22M64 34L52 24M66 40L86 34', o: 0.3, w: 1 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M34 22C32 16 32 12 34 8L37 8C38 12 38 16 37 22C50 28 56 44 54 58C52 74 44 84 34 84C22 84 14 74 14 60C14 44 22 28 34 22Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M37 22C50 28 56 44 54 58C52 74 44 84 34 84C44 76 48 64 46 52C45 40 42 30 37 22Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M22 50C23 42 27 35 31 31', o: 0.35, w: 2.2 },
|
||||
{ p: '#5a7a3a', d: 'M34 8L37 8L37 4L34 4Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M70 54C72 50 74 48 76 48C78 48 80 50 82 54C92 58 96 68 94 76C92 84 84 88 76 88C68 88 60 84 58 76C56 68 60 58 70 54Z',
|
||||
},
|
||||
{
|
||||
p: '#f8e2cf',
|
||||
d: 'M71.4 58C73 55 74.6 53.6 76 53.6C77.4 53.6 79 55 80.6 58C88 61 91 68 89.6 75C88.4 81 82.6 84 76 84C69.4 84 63.6 81 62.4 75C61 68 64 61 71.4 58Z',
|
||||
},
|
||||
{ p: 1, d: 'M76 58C82 62 86 68 84 76C82 80 79 82 76 82C73 82 70 80 68 76C66 68 70 62 76 58Z' },
|
||||
{
|
||||
p: '#a83a52',
|
||||
d: 'M79.6 72C79.6 72.3 79.3 72.6 79 72.6C78.7 72.6 78.4 72.3 78.4 72C78.4 71.7 78.7 71.4 79 71.4C79.3 71.4 79.6 71.7 79.6 72ZM73.4 75.8C73.4 76.1 73.1 76.4 72.8 76.4C72.4 76.4 72.2 76.1 72.2 75.8C72.2 75.5 72.4 75.2 72.8 75.2C73.1 75.2 73.4 75.5 73.4 75.8ZM77.1 64.8C77.1 65.2 76.8 65.4 76.5 65.4C76.2 65.4 75.9 65.2 75.9 64.8C75.9 64.5 76.2 64.2 76.5 64.2C76.8 64.2 77.1 64.5 77.1 64.8ZM81 79C81 79.3 80.7 79.6 80.4 79.6C80 79.6 79.8 79.3 79.8 79C79.8 78.7 80 78.4 80.4 78.4C80.7 78.4 81 78.7 81 79ZM68.1 71.3C68.1 71.6 67.9 71.9 67.5 71.9C67.2 71.9 66.9 71.6 66.9 71.3C66.9 71 67.2 70.7 67.5 70.7C67.9 70.7 68.1 71 68.1 71.3ZM79.1 69C79.1 69.3 78.9 69.6 78.5 69.6C78.2 69.6 77.9 69.3 77.9 69C77.9 68.7 78.2 68.4 78.5 68.4C78.9 68.4 79.1 68.7 79.1 69ZM75.5 79C75.5 79.3 75.2 79.6 74.9 79.6C74.5 79.6 74.3 79.3 74.3 79C74.3 78.6 74.5 78.4 74.9 78.4C75.2 78.4 75.5 78.6 75.5 79ZM73.9 64.2C73.9 64.5 73.7 64.8 73.3 64.8C73 64.8 72.7 64.5 72.7 64.2C72.7 63.9 73 63.6 73.3 63.6C73.7 63.6 73.9 63.9 73.9 64.2ZM83.4 73.4C83.4 73.7 83.1 74 82.8 74C82.4 74 82.2 73.7 82.2 73.4C82.2 73 82.4 72.8 82.8 72.8C83.1 72.8 83.4 73 83.4 73.4ZM68.6 74.1C68.6 74.5 68.4 74.7 68 74.7C67.7 74.7 67.4 74.5 67.4 74.1C67.4 73.8 67.7 73.5 68 73.5C68.4 73.5 68.6 73.8 68.6 74.1ZM77.9 65.5C77.9 65.8 77.6 66.1 77.3 66.1C76.9 66.1 76.7 65.8 76.7 65.5C76.7 65.1 76.9 64.9 77.3 64.9C77.6 64.9 77.9 65.1 77.9 65.5ZM77.9 80.4C77.9 80.7 77.6 81 77.3 81C77 81 76.7 80.7 76.7 80.4C76.7 80.1 77 79.8 77.3 79.8C77.6 79.8 77.9 80.1 77.9 80.4ZM71.6 70C71.6 70.3 71.3 70.6 71 70.6C70.7 70.6 70.4 70.3 70.4 70C70.4 69.7 70.7 69.4 71 69.4C71.3 69.4 71.6 69.7 71.6 70ZM83.6 70.8C83.6 71.1 83.4 71.4 83 71.4C82.7 71.4 82.4 71.1 82.4 70.8C82.4 70.5 82.7 70.2 83 70.2C83.4 70.2 83.6 70.5 83.6 70.8ZM71.7 77.9C71.7 78.2 71.4 78.5 71.1 78.5C70.7 78.5 70.5 78.2 70.5 77.9C70.5 77.6 70.7 77.3 71.1 77.3C71.4 77.3 71.7 77.6 71.7 77.9ZM76.2 63.3C76.2 63.6 75.9 63.9 75.6 63.9C75.3 63.9 75 63.6 75 63.3C75 62.9 75.3 62.7 75.6 62.7C75.9 62.7 76.2 62.9 76.2 63.3Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'amphora',
|
||||
theme: 'mediterranean',
|
||||
tags: ['amphora', 'vase', 'ancient', 'greece', 'pottery', 'greek', 'history', 'museum'],
|
||||
descr:
|
||||
'A Greek amphora in terracotta with two handles, a black band with a Greek key pattern and a painted leaf frieze.',
|
||||
box: [70, 100],
|
||||
slots: [
|
||||
{ name: 'clay', color: '#c8643b' },
|
||||
{ name: 'paint', color: '#2b2522' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M20 22C8 22 8 40 22 44M50 22C62 22 62 40 48 44', w: 3.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M26 6L44 6L42 12L42 22C56 30 62 46 58 62C54 78 44 86 40 90L42 96L28 96L30 90C26 86 16 78 12 62C8 46 14 30 28 22L28 12Z',
|
||||
},
|
||||
{ p: 1, d: 'M26 4L44 4L44 8L26 8Z' },
|
||||
{ p: 1, d: 'M14 44L56 44L57 54L13 54Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M14 52L56 52L56 52.9L14 52.9ZM14 45.6L56 45.6L56 46.5L14 46.5ZM16 52L16 47.6L20.6 47.6L20.6 50.6L18.4 50.6L18.4 49.2M22 52L22 47.6L26.6 47.6L26.6 50.6L24.4 50.6L24.4 49.2M28 52L28 47.6L32.6 47.6L32.6 50.6L30.4 50.6L30.4 49.2M34 52L34 47.6L38.6 47.6L38.6 50.6L36.4 50.6L36.4 49.2M40 52L40 47.6L44.6 47.6L44.6 50.6L42.4 50.6L42.4 49.2M46 52L46 47.6L50.6 47.6L50.6 50.6L48.4 50.6L48.4 49.2M52 52L52 47.6L56.6 47.6L56.6 50.6L54.4 50.6L54.4 49.2',
|
||||
w: 0.9,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18 68C18.5 67.7 20.3 66.8 21.1 64.6C21.9 62.4 21.1 60.5 21 60C20.6 60.4 18.7 61.2 17.9 63.4C17.1 65.6 17.8 67.4 18 68ZM25 68C25.5 67.7 27.3 66.8 28.1 64.6C28.9 62.4 28.1 60.5 28 60C27.6 60.4 25.7 61.2 24.9 63.4C24.1 65.6 24.8 67.4 25 68ZM32 68C32.5 67.7 34.3 66.8 35.1 64.6C35.9 62.4 35.1 60.5 35 60C34.6 60.4 32.7 61.2 31.9 63.4C31.1 65.6 31.8 67.4 32 68ZM39 68C39.5 67.7 41.3 66.8 42.1 64.6C42.9 62.4 42.1 60.5 42 60C41.6 60.4 39.7 61.2 38.9 63.4C38.1 65.6 38.8 67.4 39 68ZM46 68C46.5 67.7 48.3 66.8 49.1 64.6C49.9 62.4 49.1 60.5 49 60C48.6 60.4 46.7 61.2 45.9 63.4C45.1 65.6 45.8 67.4 46 68ZM53 68C53.5 67.7 55.3 66.8 56.1 64.6C56.9 62.4 56.1 60.5 56 60C55.6 60.4 53.7 61.2 52.9 63.4C52.1 65.6 52.8 67.4 53 68Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{ p: 1, d: 'M13 72C24 76 46 76 57 72', w: 1 },
|
||||
{ p: 1, d: 'M28 90L42 90L42 92L28 92Z' },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M42 22C56 30 62 46 58 62C54 78 44 86 40 90L36 90C44 80 50 66 50 52C50 38 46 28 40 22Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{ p: 'light', d: 'M20 34C17 40 16 46 17 52', o: 0.35, w: 2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sardine',
|
||||
theme: 'mediterranean',
|
||||
tags: ['sardine', 'fish', 'lisbon', 'portugal', 'seafood', 'santo antonio', 'sea', 'food'],
|
||||
descr: 'A silver-blue Lisbon sardine with a striped back, a round eye and a forked tail.',
|
||||
box: [110, 50],
|
||||
slots: [
|
||||
{ name: 'back', color: '#3d6f9e' },
|
||||
{ name: 'belly', color: '#dfe8ef' },
|
||||
{ name: 'accent', color: '#e8a33d' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M90 25L106 12C104 18 104 32 106 38Z' },
|
||||
{ p: 1, d: 'M8 25C14 14 34 9 56 10C74 11 86 18 92 25C86 32 74 39 56 40C34 41 14 36 8 25Z' },
|
||||
{ p: 0, d: 'M8 25C14 14 34 9 56 10C74 11 86 18 92 25C76 21 60 20 44 21C30 22 18 23 8 25Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M30 14.5L34 19M37 14.2L41 19M44 13.9L48 19M51 13.6L55 19M58 13.9L62 19M65 14.2L69 19M72 14.5L76 19M79 14.8L83 19',
|
||||
o: 0.4,
|
||||
w: 0.8,
|
||||
},
|
||||
{ p: 2, d: 'M20 27C34 26 60 26 84 26', o: 0.8, w: 1.2 },
|
||||
{ p: 'shade', d: 'M8 25C14 36 34 41 56 40C74 39 86 32 92 25C80 32 64 35 46 35C30 35 18 32 8 25Z', o: 0.12 },
|
||||
{ p: 0, d: 'M50 10C56 4 64 4 70 10ZM48 40C52 45 58 46 62 41Z' },
|
||||
{ p: 'shade', d: 'M26 15C24 20 24 30 27 35', o: 0.4, w: 1 },
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M22 23C22 25.2 20.2 27 18 27C15.8 27 14 25.2 14 23C14 20.8 15.8 19 18 19C20.2 19 22 20.8 22 23Z',
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M19.8 23C19.8 24.2 18.8 25.2 17.6 25.2C16.4 25.2 15.4 24.2 15.4 23C15.4 21.8 16.4 20.8 17.6 20.8C18.8 20.8 19.8 21.8 19.8 23Z',
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M17.7 22.2C17.7 22.6 17.4 22.9 17 22.9C16.6 22.9 16.3 22.6 16.3 22.2C16.3 21.8 16.6 21.5 17 21.5C17.4 21.5 17.7 21.8 17.7 22.2Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'azulejoTile',
|
||||
theme: 'mediterranean',
|
||||
tags: ['azulejo', 'tile', 'portugal', 'lisbon', 'ceramic', 'pattern', 'blue', 'mosaic'],
|
||||
descr: 'A square blue and white azulejo tile with a central flower, curling corner ornaments and a border.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'glaze', color: '#f6f3ea' },
|
||||
{ name: 'blue', color: '#1f4e9c' },
|
||||
{ name: 'accent', color: '#e9b44c' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M8 5L96 5C97.7 5 99 6.3 99 8L99 96C99 97.7 97.7 99 96 99L8 99C6.3 99 5 97.7 5 96L5 8C5 6.3 6.3 5 8 5Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M6 3L94 3C95.7 3 97 4.3 97 6L97 94C97 95.7 95.7 97 94 97L6 97C4.3 97 3 95.7 3 94L3 6C3 4.3 4.3 3 6 3Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M9.6 8L90.4 8C91.3 8 92 8.7 92 9.6L92 90.4C92 91.3 91.3 92 90.4 92L9.6 92C8.7 92 8 91.3 8 90.4L8 9.6C8 8.7 8.7 8 9.6 8Z',
|
||||
w: 2,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 50C53.9 48.1 56.5 42.1 56.5 32.4C56.5 24.5 51 19.6 50 18C49 19.6 43.5 24.5 43.5 32.4C43.5 42.1 46.1 48.1 50 50ZM50 50C51.9 53.9 57.9 56.5 67.6 56.5C75.5 56.5 80.4 51 82 50C80.4 49 75.5 43.5 67.6 43.5C57.9 43.5 51.9 46.1 50 50ZM50 50C46.1 51.9 43.5 57.9 43.5 67.6C43.5 75.5 49 80.4 50 82C51 80.4 56.5 75.5 56.5 67.6C56.5 57.9 53.9 51.9 50 50ZM50 50C48.1 46.1 42.1 43.5 32.4 43.5C24.5 43.5 19.6 49 18 50C19.6 51 24.5 56.5 32.4 56.5C42.1 56.5 48.1 53.9 50 50Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 50C52.9 50.9 57.4 49 62.5 43.8C66.7 39.6 66.6 34.3 67 33C65.7 33.4 60.4 33.3 56.2 37.5C51 42.6 49.1 47.1 50 50ZM50 50C49.1 52.9 51 57.4 56.2 62.5C60.4 66.7 65.7 66.6 67 67C66.6 65.7 66.7 60.4 62.5 56.2C57.4 51 52.9 49.1 50 50ZM50 50C47.1 49.1 42.6 51 37.5 56.2C33.3 60.4 33.4 65.7 33 67C34.3 66.6 39.6 66.7 43.8 62.5C49 57.4 50.9 52.9 50 50ZM50 50C50.9 47.1 49 42.6 43.8 37.5C39.6 33.3 34.3 33.4 33 33C33.4 34.3 33.3 39.6 37.5 43.8C42.6 49 47.1 50.9 50 50Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 46C51.5 44.9 52.5 41.3 52.5 35.6C52.5 30.8 50.4 27.9 50 27C49.6 27.9 47.5 30.8 47.5 35.6C47.5 41.3 48.5 44.9 50 46ZM54 50C55.1 51.5 58.7 52.5 64.5 52.5C69.2 52.5 72.1 50.4 73 50C72.1 49.6 69.2 47.5 64.5 47.5C58.7 47.5 55.1 48.5 54 50ZM50 54C48.5 55.1 47.5 58.7 47.5 64.5C47.5 69.2 49.6 72.1 50 73C50.4 72.1 52.5 69.2 52.5 64.5C52.5 58.7 51.5 55.1 50 54ZM46 50C44.9 48.5 41.3 47.5 35.6 47.5C30.8 47.5 27.9 49.6 27 50C27.9 50.4 30.8 52.5 35.6 52.5C41.3 52.5 44.9 51.5 46 50Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M8 8C20 8 28 10 30 18C24 16 18 18 14 24C12 18 10 14 8 8ZM92 8C92 20 90 28 82 30C84 24 82 18 76 14C82 12 86 10 92 8ZM92 92C80 92 72 90 70 82C76 84 82 82 86 76C88 82 90 86 92 92ZM8 92C8 80 10 72 18 70C16 76 18 82 24 86C18 88 14 90 8 92Z',
|
||||
},
|
||||
{ p: 2, d: 'M56 50C56 53.3 53.3 56 50 56C46.7 56 44 53.3 44 50C44 46.7 46.7 44 50 44C53.3 44 56 46.7 56 50Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M52.6 50C52.6 51.4 51.4 52.6 50 52.6C48.6 52.6 47.4 51.4 47.4 50C47.4 48.6 48.6 47.4 50 47.4C51.4 47.4 52.6 48.6 52.6 50Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M70.6 31.6C70.6 32.8 69.6 33.8 68.4 33.8C67.2 33.8 66.2 32.8 66.2 31.6C66.2 30.4 67.2 29.4 68.4 29.4C69.6 29.4 70.6 30.4 70.6 31.6ZM70.6 68.4C70.6 69.6 69.6 70.6 68.4 70.6C67.2 70.6 66.2 69.6 66.2 68.4C66.2 67.2 67.2 66.2 68.4 66.2C69.6 66.2 70.6 67.2 70.6 68.4ZM33.8 68.4C33.8 69.6 32.8 70.6 31.6 70.6C30.4 70.6 29.4 69.6 29.4 68.4C29.4 67.2 30.4 66.2 31.6 66.2C32.8 66.2 33.8 67.2 33.8 68.4ZM33.8 31.6C33.8 32.8 32.8 33.8 31.6 33.8C30.4 33.8 29.4 32.8 29.4 31.6C29.4 30.4 30.4 29.4 31.6 29.4C32.8 29.4 33.8 30.4 33.8 31.6Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'shutterWindow',
|
||||
theme: 'mediterranean',
|
||||
tags: ['window', 'shutters', 'mediterranean', 'provence', 'italy', 'greece', 'facade', 'flowers'],
|
||||
descr: 'A small window in a pale wall with open green louvred shutters and a window box of red geraniums.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'shutters', color: '#4f9d8a' },
|
||||
{ name: 'wall', color: '#f2e3c9' },
|
||||
{ name: 'flowers', color: '#e63946' },
|
||||
{ name: 'glass', color: '#9cc6d8' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M28 14L72 14C73.1 14 74 14.9 74 16L74 84C74 85.1 73.1 86 72 86L28 86C26.9 86 26 85.1 26 84L26 16C26 14.9 26.9 14 28 14Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M28 14L72 14C73.1 14 74 14.9 74 16L74 84C74 85.1 73.1 86 72 86L28 86C26.9 86 26 85.1 26 84L26 16C26 14.9 26.9 14 28 14Z',
|
||||
o: 0.06,
|
||||
},
|
||||
{ p: 3, d: 'M32 20L68 20L68 74L32 74Z' },
|
||||
{ p: '#ffffff', d: 'M48.8 20L51.2 20L51.2 74L48.8 74ZM32 45.8L68 45.8L68 48.2L32 48.2Z' },
|
||||
{ p: 'light', d: 'M34 44L44 22L47 22L37 44ZM52 72L62 50L64 50L54 72Z', o: 0.5 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M9.4 18L24.6 18C25.4 18 26 18.6 26 19.4L26 74.6C26 75.4 25.4 76 24.6 76L9.4 76C8.6 76 8 75.4 8 74.6L8 19.4C8 18.6 8.6 18 9.4 18ZM75.4 18L90.6 18C91.4 18 92 18.6 92 19.4L92 74.6C92 75.4 91.4 76 90.6 76L75.4 76C74.6 76 74 75.4 74 74.6L74 19.4C74 18.6 74.6 18 75.4 18Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M10 22L24 22L24 23.4L10 23.4ZM76 22L90 22L90 23.4L76 23.4ZM10 26L24 26L24 27.4L10 27.4ZM76 26L90 26L90 27.4L76 27.4ZM10 30L24 30L24 31.4L10 31.4ZM76 30L90 30L90 31.4L76 31.4ZM10 34L24 34L24 35.4L10 35.4ZM76 34L90 34L90 35.4L76 35.4ZM10 38L24 38L24 39.4L10 39.4ZM76 38L90 38L90 39.4L76 39.4ZM10 42L24 42L24 43.4L10 43.4ZM76 42L90 42L90 43.4L76 43.4ZM10 46L24 46L24 47.4L10 47.4ZM76 46L90 46L90 47.4L76 47.4ZM10 50L24 50L24 51.4L10 51.4ZM76 50L90 50L90 51.4L76 51.4ZM10 54L24 54L24 55.4L10 55.4ZM76 54L90 54L90 55.4L76 55.4ZM10 58L24 58L24 59.4L10 59.4ZM76 58L90 58L90 59.4L76 59.4ZM10 62L24 62L24 63.4L10 63.4ZM76 62L90 62L90 63.4L76 63.4ZM10 66L24 66L24 67.4L10 67.4ZM76 66L90 66L90 67.4L76 67.4ZM10 70L24 70L24 71.4L10 71.4ZM76 70L90 70L90 71.4L76 71.4Z',
|
||||
o: 0.25,
|
||||
},
|
||||
{ p: 'light', d: 'M8 18L26 18L26 19.4L8 19.4ZM74 18L92 18L92 19.4L74 19.4Z', o: 0.4 },
|
||||
{ p: '#c7b18f', d: 'M22 74L78 74L78 78L22 78Z' },
|
||||
{ p: '#b5651d', d: 'M26 78L74 78L72 90L28 90Z' },
|
||||
{ p: 'shade', d: 'M26 78L74 78L74 80.4L26 80.4Z', o: 0.25 },
|
||||
{
|
||||
p: '#3f8f4f',
|
||||
d: 'M34 78C34 77.1 34.5 73.9 32.3 71.1C30.1 68.4 26.8 68.3 26 68C26.1 68.8 25.5 72.1 27.7 74.9C29.9 77.6 33.1 77.8 34 78ZM44 78C44.3 77.2 45.9 74.4 44.8 71.1C43.7 67.8 40.6 66.5 40 66C39.8 66.8 38.1 69.6 39.2 72.9C40.3 76.2 43.2 77.5 44 78ZM56 78C56.8 77.5 59.7 76.2 60.8 72.9C61.9 69.6 60.2 66.8 60 66C59.4 66.5 56.3 67.8 55.2 71.1C54.1 74.4 55.7 77.2 56 78ZM66 78C66.9 77.8 70.1 77.6 72.3 74.9C74.5 72.1 73.9 68.8 74 68C73.2 68.3 69.9 68.4 67.7 71.1C65.5 73.9 66 77.1 66 78ZM50 78C50.5 77.5 52.5 75.8 52.5 73C52.5 70.3 50.4 68.6 50 68C49.6 68.6 47.5 70.3 47.5 73C47.5 75.8 49.5 77.5 50 78Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M33.4 70C33.4 71.9 31.9 73.4 30 73.4C28.1 73.4 26.6 71.9 26.6 70C26.6 68.1 28.1 66.6 30 66.6C31.9 66.6 33.4 68.1 33.4 70ZM35.2 68.4C35.2 69.8 34 71 32.6 71C31.2 71 30 69.8 30 68.4C30 67 31.2 65.8 32.6 65.8C34 65.8 35.2 67 35.2 68.4ZM30 68.6C30 70 28.8 71.2 27.4 71.2C26 71.2 24.8 70 24.8 68.6C24.8 67.2 26 66 27.4 66C28.8 66 30 67.2 30 68.6ZM43.4 66C43.4 67.9 41.9 69.4 40 69.4C38.1 69.4 36.6 67.9 36.6 66C36.6 64.1 38.1 62.6 40 62.6C41.9 62.6 43.4 64.1 43.4 66ZM45.2 64.4C45.2 65.8 44 67 42.6 67C41.2 67 40 65.8 40 64.4C40 63 41.2 61.8 42.6 61.8C44 61.8 45.2 63 45.2 64.4ZM40 64.6C40 66 38.8 67.2 37.4 67.2C36 67.2 34.8 66 34.8 64.6C34.8 63.2 36 62 37.4 62C38.8 62 40 63.2 40 64.6ZM53.4 68C53.4 69.9 51.9 71.4 50 71.4C48.1 71.4 46.6 69.9 46.6 68C46.6 66.1 48.1 64.6 50 64.6C51.9 64.6 53.4 66.1 53.4 68ZM55.2 66.4C55.2 67.8 54 69 52.6 69C51.2 69 50 67.8 50 66.4C50 65 51.2 63.8 52.6 63.8C54 63.8 55.2 65 55.2 66.4ZM50 66.6C50 68 48.8 69.2 47.4 69.2C46 69.2 44.8 68 44.8 66.6C44.8 65.2 46 64 47.4 64C48.8 64 50 65.2 50 66.6ZM63.4 66C63.4 67.9 61.9 69.4 60 69.4C58.1 69.4 56.6 67.9 56.6 66C56.6 64.1 58.1 62.6 60 62.6C61.9 62.6 63.4 64.1 63.4 66ZM65.2 64.4C65.2 65.8 64 67 62.6 67C61.2 67 60 65.8 60 64.4C60 63 61.2 61.8 62.6 61.8C64 61.8 65.2 63 65.2 64.4ZM60 64.6C60 66 58.8 67.2 57.4 67.2C56 67.2 54.8 66 54.8 64.6C54.8 63.2 56 62 57.4 62C58.8 62 60 63.2 60 64.6ZM73.4 70C73.4 71.9 71.9 73.4 70 73.4C68.1 73.4 66.6 71.9 66.6 70C66.6 68.1 68.1 66.6 70 66.6C71.9 66.6 73.4 68.1 73.4 70ZM75.2 68.4C75.2 69.8 74 71 72.6 71C71.2 71 70 69.8 70 68.4C70 67 71.2 65.8 72.6 65.8C74 65.8 75.2 67 75.2 68.4ZM70 68.6C70 70 68.8 71.2 67.4 71.2C66 71.2 64.8 70 64.8 68.6C64.8 67.2 66 66 67.4 66C68.8 66 70 67.2 70 68.6ZM38.4 74C38.4 75.9 36.9 77.4 35 77.4C33.1 77.4 31.6 75.9 31.6 74C31.6 72.1 33.1 70.6 35 70.6C36.9 70.6 38.4 72.1 38.4 74ZM40.2 72.4C40.2 73.8 39 75 37.6 75C36.2 75 35 73.8 35 72.4C35 71 36.2 69.8 37.6 69.8C39 69.8 40.2 71 40.2 72.4ZM35 72.6C35 74 33.8 75.2 32.4 75.2C31 75.2 29.8 74 29.8 72.6C29.8 71.2 31 70 32.4 70C33.8 70 35 71.2 35 72.6ZM68.4 74C68.4 75.9 66.9 77.4 65 77.4C63.1 77.4 61.6 75.9 61.6 74C61.6 72.1 63.1 70.6 65 70.6C66.9 70.6 68.4 72.1 68.4 74ZM70.2 72.4C70.2 73.8 69 75 67.6 75C66.2 75 65 73.8 65 72.4C65 71 66.2 69.8 67.6 69.8C69 69.8 70.2 71 70.2 72.4ZM65 72.6C65 74 63.8 75.2 62.4 75.2C61 75.2 59.8 74 59.8 72.6C59.8 71.2 61 70 62.4 70C63.8 70 65 71.2 65 72.6Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M30 68.4C30 69 29.6 69.4 29 69.4C28.4 69.4 28 69 28 68.4C28 67.8 28.4 67.4 29 67.4C29.6 67.4 30 67.8 30 68.4ZM40 64.4C40 65 39.6 65.4 39 65.4C38.4 65.4 38 65 38 64.4C38 63.8 38.4 63.4 39 63.4C39.6 63.4 40 63.8 40 64.4ZM50 66.4C50 67 49.6 67.4 49 67.4C48.4 67.4 48 67 48 66.4C48 65.8 48.4 65.4 49 65.4C49.6 65.4 50 65.8 50 66.4ZM60 64.4C60 65 59.6 65.4 59 65.4C58.4 65.4 58 65 58 64.4C58 63.8 58.4 63.4 59 63.4C59.6 63.4 60 63.8 60 64.4ZM70 68.4C70 69 69.6 69.4 69 69.4C68.4 69.4 68 69 68 68.4C68 67.8 68.4 67.4 69 67.4C69.6 67.4 70 67.8 70 68.4Z',
|
||||
o: 0.5,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'bougainvillea',
|
||||
theme: 'mediterranean',
|
||||
tags: ['bougainvillea', 'flowers', 'pink', 'magenta', 'mediterranean', 'greece', 'climbing plant', 'summer'],
|
||||
descr:
|
||||
'A trailing sprig of bougainvillea: clusters of papery magenta bracts with tiny cream flowers among green leaves.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'bracts', color: '#d6247a' },
|
||||
{ name: 'leaves', color: '#4a8f43' },
|
||||
{ name: 'flowers', color: '#fff1c9' },
|
||||
],
|
||||
layers: [
|
||||
{ p: '#6b4f2e', d: 'M4 8C28 10 50 22 64 40C74 54 80 72 82 94', w: 1.4 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M20 10C21.1 10.1 24.9 10.8 27.3 8.3C30.4 5.3 29.8 1 30 0C29 0.2 24.7-0.4 21.7 2.7C19.2 5.1 19.9 8.9 20 10Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M20 10C21.1 10.1 24.9 10.8 27.3 8.3C30.4 5.3 29.8 1 30 0L20 10Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M40 18C41.1 18.1 45 19 48 16.6C51.6 13.5 51.7 9.1 52 8C50.9 8.1 46.5 7.4 42.8 10.4C39.9 12.9 40.1 16.9 40 18Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M40 18C41.1 18.1 45 19 48 16.6C51.6 13.5 51.7 9.1 52 8L40 18Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M58 32C59.1 32.5 62.6 34.5 66.6 33C71.4 31.2 73.2 26.9 74 26C72.8 25.8 68.6 23.7 63.8 25.6C59.8 27 58.5 31 58 32Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M58 32C59.1 32.5 62.6 34.5 66.6 33C71.4 31.2 73.2 26.9 74 26L58 32Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M70 50C70.9 50.7 73.7 53.6 77.7 53.1C82.5 52.5 85.1 48.7 86 48C85 47.5 81.5 44.5 76.7 45.1C72.7 45.6 70.7 49.1 70 50Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M70 50C70.9 50.7 73.7 53.6 77.7 53.1C82.5 52.5 85.1 48.7 86 48L70 50Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M78 70C78.7 70.8 80.8 73.9 84.8 74.4C89.6 75 93 72.4 94 72C93.1 71.4 90.5 68 85.6 67.4C81.7 66.9 78.9 69.4 78 70Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M78 70C78.7 70.8 80.8 73.9 84.8 74.4C89.6 75 93 72.4 94 72L78 70Z', o: 0.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M32 14C31.1 14.4 27.6 15.5 26.1 18.9C24.3 23.2 25.9 26.9 26 28C26.8 27.4 30.7 25.9 32.5 21.7C34 18.2 32.3 15 32 14Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M32 14C31.1 14.4 27.6 15.5 26.1 18.9C24.3 23.2 25.9 26.9 26 28L32 14Z', o: 0.2 },
|
||||
{ p: 1, d: 'M62 40C61 40 57.5 39.6 55 42C52 45.1 52.2 49 52 50C53 49.8 56.9 50 60 47C62.4 44.5 62 41 62 40Z' },
|
||||
{ p: 'shade', d: 'M62 40C61 40 57.5 39.6 55 42C52 45.1 52.2 49 52 50L62 40Z', o: 0.2 },
|
||||
{ p: 1, d: 'M76 62C75 62 71.5 61.6 69 64C66 67.1 66.2 71 66 72C67 71.8 70.9 72 74 69C76.4 66.5 76 63 76 62Z' },
|
||||
{ p: 'shade', d: 'M76 62C75 62 71.5 61.6 69 64C66 67.1 66.2 71 66 72L76 62Z', o: 0.2 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M14 18C14.1 20.5 15.5 22.4 18.2 22.8C20.4 23.2 22.3 20.1 22.9 19.6C22.5 18.9 21.8 15.3 19.6 14.9C16.9 14.4 15 15.7 14 18ZM14 18C11.8 16.9 9.5 17.1 7.7 19.2C6.3 20.9 8 24.2 8.2 24.9C9 24.9 12.5 26.1 13.9 24.4C15.7 22.3 15.5 20 14 18ZM14 18C16.1 16.7 17 14.5 16.1 12C15.4 9.9 11.6 9.8 10.9 9.5C10.5 10.2 7.7 12.6 8.5 14.7C9.4 17.3 11.5 18.3 14 18Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M14 18C12.8 18.7 12.3 19.9 12.8 21.3C13.3 22.5 15.3 22.5 15.7 22.7C15.9 22.3 17.4 20.9 17 19.8C16.5 18.4 15.4 17.8 14 18ZM14 18C13.9 16.6 13.2 15.6 11.7 15.3C10.5 15.1 9.4 16.9 9.1 17.1C9.3 17.5 9.7 19.5 10.9 19.7C12.4 20 13.5 19.3 14 18ZM14 18C15.2 18.6 16.5 18.5 17.5 17.3C18.2 16.4 17.3 14.6 17.2 14.2C16.8 14.2 14.8 13.5 14 14.5C13.1 15.6 13.2 16.9 14 18Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M15.6 18C15.6 18.9 14.9 19.6 14 19.6C13.1 19.6 12.4 18.9 12.4 18C12.4 17.1 13.1 16.4 14 16.4C14.9 16.4 15.6 17.1 15.6 18Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M36 30C34.7 32.5 35 35 37.3 37C39.2 38.6 42.8 36.6 43.7 36.4C43.7 35.6 45 31.7 43.1 30.1C40.8 28.1 38.2 28.3 36 30ZM36 30C34.5 27.7 32.1 26.6 29.3 27.7C27 28.5 26.8 32.6 26.6 33.4C27.3 33.9 30 37 32.4 36.1C35.2 35.1 36.4 32.7 36 30ZM36 30C38.8 29.9 40.9 28.3 41.4 25.4C41.8 22.9 38.3 20.8 37.7 20.2C37 20.5 33 21.4 32.5 23.8C32 26.8 33.4 28.9 36 30Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M36 30C34.5 30.1 33.3 30.9 33 32.5C32.8 33.9 34.7 35.1 35 35.4C35.5 35.2 37.7 34.7 37.9 33.4C38.2 31.8 37.4 30.6 36 30ZM36 30C36.7 28.6 36.5 27.2 35.3 26.2C34.2 25.3 32.2 26.4 31.8 26.5C31.8 26.9 31 29.1 32.1 30C33.4 31 34.8 30.9 36 30ZM36 30C36.8 31.3 38.1 31.9 39.7 31.3C41 30.8 41 28.6 41.2 28.1C40.8 27.9 39.3 26.2 38 26.6C36.4 27.2 35.8 28.5 36 30Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M37.6 30C37.6 30.9 36.9 31.6 36 31.6C35.1 31.6 34.4 30.9 34.4 30C34.4 29.1 35.1 28.4 36 28.4C36.9 28.4 37.6 29.1 37.6 30Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 20C50.1 21.2 49.3 23.1 50.1 25.4C50.8 27.2 54.1 27.3 54.7 27.5C55.1 27 57.6 24.8 56.9 22.9C56.1 20.6 54.2 19.7 52 20ZM52 20C51.9 17.8 50.7 16.1 48.3 15.7C46.3 15.3 44.6 18.1 44.1 18.6C44.4 19.2 45.1 22.4 47 22.8C49.4 23.2 51.1 22 52 20ZM52 20C54 21 56 20.8 57.6 18.9C58.9 17.4 57.3 14.5 57.1 13.9C56.5 13.8 53.3 12.8 52.1 14.3C50.5 16.2 50.7 18.2 52 20Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 20C50.9 19.4 49.8 19.6 48.9 20.6C48.2 21.4 49.1 23 49.2 23.4C49.5 23.4 51.3 24 52 23.1C52.8 22.1 52.7 21 52 20ZM52 20C53 19.3 53.5 18.3 53 17C52.7 16 50.8 16 50.5 15.9C50.3 16.2 48.9 17.4 49.3 18.4C49.8 19.7 50.8 20.2 52 20ZM52 20C52.1 21.2 52.7 22.1 54 22.4C55.1 22.6 56.1 21 56.3 20.8C56.2 20.4 55.8 18.7 54.7 18.5C53.4 18.2 52.5 18.9 52 20Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M53.6 20C53.6 20.9 52.9 21.6 52 21.6C51.1 21.6 50.4 20.9 50.4 20C50.4 19.1 51.1 18.4 52 18.4C52.9 18.4 53.6 19.1 53.6 20Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M60 54C59.6 56.7 60.8 59.1 63.6 60.1C66 61 68.7 57.9 69.4 57.4C69.2 56.6 69 52.5 66.7 51.7C63.9 50.6 61.5 51.7 60 54ZM60 54C57.8 52.3 55.2 52.1 52.9 54.1C51 55.7 52.3 59.6 52.3 60.4C53.2 60.6 56.8 62.6 58.7 61C61 59 61.3 56.5 60 54ZM60 54C62.6 52.9 64 50.8 63.5 47.8C63 45.4 59 44.5 58.3 44.2C57.7 44.8 54.2 46.9 54.6 49.4C55.1 52.3 57.2 53.9 60 54Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M60 54C58.6 54.6 57.8 55.8 58.1 57.4C58.3 58.7 60.5 59.2 61 59.4C61.3 59.1 63.2 57.9 63 56.5C62.7 54.9 61.5 54.1 60 54ZM60 54C60.2 52.5 59.6 51.2 58 50.6C56.7 50.2 55.2 51.9 54.8 52.1C55 52.6 55 54.8 56.3 55.3C57.9 55.9 59.2 55.3 60 54ZM60 54C61.2 54.9 62.6 55 63.9 54C65 53.1 64.2 50.9 64.2 50.5C63.8 50.4 61.8 49.3 60.7 50.2C59.5 51.2 59.3 52.6 60 54Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M61.6 54C61.6 54.9 60.9 55.6 60 55.6C59.1 55.6 58.4 54.9 58.4 54C58.4 53.1 59.1 52.4 60 52.4C60.9 52.4 61.6 53.1 61.6 54Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M46 44C43.8 44.5 42.4 46 42.4 48.4C42.4 50.4 45.5 51.6 46 52C46.5 51.6 49.6 50.4 49.6 48.4C49.6 46 48.2 44.5 46 44ZM46 44C46.7 41.9 46.1 39.9 44 38.7C42.3 37.7 39.7 39.7 39.1 40C39.1 40.7 38.7 43.9 40.4 44.9C42.5 46.1 44.5 45.6 46 44ZM46 44C47.5 45.6 49.5 46.1 51.6 44.9C53.3 43.9 52.9 40.7 52.9 40C52.3 39.7 49.7 37.7 48 38.7C45.9 39.9 45.3 41.9 46 44Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M46 44C45.2 43.1 44.1 42.8 42.9 43.5C42 44 42.2 45.8 42.2 46.2C42.5 46.3 44 47.5 44.9 46.9C46 46.3 46.4 45.2 46 44ZM46 44C47.2 43.7 48 42.9 48 41.6C48 40.5 46.3 39.8 46 39.6C45.7 39.8 44 40.5 44 41.6C44 42.9 44.8 43.7 46 44ZM46 44C45.6 45.2 46 46.3 47.1 46.9C48 47.5 49.5 46.3 49.8 46.2C49.8 45.8 50 44 49.1 43.5C47.9 42.8 46.8 43.1 46 44Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M47.6 44C47.6 44.9 46.9 45.6 46 45.6C45.1 45.6 44.4 44.9 44.4 44C44.4 43.1 45.1 42.4 46 42.4C46.9 42.4 47.6 43.1 47.6 44Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M74 38C72.4 39.5 71.9 41.5 73.1 43.6C74.1 45.3 77.3 44.9 78 44.9C78.3 44.3 80.3 41.7 79.3 40C78.1 37.9 76.1 37.3 74 38ZM74 38C73.5 35.8 72 34.4 69.6 34.4C67.6 34.4 66.4 37.5 66 38C66.4 38.5 67.6 41.6 69.6 41.6C72 41.6 73.5 40.2 74 38ZM74 38C76.1 38.7 78.1 38.1 79.3 36C80.3 34.3 78.3 31.7 78 31.1C77.3 31.1 74.1 30.7 73.1 32.4C71.9 34.5 72.4 36.5 74 38Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M74 38C72.8 37.6 71.7 38 71.1 39.1C70.5 40 71.7 41.5 71.8 41.8C72.2 41.8 74 42 74.5 41.1C75.2 39.9 74.9 38.8 74 38ZM74 38C74.9 37.2 75.2 36.1 74.5 34.9C74 34 72.2 34.2 71.8 34.2C71.7 34.5 70.5 36 71.1 36.9C71.7 38 72.8 38.4 74 38ZM74 38C74.3 39.2 75.1 40 76.4 40C77.5 40 78.2 38.3 78.4 38C78.2 37.7 77.5 36 76.4 36C75.1 36 74.3 36.8 74 38Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M75.6 38C75.6 38.9 74.9 39.6 74 39.6C73.1 39.6 72.4 38.9 72.4 38C72.4 37.1 73.1 36.4 74 36.4C74.9 36.4 75.6 37.1 75.6 38Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M84 86C83.3 88.4 83.9 90.6 86.3 92C88.2 93.1 91.1 90.8 91.8 90.5C91.7 89.8 92.2 86.1 90.3 85C88 83.6 85.7 84.2 84 86ZM84 86C82.3 84.2 80 83.6 77.7 85C75.8 86.1 76.3 89.8 76.2 90.5C76.9 90.8 79.8 93.1 81.7 92C84.1 90.6 84.7 88.4 84 86ZM84 86C86.4 85.5 88.1 83.8 88.1 81.1C88.1 78.8 84.6 77.4 84 77C83.4 77.4 80 78.8 80 81.1C80 83.8 81.6 85.5 84 86Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M84 86C82.7 86.3 81.8 87.2 81.8 88.7C81.8 89.9 83.7 90.7 84 91C84.3 90.7 86.2 89.9 86.2 88.7C86.2 87.2 85.3 86.3 84 86ZM84 86C84.4 84.7 84.1 83.5 82.8 82.7C81.7 82.1 80.1 83.4 79.7 83.5C79.8 83.9 79.5 86 80.5 86.6C81.8 87.3 83.1 87 84 86ZM84 86C84.9 87 86.2 87.3 87.5 86.6C88.5 86 88.2 83.9 88.3 83.5C87.9 83.4 86.3 82.1 85.2 82.7C83.9 83.5 83.6 84.7 84 86Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M85.6 86C85.6 86.9 84.9 87.6 84 87.6C83.1 87.6 82.4 86.9 82.4 86C82.4 85.1 83.1 84.4 84 84.4C84.9 84.4 85.6 85.1 85.6 86Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M68 76C65.5 76.1 63.6 77.5 63.2 80.2C62.8 82.4 65.9 84.3 66.4 84.9C67.1 84.5 70.7 83.8 71.1 81.6C71.6 78.9 70.3 77 68 76ZM68 76C69.1 73.8 68.9 71.5 66.8 69.7C65.1 68.3 61.8 70 61.1 70.2C61.1 71 59.9 74.5 61.6 75.9C63.7 77.7 66 77.5 68 76ZM68 76C69.3 78.1 71.5 79 74 78.1C76.1 77.4 76.2 73.6 76.5 72.9C75.8 72.5 73.4 69.7 71.3 70.5C68.7 71.4 67.7 73.5 68 76Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M68 76C67.3 74.8 66.1 74.3 64.7 74.8C63.5 75.3 63.5 77.3 63.3 77.7C63.7 77.9 65.1 79.4 66.2 79C67.6 78.5 68.2 77.4 68 76ZM68 76C69.4 75.9 70.4 75.2 70.7 73.7C70.9 72.5 69.1 71.4 68.9 71.1C68.5 71.3 66.5 71.7 66.3 72.9C66 74.4 66.7 75.5 68 76ZM68 76C67.4 77.2 67.5 78.5 68.7 79.5C69.6 80.2 71.4 79.3 71.8 79.2C71.8 78.8 72.5 76.8 71.5 76C70.4 75.1 69.1 75.2 68 76Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M69.6 76C69.6 76.9 68.9 77.6 68 77.6C67.1 77.6 66.4 76.9 66.4 76C66.4 75.1 67.1 74.4 68 74.4C68.9 74.4 69.6 75.1 69.6 76Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M24 32C24.4 33.9 25.7 35.2 27.9 35.2C29.6 35.2 30.7 32.5 31 32C30.7 31.5 29.6 28.9 27.9 28.9C25.7 28.9 24.4 30.1 24 32ZM24 32C22.2 31.4 20.4 31.9 19.3 33.8C18.5 35.3 20.3 37.5 20.5 38.1C21.1 38 23.9 38.4 24.8 36.9C25.9 35.1 25.4 33.3 24 32ZM24 32C25.4 30.7 25.9 28.9 24.8 27.1C23.9 25.6 21.1 26 20.5 25.9C20.3 26.5 18.5 28.7 19.3 30.2C20.4 32.1 22.2 32.6 24 32Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M24 32C23.2 32.7 23 33.7 23.6 34.7C24 35.5 25.6 35.3 25.9 35.3C26.1 35 27 33.8 26.6 33C26 32 25 31.7 24 32ZM24 32C23.8 31 23 30.3 21.9 30.3C20.9 30.3 20.3 31.7 20.2 32C20.3 32.3 20.9 33.7 21.9 33.7C23 33.7 23.8 33 24 32ZM24 32C25 32.3 26 32 26.6 31C27 30.2 26.1 29 25.9 28.7C25.6 28.7 24 28.5 23.6 29.3C23 30.3 23.2 31.3 24 32Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M25.6 32C25.6 32.9 24.9 33.6 24 33.6C23.1 33.6 22.4 32.9 22.4 32C22.4 31.1 23.1 30.4 24 30.4C24.9 30.4 25.6 31.1 25.6 32Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'strawHat',
|
||||
theme: 'mediterranean',
|
||||
tags: ['straw hat', 'hat', 'summer', 'beach', 'sun hat', 'panama', 'holiday', 'fashion'],
|
||||
descr: 'A wide-brimmed straw sun hat with a woven texture and a red ribbon tied in a bow.',
|
||||
box: [110, 70],
|
||||
slots: [
|
||||
{ name: 'straw', color: '#e8c46c' },
|
||||
{ name: 'ribbon', color: '#d62828' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M107 46C107 55.9 83.7 64 55 64C26.3 64 3 55.9 3 46C3 36.1 26.3 28 55 28C83.7 28 107 36.1 107 46Z' },
|
||||
{ p: 'shade', d: 'M3 46C3 56 26 64 55 64C84 64 107 56 107 46C100 54 80 58 55 58C30 58 10 54 3 46Z', o: 0.15 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M99 46C99 54.1 79.3 60.6 55 60.6C30.7 60.6 11 54.1 11 46C11 37.9 30.7 31.4 55 31.4C79.3 31.4 99 37.9 99 46ZM91 46C91 52.4 74.9 57.6 55 57.6C35.1 57.6 19 52.4 19 46C19 39.6 35.1 34.4 55 34.4C74.9 34.4 91 39.6 91 46Z',
|
||||
o: 0.25,
|
||||
w: 0.6,
|
||||
},
|
||||
{ p: 0, d: 'M30 44C30 22 40 12 55 12C70 12 80 22 80 44C72 48 38 48 30 44Z' },
|
||||
{ p: 'shade', d: 'M58 12C72 14 80 24 80 44C76 46 70 47 64 47C68 36 66 22 58 12Z', o: 0.15 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M31 40C40 42 70 42 79 40M31.2 34.6C40 36.4 70 36.4 78.8 34.6M31.4 29.2C40 30.8 70 30.8 78.6 29.2M31.6 23.8C40 25.2 70 25.2 78.4 23.8M31.8 18.4C40 19.6 70 19.6 78.2 18.4M32 13C40 14 70 14 78 13',
|
||||
o: 0.22,
|
||||
w: 0.6,
|
||||
},
|
||||
{ p: 1, d: 'M30.6 36C40 40 70 40 79.4 36L80 44C72 48 38 48 30 44Z' },
|
||||
{ p: 'shade', d: 'M30 42C38 46 72 46 80 42L80 44C72 48 38 48 30 44Z', o: 0.25 },
|
||||
{ p: 1, d: 'M68 42C72 36 78 34 80 38C80 42 74 44 68 42ZM68 42C70 48 76 52 80 50C80 46 74 44 68 42Z' },
|
||||
{ p: 1, d: 'M68 43L72 58L75 56ZM68 43L64 58L67 59Z' },
|
||||
{ p: 'light', d: 'M38 20C42 16 48 14 52 14', o: 0.45, w: 1.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'windmill',
|
||||
theme: 'mediterranean',
|
||||
tags: ['windmill', 'mykonos', 'greece', 'cyclades', 'island', 'white', 'sails', 'mediterranean'],
|
||||
descr:
|
||||
'A whitewashed Mykonos windmill: a round tower with a thatched cone roof and eight spokes with triangular sails.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'walls', color: '#fbfaf5' },
|
||||
{ name: 'roof', color: '#a0703f' },
|
||||
{ name: 'sails', color: '#f3ead6' },
|
||||
{ name: 'door', color: '#2f6fb3' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 'shade', d: 'M24 96L76 96L76 98L24 98Z', o: 0.15 },
|
||||
{ p: 0, d: 'M30 96L32 34L68 34L70 96Z' },
|
||||
{ p: 'shade', d: 'M54 34L68 34L70 96L56 96Z', o: 0.1 },
|
||||
{ p: '#d9d6cc', d: 'M30 96L32 34L68 34L70 96Z', w: 0.8 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M44 96L44 82C44 78 47 76 50 76C53 76 56 78 56 82L56 96ZM41.5 52L41.5 52C43.4 52 45 53.6 45 55.5L45 57.5C45 59.4 43.4 61 41.5 61L41.5 61C39.6 61 38 59.4 38 57.5L38 55.5C38 53.6 39.6 52 41.5 52ZM59 60L59 60C60.7 60 62 61.3 62 63L62 65C62 66.7 60.7 68 59 68L59 68C57.3 68 56 66.7 56 65L56 63C56 61.3 57.3 60 59 60Z',
|
||||
},
|
||||
{ p: 1, d: 'M28 36C30 26 38 18 50 16C62 18 70 26 72 36Z' },
|
||||
{ p: 'shade', d: 'M50 16C62 18 70 26 72 36L58 36C58 28 55 20 50 16Z', o: 0.18 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M30 32C33.3 31.7 43.3 30.4 50 30.4C56.7 30.4 66.7 31.7 70 32M31.2 28C34.3 27.7 43.7 26 50 26C56.3 26 65.7 27.7 68.8 28M32.4 24C35.3 23.6 44.1 21.6 50 21.6C55.9 21.6 64.7 23.6 67.6 24',
|
||||
o: 0.3,
|
||||
w: 0.5,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M53.9 38.8L80.3 44.4L73.9 55.4ZM52.2 41.4L66.9 64L54.6 67.2ZM49.2 41.9L43.6 68.3L32.6 61.9ZM46.6 40.2L24 54.9L20.8 42.6ZM46.1 37.2L19.7 31.6L26.1 20.6ZM47.8 34.6L33.1 12L45.4 8.8ZM50.8 34.1L56.4 7.7L67.4 14.1ZM53.4 35.8L76 21.1L79.2 33.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M58.3 41.4L79.5 45.4L73.9 55.4ZM53.5 46.3L65.7 64.1L54.6 67.2ZM46.6 46.3L42.6 67.5L32.6 61.9ZM41.7 41.5L23.9 53.7L20.8 42.6ZM41.7 34.6L20.5 30.6L26.1 20.6ZM46.5 29.7L34.3 11.9L45.4 8.8ZM53.4 29.7L57.4 8.5L67.4 14.1ZM58.3 34.5L76.1 22.3L79.2 33.4Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: '#6b4f2e',
|
||||
d: 'M50 38L82.3 44.9M50 38L68 65.7M50 38L43.1 70.3M50 38L22.3 56M50 38L17.7 31.1M50 38L32 10.3M50 38L56.9 5.7M50 38L77.7 20',
|
||||
w: 1,
|
||||
},
|
||||
{
|
||||
p: '#6b4f2e',
|
||||
d: 'M80.3 44.4L73.9 55.4M66.9 64L54.6 67.2M43.6 68.3L32.6 61.9M24 54.9L20.8 42.6M19.7 31.6L26.1 20.6M33.1 12L45.4 8.8M56.4 7.7L67.4 14.1M76 21.1L79.2 33.4',
|
||||
o: 0.6,
|
||||
w: 0.4,
|
||||
},
|
||||
{
|
||||
p: '#6b4f2e',
|
||||
d: 'M53 38C53 39.7 51.7 41 50 41C48.3 41 47 39.7 47 38C47 36.3 48.3 35 50 35C51.7 35 53 36.3 53 38Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'santoriniChurch',
|
||||
theme: 'mediterranean',
|
||||
tags: ['santorini', 'oia', 'greece', 'church', 'blue dome', 'cyclades', 'island', 'white'],
|
||||
descr:
|
||||
'A whitewashed Santorini chapel with a bright blue dome, a bell wall with two bells and a sliver of the Aegean below.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'walls', color: '#fbfaf5' },
|
||||
{ name: 'domes', color: '#1f5fbf' },
|
||||
{ name: 'sea', color: '#2f8fd8' },
|
||||
{ name: 'bells', color: '#d9a640' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M0 82L100 82L100 100L0 100Z' },
|
||||
{ p: 'light', d: 'M8 88L22 88M44 92L62 92M78 87L92 87', o: 0.5, w: 0.8 },
|
||||
{ p: 0, d: 'M10 76L10 30L14 26L14 22L18 22L18 26L22 30L22 34L30 34L30 76Z' },
|
||||
{ p: '#d9d6cc', d: 'M10 76L10 30L14 26L14 22L18 22L18 26L22 30L22 34L30 34L30 76Z', w: 0.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M13 44L13 38C13 35.6 14.4 34 16 34C17.6 34 19 35.6 19 38L19 44ZM22.6 52L22.6 46C22.6 43.8 23.8 42.4 25.2 42.4C26.6 42.4 27.6 43.8 27.6 46L27.6 52Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M14 43C14 40 15 39 16 39C17 39 18 40 18 43ZM23.4 51C23.4 48.4 24.2 47.4 25.1 47.4C26 47.4 26.8 48.4 26.8 51Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M15.4 14L16.6 14L16.6 16.6L18.4 16.6L18.4 17.8L16.6 17.8L16.6 22L15.4 22L15.4 17.8L13.6 17.8L13.6 16.6L15.4 16.6Z',
|
||||
},
|
||||
{ p: 0, d: 'M30 46L90 46L90 82L30 82Z' },
|
||||
{ p: 'shade', d: 'M66 46L90 46L90 82L66 82Z', o: 0.07 },
|
||||
{ p: 0, d: 'M40 40L80 40L80 48L40 48Z' },
|
||||
{ p: 1, d: 'M42 42C42 26 50 18 60 18C70 18 78 26 78 42Z' },
|
||||
{ p: 'shade', d: 'M60 18C70 18 78 26 78 42L66 42C67 32 64 23 60 18Z', o: 0.18 },
|
||||
{ p: 'light', d: 'M46 34C47 28 51 23 56 21', o: 0.45, w: 1.6 },
|
||||
{ p: 1, d: 'M59.4 8L60.6 8L60.6 11L63 11L63 12.2L60.6 12.2L60.6 18L59.4 18L59.4 12.2L57 12.2L57 11L59.4 11Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M54 82L54 66C54 62.6 56.6 60 60 60C63.4 60 66 62.6 66 66L66 82ZM41.5 56L41.5 56C43.4 56 45 57.6 45 59.5L45 62.5C45 64.4 43.4 66 41.5 66L41.5 66C39.6 66 38 64.4 38 62.5L38 59.5C38 57.6 39.6 56 41.5 56ZM78.5 56L78.5 56C80.4 56 82 57.6 82 59.5L82 62.5C82 64.4 80.4 66 78.5 66L78.5 66C76.6 66 75 64.4 75 62.5L75 59.5C75 57.6 76.6 56 78.5 56Z',
|
||||
},
|
||||
{ p: 'light', d: 'M30 46L90 46L90 47.6L30 47.6Z', o: 0.6 },
|
||||
{ p: '#d9d6cc', d: 'M30 46L90 46L90 82L30 82ZM40 40L80 40L80 48L40 48Z', w: 0.6 },
|
||||
{ p: 0, d: 'M26 82L100 82L100 85L26 85ZM22 85L52 85L52 88L22 88Z' },
|
||||
{ p: 'shade', d: 'M26 84L100 84L100 85L26 85ZM22 87L52 87L52 88L22 88Z', o: 0.12 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,378 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Mountains and outdoors: peaks, forests, camp and the gear of a hike. */
|
||||
export const MOUNTAINS_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'mountainRange',
|
||||
theme: 'mountains',
|
||||
tags: ['mountains', 'alps', 'peaks', 'range', 'snow', 'hiking', 'landscape', 'outdoors'],
|
||||
descr: 'A layered mountain range in three tones, the front peaks snow-capped, a pale sun behind them.',
|
||||
box: [120, 72],
|
||||
slots: [
|
||||
{ name: 'far', color: '#9db4c0' },
|
||||
{ name: 'near', color: '#3d5a80' },
|
||||
{ name: 'snow', color: '#f7f9fb' },
|
||||
{ name: 'sun', color: '#f6bd60' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 3, d: 'M94 22C94 27.5 89.5 32 84 32C78.5 32 74 27.5 74 22C74 16.5 78.5 12 84 12C89.5 12 94 16.5 94 22Z' },
|
||||
{ p: 0, d: 'M0 70L0 40L14 26L26 36L42 18L58 34L72 24L90 38L104 28L120 42L120 70Z' },
|
||||
{ p: 'light', d: 'M42 18L58 34L52 36L46 30L42 34L36 30Z', o: 0.3 },
|
||||
{ p: 1, d: 'M0 72L0 56L20 34L36 52L56 22L78 50L94 36L120 60L120 72Z' },
|
||||
{ p: 'shade', d: 'M56 22L78 50L94 36L120 60L120 72L64 72L62 46Z', o: 0.2 },
|
||||
{ p: 'shade', d: 'M20 34L36 52L30 72L24 72L26 48Z', o: 0.2 },
|
||||
{ p: 2, d: 'M56 22L65 33.6L61 32L58 35L55 31.6L51 34.6L48.4 32.8Z' },
|
||||
{ p: 2, d: 'M20 34L26.4 41.4L23.4 40.6L21 43L18.6 40.4L15.4 41.6Z' },
|
||||
{ p: 2, d: 'M94 36L100.6 42.2L97.6 41.4L95 43.4L92 41.2L88.6 42.4Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'snowPeak',
|
||||
theme: 'mountains',
|
||||
tags: ['mountain', 'peak', 'matterhorn', 'summit', 'snow', 'alps', 'climb', 'outdoors'],
|
||||
descr: 'A single steep, Matterhorn-like peak with a lit and a shadowed face and a jagged snow cap.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'rock', color: '#6d7f99' },
|
||||
{ name: 'snow', color: '#f7f9fb' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M2 88L30 50L44 30L52 6L58 18L70 38L98 88Z' },
|
||||
{ p: 'shade', d: 'M52 6L58 18L70 38L98 88L56 88L60 60L54 40Z', o: 0.28 },
|
||||
{ p: 1, d: 'M52 6L58 18L62 26L58 24L56 30L52 26L48 32L46 26L42 32L44 30Z' },
|
||||
{ p: 'shade', d: 'M52 6L58 18L62 26L58 24L56 30L54 22Z', o: 0.12 },
|
||||
{ p: 'light', d: 'M30 50L44 30L40 46L34 52Z', o: 0.15 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'pineTrees',
|
||||
theme: 'mountains',
|
||||
tags: ['pine trees', 'forest', 'fir', 'woods', 'conifer', 'nature', 'hiking', 'christmas'],
|
||||
descr: 'Three evergreen pines of different heights, their layered boughs shadowed on one side.',
|
||||
box: [110, 100],
|
||||
slots: [
|
||||
{ name: 'needles', color: '#2f7a4f' },
|
||||
{ name: 'trunks', color: '#7a5230' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M27.2 83.6L32.8 83.6L32.8 92L27.2 92Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M30 22L34.1 39.5L32.7 40.2L39 57C33.6 59 26.4 59 21 57L27.3 40.2L26 39.5ZM30 36L35.9 52.5L33.9 53.1L43 68.9C35.2 70.9 24.8 70.9 17 68.9L26.1 53.1L24.2 52.5ZM30 50L37.7 65.4L35.1 66L47 80.8C36.8 82.8 23.2 82.8 13 80.8L24.9 66L22.4 65.4ZM30 64L39.5 78.4L36.3 78.9L51 92.7C38.4 94.7 21.6 94.7 9 92.7L23.7 78.9L20.5 78.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M30 22L34.1 39.5L32.7 40.2L39 57C34.5 58.6 31.8 58.8 30 58.8ZM30 36L35.9 52.5L33.9 53.1L43 68.9C36.5 70.5 32.6 70.7 30 70.7ZM30 50L37.7 65.4L35.1 66L47 80.8C38.5 82.4 33.4 82.6 30 82.6ZM30 64L39.5 78.4L36.3 78.9L51 92.7C40.5 94.3 34.2 94.5 30 94.5Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{ p: 1, d: 'M58.8 85.7L65.2 85.7L65.2 96L58.8 96Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M62 10L66.7 31.5L65.1 32.4L72.4 53C66.1 55 57.9 55 51.7 53L58.9 32.4L57.3 31.5ZM62 27.2L68.7 47.4L66.5 48.2L77 67.6C68 69.6 56 69.6 47.1 67.6L57.5 48.2L55.3 47.4ZM62 44.4L70.8 63.3L67.9 64.1L81.6 82.2C69.8 84.2 54.2 84.2 42.5 82.2L56.1 64.1L53.2 63.3ZM62 61.6L72.9 79.2L69.2 79.9L86.2 96.9C71.7 98.9 52.3 98.9 37.8 96.9L54.8 79.9L51.1 79.2Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M62 10L66.7 31.5L65.1 32.4L72.4 53C67.2 54.6 64.1 54.8 62 54.8ZM62 27.2L68.7 47.4L66.5 48.2L77 67.6C69.5 69.2 65 69.4 62 69.4ZM62 44.4L70.8 63.3L67.9 64.1L81.6 82.2C71.8 83.8 65.9 84 62 84ZM62 61.6L72.9 79.2L69.2 79.9L86.2 96.9C74.1 98.5 66.8 98.7 62 98.7Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{ p: 1, d: 'M83.9 87.3L88.1 87.3L88.1 94L83.9 94Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M86 38L89 52L88 52.6L92.8 66C88.7 68 83.3 68 79.3 66L84 52.6L83 52ZM86 49.2L90.4 62.4L88.9 62.9L95.8 75.5C89.9 77.5 82.1 77.5 76.3 75.5L83.1 62.9L81.6 62.4ZM86 60.4L91.7 72.7L89.8 73.2L98.8 85C91.1 87 80.9 87 73.3 85L82.2 73.2L80.3 72.7ZM86 71.6L93.1 83.1L90.7 83.5L101.8 94.6C92.3 96.6 79.7 96.6 70.3 94.6L81.3 83.5L78.9 83.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M86 38L89 52L88 52.6L92.8 66C89.4 67.6 87.4 67.8 86 67.8ZM86 49.2L90.4 62.4L88.9 62.9L95.8 75.5C90.9 77.1 88 77.3 86 77.3ZM86 60.4L91.7 72.7L89.8 73.2L98.8 85C92.4 86.6 88.6 86.8 86 86.8ZM86 71.6L93.1 83.1L90.7 83.5L101.8 94.6C93.9 96.2 89.2 96.4 86 96.4Z',
|
||||
o: 0.2,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'mountainLake',
|
||||
theme: 'mountains',
|
||||
tags: ['mountain lake', 'lake', 'alps', 'reflection', 'landscape', 'pines', 'nature', 'badge'],
|
||||
descr:
|
||||
'A round badge with a mountain lake: a snowy peak reflected in still water, pines on the shore and a sun in the sky.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'sky', color: '#bde0fe' },
|
||||
{ name: 'mountains', color: '#4a6fa5' },
|
||||
{ name: 'water', color: '#5aa9e6' },
|
||||
{ name: 'pines', color: '#2f6f4f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M96 50C96 75.4 75.4 96 50 96C24.6 96 4 75.4 4 50C4 24.6 24.6 4 50 4C75.4 4 96 24.6 96 50Z' },
|
||||
{
|
||||
p: '#fff3c4',
|
||||
d: 'M73 30C73 33.9 69.9 37 66 37C62.1 37 59 33.9 59 30C59 26.1 62.1 23 66 23C69.9 23 73 26.1 73 30Z',
|
||||
},
|
||||
{ p: 1, d: 'M6 62L26 36L36 46L52 22L70 46L80 38L94 58L94 62Z' },
|
||||
{ p: 'shade', d: 'M52 22L70 46L80 38L94 58L94 62L58 62L60 44Z', o: 0.2 },
|
||||
{ p: '#f7f9fb', d: 'M52 22L58 30L55 29.4L53 32L50.6 29.6L47.6 31Z' },
|
||||
{ p: 2, d: 'M5.6 62L94.4 62C89 82.1 70.8 96 50 96C29.2 96 11 82.1 5.6 62Z' },
|
||||
{ p: 1, d: 'M10 62L26 80L36 74L52 90L70 74L80 78L92 62Z', o: 0.3 },
|
||||
{ p: 'light', d: 'M20 68L36 68M52 74L72 74M30 82L44 82', o: 0.6, w: 1.2 },
|
||||
{
|
||||
p: 3,
|
||||
d: 'M16 42L17.2 47.5L16.8 47.7L18.7 53C17.1 55 14.9 55 13.3 53L15.2 47.7L14.8 47.5ZM16 46.4L17.8 51.6L17.2 51.8L19.9 56.7C17.6 58.7 14.4 58.7 12.1 56.7L14.8 51.8L14.2 51.6ZM16 50.8L18.3 55.6L17.5 55.8L21.1 60.5C18 62.5 14 62.5 10.9 60.5L14.5 55.8L13.7 55.6ZM16 55.2L18.8 59.7L17.9 59.9L22.3 64.2C18.5 66.2 13.5 66.2 9.7 64.2L14.1 59.9L13.2 59.7ZM24 34L25.5 41.5L25 41.8L27.4 49C25.4 51 22.7 51 20.6 49L23 41.8L22.5 41.5ZM24 40L26.2 47.1L25.5 47.3L28.9 54.1C26 56.1 22.1 56.1 19.1 54.1L22.5 47.3L21.8 47.1ZM24 46L26.9 52.6L25.9 52.9L30.4 59.2C26.6 61.2 21.5 61.2 17.6 59.2L22.1 52.9L21.1 52.6ZM24 52L27.5 58.2L26.4 58.4L31.9 64.3C27.2 66.3 20.9 66.3 16.1 64.3L21.6 58.4L20.5 58.2ZM84 38L85.3 44.5L84.9 44.8L86.9 51C85.2 53 82.8 53 81.1 51L83.1 44.8L82.7 44.5ZM84 43.2L85.9 49.3L85.3 49.6L88.2 55.4C85.7 57.4 82.3 57.4 79.8 55.4L82.7 49.6L82.1 49.3ZM84 48.4L86.5 54.1L85.7 54.3L89.5 59.8C86.2 61.8 81.8 61.8 78.5 59.8L82.3 54.3L81.5 54.1ZM84 53.6L87.1 58.9L86 59.1L90.8 64.3C86.7 66.3 81.3 66.3 77.2 64.3L82 59.1L80.9 58.9Z',
|
||||
},
|
||||
{
|
||||
p: '#7a5230',
|
||||
d: 'M15.2 61.4L16.8 61.4L16.8 64L15.2 64ZM23 60.4L25.1 60.4L25.1 64L23 64ZM83.1 60.9L84.9 60.9L84.9 64L83.1 64Z',
|
||||
},
|
||||
{
|
||||
p: '#fbf8f0',
|
||||
d: 'M96 50C96 75.4 75.4 96 50 96C24.6 96 4 75.4 4 50C4 24.6 24.6 4 50 4C75.4 4 96 24.6 96 50Z',
|
||||
w: 3,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'tent',
|
||||
theme: 'mountains',
|
||||
tags: ['tent', 'camping', 'camp', 'outdoors', 'adventure', 'hiking', 'nature', 'night'],
|
||||
descr: 'A ridge tent with its door flap tied open, guy lines pegged out and a pennant on the pole.',
|
||||
box: [110, 80],
|
||||
slots: [
|
||||
{ name: 'tent', color: '#f4a261' },
|
||||
{ name: 'inside', color: '#3d2c22' },
|
||||
{ name: 'flag', color: '#e63946' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 'ink', d: 'M8 76L28 34M102 76L82 34', o: 0.5, w: 0.6 },
|
||||
{ p: 0, d: 'M10 76L46 14L100 76Z' },
|
||||
{ p: 'shade', d: 'M46 14L100 76L58 76Z', o: 0.18 },
|
||||
{ p: 1, d: 'M34 76L46 34L58 76Z' },
|
||||
{ p: 0, d: 'M46 34L34 76L28 76C34 62 40 46 46 34Z' },
|
||||
{ p: 'light', d: 'M46 34L34 76L30 76C34 62 40 46 46 34Z', o: 0.25 },
|
||||
{ p: '#6b4f2e', d: 'M46 14L46 4', w: 1.2 },
|
||||
{ p: 2, d: 'M46.6 4L56 6.6L46.6 9.4Z' },
|
||||
{ p: 'light', d: 'M20 62L40 28', o: 0.35, w: 1 },
|
||||
{ p: '#6b4f2e', d: 'M6 76L10 70M104 76L100 70', w: 1.4 },
|
||||
{ p: '#8fb573', d: 'M0 78C20 74 40 76 60 75C80 74 96 76 110 78L110 80L0 80Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'campfire',
|
||||
theme: 'mountains',
|
||||
tags: ['campfire', 'fire', 'bonfire', 'camping', 'flames', 'outdoors', 'night', 'warm'],
|
||||
descr: 'A crackling campfire: layered orange and yellow flames over crossed logs ringed by stones.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'flame', color: '#f77f00' },
|
||||
{ name: 'core', color: '#fcbf49' },
|
||||
{ name: 'logs', color: '#7a4a2b' },
|
||||
{ name: 'stones', color: '#9aa3a6' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 4C56 18 72 26 70 48C69 60 60 68 50 68C40 68 30 60 30 48C30 38 36 32 40 24C42 32 44 36 48 38C46 28 46 16 50 4Z',
|
||||
},
|
||||
{ p: 0, d: 'M68 30C76 38 80 48 74 60C72 52 70 48 66 46ZM32 34C24 42 22 52 28 60C28 52 30 48 34 46Z', o: 0.85 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 26C54 36 62 42 60 54C59 62 55 66 50 66C45 66 41 62 40 56C39 48 44 44 46 38C47 44 49 46 51 46C49 40 48 32 50 26Z',
|
||||
},
|
||||
{ p: '#fff3b0', d: 'M50 46C53 52 56 55 55 60C54 64 52 65 50 65C48 65 46 64 45.6 61C45 57 48 54 50 46Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M26.2 57.9L75.7 70.3C78.1 70.9 79.6 73.3 79 75.7L79 75.7C78.4 78.2 75.9 79.6 73.5 79L24 66.7C21.6 66.1 20.2 63.6 20.8 61.2L20.8 61.2C21.4 58.8 23.8 57.3 26.2 57.9ZM24.3 70.3L73.8 57.9C76.2 57.3 78.6 58.8 79.2 61.2L79.2 61.2C79.8 63.6 78.4 66.1 76 66.7L26.5 79C24.1 79.6 21.6 78.2 21 75.7L21 75.7C20.4 73.3 21.9 70.9 24.3 70.3Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M22.8 61.2L77.2 74.8C78.2 75 78.9 76.1 78.6 77.2L78.6 77.2C78.4 78.3 77.3 78.9 76.2 78.7L21.9 65.1C20.8 64.8 20.1 63.8 20.4 62.7L20.4 62.7C20.7 61.6 21.8 61 22.8 61.2ZM22.8 74.8L77.2 61.2C78.2 61 79.3 61.6 79.6 62.7L79.6 62.7C79.9 63.8 79.2 64.8 78.1 65.1L23.8 78.7C22.7 78.9 21.6 78.3 21.4 77.2L21.4 77.2C21.1 76.1 21.8 75 22.8 74.8Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: '#c8a27a',
|
||||
d: 'M25.3 61.8C24.8 63.9 22.9 65.1 21.1 64.7C19.3 64.2 18.2 62.2 18.7 60.2C19.2 58.1 21.1 56.9 22.9 57.3C24.7 57.8 25.8 59.8 25.3 61.8ZM81.3 60.2C81.8 62.2 80.7 64.2 78.9 64.7C77.1 65.1 75.2 63.9 74.7 61.8C74.2 59.8 75.3 57.8 77.1 57.3C78.9 56.9 80.8 58.1 81.3 60.2Z',
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M18 82C18 84.8 14.4 87 10 87C5.6 87 2 84.8 2 82C2 79.2 5.6 77 10 77C14.4 77 18 79.2 18 82ZM35 85C35 87.8 31 90 26 90C21 90 17 87.8 17 85C17 82.2 21 80 26 80C31 80 35 82.2 35 85ZM53 86.4C53 88.9 49 91 44 91C39 91 35 88.9 35 86.4C35 83.9 39 81.8 44 81.8C49 81.8 53 83.9 53 86.4ZM69 86.4C69 88.9 65 91 60 91C55 91 51 88.9 51 86.4C51 83.9 55 81.8 60 81.8C65 81.8 69 83.9 69 86.4ZM85 85C85 87.8 81 90 76 90C71 90 67 87.8 67 85C67 82.2 71 80 76 80C81 80 85 82.2 85 85ZM99 82C99 84.8 95.4 87 91 87C86.6 87 83 84.8 83 82C83 79.2 86.6 77 91 77C95.4 77 99 79.2 99 82Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M18 84C18 85.7 14.4 87 10 87C5.6 87 2 85.7 2 84C2 82.3 5.6 81 10 81C14.4 81 18 82.3 18 84ZM35 87C35 88.7 31 90 26 90C21 90 17 88.7 17 87C17 85.3 21 84 26 84C31 84 35 85.3 35 87ZM53 88C53 89.7 49 91 44 91C39 91 35 89.7 35 88C35 86.3 39 85 44 85C49 85 53 86.3 53 88ZM69 88C69 89.7 65 91 60 91C55 91 51 89.7 51 88C51 86.3 55 85 60 85C65 85 69 86.3 69 88ZM85 87C85 88.7 81 90 76 90C71 90 67 88.7 67 87C67 85.3 71 84 76 84C81 84 85 85.3 85 87ZM99 84C99 85.7 95.4 87 91 87C86.6 87 83 85.7 83 84C83 82.3 86.6 81 91 81C95.4 81 99 82.3 99 84Z',
|
||||
o: 0.18,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M31.4 14C31.4 14.8 30.8 15.4 30 15.4C29.2 15.4 28.6 14.8 28.6 14C28.6 13.2 29.2 12.6 30 12.6C30.8 12.6 31.4 13.2 31.4 14ZM71.2 10C71.2 10.7 70.7 11.2 70 11.2C69.3 11.2 68.8 10.7 68.8 10C68.8 9.3 69.3 8.8 70 8.8C70.7 8.8 71.2 9.3 71.2 10ZM63 20C63 20.6 62.6 21 62 21C61.4 21 61 20.6 61 20C61 19.4 61.4 19 62 19C62.6 19 63 19.4 63 20ZM36.9 24C36.9 24.5 36.5 24.9 36 24.9C35.5 24.9 35.1 24.5 35.1 24C35.1 23.5 35.5 23.1 36 23.1C36.5 23.1 36.9 23.5 36.9 24Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'cableCar',
|
||||
theme: 'mountains',
|
||||
tags: ['cable car', 'gondola', 'mountains', 'alps', 'ski', 'lift', 'ropeway', 'view'],
|
||||
descr: 'A red cable car gondola hanging from its arm on a sloping cable, with big panoramic windows.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'cabin', color: '#d62828' },
|
||||
{ name: 'glass', color: '#a9d6e5' },
|
||||
{ name: 'metal', color: '#4a4e57' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M0 22L100 6', w: 1.4 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M43 15L57 12.8L57 18L43 20ZM48.6 15.6C48.6 17 47.4 18.2 46 18.2C44.6 18.2 43.4 17 43.4 15.6C43.4 14.2 44.6 13 46 13C47.4 13 48.6 14.2 48.6 15.6ZM56.6 14.2C56.6 15.6 55.4 16.8 54 16.8C52.6 16.8 51.4 15.6 51.4 14.2C51.4 12.8 52.6 11.6 54 11.6C55.4 11.6 56.6 12.8 56.6 14.2Z',
|
||||
},
|
||||
{ p: 2, d: 'M50 18L50 34', w: 2.4 },
|
||||
{ p: 2, d: 'M36 36L64 36L60 32L40 32Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M24 36L76 36C80 36 82 39 82 43L80 80C80 86 76 90 70 90L30 90C24 90 20 86 20 80L18 43C18 39 20 36 24 36Z',
|
||||
},
|
||||
{ p: 1, d: 'M25 42L48 42L48 64L24 64ZM52 42L75 42L76 64L52 64Z' },
|
||||
{ p: 'light', d: 'M27 60L38 44L43 44L32 60ZM55 60L66 44L70 44L59 60Z', o: 0.55 },
|
||||
{ p: 'shade', d: 'M18.6 70L81.4 70L80 80C80 86 76 90 70 90L30 90C24 90 20 86 20 80Z', o: 0.18 },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M21 66L79 66C79.6 66 80 66.4 80 67L80 67C80 67.6 79.6 68 79 68L21 68C20.4 68 20 67.6 20 67L20 67C20 66.4 20.4 66 21 66Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{ p: 'shade', d: 'M62 36L76 36C80 36 82 39 82 43L80 80C80 86 76 90 70 90L66 90C70 84 70 60 62 36Z', o: 0.1 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'edelweiss',
|
||||
theme: 'mountains',
|
||||
tags: ['edelweiss', 'flower', 'alps', 'alpine', 'switzerland', 'austria', 'mountain flower', 'white'],
|
||||
descr: 'An edelweiss flower: a star of woolly white pointed bracts around a cluster of little yellow florets.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'bracts', color: '#f4f1e8' },
|
||||
{ name: 'florets', color: '#e9c46a' },
|
||||
{ name: 'stem', color: '#8aa67a' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M50 60C50 74 48 86 44 98', w: 2.4 },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M48 82C47.5 81 46.2 77.4 42.2 75.6C36.3 73 31.4 74 30 74C31 75 33.4 79.4 39.4 82C43.3 83.8 46.9 82.3 48 82ZM47 90C48 90.3 51.6 91.7 55.3 90C60.9 87.3 63.1 83 64 82C62.7 82.1 57.9 81 52.3 83.6C48.6 85.4 47.4 89 47 90Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 50C51.6 54.9 58.4 59.2 70.3 61.3C80.1 63 87.2 57.7 89.4 56.9C87.6 55.5 82.7 48.1 73 46.3C61.1 44.2 53.2 45.9 50 50ZM50 50C48.1 54.8 50.5 62.5 58.3 71.7C64.7 79.3 73.6 79.9 75.7 80.6C75.3 78.4 76.3 69.6 70 62C62.2 52.7 55 48.9 50 50ZM50 50C45.4 52.4 42.4 59.9 42.4 72C42.4 81.9 48.9 88 50 90C51.1 88 57.6 81.9 57.6 72C57.6 59.9 54.6 52.4 50 50ZM50 50C45 48.9 37.8 52.7 30 62C23.7 69.6 24.7 78.4 24.3 80.6C26.4 79.9 35.3 79.3 41.7 71.7C49.5 62.5 51.9 54.8 50 50ZM50 50C46.8 45.9 38.9 44.2 27 46.3C17.3 48.1 12.4 55.5 10.6 56.9C12.8 57.7 19.9 63 29.7 61.3C41.6 59.2 48.4 54.9 50 50ZM50 50C50.2 44.8 45.2 38.5 34.7 32.4C26.2 27.5 17.6 30 15.4 30C16.5 32 18.6 40.6 27.1 45.6C37.6 51.6 45.6 52.7 50 50ZM50 50C53.5 46.2 53.8 38.1 49.6 26.7C46.2 17.4 38.1 13.9 36.3 12.4C35.9 14.7 31.9 22.6 35.3 31.9C39.5 43.3 44.9 49.3 50 50ZM50 50C55.1 49.3 60.5 43.3 64.7 31.9C68.1 22.6 64.1 14.7 63.7 12.4C61.9 13.9 53.8 17.4 50.4 26.7C46.2 38.1 46.5 46.2 50 50ZM50 50C54.4 52.7 62.4 51.6 72.9 45.6C81.4 40.6 83.5 32 84.6 30C82.4 30 73.8 27.5 65.3 32.4C54.8 38.5 49.8 44.8 50 50Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 50C52.1 51.9 58.4 59.2 70.3 61.3C80.1 63 87.2 57.7 89.4 56.9L50 50ZM50 50C50.4 52.8 50.5 62.5 58.3 71.7C64.7 79.3 73.6 79.9 75.7 80.6L50 50ZM50 50C48.5 52.4 42.4 59.9 42.4 72C42.4 81.9 48.9 88 50 90L50 50ZM50 50C47.3 50.9 37.8 52.7 30 62C23.7 69.6 24.7 78.4 24.3 80.6L50 50ZM50 50C47.4 48.9 38.9 44.2 27 46.3C17.3 48.1 12.4 55.5 10.6 56.9L50 50ZM50 50C48.7 47.5 45.2 38.5 34.7 32.4C26.2 27.5 17.6 30 15.4 30L50 50ZM50 50C50.6 47.2 53.8 38.1 49.6 26.7C46.2 17.4 38.1 13.9 36.3 12.4L50 50ZM50 50C52.3 48.2 60.5 43.3 64.7 31.9C68.1 22.6 64.1 14.7 63.7 12.4L50 50ZM50 50C52.9 50.1 62.4 51.6 72.9 45.6C81.4 40.6 83.5 32 84.6 30L50 50Z',
|
||||
o: 0.08,
|
||||
},
|
||||
{
|
||||
p: '#d8d3c4',
|
||||
d: 'M61.8 52.1L81.5 55.6M57.7 59.2L70.6 74.5M50 62L50 82M42.3 59.2L29.4 74.5M38.2 52.1L18.5 55.6M39.6 44L22.3 34M45.9 38.7L39.1 19.9M54.1 38.7L60.9 19.9M60.4 44L77.7 34',
|
||||
w: 0.6,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 50C49.9 52.8 52.6 56.3 58.4 59.7C63.1 62.4 67.8 61 69.1 61C68.4 59.9 67.3 55.2 62.6 52.4C56.8 49.1 52.4 48.5 50 50ZM50 50C47.7 51.7 46.7 56 47.8 62.6C48.6 68 52.7 70.8 53.4 71.7C53.9 70.6 56.9 66.7 56 61.3C55 54.7 52.7 50.9 50 50ZM50 50C47.2 49.3 43.3 51.2 38.8 56.2C35.2 60.2 35.5 65.1 35.3 66.3C36.5 66 41.4 65.8 45 61.8C49.5 56.8 51 52.7 50 50ZM50 50C48.8 47.4 44.8 45.5 38.1 45.2C32.7 44.9 29.2 48.3 28 48.8C29.1 49.5 32.3 53.3 37.7 53.5C44.3 53.9 48.5 52.4 50 50ZM50 50C51.2 47.4 50.2 43.1 46.3 37.8C43.1 33.3 38.2 32.7 37.1 32.2C37.2 33.5 36.3 38.3 39.5 42.7C43.4 48.1 47.2 50.4 50 50ZM50 50C52.8 49.4 55.4 45.8 57.2 39.4C58.6 34.1 56 30 55.7 28.7C54.8 29.6 50.5 32 49.1 37.2C47.4 43.7 47.9 48.1 50 50ZM50 50C52.2 51.7 56.7 51.6 62.8 48.9C67.7 46.7 69.4 42.1 70.1 41.1C68.8 40.9 64.3 39 59.4 41.3C53.3 44 50.2 47.2 50 50Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M55 50C55 52.8 52.8 55 50 55C47.2 55 45 52.8 45 50C45 47.2 47.2 45 50 45C52.8 45 55 47.2 55 50ZM47 46C47 48.2 45.2 50 43 50C40.8 50 39 48.2 39 46C39 43.8 40.8 42 43 42C45.2 42 47 43.8 47 46ZM61 46C61 48.2 59.2 50 57 50C54.8 50 53 48.2 53 46C53 43.8 54.8 42 57 42C59.2 42 61 43.8 61 46ZM48 55C48 57.2 46.2 59 44 59C41.8 59 40 57.2 40 55C40 52.8 41.8 51 44 51C46.2 51 48 52.8 48 55ZM60 55C60 57.2 58.2 59 56 59C53.8 59 52 57.2 52 55C52 52.8 53.8 51 56 51C58.2 51 60 52.8 60 55ZM53.4 42C53.4 43.9 51.9 45.4 50 45.4C48.1 45.4 46.6 43.9 46.6 42C46.6 40.1 48.1 38.6 50 38.6C51.9 38.6 53.4 40.1 53.4 42Z',
|
||||
},
|
||||
{
|
||||
p: '#b5893b',
|
||||
d: 'M49.7 49.4C49.7 49.8 49.4 50.1 49 50.1C48.6 50.1 48.3 49.8 48.3 49.4C48.3 49 48.6 48.7 49 48.7C49.4 48.7 49.7 49 49.7 49.4ZM51.7 50.6C51.7 51 51.4 51.3 51 51.3C50.6 51.3 50.3 51 50.3 50.6C50.3 50.2 50.6 49.9 51 49.9C51.4 49.9 51.7 50.2 51.7 50.6ZM51.2 48.8C51.2 49.1 50.9 49.4 50.6 49.4C50.3 49.4 50 49.1 50 48.8C50 48.5 50.3 48.2 50.6 48.2C50.9 48.2 51.2 48.5 51.2 48.8ZM42.7 45.4C42.7 45.8 42.4 46.1 42 46.1C41.6 46.1 41.3 45.8 41.3 45.4C41.3 45 41.6 44.7 42 44.7C42.4 44.7 42.7 45 42.7 45.4ZM44.7 46.6C44.7 47 44.4 47.3 44 47.3C43.6 47.3 43.3 47 43.3 46.6C43.3 46.2 43.6 45.9 44 45.9C44.4 45.9 44.7 46.2 44.7 46.6ZM44.2 44.8C44.2 45.1 43.9 45.4 43.6 45.4C43.3 45.4 43 45.1 43 44.8C43 44.5 43.3 44.2 43.6 44.2C43.9 44.2 44.2 44.5 44.2 44.8ZM56.7 45.4C56.7 45.8 56.4 46.1 56 46.1C55.6 46.1 55.3 45.8 55.3 45.4C55.3 45 55.6 44.7 56 44.7C56.4 44.7 56.7 45 56.7 45.4ZM58.7 46.6C58.7 47 58.4 47.3 58 47.3C57.6 47.3 57.3 47 57.3 46.6C57.3 46.2 57.6 45.9 58 45.9C58.4 45.9 58.7 46.2 58.7 46.6ZM58.2 44.8C58.2 45.1 57.9 45.4 57.6 45.4C57.3 45.4 57 45.1 57 44.8C57 44.5 57.3 44.2 57.6 44.2C57.9 44.2 58.2 44.5 58.2 44.8ZM43.7 54.4C43.7 54.8 43.4 55.1 43 55.1C42.6 55.1 42.3 54.8 42.3 54.4C42.3 54 42.6 53.7 43 53.7C43.4 53.7 43.7 54 43.7 54.4ZM45.7 55.6C45.7 56 45.4 56.3 45 56.3C44.6 56.3 44.3 56 44.3 55.6C44.3 55.2 44.6 54.9 45 54.9C45.4 54.9 45.7 55.2 45.7 55.6ZM45.2 53.8C45.2 54.1 44.9 54.4 44.6 54.4C44.3 54.4 44 54.1 44 53.8C44 53.5 44.3 53.2 44.6 53.2C44.9 53.2 45.2 53.5 45.2 53.8ZM55.7 54.4C55.7 54.8 55.4 55.1 55 55.1C54.6 55.1 54.3 54.8 54.3 54.4C54.3 54 54.6 53.7 55 53.7C55.4 53.7 55.7 54 55.7 54.4ZM57.7 55.6C57.7 56 57.4 56.3 57 56.3C56.6 56.3 56.3 56 56.3 55.6C56.3 55.2 56.6 54.9 57 54.9C57.4 54.9 57.7 55.2 57.7 55.6ZM57.2 53.8C57.2 54.1 56.9 54.4 56.6 54.4C56.3 54.4 56 54.1 56 53.8C56 53.5 56.3 53.2 56.6 53.2C56.9 53.2 57.2 53.5 57.2 53.8ZM49.7 41.4C49.7 41.8 49.4 42.1 49 42.1C48.6 42.1 48.3 41.8 48.3 41.4C48.3 41 48.6 40.7 49 40.7C49.4 40.7 49.7 41 49.7 41.4ZM51.7 42.6C51.7 43 51.4 43.3 51 43.3C50.6 43.3 50.3 43 50.3 42.6C50.3 42.2 50.6 41.9 51 41.9C51.4 41.9 51.7 42.2 51.7 42.6ZM51.2 40.8C51.2 41.1 50.9 41.4 50.6 41.4C50.3 41.4 50 41.1 50 40.8C50 40.5 50.3 40.2 50.6 40.2C50.9 40.2 51.2 40.5 51.2 40.8Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'hikingBoot',
|
||||
theme: 'mountains',
|
||||
tags: ['hiking boot', 'boot', 'hiking', 'trekking', 'mountain', 'walk', 'trail', 'outdoors'],
|
||||
descr: 'A leather hiking boot with red laces criss-crossing its hooks, a padded collar and a chunky lugged sole.',
|
||||
box: [100, 90],
|
||||
slots: [
|
||||
{ name: 'leather', color: '#a0612e' },
|
||||
{ name: 'laces', color: '#d62828' },
|
||||
{ name: 'sole', color: '#3a3f47' },
|
||||
{ name: 'collar', color: '#e9c46a' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M26 6L56 6C58 6 59 7 59 9L60 44C70 48 84 52 90 58C94 62 94 68 92 72L14 72C10 72 8 70 8 66L10 40C12 30 18 24 22 18Z',
|
||||
},
|
||||
{ p: 3, d: 'M26 6L56 6C58 6 59 7 59 9L59.4 16L24 16Z' },
|
||||
{ p: 'shade', d: 'M58 30L60 44C70 48 84 52 90 58C94 62 94 68 92 72L60 72C68 64 64 48 58 30Z', o: 0.15 },
|
||||
{ p: '#7a4a2b', d: 'M10 56C30 58 60 58 92 64L92 72L14 72C10 72 8 70 8 66Z' },
|
||||
{ p: 'light', d: 'M16 30C18 26 21 22 24 19', o: 0.4, w: 1.6 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M40 22L56 28M40 28L56 22M40 30L56 36M40 36L56 30M40 38L56 44M40 44L56 38M40 46L56 52M40 52L56 46',
|
||||
w: 1.6,
|
||||
},
|
||||
{
|
||||
p: '#c9cdd2',
|
||||
d: 'M40.4 22C40.4 22.8 39.8 23.4 39 23.4C38.2 23.4 37.6 22.8 37.6 22C37.6 21.2 38.2 20.6 39 20.6C39.8 20.6 40.4 21.2 40.4 22ZM58.4 22C58.4 22.8 57.8 23.4 57 23.4C56.2 23.4 55.6 22.8 55.6 22C55.6 21.2 56.2 20.6 57 20.6C57.8 20.6 58.4 21.2 58.4 22ZM40.4 30C40.4 30.8 39.8 31.4 39 31.4C38.2 31.4 37.6 30.8 37.6 30C37.6 29.2 38.2 28.6 39 28.6C39.8 28.6 40.4 29.2 40.4 30ZM58.4 30C58.4 30.8 57.8 31.4 57 31.4C56.2 31.4 55.6 30.8 55.6 30C55.6 29.2 56.2 28.6 57 28.6C57.8 28.6 58.4 29.2 58.4 30ZM40.4 38C40.4 38.8 39.8 39.4 39 39.4C38.2 39.4 37.6 38.8 37.6 38C37.6 37.2 38.2 36.6 39 36.6C39.8 36.6 40.4 37.2 40.4 38ZM58.4 38C58.4 38.8 57.8 39.4 57 39.4C56.2 39.4 55.6 38.8 55.6 38C55.6 37.2 56.2 36.6 57 36.6C57.8 36.6 58.4 37.2 58.4 38ZM40.4 46C40.4 46.8 39.8 47.4 39 47.4C38.2 47.4 37.6 46.8 37.6 46C37.6 45.2 38.2 44.6 39 44.6C39.8 44.6 40.4 45.2 40.4 46ZM58.4 46C58.4 46.8 57.8 47.4 57 47.4C56.2 47.4 55.6 46.8 55.6 46C55.6 45.2 56.2 44.6 57 44.6C57.8 44.6 58.4 45.2 58.4 46ZM40.4 52C40.4 52.8 39.8 53.4 39 53.4C38.2 53.4 37.6 52.8 37.6 52C37.6 51.2 38.2 50.6 39 50.6C39.8 50.6 40.4 51.2 40.4 52ZM58.4 52C58.4 52.8 57.8 53.4 57 53.4C56.2 53.4 55.6 52.8 55.6 52C55.6 51.2 56.2 50.6 57 50.6C57.8 50.6 58.4 51.2 58.4 52Z',
|
||||
},
|
||||
{ p: 1, d: 'M56 22C64 18 70 20 72 26M56 22C60 14 66 12 70 16', w: 1.4 },
|
||||
{ p: 2, d: 'M6 72L94 72C96 72 96 74 96 76L95 80C95 82 93 84 91 84L10 84C7 84 5 82 5 79L5 75C5 73 5.6 72 6 72Z' },
|
||||
{ p: 'light', d: 'M6 72L95 72L95 73.6L6 73.6Z', o: 0.25 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M11 80L14 80C14.6 80 15 80.4 15 81L15 83C15 83.6 14.6 84 14 84L11 84C10.4 84 10 83.6 10 83L10 81C10 80.4 10.4 80 11 80ZM20.4 80L23.4 80C24 80 24.4 80.4 24.4 81L24.4 83C24.4 83.6 24 84 23.4 84L20.4 84C19.8 84 19.4 83.6 19.4 83L19.4 81C19.4 80.4 19.8 80 20.4 80ZM29.8 80L32.8 80C33.4 80 33.8 80.4 33.8 81L33.8 83C33.8 83.6 33.4 84 32.8 84L29.8 84C29.2 84 28.8 83.6 28.8 83L28.8 81C28.8 80.4 29.2 80 29.8 80ZM39.2 80L42.2 80C42.8 80 43.2 80.4 43.2 81L43.2 83C43.2 83.6 42.8 84 42.2 84L39.2 84C38.6 84 38.2 83.6 38.2 83L38.2 81C38.2 80.4 38.6 80 39.2 80ZM48.6 80L51.6 80C52.2 80 52.6 80.4 52.6 81L52.6 83C52.6 83.6 52.2 84 51.6 84L48.6 84C48 84 47.6 83.6 47.6 83L47.6 81C47.6 80.4 48 80 48.6 80ZM58 80L61 80C61.6 80 62 80.4 62 81L62 83C62 83.6 61.6 84 61 84L58 84C57.4 84 57 83.6 57 83L57 81C57 80.4 57.4 80 58 80ZM67.4 80L70.4 80C71 80 71.4 80.4 71.4 81L71.4 83C71.4 83.6 71 84 70.4 84L67.4 84C66.8 84 66.4 83.6 66.4 83L66.4 81C66.4 80.4 66.8 80 67.4 80ZM76.8 80L79.8 80C80.4 80 80.8 80.4 80.8 81L80.8 83C80.8 83.6 80.4 84 79.8 84L76.8 84C76.2 84 75.8 83.6 75.8 83L75.8 81C75.8 80.4 76.2 80 76.8 80ZM86.2 80L89.2 80C89.8 80 90.2 80.4 90.2 81L90.2 83C90.2 83.6 89.8 84 89.2 84L86.2 84C85.6 84 85.2 83.6 85.2 83L85.2 81C85.2 80.4 85.6 80 86.2 80Z',
|
||||
o: 0.4,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'compassRose',
|
||||
theme: 'mountains',
|
||||
tags: ['compass rose', 'compass', 'north', 'navigation', 'map', 'directions', 'nautical', 'adventure'],
|
||||
descr: 'A compass rose with four long two-tone points, four short diagonal ones and a ring with tick marks.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'points', color: '#2b4d6e' },
|
||||
{ name: 'light', color: '#e9dcc0' },
|
||||
{ name: 'north', color: '#d1442f' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M83 50C83 68.2 68.2 83 50 83C31.8 83 17 68.2 17 50C17 31.8 31.8 17 50 17C68.2 17 83 31.8 83 50Z',
|
||||
w: 1.4,
|
||||
},
|
||||
{ p: 0, d: 'M79 50C79 66 66 79 50 79C34 79 21 66 21 50C21 34 34 21 50 21C66 21 79 34 79 50Z', w: 0.6 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M79.6 50L83 50M79 55.8L80.8 56.1M77.3 61.3L79 62M74.6 66.4L76.1 67.4M70.9 70.9L73.3 73.3M66.4 74.6L67.4 76.1M61.3 77.3L62 79M55.8 79L56.1 80.8M50 79.6L50 83M44.2 79L43.9 80.8M38.7 77.3L38 79M33.6 74.6L32.6 76.1M29.1 70.9L26.7 73.3M25.4 66.4L23.9 67.4M22.7 61.3L21 62M21 55.8L19.2 56.1M20.4 50L17 50M21 44.2L19.2 43.9M22.7 38.7L21 38M25.4 33.6L23.9 32.6M29.1 29.1L26.7 26.7M33.6 25.4L32.6 23.9M38.7 22.7L38 21M44.2 21L43.9 19.2M50 20.4L50 17M55.8 21L56.1 19.2M61.3 22.7L62 21M66.4 25.4L67.4 23.9M70.9 29.1L73.3 26.7M74.6 33.6L76.1 32.6M77.3 38.7L79 38M79 44.2L80.8 43.9',
|
||||
w: 0.6,
|
||||
},
|
||||
{ p: 1, d: 'M50 50L59.2 53.9L71.9 71.9Z' },
|
||||
{ p: 0, d: 'M50 50L53.9 59.2L71.9 71.9Z' },
|
||||
{ p: 1, d: 'M50 50L46.1 59.2L28.1 71.9Z' },
|
||||
{ p: 0, d: 'M50 50L40.8 53.9L28.1 71.9Z' },
|
||||
{ p: 1, d: 'M50 50L40.8 46.1L28.1 28.1Z' },
|
||||
{ p: 0, d: 'M50 50L46.1 40.8L28.1 28.1Z' },
|
||||
{ p: 1, d: 'M50 50L53.9 40.8L71.9 28.1Z' },
|
||||
{ p: 0, d: 'M50 50L59.2 46.1L71.9 28.1Z' },
|
||||
{ p: 1, d: 'M50 50L61.1 45.5L97 50Z' },
|
||||
{ p: 0, d: 'M50 50L61.1 54.5L97 50Z' },
|
||||
{ p: 1, d: 'M50 50L54.5 61.1L50 97Z' },
|
||||
{ p: 0, d: 'M50 50L45.5 61.1L50 97Z' },
|
||||
{ p: 1, d: 'M50 50L38.9 54.5L3 50Z' },
|
||||
{ p: 0, d: 'M50 50L38.9 45.5L3 50Z' },
|
||||
{ p: '#f3a59a', d: 'M50 50L45.5 38.9L50 3Z' },
|
||||
{ p: 2, d: 'M50 50L54.5 38.9L50 3Z' },
|
||||
{ p: 1, d: 'M55 50C55 52.8 52.8 55 50 55C47.2 55 45 52.8 45 50C45 47.2 47.2 45 50 45C52.8 45 55 47.2 55 50Z' },
|
||||
{ p: 0, d: 'M52 50C52 51.1 51.1 52 50 52C48.9 52 48 51.1 48 50C48 48.9 48.9 48 50 48C51.1 48 52 48.9 52 50Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,368 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Paper and tape: washi strips, notes, scraps and the little things that hold a scrapbook together. */
|
||||
export const PAPER_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'washiStripes',
|
||||
theme: 'paper',
|
||||
tags: ['stripes', 'striped', 'washi tape', 'tape', 'scrapbook', 'decoration'],
|
||||
descr: 'A strip of washi tape with diagonal stripes and torn zigzag ends.',
|
||||
box: [120, 34],
|
||||
slots: [
|
||||
{ name: 'tape', color: '#f6bd60' },
|
||||
{ name: 'stripes', color: '#fbf8f0' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M6 7.6L117 7.6L113.9 12L117 16.4L114.2 20.8L116.7 25.2L114.2 29.6L6 29.6L5.4 29.6L8.2 25.2L5.7 20.8L7.5 16.4L5.8 12L8.1 7.6Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 6L116 6L112.9 10.4L116 14.8L113.2 19.2L115.7 23.6L113.2 28L5 28L4.4 28L7.2 23.6L4.7 19.2L6.5 14.8L4.8 10.4L7.1 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M10 28L14.4 28L20.4 6L16 6ZM19 28L23.4 28L29.4 6L25 6ZM28 28L32.4 28L38.4 6L34 6ZM37 28L41.4 28L47.4 6L43 6ZM46 28L50.4 28L56.4 6L52 6ZM55 28L59.4 28L65.4 6L61 6ZM64 28L68.4 28L74.4 6L70 6ZM73 28L77.4 28L83.4 6L79 6ZM82 28L86.4 28L92.4 6L88 6ZM91 28L95.4 28L101.4 6L97 6ZM100 28L104.4 28L110.4 6L106 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10.7 7.4L109.3 7.4C109.7 7.4 110 7.7 110 8.1L110 8.1C110 8.5 109.7 8.8 109.3 8.8L10.7 8.8C10.3 8.8 10 8.5 10 8.1L10 8.1C10 7.7 10.3 7.4 10.7 7.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'washiDots',
|
||||
theme: 'paper',
|
||||
tags: ['dots', 'polka dots', 'spots', 'washi tape', 'tape', 'scrapbook', 'decoration'],
|
||||
descr: 'A strip of washi tape with two rows of white polka dots and torn zigzag ends.',
|
||||
box: [120, 34],
|
||||
slots: [
|
||||
{ name: 'tape', color: '#90bede' },
|
||||
{ name: 'dots', color: '#fbf8f0' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M6 7.6L117 7.6L113.9 12L117 16.4L114.2 20.8L116.7 25.2L114.2 29.6L6 29.6L5.4 29.6L8.2 25.2L5.7 20.8L7.5 16.4L5.8 12L8.1 7.6Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 6L116 6L112.9 10.4L116 14.8L113.2 19.2L115.7 23.6L113.2 28L5 28L4.4 28L7.2 23.6L4.7 19.2L6.5 14.8L4.8 10.4L7.1 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M14.2 22C14.2 23.2 13.2 24.2 12 24.2C10.8 24.2 9.8 23.2 9.8 22C9.8 20.8 10.8 19.8 12 19.8C13.2 19.8 14.2 20.8 14.2 22ZM22.2 12C22.2 13.2 21.2 14.2 20 14.2C18.8 14.2 17.8 13.2 17.8 12C17.8 10.8 18.8 9.8 20 9.8C21.2 9.8 22.2 10.8 22.2 12ZM30.2 22C30.2 23.2 29.2 24.2 28 24.2C26.8 24.2 25.8 23.2 25.8 22C25.8 20.8 26.8 19.8 28 19.8C29.2 19.8 30.2 20.8 30.2 22ZM38.2 12C38.2 13.2 37.2 14.2 36 14.2C34.8 14.2 33.8 13.2 33.8 12C33.8 10.8 34.8 9.8 36 9.8C37.2 9.8 38.2 10.8 38.2 12ZM46.2 22C46.2 23.2 45.2 24.2 44 24.2C42.8 24.2 41.8 23.2 41.8 22C41.8 20.8 42.8 19.8 44 19.8C45.2 19.8 46.2 20.8 46.2 22ZM54.2 12C54.2 13.2 53.2 14.2 52 14.2C50.8 14.2 49.8 13.2 49.8 12C49.8 10.8 50.8 9.8 52 9.8C53.2 9.8 54.2 10.8 54.2 12ZM62.2 22C62.2 23.2 61.2 24.2 60 24.2C58.8 24.2 57.8 23.2 57.8 22C57.8 20.8 58.8 19.8 60 19.8C61.2 19.8 62.2 20.8 62.2 22ZM70.2 12C70.2 13.2 69.2 14.2 68 14.2C66.8 14.2 65.8 13.2 65.8 12C65.8 10.8 66.8 9.8 68 9.8C69.2 9.8 70.2 10.8 70.2 12ZM78.2 22C78.2 23.2 77.2 24.2 76 24.2C74.8 24.2 73.8 23.2 73.8 22C73.8 20.8 74.8 19.8 76 19.8C77.2 19.8 78.2 20.8 78.2 22ZM86.2 12C86.2 13.2 85.2 14.2 84 14.2C82.8 14.2 81.8 13.2 81.8 12C81.8 10.8 82.8 9.8 84 9.8C85.2 9.8 86.2 10.8 86.2 12ZM94.2 22C94.2 23.2 93.2 24.2 92 24.2C90.8 24.2 89.8 23.2 89.8 22C89.8 20.8 90.8 19.8 92 19.8C93.2 19.8 94.2 20.8 94.2 22ZM102.2 12C102.2 13.2 101.2 14.2 100 14.2C98.8 14.2 97.8 13.2 97.8 12C97.8 10.8 98.8 9.8 100 9.8C101.2 9.8 102.2 10.8 102.2 12ZM110.2 22C110.2 23.2 109.2 24.2 108 24.2C106.8 24.2 105.8 23.2 105.8 22C105.8 20.8 106.8 19.8 108 19.8C109.2 19.8 110.2 20.8 110.2 22Z',
|
||||
o: 0.95,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10.7 7.4L109.3 7.4C109.7 7.4 110 7.7 110 8.1L110 8.1C110 8.5 109.7 8.8 109.3 8.8L10.7 8.8C10.3 8.8 10 8.5 10 8.1L10 8.1C10 7.7 10.3 7.4 10.7 7.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'washiGingham',
|
||||
theme: 'paper',
|
||||
tags: ['gingham', 'check', 'picnic', 'plaid', 'washi tape', 'tape', 'scrapbook', 'decoration'],
|
||||
descr: 'A strip of red gingham washi tape, its checks woven in two translucent directions.',
|
||||
box: [120, 34],
|
||||
slots: [
|
||||
{ name: 'tape', color: '#f7d9d9' },
|
||||
{ name: 'check', color: '#d64045' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M6 7.6L117 7.6L113.9 12L117 16.4L114.2 20.8L116.7 25.2L114.2 29.6L6 29.6L5.4 29.6L8.2 25.2L5.7 20.8L7.5 16.4L5.8 12L8.1 7.6Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 6L116 6L112.9 10.4L116 14.8L113.2 19.2L115.7 23.6L113.2 28L5 28L4.4 28L7.2 23.6L4.7 19.2L6.5 14.8L4.8 10.4L7.1 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M10 6L14 6L14 28L10 28ZM18 6L22 6L22 28L18 28ZM26 6L30 6L30 28L26 28ZM34 6L38 6L38 28L34 28ZM42 6L46 6L46 28L42 28ZM50 6L54 6L54 28L50 28ZM58 6L62 6L62 28L58 28ZM66 6L70 6L70 28L66 28ZM74 6L78 6L78 28L74 28ZM82 6L86 6L86 28L82 28ZM90 6L94 6L94 28L90 28ZM98 6L102 6L102 28L98 28ZM106 6L110 6L110 28L106 28Z',
|
||||
o: 0.45,
|
||||
},
|
||||
{ p: 1, d: 'M7 8L113 8L113 12L7 12ZM7 16L113 16L113 20L7 20ZM7 24L113 24L113 28L7 28Z', o: 0.45 },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10.7 7.4L109.3 7.4C109.7 7.4 110 7.7 110 8.1L110 8.1C110 8.5 109.7 8.8 109.3 8.8L10.7 8.8C10.3 8.8 10 8.5 10 8.1L10 8.1C10 7.7 10.3 7.4 10.7 7.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'washiFloral',
|
||||
theme: 'paper',
|
||||
tags: ['floral', 'flowers', 'botanical', 'spring', 'washi tape', 'tape', 'scrapbook', 'decoration'],
|
||||
descr: 'A strip of washi tape printed with little five-petal flowers and leaves on a cream ground.',
|
||||
box: [120, 34],
|
||||
slots: [
|
||||
{ name: 'tape', color: '#f3ead8' },
|
||||
{ name: 'flowers', color: '#ef8a9a' },
|
||||
{ name: 'leaves', color: '#7fb069' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M6 7.6L117 7.6L113.9 12L117 16.4L114.2 20.8L116.7 25.2L114.2 29.6L6 29.6L5.4 29.6L8.2 25.2L5.7 20.8L7.5 16.4L5.8 12L8.1 7.6Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 6L116 6L112.9 10.4L116 14.8L113.2 19.2L115.7 23.6L113.2 28L5 28L4.4 28L7.2 23.6L4.7 19.2L6.5 14.8L4.8 10.4L7.1 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M22 13C22 13.4 22 14.8 23.1 15.9C24.2 17 25.6 16.9 26 17C25.9 16.6 26 15.2 24.9 14.1C23.8 13 22.4 13 22 13ZM38 21C38.4 21 39.8 21 40.9 19.9C42 18.8 41.9 17.4 42 17C41.6 17.1 40.2 17 39.1 18.1C38 19.2 38 20.6 38 21ZM54 13C54 13.4 54 14.8 55.1 15.9C56.2 17 57.6 16.9 58 17C57.9 16.6 58 15.2 56.9 14.1C55.8 13 54.4 13 54 13ZM70 21C70.4 21 71.8 21 72.9 19.9C74 18.8 73.9 17.4 74 17C73.6 17.1 72.2 17 71.1 18.1C70 19.2 70 20.6 70 21ZM86 13C86 13.4 86 14.8 87.1 15.9C88.2 17 89.6 16.9 90 17C89.9 16.6 90 15.2 88.9 14.1C87.8 13 86.4 13 86 13ZM102 21C102.4 21 103.8 21 104.9 19.9C106 18.8 105.9 17.4 106 17C105.6 17.1 104.2 17 103.1 18.1C102 19.2 102 20.6 102 21Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18.7 21C18.7 22.2 17.8 23.1 16.6 23.1C15.4 23.1 14.5 22.2 14.5 21C14.5 19.8 15.4 18.9 16.6 18.9C17.8 18.9 18.7 19.8 18.7 21ZM16.9 23.5C16.9 24.6 16 25.6 14.8 25.6C13.6 25.6 12.7 24.6 12.7 23.5C12.7 22.3 13.6 21.4 14.8 21.4C16 21.4 16.9 22.3 16.9 23.5ZM14 22.5C14 23.7 13.1 24.6 11.9 24.6C10.7 24.6 9.8 23.7 9.8 22.5C9.8 21.4 10.7 20.4 11.9 20.4C13.1 20.4 14 21.4 14 22.5ZM14 19.5C14 20.6 13.1 21.6 11.9 21.6C10.7 21.6 9.8 20.6 9.8 19.5C9.8 18.3 10.7 17.4 11.9 17.4C13.1 17.4 14 18.3 14 19.5ZM16.9 18.5C16.9 19.7 16 20.6 14.8 20.6C13.6 20.6 12.7 19.7 12.7 18.5C12.7 17.4 13.6 16.4 14.8 16.4C16 16.4 16.9 17.4 16.9 18.5ZM34.5 13.9C34.5 15 33.6 16 32.4 16C31.3 16 30.3 15 30.3 13.9C30.3 12.7 31.3 11.8 32.4 11.8C33.6 11.8 34.5 12.7 34.5 13.9ZM32 15.6C32 16.8 31.1 17.7 29.9 17.7C28.7 17.7 27.8 16.8 27.8 15.6C27.8 14.4 28.7 13.5 29.9 13.5C31.1 13.5 32 14.4 32 15.6ZM29.6 13.7C29.6 14.9 28.7 15.8 27.5 15.8C26.3 15.8 25.4 14.9 25.4 13.7C25.4 12.6 26.3 11.6 27.5 11.6C28.7 11.6 29.6 12.6 29.6 13.7ZM30.6 10.8C30.6 12 29.7 12.9 28.5 12.9C27.4 12.9 26.4 12 26.4 10.8C26.4 9.7 27.4 8.7 28.5 8.7C29.7 8.7 30.6 9.7 30.6 10.8ZM33.7 11C33.7 12.1 32.8 13.1 31.6 13.1C30.4 13.1 29.5 12.1 29.5 11C29.5 9.8 30.4 8.9 31.6 8.9C32.8 8.9 33.7 9.8 33.7 11ZM50.1 22.7C50.1 23.8 49.2 24.8 48 24.8C46.8 24.8 45.9 23.8 45.9 22.7C45.9 21.5 46.8 20.6 48 20.6C49.2 20.6 50.1 21.5 50.1 22.7ZM47.1 23.4C47.1 24.6 46.2 25.5 45 25.5C43.9 25.5 42.9 24.6 42.9 23.4C42.9 22.3 43.9 21.3 45 21.3C46.2 21.3 47.1 22.3 47.1 23.4ZM45.5 20.8C45.5 22 44.6 22.9 43.4 22.9C42.2 22.9 41.3 22 41.3 20.8C41.3 19.7 42.2 18.7 43.4 18.7C44.6 18.7 45.5 19.7 45.5 20.8ZM47.5 18.5C47.5 19.6 46.5 20.6 45.4 20.6C44.2 20.6 43.3 19.6 43.3 18.5C43.3 17.3 44.2 16.4 45.4 16.4C46.5 16.4 47.5 17.3 47.5 18.5ZM50.3 19.6C50.3 20.8 49.4 21.7 48.2 21.7C47 21.7 46.1 20.8 46.1 19.6C46.1 18.5 47 17.5 48.2 17.5C49.4 17.5 50.3 18.5 50.3 19.6ZM65.4 15.3C65.4 16.4 64.5 17.4 63.3 17.4C62.1 17.4 61.2 16.4 61.2 15.3C61.2 14.1 62.1 13.2 63.3 13.2C64.5 13.2 65.4 14.1 65.4 15.3ZM62.4 14.9C62.4 16.1 61.4 17 60.3 17C59.1 17 58.2 16.1 58.2 14.9C58.2 13.8 59.1 12.8 60.3 12.8C61.4 12.8 62.4 13.8 62.4 14.9ZM61.7 11.9C61.7 13.1 60.8 14 59.6 14C58.5 14 57.5 13.1 57.5 11.9C57.5 10.8 58.5 9.8 59.6 9.8C60.8 9.8 61.7 10.8 61.7 11.9ZM64.4 10.4C64.4 11.6 63.4 12.5 62.3 12.5C61.1 12.5 60.2 11.6 60.2 10.4C60.2 9.3 61.1 8.3 62.3 8.3C63.4 8.3 64.4 9.3 64.4 10.4ZM66.6 12.5C66.6 13.6 65.7 14.6 64.5 14.6C63.4 14.6 62.4 13.6 62.4 12.5C62.4 11.3 63.4 10.4 64.5 10.4C65.7 10.4 66.6 11.3 66.6 12.5ZM80.6 23.6C80.6 24.7 79.6 25.7 78.5 25.7C77.3 25.7 76.4 24.7 76.4 23.6C76.4 22.4 77.3 21.5 78.5 21.5C79.6 21.5 80.6 22.4 80.6 23.6ZM77.8 22.2C77.8 23.4 76.9 24.3 75.7 24.3C74.5 24.3 73.6 23.4 73.6 22.2C73.6 21.1 74.5 20.1 75.7 20.1C76.9 20.1 77.8 21.1 77.8 22.2ZM78.2 19.2C78.2 20.4 77.3 21.3 76.1 21.3C75 21.3 74 20.4 74 19.2C74 18 75 17.1 76.1 17.1C77.3 17.1 78.2 18 78.2 19.2ZM81.2 18.7C81.2 19.8 80.3 20.8 79.1 20.8C78 20.8 77 19.8 77 18.7C77 17.5 78 16.6 79.1 16.6C80.3 16.6 81.2 17.5 81.2 18.7ZM82.7 21.4C82.7 22.5 81.7 23.5 80.6 23.5C79.4 23.5 78.5 22.5 78.5 21.4C78.5 20.2 79.4 19.3 80.6 19.3C81.7 19.3 82.7 20.2 82.7 21.4ZM95.6 15.6C95.6 16.7 94.7 17.7 93.5 17.7C92.4 17.7 91.4 16.7 91.4 15.6C91.4 14.4 92.4 13.5 93.5 13.5C94.7 13.5 95.6 14.4 95.6 15.6ZM93.5 13.4C93.5 14.5 92.6 15.5 91.4 15.5C90.3 15.5 89.3 14.5 89.3 13.4C89.3 12.2 90.3 11.3 91.4 11.3C92.6 11.3 93.5 12.2 93.5 13.4ZM95 10.7C95 11.8 94 12.8 92.9 12.8C91.7 12.8 90.8 11.8 90.8 10.7C90.8 9.5 91.7 8.6 92.9 8.6C94 8.6 95 9.5 95 10.7ZM98 11.2C98 12.4 97 13.3 95.9 13.3C94.7 13.3 93.8 12.4 93.8 11.2C93.8 10 94.7 9.1 95.9 9.1C97 9.1 98 10 98 11.2ZM98.4 14.2C98.4 15.4 97.5 16.3 96.3 16.3C95.1 16.3 94.2 15.4 94.2 14.2C94.2 13.1 95.1 12.1 96.3 12.1C97.5 12.1 98.4 13.1 98.4 14.2Z',
|
||||
},
|
||||
{
|
||||
p: '#f6c445',
|
||||
d: 'M15.3 21C15.3 21.7 14.7 22.3 14 22.3C13.3 22.3 12.7 21.7 12.7 21C12.7 20.3 13.3 19.7 14 19.7C14.7 19.7 15.3 20.3 15.3 21ZM31.3 13C31.3 13.7 30.7 14.3 30 14.3C29.3 14.3 28.7 13.7 28.7 13C28.7 12.3 29.3 11.7 30 11.7C30.7 11.7 31.3 12.3 31.3 13ZM47.3 21C47.3 21.7 46.7 22.3 46 22.3C45.3 22.3 44.7 21.7 44.7 21C44.7 20.3 45.3 19.7 46 19.7C46.7 19.7 47.3 20.3 47.3 21ZM63.3 13C63.3 13.7 62.7 14.3 62 14.3C61.3 14.3 60.7 13.7 60.7 13C60.7 12.3 61.3 11.7 62 11.7C62.7 11.7 63.3 12.3 63.3 13ZM79.3 21C79.3 21.7 78.7 22.3 78 22.3C77.3 22.3 76.7 21.7 76.7 21C76.7 20.3 77.3 19.7 78 19.7C78.7 19.7 79.3 20.3 79.3 21ZM95.3 13C95.3 13.7 94.7 14.3 94 14.3C93.3 14.3 92.7 13.7 92.7 13C92.7 12.3 93.3 11.7 94 11.7C94.7 11.7 95.3 12.3 95.3 13Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10.7 7.4L109.3 7.4C109.7 7.4 110 7.7 110 8.1L110 8.1C110 8.5 109.7 8.8 109.3 8.8L10.7 8.8C10.3 8.8 10 8.5 10 8.1L10 8.1C10 7.7 10.3 7.4 10.7 7.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'washiKraft',
|
||||
theme: 'paper',
|
||||
tags: ['kraft', 'brown', 'plain', 'paper tape', 'washi tape', 'tape', 'scrapbook', 'decoration'],
|
||||
descr: 'A strip of plain brown kraft paper tape with visible fibres and torn zigzag ends.',
|
||||
box: [120, 34],
|
||||
slots: [{ name: 'tape', color: '#c89b6d' }],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M6 7.6L117 7.6L113.9 12L117 16.4L114.2 20.8L116.7 25.2L114.2 29.6L6 29.6L5.4 29.6L8.2 25.2L5.7 20.8L7.5 16.4L5.8 12L8.1 7.6Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M5 6L116 6L112.9 10.4L116 14.8L113.2 19.2L115.7 23.6L113.2 28L5 28L4.4 28L7.2 23.6L4.7 19.2L6.5 14.8L4.8 10.4L7.1 6Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M8 18.7L13.2 18.4M100.2 24.8L104.7 24.6M13.7 16.2L18.5 16.2M63.8 11.9L69.3 12.3M45.4 20.5L49 20.8M53.3 22.3L57.7 22M70.6 13.1L75.8 13.6M24.6 17.3L31.4 17.6M40.9 10.6L47.2 10.5M62 10.1L65.7 10.5M105.2 13.4L112.1 13.4M90.1 10.1L96.4 10.2M25.9 22.6L30.7 22.4M107.5 18L114.2 18.2M89.6 15.3L94.3 15.3M52.2 23.7L57.8 23.9M100.7 16.5L105 16.5M51.4 12L57.5 11.7M72.4 13.6L77.6 13.4M40.3 11.1L45.9 11.1M84 11.1L88.7 10.6M63.6 9.5L67.1 9.1M74.1 22.6L78.4 22.5M49.9 8.3L54.9 8.8M21.6 9.6L24.6 9.8M41 9.4L44.7 9.2',
|
||||
o: 0.25,
|
||||
w: 0.4,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10.7 7.4L109.3 7.4C109.7 7.4 110 7.7 110 8.1L110 8.1C110 8.5 109.7 8.8 109.3 8.8L10.7 8.8C10.3 8.8 10 8.5 10 8.1L10 8.1C10 7.7 10.3 7.4 10.7 7.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'maskingTape',
|
||||
theme: 'paper',
|
||||
tags: ['masking tape', 'tape', 'scrapbook', 'beige', 'collage', 'paper', 'decoration', 'hold'],
|
||||
descr:
|
||||
'A short piece of beige masking tape laid at a slant, with roughly torn ends, for pinning a photo to the page.',
|
||||
box: [80, 40],
|
||||
slots: [{ name: 'tape', color: '#e9dcc0' }],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M9.8 18.7L73.2 9.8L71.9 16L74.8 21.7L74.4 27.8L11.4 36.6L11.4 36.6L11 30.6L9.1 24.8L8.6 18.8Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M7.1 16.5L70.4 7.6L69.1 13.9L72 19.5L71.6 25.6L8.6 34.5L8.7 34.5L8.2 28.5L6.3 22.7L5.9 16.7Z',
|
||||
o: 0.92,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10 18.1L66.1 10.3C66.4 10.2 66.8 10.5 66.9 10.9L66.9 10.9C66.9 11.2 66.6 11.6 66.3 11.7L10.2 19.5C9.8 19.6 9.5 19.3 9.4 18.9L9.4 18.9C9.4 18.6 9.6 18.2 10 18.1Z',
|
||||
o: 0.4,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M11.4 19L13.6 19.7M17.8 20.9L19.9 21.6M23.3 17.5L25.5 18.2M29.5 18.1L31.6 18.8M35.4 16.7L37.5 17.4M41.3 16.1L43.5 16.8M47.3 15.8L49.5 16.5M53.1 13.6L55.2 14.3M59.1 13.3L61.2 14M65.1 13L67.3 13.8',
|
||||
o: 0.18,
|
||||
w: 0.4,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'tornPaper',
|
||||
theme: 'paper',
|
||||
tags: ['torn paper', 'paper strip', 'scrap', 'collage', 'label', 'scrapbook', 'note', 'white'],
|
||||
descr: 'A strip of white paper with torn, fibrous long edges, for laying words over a photo.',
|
||||
box: [120, 40],
|
||||
slots: [
|
||||
{ name: 'paper', color: '#fbf8f0' },
|
||||
{ name: 'fibre', color: '#e7dfcf' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M5 10.6L8.7 10L12.5 10.3L16.2 10.8L19.9 9.3L23.7 9.9L27.4 10.5L31.1 11.9L34.9 11.4L38.6 9.4L42.3 12L46.1 11.4L49.8 10.2L53.5 11.8L57.3 10.2L61 10.9L64.7 9.8L68.5 11.2L72.2 10.6L75.9 10.9L79.7 10.1L83.4 9.2L87.1 9.9L90.9 10.4L94.6 8.8L98.3 9.3L102.1 10.1L105.8 12L109.5 11.1L113.3 9.7L117 10.1L117 35.7L113.3 35.9L109.5 34.6L105.8 33.4L102.1 34.1L98.3 33.7L94.6 35.1L90.9 36L87.1 34.1L83.4 33.3L79.7 32.8L75.9 34.4L72.2 33.9L68.5 33.2L64.7 34.1L61 34.9L57.3 34.6L53.5 35.2L49.8 33.8L46.1 34.9L42.3 34.2L38.6 35.8L34.9 34.2L31.1 35.4L27.4 36L23.7 33.4L19.9 35.4L16.2 35.9L12.5 34.5L8.7 33.9L5 33.3Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M4 8.2L7.7 7.6L11.5 7.9L15.2 8.4L18.9 6.9L22.7 7.5L26.4 8.1L30.1 9.5L33.9 9L37.6 7L41.3 9.6L45.1 9L48.8 7.8L52.5 9.4L56.3 7.8L60 8.5L63.7 7.4L67.5 8.8L71.2 8.2L74.9 8.5L78.7 7.7L82.4 6.8L86.1 7.5L89.9 8L93.6 6.4L97.3 6.9L101.1 7.7L104.8 9.6L108.5 8.7L112.3 7.3L116 7.7L116 33.3L112.3 33.5L108.5 32.2L104.8 31L101.1 31.7L97.3 31.3L93.6 32.7L89.9 33.6L86.1 31.7L82.4 30.9L78.7 30.4L74.9 32L71.2 31.5L67.5 30.8L63.7 31.7L60 32.5L56.3 32.2L52.5 32.8L48.8 31.4L45.1 32.5L41.3 31.8L37.6 33.4L33.9 31.8L30.1 33L26.4 33.6L22.7 31L18.9 33L15.2 33.5L11.5 32.1L7.7 31.5L4 30.9Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M4 10.2L7.7 8.6L11.5 10.6L15.2 10.2L18.9 9.3L22.7 10.4L26.4 9.2L30.1 9.7L33.9 9L37.6 10L41.3 9.5L45.1 9.8L48.8 9.2L52.5 8.5L56.3 9L60 9.4L63.7 8.2L67.5 8.6L71.2 9.2L74.9 10.6L78.7 9.9L82.4 8.9L86.1 9.2L89.9 8.7L93.6 9.6L97.3 10.6L101.1 10.4L104.8 9.3L108.5 10L112.3 9.6L116 10.4L116 31.3L112.3 31.1L108.5 29.9L104.8 30.5L101.1 31.6L97.3 30.8L93.6 31.2L89.9 30.5L86.1 31.6L82.4 31.8L78.7 30.8L74.9 29.9L71.2 30.4L67.5 30.1L63.7 31.1L60 31.8L56.3 30.4L52.5 29.8L48.8 29.4L45.1 30.6L41.3 30.2L37.6 29.7L33.9 30.4L30.1 31L26.4 30.7L22.7 31.2L18.9 30.2L15.2 30.9L11.5 30.4L7.7 31.6L4 30.5Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'stickyNote',
|
||||
theme: 'paper',
|
||||
tags: ['sticky note', 'post it', 'note', 'memo', 'yellow', 'paper', 'reminder', 'scrapbook'],
|
||||
descr: 'A square yellow sticky note with its bottom corner curling up and a soft shadow under the curl.',
|
||||
box: [90, 90],
|
||||
slots: [
|
||||
{ name: 'note', color: '#ffe066' },
|
||||
{ name: 'band', color: '#f9c74f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 'shade', d: 'M11.6 14.4L83.6 12.4L85.6 68.4C81.6 76.4 75.6 82.4 67.6 86.4L13.6 88.4Z', o: 0.14 },
|
||||
{ p: 0, d: 'M8 10L82 8L82 64C78 72 72 78 64 82L10 84Z' },
|
||||
{ p: 1, d: 'M8 10L82 8L82 18L8 20Z', o: 0.6 },
|
||||
{ p: 'shade', d: 'M82 64C78 72 72 78 64 82C66 76 66 70 64 66C70 66 76 66 82 64Z', o: 0.12 },
|
||||
{ p: 'light', d: 'M82 64C76 66 70 66 64 66C66 70 66 76 64 82C70 76 76 70 82 64Z', o: 0.5 },
|
||||
{ p: 'shade', d: 'M16 34L68 34L68 35L16 35ZM16 46L68 46L68 47L16 47ZM16 58L56 58L56 59L16 59Z', o: 0.12 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'notebookPaper',
|
||||
theme: 'paper',
|
||||
tags: ['notebook', 'lined paper', 'journal', 'notes', 'diary', 'school', 'scrap', 'paper'],
|
||||
descr: 'A torn-out notebook page with blue ruled lines, a red margin and the ragged holes of the spiral binding.',
|
||||
box: [90, 100],
|
||||
slots: [
|
||||
{ name: 'paper', color: '#fbf8f0' },
|
||||
{ name: 'lines', color: '#8ecae6' },
|
||||
{ name: 'margin', color: '#e76f51' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M10.3 96L9.1 91.6L10 87.2L9.4 82.8L10.8 78.4L9.4 74L10.5 69.6L11 65.2L8.7 60.8L10.5 56.4L10.9 52L9.7 47.6L9.1 43.2L8.7 38.8L10 34.4L9.5 30L9.2 25.6L9.8 21.2L8.4 16.8L10.8 12.4L8.2 8L9.6 8L87.6 8L87.6 96Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M10 4L84 4L84 94L6.6 94L9.2 89.5L6.8 85L8.2 80.5L7.6 76L7.9 71.5L8.4 67L7.1 62.5L7.5 58L8.1 53.5L9.3 49L8.9 44.5L7.1 40L9.4 35.5L8.9 31L7.8 26.5L9.2 22L7.8 17.5L8.4 13L7.5 8.5L8.7 4Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M10 22L84 22L84 22.7L10 22.7ZM10 29L84 29L84 29.7L10 29.7ZM10 36L84 36L84 36.7L10 36.7ZM10 43L84 43L84 43.7L10 43.7ZM10 50L84 50L84 50.7L10 50.7ZM10 57L84 57L84 57.7L10 57.7ZM10 64L84 64L84 64.7L10 64.7ZM10 71L84 71L84 71.7L10 71.7ZM10 78L84 78L84 78.7L10 78.7ZM10 85L84 85L84 85.7L10 85.7ZM10 92L84 92L84 92.7L10 92.7Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{ p: 2, d: 'M22 4L22.8 4L22.8 94L22 94Z', o: 0.8 },
|
||||
{
|
||||
p: '#e9e2d2',
|
||||
d: 'M16.4 10C16.4 10.9 15.3 11.6 14 11.6C12.7 11.6 11.6 10.9 11.6 10C11.6 9.1 12.7 8.4 14 8.4C15.3 8.4 16.4 9.1 16.4 10ZM16.4 20C16.4 20.9 15.3 21.6 14 21.6C12.7 21.6 11.6 20.9 11.6 20C11.6 19.1 12.7 18.4 14 18.4C15.3 18.4 16.4 19.1 16.4 20ZM16.4 30C16.4 30.9 15.3 31.6 14 31.6C12.7 31.6 11.6 30.9 11.6 30C11.6 29.1 12.7 28.4 14 28.4C15.3 28.4 16.4 29.1 16.4 30ZM16.4 40C16.4 40.9 15.3 41.6 14 41.6C12.7 41.6 11.6 40.9 11.6 40C11.6 39.1 12.7 38.4 14 38.4C15.3 38.4 16.4 39.1 16.4 40ZM16.4 50C16.4 50.9 15.3 51.6 14 51.6C12.7 51.6 11.6 50.9 11.6 50C11.6 49.1 12.7 48.4 14 48.4C15.3 48.4 16.4 49.1 16.4 50ZM16.4 60C16.4 60.9 15.3 61.6 14 61.6C12.7 61.6 11.6 60.9 11.6 60C11.6 59.1 12.7 58.4 14 58.4C15.3 58.4 16.4 59.1 16.4 60ZM16.4 70C16.4 70.9 15.3 71.6 14 71.6C12.7 71.6 11.6 70.9 11.6 70C11.6 69.1 12.7 68.4 14 68.4C15.3 68.4 16.4 69.1 16.4 70ZM16.4 80C16.4 80.9 15.3 81.6 14 81.6C12.7 81.6 11.6 80.9 11.6 80C11.6 79.1 12.7 78.4 14 78.4C15.3 78.4 16.4 79.1 16.4 80ZM16.4 90C16.4 90.9 15.3 91.6 14 91.6C12.7 91.6 11.6 90.9 11.6 90C11.6 89.1 12.7 88.4 14 88.4C15.3 88.4 16.4 89.1 16.4 90Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'photoCorners',
|
||||
theme: 'paper',
|
||||
tags: ['photo corners', 'album', 'scrapbook', 'vintage', 'frame', 'mount', 'corners', 'photo'],
|
||||
descr: 'Four black photo mounting corners set at the corners of a frame, to place over the corners of a photo.',
|
||||
box: [100, 76],
|
||||
slots: [{ name: 'corners', color: '#2b2522' }],
|
||||
layers: [
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M2.8 3L20.8 3L2.8 21ZM98.8 3L98.8 21L80.8 3ZM98.8 75L80.8 75L98.8 57ZM2.8 75L2.8 57L20.8 75Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{ p: 0, d: 'M2 2L20 2L2 20ZM98 2L98 20L80 2ZM98 74L80 74L98 56ZM2 74L2 56L20 74Z' },
|
||||
{ p: 'light', d: 'M6 15L15 6M85 6L94 15M94 61L85 70M15 70L6 61', o: 0.35, w: 0.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'paperClip',
|
||||
theme: 'paper',
|
||||
tags: ['paper clip', 'clip', 'office', 'note', 'attach', 'scrapbook', 'metal', 'stationery'],
|
||||
descr: 'A bent wire paper clip lying at a slant, ready to pin a note or a ticket to the page.',
|
||||
box: [40, 100],
|
||||
slots: [{ name: 'wire', color: '#8d99ae' }],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M26.7 30.8L20.1 78.3C19 86.2 7.1 84.5 8.2 76.6L16.5 17.2C18.2 5.3 38 8.1 36.3 20L27.2 85.3C25.2 99.2-0.5 95.6 1.4 81.7L7.5 38.1',
|
||||
w: 2.6,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M26.2 30.3L19.6 77.8C18.5 85.7 6.6 84 7.7 76.1L16 16.7C17.7 4.8 37.5 7.6 35.8 19.5L26.7 84.8C24.7 98.7-1 95.1 0.9 81.2L7 37.6',
|
||||
o: 0.6,
|
||||
w: 0.7,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sewnLabel',
|
||||
theme: 'paper',
|
||||
tags: ['label', 'tag', 'banner', 'stitched', 'fabric', 'sewn', 'badge', 'title'],
|
||||
descr: 'A fabric label with folded-in notched ends and a dashed stitched border, for a title or a date.',
|
||||
box: [120, 44],
|
||||
slots: [
|
||||
{ name: 'fabric', color: '#e76f51' },
|
||||
{ name: 'stitch', color: '#fbf8f0' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 'shade', d: 'M2 10L14 10L14 36L2 36L8 23ZM118 10L106 10L106 36L118 36L112 23Z', o: 0.3 },
|
||||
{ p: 0, d: 'M2 10L14 10L14 36L2 36L8 23ZM118 10L106 10L106 36L118 36L112 23Z' },
|
||||
{ p: 'shade', d: 'M14 36L18 40L18 36ZM106 36L102 40L102 36Z', o: 0.5 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M15.6 6L104.4 6C105.3 6 106 6.7 106 7.6L106 34.4C106 35.3 105.3 36 104.4 36L15.6 36C14.7 36 14 35.3 14 34.4L14 7.6C14 6.7 14.7 6 15.6 6Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M18 10L20.6 10M22.4 10L25 10M26.8 10L29.4 10M31.2 10L33.8 10M35.6 10L38.2 10M40 10L42.6 10M44.4 10L47 10M48.8 10L51.4 10M53.2 10L55.8 10M57.6 10L60.2 10M62 10L64.6 10M66.4 10L69 10M70.8 10L73.4 10M75.2 10L77.8 10M79.6 10L82.2 10M84 10L86.6 10M88.4 10L91 10M92.8 10L95.4 10M97.2 10L99.8 10M101.6 10L102 10L102 12.2M102 14L102 16.6M102 18.4L102 21M102 22.8L102 25.4M102 27.2L102 29.8M102 31.6L102 32L99.8 32M98 32L95.4 32M93.6 32L91 32M89.2 32L86.6 32M84.8 32L82.2 32M80.4 32L77.8 32M76 32L73.4 32M71.6 32L69 32M67.2 32L64.6 32M62.8 32L60.2 32M58.4 32L55.8 32M54 32L51.4 32M49.6 32L47 32M45.2 32L42.6 32M40.8 32L38.2 32M36.4 32L33.8 32M32 32L29.4 32M27.6 32L25 32M23.2 32L20.6 32M18.8 32L18 32L18 30.2M18 28.4L18 25.8M18 24L18 21.4M18 19.6L18 17M18 15.2L18 12.6M18 10.8L18 10',
|
||||
o: 0.95,
|
||||
w: 0.9,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M15 6L105 6C105.6 6 106 6.4 106 7L106 8C106 8.6 105.6 9 105 9L15 9C14.4 9 14 8.6 14 8L14 7C14 6.4 14.4 6 15 6Z',
|
||||
o: 0.25,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,539 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Sea and coast: waves, shells, boats and the things a beach day is made of. */
|
||||
export const SEA_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'waves',
|
||||
theme: 'sea',
|
||||
tags: ['waves', 'sea', 'ocean', 'surf', 'water', 'beach', 'coast', 'japanese'],
|
||||
descr: 'Three curling ocean waves in rows of deep and light blue with white foam lines, in a Japanese print style.',
|
||||
box: [120, 70],
|
||||
slots: [
|
||||
{ name: 'deep', color: '#1d4e89' },
|
||||
{ name: 'mid', color: '#3f88c5' },
|
||||
{ name: 'foam', color: '#f1f7fb' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M2 44C15.2 44 20.5 29 26.6 18.2C31 11 41.6 12.2 43.4 20.6C44.2 25.4 39.8 27.8 36.3 25.4C39 21.8 35.4 18.2 32.8 21.2C31 29 37.2 38 46 44ZM40 44C53.2 44 58.5 27 64.6 14.8C69 6.6 79.6 8 81.4 17.5C82.2 22.9 77.8 25.6 74.3 22.9C77 18.8 73.4 14.8 70.8 18.2C69 27 75.2 37.2 84 44ZM78 44C90.6 44 95.6 30 101.5 19.9C105.7 13.2 115.8 14.3 117.5 22.2C118.3 26.6 114.1 28.9 110.8 26.6C113.3 23.3 109.9 19.9 107.4 22.7C105.7 30 111.6 38.4 120 44Z',
|
||||
},
|
||||
{ p: 1, d: 'M2 43L120 43L120 47L2 47Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M2 44C15.2 44 20.5 29 26.6 18.2C31 11 41.6 12.2 43.4 20.6C44.2 25.4 39.8 27.8 36.3 25.4C39 21.8 35.4 18.2 32.8 21.2C31 29 37.2 38 46 44ZM40 44C53.2 44 58.5 27 64.6 14.8C69 6.6 79.6 8 81.4 17.5C82.2 22.9 77.8 25.6 74.3 22.9C77 18.8 73.4 14.8 70.8 18.2C69 27 75.2 37.2 84 44ZM78 44C90.6 44 95.6 30 101.5 19.9C105.7 13.2 115.8 14.3 117.5 22.2C118.3 26.6 114.1 28.9 110.8 26.6C113.3 23.3 109.9 19.9 107.4 22.7C105.7 30 111.6 38.4 120 44Z',
|
||||
w: 1.2,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M0 51.7C0.6 51.9 2.5 52.8 3.8 52.9C5 53.1 6.3 52.9 7.5 52.5C8.8 52.1 10 51.2 11.3 50.6C12.5 49.9 13.8 48.9 15 48.3C16.3 47.7 17.5 47.2 18.8 47.1C20 46.9 21.3 47.1 22.5 47.5C23.8 47.9 25 48.8 26.3 49.4C27.5 50.1 28.8 51.1 30 51.7C31.3 52.3 32.5 52.8 33.8 52.9C35 53.1 36.3 52.9 37.5 52.5C38.8 52.1 40 51.2 41.3 50.6C42.5 49.9 43.8 48.9 45 48.3C46.3 47.7 47.5 47.2 48.8 47.1C50 46.9 51.3 47.1 52.5 47.5C53.8 47.9 55 48.8 56.3 49.4C57.5 50.1 58.8 51.1 60 51.7C61.3 52.3 62.5 52.8 63.8 52.9C65 53.1 66.3 52.9 67.5 52.5C68.8 52.1 70 51.2 71.3 50.6C72.5 49.9 73.8 48.9 75 48.3C76.3 47.7 77.5 47.2 78.8 47.1C80 46.9 81.3 47.1 82.5 47.5C83.8 47.9 85 48.8 86.3 49.4C87.5 50.1 88.8 51.1 90 51.7C91.3 52.3 92.5 52.8 93.8 52.9C95 53.1 96.3 52.9 97.5 52.5C98.8 52.1 100 51.2 101.3 50.6C102.5 49.9 103.8 48.9 105 48.3C106.3 47.7 107.5 47.2 108.8 47.1C110 46.9 111.3 47.1 112.5 47.5C113.8 47.9 115 48.8 116.3 49.4C117.5 50.1 119.4 51.3 120 51.7L120 70L0 70Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M-6 58C6 58 10.8 47 16.4 39.1C20.4 33.8 30 34.7 31.6 40.8C32.4 44.4 28.4 46.1 25.2 44.4C27.6 41.7 24.4 39.1 22 41.3C20.4 47 26 53.6 34 58ZM30 58C42 58 46.8 46 52.4 37.4C56.4 31.6 66 32.6 67.6 39.3C68.4 43.1 64.4 45 61.2 43.1C63.6 40.2 60.4 37.4 58 39.8C56.4 46 62 53.2 70 58ZM66 58C78 58 82.8 47 88.4 39.1C92.4 33.8 102 34.7 103.6 40.8C104.4 44.4 100.4 46.1 97.2 44.4C99.6 41.7 96.4 39.1 94 41.3C92.4 47 98 53.6 106 58ZM100 58C110.8 58 115.1 48 120.2 40.8C123.8 36 132.4 36.8 133.8 42.4C134.6 45.6 131 47.2 128.1 45.6C130.2 43.2 127.4 40.8 125.2 42.8C123.8 48 128.8 54 136 58Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M1.2 57C2.8 55.5 8.3 50.8 10.8 47.9C13.3 45 15.5 40.9 16.4 39.5M37.2 57C38.8 55.3 44.3 50.2 46.8 47C49.3 43.8 51.5 39.4 52.4 37.8M73.2 57C74.8 55.5 80.3 50.8 82.8 47.9C85.3 45 87.5 40.9 88.4 39.5M106.5 57C107.9 55.6 112.8 51.4 115.1 48.8C117.4 46.2 119.3 42.5 120.2 41.2',
|
||||
w: 1.2,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M12.6 42C14 39.8 18.9 33 21.4 29C23.9 25 26.5 20 27.5 18.2M50.6 42C52 39.5 56.9 31.5 59.4 27C61.9 22.5 64.5 16.8 65.5 14.8M88.1 42C89.5 40 94.1 33.7 96.5 30C98.9 26.3 101.4 21.6 102.4 19.9',
|
||||
w: 1,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M14.9 64C14.9 64.5 14.5 64.9 14 64.9C13.5 64.9 13.1 64.5 13.1 64C13.1 63.5 13.5 63.1 14 63.1C14.5 63.1 14.9 63.5 14.9 64ZM26.9 66.4C26.9 66.9 26.5 67.3 26 67.3C25.5 67.3 25.1 66.9 25.1 66.4C25.1 65.9 25.5 65.5 26 65.5C26.5 65.5 26.9 65.9 26.9 66.4ZM38.9 64C38.9 64.5 38.5 64.9 38 64.9C37.5 64.9 37.1 64.5 37.1 64C37.1 63.5 37.5 63.1 38 63.1C38.5 63.1 38.9 63.5 38.9 64ZM50.9 66.4C50.9 66.9 50.5 67.3 50 67.3C49.5 67.3 49.1 66.9 49.1 66.4C49.1 65.9 49.5 65.5 50 65.5C50.5 65.5 50.9 65.9 50.9 66.4ZM62.9 64C62.9 64.5 62.5 64.9 62 64.9C61.5 64.9 61.1 64.5 61.1 64C61.1 63.5 61.5 63.1 62 63.1C62.5 63.1 62.9 63.5 62.9 64ZM74.9 66.4C74.9 66.9 74.5 67.3 74 67.3C73.5 67.3 73.1 66.9 73.1 66.4C73.1 65.9 73.5 65.5 74 65.5C74.5 65.5 74.9 65.9 74.9 66.4ZM86.9 64C86.9 64.5 86.5 64.9 86 64.9C85.5 64.9 85.1 64.5 85.1 64C85.1 63.5 85.5 63.1 86 63.1C86.5 63.1 86.9 63.5 86.9 64ZM98.9 66.4C98.9 66.9 98.5 67.3 98 67.3C97.5 67.3 97.1 66.9 97.1 66.4C97.1 65.9 97.5 65.5 98 65.5C98.5 65.5 98.9 65.9 98.9 66.4ZM110.9 64C110.9 64.5 110.5 64.9 110 64.9C109.5 64.9 109.1 64.5 109.1 64C109.1 63.5 109.5 63.1 110 63.1C110.5 63.1 110.9 63.5 110.9 64Z',
|
||||
o: 0.8,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sun',
|
||||
theme: 'sea',
|
||||
tags: ['sun', 'sunshine', 'summer', 'sunny', 'weather', 'rays', 'beach', 'warm'],
|
||||
descr: 'A round golden sun with a ring of alternating long and short pointed rays.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'sun', color: '#ffb703' },
|
||||
{ name: 'rays', color: '#fb8500' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M76 50C76.7 50.8 78.8 54 82.3 54C90.4 54 95.4 50.6 97 50C95.4 49.4 90.4 46 82.3 46C78.8 46 76.7 49.2 76 50ZM74 59.9C74.2 60.7 74.6 63.4 76.8 64.3C81.7 66.4 85.8 65.3 87 65.3C86.1 64.5 84 60.8 79 58.8C76.9 57.9 74.7 59.6 74 59.9ZM68.4 68.4C68.3 69.4 67.6 73.2 70 75.7C75.7 81.4 81.7 82.5 83.2 83.2C82.5 81.7 81.4 75.7 75.7 70C73.2 67.6 69.4 68.3 68.4 68.4ZM59.9 74C59.6 74.7 57.9 76.9 58.8 79C60.8 84 64.5 86.1 65.3 87C65.3 85.8 66.4 81.7 64.3 76.8C63.4 74.6 60.7 74.2 59.9 74ZM50 76C49.2 76.7 46 78.8 46 82.3C46 90.4 49.4 95.4 50 97C50.6 95.4 54 90.4 54 82.3C54 78.8 50.8 76.7 50 76ZM40.1 74C39.3 74.2 36.6 74.6 35.7 76.8C33.6 81.7 34.7 85.8 34.7 87C35.5 86.1 39.2 84 41.2 79C42.1 76.9 40.4 74.7 40.1 74ZM31.6 68.4C30.6 68.3 26.8 67.6 24.3 70C18.6 75.7 17.5 81.7 16.8 83.2C18.3 82.5 24.3 81.4 30 75.7C32.4 73.2 31.7 69.4 31.6 68.4ZM26 59.9C25.3 59.6 23.1 57.9 21 58.8C16 60.8 13.9 64.5 13 65.3C14.2 65.3 18.3 66.4 23.2 64.3C25.4 63.4 25.8 60.7 26 59.9ZM24 50C23.3 49.2 21.2 46 17.7 46C9.6 46 4.6 49.4 3 50C4.6 50.6 9.6 54 17.7 54C21.2 54 23.3 50.8 24 50ZM26 40.1C25.8 39.3 25.4 36.6 23.2 35.7C18.3 33.6 14.2 34.7 13 34.7C13.9 35.5 16 39.2 21 41.2C23.1 42.1 25.3 40.4 26 40.1ZM31.6 31.6C31.7 30.6 32.4 26.8 30 24.3C24.3 18.6 18.3 17.5 16.8 16.8C17.5 18.3 18.6 24.3 24.3 30C26.8 32.4 30.6 31.7 31.6 31.6ZM40.1 26C40.4 25.3 42.1 23.1 41.2 21C39.2 16 35.5 13.9 34.7 13C34.7 14.2 33.6 18.3 35.7 23.2C36.6 25.4 39.3 25.8 40.1 26ZM50 24C50.8 23.3 54 21.2 54 17.7C54 9.6 50.6 4.6 50 3C49.4 4.6 46 9.6 46 17.7C46 21.2 49.2 23.3 50 24ZM59.9 26C60.7 25.8 63.4 25.4 64.3 23.2C66.4 18.3 65.3 14.2 65.3 13C64.5 13.9 60.8 16 58.8 21C57.9 23.1 59.6 25.3 59.9 26ZM68.4 31.6C69.4 31.7 73.2 32.4 75.7 30C81.4 24.3 82.5 18.3 83.2 16.8C81.7 17.5 75.7 18.6 70 24.3C67.6 26.8 68.3 30.6 68.4 31.6ZM74 40.1C74.7 40.4 76.9 42.1 79 41.2C84 39.2 86.1 35.5 87 34.7C85.8 34.7 81.7 33.6 76.8 35.7C74.6 36.6 74.2 39.3 74 40.1Z',
|
||||
},
|
||||
{ p: 0, d: 'M74 50C74 63.3 63.3 74 50 74C36.7 74 26 63.3 26 50C26 36.7 36.7 26 50 26C63.3 26 74 36.7 74 50Z' },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M68.6 50C68.6 60.3 60.3 68.6 50 68.6C39.7 68.6 31.4 60.3 31.4 50C31.4 39.7 39.7 31.4 50 31.4C60.3 31.4 68.6 39.7 68.6 50Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 26C63.3 26 74 36.7 74 50C74 63.3 63.3 74 50 74C58.4 68.9 63.6 59.8 63.6 50C63.6 40.2 58.4 31.1 50 26Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{ p: 'light', d: 'M34 40C36 35 40 31.6 45 30', o: 0.5, w: 2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'seaTurtle',
|
||||
theme: 'sea',
|
||||
tags: ['sea turtle', 'turtle', 'ocean', 'marine', 'swim', 'reef', 'animal', 'hawaii'],
|
||||
descr: 'A green sea turtle seen from above, swimming with its four flippers spread and a patterned shell.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'skin', color: '#78b26b' },
|
||||
{ name: 'shell', color: '#3f7f5a' },
|
||||
{ name: 'plates', color: '#a5d17d' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M36 38C35.4 35.9 34.4 28.1 27.8 24.5C17.9 19.3 8.5 22 6 22C7.4 24.1 10.3 33.4 20.2 38.7C26.8 42.2 33.9 38.7 36 38ZM64 38C66.1 38.7 73.2 42.2 79.8 38.7C89.7 33.4 92.6 24.1 94 22C91.5 22 82.1 19.3 72.2 24.5C65.6 28.1 64.6 35.9 64 38ZM38 64C36.4 64.1 30.7 63.9 26.7 68.3C20.8 74.9 20.6 82.1 20 84C21.8 83.2 28.9 82.3 34.9 75.7C38.8 71.3 38 65.6 38 64ZM62 64C62 65.6 61.2 71.3 65.1 75.7C71.1 82.3 78.2 83.2 80 84C79.4 82.1 79.2 74.9 73.3 68.3C69.3 63.9 63.6 64.1 62 64Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M64 38C66.1 38.7 73.2 42.2 79.8 38.7C89.7 33.4 92.6 24.1 94 22L64 38ZM62 64C62 65.6 61.2 71.3 65.1 75.7C71.1 82.3 78.2 83.2 80 84L62 64Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{ p: 0, d: 'M47 74L50 86L53 74Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M58.6 16C58.6 21.5 54.7 26 50 26C45.3 26 41.4 21.5 41.4 16C41.4 10.5 45.3 6 50 6C54.7 6 58.6 10.5 58.6 16Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M50 6C55 6 58.6 10.4 58.6 16C58.6 21.6 55 26 50 26C53 22 53.6 10 50 6Z', o: 0.15 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M47.3 13C47.3 13.7 46.7 14.3 46 14.3C45.3 14.3 44.7 13.7 44.7 13C44.7 12.3 45.3 11.7 46 11.7C46.7 11.7 47.3 12.3 47.3 13ZM55.3 13C55.3 13.7 54.7 14.3 54 14.3C53.3 14.3 52.7 13.7 52.7 13C52.7 12.3 53.3 11.7 54 11.7C54.7 11.7 55.3 12.3 55.3 13Z',
|
||||
},
|
||||
{ p: 1, d: 'M75 50C75 65.5 63.8 78 50 78C36.2 78 25 65.5 25 50C25 34.5 36.2 22 50 22C63.8 22 75 34.5 75 50Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M56.4 53.7C56 54.4 50.9 57.4 50 57.4C49.1 57.4 44 54.4 43.6 53.7C43.2 53 43.2 47 43.6 46.3C44 45.6 49.1 42.6 50 42.6C50.9 42.6 56 45.6 56.4 46.3C56.8 47 56.8 53 56.4 53.7ZM66.1 59.3C65.8 59.9 61.9 62.1 61.3 62.1C60.6 62.1 56.7 59.9 56.4 59.3C56.1 58.7 56.1 54.3 56.4 53.7C56.7 53.1 60.6 50.9 61.3 50.9C61.9 50.9 65.8 53.1 66.1 53.7C66.4 54.3 66.4 58.7 66.1 59.3ZM54.8 65.8C54.5 66.4 50.6 68.6 50 68.6C49.4 68.6 45.5 66.4 45.2 65.8C44.8 65.2 44.8 60.8 45.2 60.2C45.5 59.6 49.4 57.4 50 57.4C50.6 57.4 54.5 59.6 54.8 60.2C55.2 60.8 55.2 65.2 54.8 65.8ZM43.6 59.3C43.3 59.9 39.4 62.1 38.7 62.1C38.1 62.1 34.2 59.9 33.9 59.3C33.6 58.7 33.6 54.3 33.9 53.7C34.2 53.1 38.1 50.9 38.7 50.9C39.4 50.9 43.3 53.1 43.6 53.7C43.9 54.3 43.9 58.7 43.6 59.3ZM43.6 46.3C43.3 46.9 39.4 49.1 38.7 49.1C38.1 49.1 34.2 46.9 33.9 46.3C33.6 45.7 33.6 41.3 33.9 40.7C34.2 40.1 38.1 37.9 38.7 37.9C39.4 37.9 43.3 40.1 43.6 40.7C43.9 41.3 43.9 45.7 43.6 46.3ZM54.8 39.8C54.5 40.4 50.6 42.6 50 42.6C49.4 42.6 45.5 40.4 45.2 39.8C44.8 39.2 44.8 34.8 45.2 34.2C45.5 33.6 49.4 31.4 50 31.4C50.6 31.4 54.5 33.6 54.8 34.2C55.2 34.8 55.2 39.2 54.8 39.8ZM66.1 46.3C65.8 46.9 61.9 49.1 61.3 49.1C60.6 49.1 56.7 46.9 56.4 46.3C56.1 45.7 56.1 41.3 56.4 40.7C56.7 40.1 60.6 37.9 61.3 37.9C61.9 37.9 65.8 40.1 66.1 40.7C66.4 41.3 66.4 45.7 66.1 46.3Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M56.4 53.7C56 54.4 50.9 57.4 50 57.4C49.1 57.4 44 54.4 43.6 53.7C43.2 53 43.2 47 43.6 46.3C44 45.6 49.1 42.6 50 42.6C50.9 42.6 56 45.6 56.4 46.3C56.8 47 56.8 53 56.4 53.7ZM66.1 59.3C65.8 59.9 61.9 62.1 61.3 62.1C60.6 62.1 56.7 59.9 56.4 59.3C56.1 58.7 56.1 54.3 56.4 53.7C56.7 53.1 60.6 50.9 61.3 50.9C61.9 50.9 65.8 53.1 66.1 53.7C66.4 54.3 66.4 58.7 66.1 59.3ZM54.8 65.8C54.5 66.4 50.6 68.6 50 68.6C49.4 68.6 45.5 66.4 45.2 65.8C44.8 65.2 44.8 60.8 45.2 60.2C45.5 59.6 49.4 57.4 50 57.4C50.6 57.4 54.5 59.6 54.8 60.2C55.2 60.8 55.2 65.2 54.8 65.8ZM43.6 59.3C43.3 59.9 39.4 62.1 38.7 62.1C38.1 62.1 34.2 59.9 33.9 59.3C33.6 58.7 33.6 54.3 33.9 53.7C34.2 53.1 38.1 50.9 38.7 50.9C39.4 50.9 43.3 53.1 43.6 53.7C43.9 54.3 43.9 58.7 43.6 59.3ZM43.6 46.3C43.3 46.9 39.4 49.1 38.7 49.1C38.1 49.1 34.2 46.9 33.9 46.3C33.6 45.7 33.6 41.3 33.9 40.7C34.2 40.1 38.1 37.9 38.7 37.9C39.4 37.9 43.3 40.1 43.6 40.7C43.9 41.3 43.9 45.7 43.6 46.3ZM54.8 39.8C54.5 40.4 50.6 42.6 50 42.6C49.4 42.6 45.5 40.4 45.2 39.8C44.8 39.2 44.8 34.8 45.2 34.2C45.5 33.6 49.4 31.4 50 31.4C50.6 31.4 54.5 33.6 54.8 34.2C55.2 34.8 55.2 39.2 54.8 39.8ZM66.1 46.3C65.8 46.9 61.9 49.1 61.3 49.1C60.6 49.1 56.7 46.9 56.4 46.3C56.1 45.7 56.1 41.3 56.4 40.7C56.7 40.1 60.6 37.9 61.3 37.9C61.9 37.9 65.8 40.1 66.1 40.7C66.4 41.3 66.4 45.7 66.1 46.3Z',
|
||||
o: 0.6,
|
||||
w: 1.2,
|
||||
},
|
||||
{ p: 'shade', d: 'M50 22C64 22 75 34 75 50C75 66 64 78 50 78C60 72 66 62 66 50C66 38 60 28 50 22Z', o: 0.18 },
|
||||
{ p: 'light', d: 'M32 38C34 32 38 28 43 26', o: 0.4, w: 1.6 },
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M31.4 30C31.4 30.8 30.8 31.4 30 31.4C29.2 31.4 28.6 30.8 28.6 30C28.6 29.2 29.2 28.6 30 28.6C30.8 28.6 31.4 29.2 31.4 30ZM23 30C23 30.6 22.6 31 22 31C21.4 31 21 30.6 21 30C21 29.4 21.4 29 22 29C22.6 29 23 29.4 23 30ZM81.2 30C81.2 30.7 80.7 31.2 80 31.2C79.3 31.2 78.8 30.7 78.8 30C78.8 29.3 79.3 28.8 80 28.8C80.7 28.8 81.2 29.3 81.2 30ZM37 76C37 76.6 36.6 77 36 77C35.4 77 35 76.6 35 76C35 75.4 35.4 75 36 75C36.6 75 37 75.4 37 76Z',
|
||||
o: 0.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'scallopShell',
|
||||
theme: 'sea',
|
||||
tags: ['shell', 'scallop', 'seashell', 'beach', 'sea', 'coast', 'summer', 'ocean'],
|
||||
descr: 'A peach scallop seashell with fluted ribs fanning out from its hinge, a wavy rim and two little ears.',
|
||||
box: [100, 92],
|
||||
slots: [
|
||||
{ name: 'shell', color: '#f6b38e' },
|
||||
{ name: 'ribs', color: '#e07a5f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M50 84L34 76L31 88L50 90ZM50 84L66 76L69 88L50 90Z' },
|
||||
{ p: 1, d: 'M50 84L34 76L31 88L50 90ZM50 84L66 76L69 88L50 90Z', o: 0.35 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 84C40.9 84 15.6 73.6 11 71.3C6.4 69.1 9.9 65.9 10.5 64.7C11 63.5 15.2 62.3 16 61.1C16.8 59.9 16.4 55.5 17.3 54.6C18.2 53.6 22.6 53.5 23.6 52.6C24.7 51.7 25.6 47.4 26.7 46.7C27.8 46 32 47.1 33.3 46.5C34.6 46 36.6 42.1 37.9 41.7C39.2 41.3 42.9 43.6 44.3 43.4C45.7 43.2 48.7 40 50 40C51.3 40 54.3 43.2 55.7 43.4C57.1 43.6 60.8 41.3 62.1 41.7C63.4 42.1 65.4 46 66.7 46.5C68 47.1 72.2 46 73.3 46.7C74.4 47.4 75.3 51.7 76.4 52.6C77.4 53.5 81.8 53.6 82.7 54.6C83.6 55.5 83.2 59.9 84 61.1C84.8 62.3 89 63.5 89.5 64.7C90.1 65.9 93.6 69.1 89 71.3C84.4 73.6 59.1 84 50 84Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 84L11.4 68.4L10.5 64.7L14 63.2ZM50 84L17.2 58.4L17.3 54.6L21.1 54.1ZM50 84L25.5 50.3L26.7 46.7L30.5 47.3ZM50 84L35.8 44.9L37.9 41.7L41.4 43.3ZM50 84L47.1 42.5L50 40L52.9 42.5ZM50 84L58.6 43.3L62.1 41.7L64.2 44.9ZM50 84L69.5 47.3L73.3 46.7L74.5 50.3ZM50 84L78.9 54.1L82.7 54.6L82.8 58.4ZM50 84L86 63.2L89.5 64.7L88.6 68.4Z',
|
||||
o: 0.42,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M39.2 78.7L14 66.5M41.1 76L20.3 57.2M43.6 73.8L28.8 50.1M46.7 72.5L39 45.5M50 72L50 44M53.3 72.5L61 45.5M56.4 73.8L71.2 50.1M58.9 76L79.7 57.2M60.8 78.7L86 66.5',
|
||||
o: 0.5,
|
||||
w: 1.1,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 84C46.1 80.7 54.3 48.3 55.7 43.4C57.1 38.5 60.8 41.3 62.1 41.7C63.4 42.1 65.4 46 66.7 46.5C68 47.1 72.2 46 73.3 46.7C74.4 47.4 75.3 51.7 76.4 52.6C77.4 53.5 81.8 53.6 82.7 54.6C83.6 55.5 83.2 59.9 84 61.1C84.8 62.3 89 63.5 89.5 64.7C90.1 65.9 93.6 69.1 89 71.3C84.4 73.6 53.9 87.3 50 84Z',
|
||||
o: 0.1,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M33.6 76.7C33.9 76.1 34.7 74.4 35.4 73.4C36.2 72.4 37 71.5 38 70.6C38.9 69.8 39.9 69 41 68.4C42.1 67.8 43.3 67.3 44.4 66.9C45.6 66.5 46.9 66.2 48.1 66.1C49.4 66 50.6 66 51.9 66.1C53.1 66.2 54.4 66.5 55.6 66.9C56.7 67.3 57.9 67.8 59 68.4C60.1 69 61.1 69.8 62 70.6C63 71.5 63.8 72.4 64.6 73.4C65.3 74.4 66.1 76.1 66.4 76.7M24.4 72.6C24.9 71.8 26.2 69.1 27.3 67.5C28.5 66 29.8 64.5 31.3 63.2C32.7 61.9 34.3 60.7 36 59.8C37.7 58.8 39.5 58 41.3 57.4C43.2 56.8 45.1 56.4 47.1 56.2C49 56 51 56 52.9 56.2C54.9 56.4 56.8 56.8 58.7 57.4C60.5 58 62.3 58.8 64 59.8C65.7 60.7 67.3 61.9 68.7 63.2C70.2 64.5 71.5 66 72.7 67.5C73.8 69.1 75.1 71.8 75.6 72.6M17.1 69.4C17.7 68.3 19.4 64.9 20.9 62.8C22.3 60.8 24.1 58.9 25.9 57.2C27.8 55.6 29.8 54.1 32 52.8C34.2 51.6 36.5 50.5 38.9 49.8C41.2 49 43.8 48.5 46.2 48.2C48.7 47.9 51.3 47.9 53.8 48.2C56.2 48.5 58.8 49 61.1 49.8C63.5 50.5 65.8 51.6 68 52.8C70.2 54.1 72.2 55.6 74.1 57.2C75.9 58.9 77.7 60.8 79.1 62.8C80.6 64.9 82.3 68.3 82.9 69.4',
|
||||
o: 0.35,
|
||||
w: 0.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'starfish',
|
||||
theme: 'sea',
|
||||
tags: ['starfish', 'sea star', 'beach', 'sea', 'ocean', 'coast', 'summer', 'animal'],
|
||||
descr: 'An orange starfish with five plump, rounded arms dotted with little bumps.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'body', color: '#f28c38' },
|
||||
{ name: 'dots', color: '#ffd6a5' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 8C52.3 8 56.6 35.3 61.2 38.6C65.7 41.9 93 37.6 93.7 39.8C94.5 42 69.8 54.6 68.1 59.9C66.3 65.2 78.9 89.9 77 91.2C75.2 92.6 55.6 73 50 73C44.4 73 24.8 92.6 23 91.2C21.1 89.9 33.7 65.2 31.9 59.9C30.2 54.6 5.5 42 6.3 39.8C7 37.6 34.3 41.9 38.8 38.6C43.4 35.3 47.7 8 50 8Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 48C49.3 46.2 52.1 29.1 52.1 24.1C52.1 19 49.3 8.2 50 10C50.7 11.8 57.3 32.5 57.3 37.6C57.3 42.6 50.7 49.8 50 48ZM55.7 52.1C57.2 50.9 74.3 48.3 79.1 46.7C83.9 45.2 93.3 39.2 91.8 40.4C90.4 41.6 72.7 54.3 67.9 55.9C63.1 57.4 54.2 53.4 55.7 52.1ZM53.5 58.9C55.1 59.9 62.9 75.3 65.9 79.4C68.9 83.5 77.5 90.6 75.9 89.6C74.2 88.6 56.7 75.7 53.7 71.6C50.8 67.5 51.9 57.8 53.5 58.9ZM46.5 58.9C46 60.7 33.7 72.9 30.7 77C27.7 81.1 23.6 91.5 24.1 89.6C24.6 87.7 31.4 67.1 34.4 63C37.4 58.9 47 57 46.5 58.9ZM44.3 52.1C42.4 52.3 27 44.3 22.2 42.8C17.4 41.2 6.2 40.5 8.2 40.4C10.1 40.3 31.8 40.4 36.6 42C41.4 43.5 46.2 52 44.3 52.1Z',
|
||||
o: 0.14,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M51.8 44C51.8 45 51 45.8 50 45.8C49 45.8 48.2 45 48.2 44C48.2 43 49 42.2 50 42.2C51 42.2 51.8 43 51.8 44ZM51.5 36C51.5 36.8 50.8 37.5 50 37.5C49.2 37.5 48.5 36.8 48.5 36C48.5 35.2 49.2 34.5 50 34.5C50.8 34.5 51.5 35.2 51.5 36ZM51.2 28C51.2 28.7 50.7 29.2 50 29.2C49.3 29.2 48.8 28.7 48.8 28C48.8 27.3 49.3 26.8 50 26.8C50.7 26.8 51.2 27.3 51.2 28ZM50.9 20C50.9 20.5 50.5 20.9 50 20.9C49.5 20.9 49.1 20.5 49.1 20C49.1 19.5 49.5 19.1 50 19.1C50.5 19.1 50.9 19.5 50.9 20ZM61.3 50.9C61.3 51.9 60.5 52.7 59.5 52.7C58.5 52.7 57.7 51.9 57.7 50.9C57.7 49.9 58.5 49.1 59.5 49.1C60.5 49.1 61.3 49.9 61.3 50.9ZM68.6 48.4C68.6 49.3 68 49.9 67.1 49.9C66.3 49.9 65.6 49.3 65.6 48.4C65.6 47.6 66.3 46.9 67.1 46.9C68 46.9 68.6 47.6 68.6 48.4ZM75.9 46C75.9 46.6 75.4 47.2 74.7 47.2C74.1 47.2 73.5 46.6 73.5 46C73.5 45.3 74.1 44.8 74.7 44.8C75.4 44.8 75.9 45.3 75.9 46ZM83.2 43.5C83.2 44 82.8 44.4 82.3 44.4C81.8 44.4 81.4 44 81.4 43.5C81.4 43 81.8 42.6 82.3 42.6C82.8 42.6 83.2 43 83.2 43.5ZM57.7 62.1C57.7 63.1 56.9 63.9 55.9 63.9C54.9 63.9 54.1 63.1 54.1 62.1C54.1 61.1 54.9 60.3 55.9 60.3C56.9 60.3 57.7 61.1 57.7 62.1ZM62.1 68.6C62.1 69.4 61.4 70.1 60.6 70.1C59.7 70.1 59.1 69.4 59.1 68.6C59.1 67.7 59.7 67.1 60.6 67.1C61.4 67.1 62.1 67.7 62.1 68.6ZM66.5 75C66.5 75.7 65.9 76.2 65.3 76.2C64.6 76.2 64.1 75.7 64.1 75C64.1 74.4 64.6 73.8 65.3 73.8C65.9 73.8 66.5 74.4 66.5 75ZM70.9 81.5C70.9 82 70.5 82.4 70 82.4C69.5 82.4 69.1 82 69.1 81.5C69.1 81 69.5 80.6 70 80.6C70.5 80.6 70.9 81 70.9 81.5ZM45.9 62.1C45.9 63.1 45.1 63.9 44.1 63.9C43.1 63.9 42.3 63.1 42.3 62.1C42.3 61.1 43.1 60.3 44.1 60.3C45.1 60.3 45.9 61.1 45.9 62.1ZM40.9 68.6C40.9 69.4 40.3 70.1 39.4 70.1C38.6 70.1 37.9 69.4 37.9 68.6C37.9 67.7 38.6 67.1 39.4 67.1C40.3 67.1 40.9 67.7 40.9 68.6ZM35.9 75C35.9 75.7 35.4 76.2 34.7 76.2C34.1 76.2 33.5 75.7 33.5 75C33.5 74.4 34.1 73.8 34.7 73.8C35.4 73.8 35.9 74.4 35.9 75ZM30.9 81.5C30.9 82 30.5 82.4 30 82.4C29.5 82.4 29.1 82 29.1 81.5C29.1 81 29.5 80.6 30 80.6C30.5 80.6 30.9 81 30.9 81.5ZM42.3 50.9C42.3 51.9 41.5 52.7 40.5 52.7C39.5 52.7 38.7 51.9 38.7 50.9C38.7 49.9 39.5 49.1 40.5 49.1C41.5 49.1 42.3 49.9 42.3 50.9ZM34.4 48.4C34.4 49.3 33.7 49.9 32.9 49.9C32 49.9 31.4 49.3 31.4 48.4C31.4 47.6 32 46.9 32.9 46.9C33.7 46.9 34.4 47.6 34.4 48.4ZM26.5 46C26.5 46.6 25.9 47.2 25.3 47.2C24.6 47.2 24.1 46.6 24.1 46C24.1 45.3 24.6 44.8 25.3 44.8C25.9 44.8 26.5 45.3 26.5 46ZM18.6 43.5C18.6 44 18.2 44.4 17.7 44.4C17.2 44.4 16.8 44 16.8 43.5C16.8 43 17.2 42.6 17.7 42.6C18.2 42.6 18.6 43 18.6 43.5Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M48.6 38.2C48.6 38.8 48.1 39.3 47.5 39.3C46.9 39.3 46.4 38.8 46.4 38.2C46.4 37.6 46.9 37.1 47.5 37.1C48.1 37.1 48.6 37.6 48.6 38.2ZM53.6 38.2C53.6 38.8 53.1 39.3 52.5 39.3C51.9 39.3 51.4 38.8 51.4 38.2C51.4 37.6 51.9 37.1 52.5 37.1C53.1 37.1 53.6 37.6 53.6 38.2ZM47 28.3C47 28.9 46.5 29.4 45.9 29.4C45.3 29.4 44.8 28.9 44.8 28.3C44.8 27.7 45.3 27.2 45.9 27.2C46.5 27.2 47 27.7 47 28.3ZM55.2 28.3C55.2 28.9 54.7 29.4 54.1 29.4C53.5 29.4 53 28.9 53 28.3C53 27.7 53.5 27.2 54.1 27.2C54.7 27.2 55.2 27.7 55.2 28.3ZM65.4 46.7C65.4 47.3 64.9 47.8 64.3 47.8C63.6 47.8 63.2 47.3 63.2 46.7C63.2 46.1 63.6 45.6 64.3 45.6C64.9 45.6 65.4 46.1 65.4 46.7ZM66.9 51.5C66.9 52.1 66.4 52.6 65.8 52.6C65.2 52.6 64.7 52.1 64.7 51.5C64.7 50.9 65.2 50.4 65.8 50.4C66.4 50.4 66.9 50.9 66.9 51.5ZM74.3 42.2C74.3 42.8 73.8 43.3 73.2 43.3C72.6 43.3 72.1 42.8 72.1 42.2C72.1 41.6 72.6 41.1 73.2 41.1C73.8 41.1 74.3 41.6 74.3 42.2ZM76.8 49.9C76.8 50.5 76.3 51 75.7 51C75.1 51 74.6 50.5 74.6 49.9C74.6 49.3 75.1 48.8 75.7 48.8C76.3 48.8 76.8 49.3 76.8 49.9ZM62.4 65.3C62.4 65.9 61.9 66.4 61.3 66.4C60.7 66.4 60.2 65.9 60.2 65.3C60.2 64.7 60.7 64.2 61.3 64.2C61.9 64.2 62.4 64.7 62.4 65.3ZM58.4 68.3C58.4 68.9 57.9 69.4 57.3 69.4C56.7 69.4 56.2 68.9 56.2 68.3C56.2 67.6 56.7 67.2 57.3 67.2C57.9 67.2 58.4 67.6 58.4 68.3ZM69.5 72.4C69.5 73 69 73.5 68.4 73.5C67.8 73.5 67.3 73 67.3 72.4C67.3 71.8 67.8 71.3 68.4 71.3C69 71.3 69.5 71.8 69.5 72.4ZM62.9 77.2C62.9 77.8 62.4 78.3 61.8 78.3C61.2 78.3 60.7 77.8 60.7 77.2C60.7 76.6 61.2 76.1 61.8 76.1C62.4 76.1 62.9 76.6 62.9 77.2ZM43.8 68.3C43.8 68.9 43.3 69.4 42.7 69.4C42.1 69.4 41.6 68.9 41.6 68.3C41.6 67.6 42.1 67.2 42.7 67.2C43.3 67.2 43.8 67.6 43.8 68.3ZM39.8 65.3C39.8 65.9 39.3 66.4 38.7 66.4C38.1 66.4 37.6 65.9 37.6 65.3C37.6 64.7 38.1 64.2 38.7 64.2C39.3 64.2 39.8 64.7 39.8 65.3ZM39.3 77.2C39.3 77.8 38.8 78.3 38.2 78.3C37.6 78.3 37.1 77.8 37.1 77.2C37.1 76.6 37.6 76.1 38.2 76.1C38.8 76.1 39.3 76.6 39.3 77.2ZM32.7 72.4C32.7 73 32.2 73.5 31.6 73.5C31 73.5 30.5 73 30.5 72.4C30.5 71.8 31 71.3 31.6 71.3C32.2 71.3 32.7 71.8 32.7 72.4ZM35.3 51.5C35.3 52.1 34.8 52.6 34.2 52.6C33.6 52.6 33.1 52.1 33.1 51.5C33.1 50.9 33.6 50.4 34.2 50.4C34.8 50.4 35.3 50.9 35.3 51.5ZM36.8 46.7C36.8 47.3 36.4 47.8 35.7 47.8C35.1 47.8 34.6 47.3 34.6 46.7C34.6 46.1 35.1 45.6 35.7 45.6C36.4 45.6 36.8 46.1 36.8 46.7ZM25.4 49.9C25.4 50.5 24.9 51 24.3 51C23.7 51 23.2 50.5 23.2 49.9C23.2 49.3 23.7 48.8 24.3 48.8C24.9 48.8 25.4 49.3 25.4 49.9ZM27.9 42.2C27.9 42.8 27.4 43.3 26.8 43.3C26.2 43.3 25.7 42.8 25.7 42.2C25.7 41.6 26.2 41.1 26.8 41.1C27.4 41.1 27.9 41.6 27.9 42.2Z',
|
||||
o: 0.8,
|
||||
},
|
||||
{ p: 1, d: 'M53 54C53 55.7 51.7 57 50 57C48.3 57 47 55.7 47 54C47 52.3 48.3 51 50 51C51.7 51 53 52.3 53 54Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'tropicalFish',
|
||||
theme: 'sea',
|
||||
tags: ['fish', 'tropical fish', 'clownfish', 'reef', 'sea', 'ocean', 'snorkel', 'animal'],
|
||||
descr: 'A round little reef fish in orange with white bands edged in black, fins spread, swimming left.',
|
||||
box: [100, 76],
|
||||
slots: [
|
||||
{ name: 'body', color: '#ff7f11' },
|
||||
{ name: 'bands', color: '#ffffff' },
|
||||
{ name: 'edges', color: '#2b2522' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M76 38L96 20C98 30 98 46 96 56Z' },
|
||||
{ p: 0, d: 'M40 14C46 4 60 4 66 14ZM40 62C46 72 58 72 62 62Z' },
|
||||
{ p: 'shade', d: 'M76 38L96 20C98 30 98 46 96 56ZM40 14C46 4 60 4 66 14ZM40 62C46 72 58 72 62 62Z', o: 0.15 },
|
||||
{ p: 0, d: 'M6 38C6 22 22 12 42 12C62 12 78 24 80 38C78 52 62 64 42 64C22 64 6 54 6 38Z' },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M23 16C28.6 26 28.6 50 23 60C21.4 59.4 20 58.6 18.6 57.6C23 47 23 29 18.6 18.6C20 17.6 21.4 16.6 23 16ZM47 12.2C52.4 24 52.4 52 47 63.8C46 63.9 45 64 44 64C48.6 52 48.6 24 44 12C45 12 46 12.1 47 12.2Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M23 16C28.6 26 28.6 50 23 60C21.4 59.4 20 58.6 18.6 57.6C23 47 23 29 18.6 18.6C20 17.6 21.4 16.6 23 16ZM47 12.2C52.4 24 52.4 52 47 63.8C46 63.9 45 64 44 64C48.6 52 48.6 24 44 12C45 12 46 12.1 47 12.2Z',
|
||||
w: 0.9,
|
||||
},
|
||||
{ p: 0, d: 'M66 18C71 24 72 52 66 58C70 52 73 44 74 38C73 30 70 22 66 18Z', o: 0.6 },
|
||||
{ p: 'light', d: 'M12 30C16 22 24 17 32 16', o: 0.4, w: 1.6 },
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M20.4 33C20.4 35.4 18.4 37.4 16 37.4C13.6 37.4 11.6 35.4 11.6 33C11.6 30.6 13.6 28.6 16 28.6C18.4 28.6 20.4 30.6 20.4 33Z',
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M17.8 33C17.8 34.3 16.7 35.4 15.4 35.4C14.1 35.4 13 34.3 13 33C13 31.7 14.1 30.6 15.4 30.6C16.7 30.6 17.8 31.7 17.8 33Z',
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M15.6 32.2C15.6 32.6 15.2 33 14.8 33C14.4 33 14 32.6 14 32.2C14 31.8 14.4 31.4 14.8 31.4C15.2 31.4 15.6 31.8 15.6 32.2Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M10 46C12 48 14 48 16 47', o: 0.5, w: 1 },
|
||||
{ p: 0, d: 'M36 40C42 42 46 48 44 54C40 50 36 46 36 40Z' },
|
||||
{ p: 'shade', d: 'M36 40C42 42 46 48 44 54C40 50 36 46 36 40Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'coral',
|
||||
theme: 'sea',
|
||||
tags: ['coral', 'reef', 'sea', 'ocean', 'underwater', 'marine', 'snorkel', 'pink'],
|
||||
descr: 'A branching coral in coral pink with rounded tips, growing from a small rock.',
|
||||
box: [90, 100],
|
||||
slots: [
|
||||
{ name: 'coral', color: '#ff6f61' },
|
||||
{ name: 'rock', color: '#a39b8b' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M48.5 92.1C49.9 91.7 48.5 90.5 48.5 89.7C48.6 88.8 48.6 87.4 48.6 86.3C48.7 85.2 48.7 83.5 48.7 82.2C48.8 80.9 48.8 79.1 48.8 77.8C48.8 76.5 48.8 74.8 48.7 73.5C48.7 72.3 48.6 70.7 48.5 69.6C48.4 68.5 48.2 67.2 48.1 66.2C48 65.2 47.8 63.9 47.6 63C47.5 62 47.2 60.7 47 59.8C46.8 58.9 46.5 57.6 46.3 56.7C46 55.7 45.7 54.5 45.3 53.5C45 52.6 44.6 51.3 44.2 50.3C43.8 49.3 43.1 47.9 42.6 46.9C42.1 45.9 41.3 44.6 40.7 43.7C40.2 42.7 39.4 41.5 38.8 40.6C38.2 39.7 37.5 38.5 37 37.7C36.5 36.8 35.8 35.7 35.4 34.9C35 34.1 34.5 33.2 34.2 32.3C33.9 31.5 33.5 30.4 33.3 29.5C33 28.6 32.7 27.3 32.5 26.3C32.2 25.4 32 24 31.8 23C31.6 22.1 31.4 20.8 31.3 19.9C31.1 19 30.9 17.9 30.8 17.2C30.7 16.5 31.8 15.2 30.4 15.2C29 15.1 22.9 16.3 21.6 16.8C20.3 17.4 21.8 18 21.9 18.7C22.1 19.4 22.2 20.5 22.4 21.4C22.5 22.3 22.8 23.7 23 24.7C23.1 25.7 23.4 27.2 23.7 28.3C23.9 29.4 24.3 30.9 24.6 32C24.9 33.1 25.4 34.6 25.8 35.7C26.2 36.7 26.9 38.1 27.4 39.1C27.9 40.1 28.7 41.4 29.3 42.3C29.8 43.3 30.6 44.5 31.2 45.4C31.8 46.3 32.5 47.5 33 48.3C33.5 49.2 34.2 50.3 34.6 51.1C35 51.9 35.5 52.9 35.8 53.7C36.2 54.5 36.5 55.6 36.8 56.4C37 57.2 37.4 58.2 37.6 59C37.8 59.8 38.1 60.9 38.2 61.7C38.4 62.5 38.6 63.6 38.7 64.4C38.9 65.3 39.1 66.5 39.2 67.3C39.3 68.2 39.4 69.4 39.5 70.4C39.6 71.4 39.7 72.7 39.7 73.9C39.8 75 39.8 76.6 39.8 77.9C39.8 79.1 39.8 80.8 39.8 82C39.7 83.3 39.7 84.9 39.6 86C39.6 87.1 39.6 88.6 39.5 89.4C39.5 90.3 38.2 91.5 39.5 91.9C40.8 92.3 47.1 92.4 48.5 92.1Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M47.1 78.5C48.2 79 48 77.5 48.4 76.9C48.9 76.3 49.8 75.3 50.4 74.6C51 73.8 52 72.7 52.7 71.8C53.5 70.9 54.5 69.6 55.2 68.6C55.9 67.6 56.9 66.3 57.6 65.2C58.2 64.2 59 62.8 59.6 61.8C60.1 60.7 60.7 59.3 61.1 58.3C61.5 57.2 61.9 55.7 62.2 54.7C62.5 53.6 62.9 52.1 63.1 51.1C63.4 50 63.7 48.6 64 47.6C64.2 46.6 64.5 45.3 64.8 44.4C65.1 43.4 65.4 42.3 65.8 41.3C66.1 40.4 66.6 39.2 67 38.2C67.4 37.2 68 35.8 68.5 34.8C68.9 33.8 69.6 32.4 70 31.4C70.5 30.4 71.1 29.2 71.5 28.3C71.9 27.4 72.4 26.3 72.7 25.6C73.1 24.9 74.6 24.5 73.6 23.7C72.7 22.9 67.6 20.5 66.4 20.3C65.1 20.1 65.8 21.6 65.5 22.2C65.2 22.9 64.6 24 64.2 24.9C63.8 25.8 63.2 27.1 62.7 28.1C62.3 29.1 61.6 30.5 61.2 31.6C60.7 32.6 60.1 34.1 59.6 35.1C59.2 36.2 58.6 37.6 58.2 38.7C57.9 39.7 57.4 41.1 57.1 42.2C56.8 43.2 56.5 44.7 56.2 45.7C55.9 46.8 55.6 48.2 55.4 49.2C55.1 50.2 54.8 51.5 54.5 52.5C54.3 53.4 53.9 54.6 53.6 55.5C53.3 56.4 52.8 57.4 52.4 58.2C52 59 51.4 60.1 50.8 60.9C50.3 61.8 49.4 63 48.8 63.8C48.1 64.7 47.2 65.9 46.5 66.7C45.8 67.6 44.9 68.7 44.3 69.4C43.6 70.2 42.8 71.1 42.3 71.7C41.8 72.4 40.2 72.5 40.9 73.5C41.6 74.5 46 78 47.1 78.5Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M41.6 52.9C41.8 51.8 40.7 52.5 40.3 52.2C39.8 52 39 51.6 38.5 51.3C37.9 51 37 50.6 36.3 50.2C35.6 49.9 34.7 49.4 34 49.1C33.3 48.7 32.4 48.3 31.7 47.9C31 47.6 30.2 47.1 29.5 46.8C28.8 46.5 27.9 46.1 27.2 45.8C26.6 45.6 25.6 45.3 25 45C24.3 44.8 23.5 44.5 22.9 44.3C22.4 44 21.6 43.7 21.2 43.5C20.7 43.2 20.1 42.9 19.7 42.6C19.3 42.4 18.9 42.1 18.6 41.7C18.3 41.3 17.9 40.8 17.6 40.2C17.3 39.7 16.9 38.7 16.5 38C16.2 37.3 15.8 36.2 15.5 35.4C15.3 34.6 14.9 33.6 14.7 32.8C14.4 32.1 14.1 31.1 13.9 30.5C13.7 29.9 14.4 28.7 13.3 28.8C12.2 28.9 7.6 30.6 6.7 31.2C5.8 31.8 7.1 32.2 7.3 32.7C7.5 33.3 7.8 34.3 8 35C8.3 35.8 8.6 37 9 37.8C9.3 38.7 9.7 39.9 10.1 40.8C10.5 41.7 11.1 42.9 11.6 43.7C12 44.6 12.8 45.6 13.4 46.3C14 47 14.9 47.8 15.6 48.3C16.3 48.8 17.2 49.3 18 49.7C18.7 50.1 19.6 50.5 20.3 50.7C21 51 21.9 51.3 22.6 51.6C23.2 51.8 24 52.1 24.6 52.3C25.2 52.6 25.9 52.9 26.5 53.2C27.1 53.4 27.9 53.9 28.6 54.2C29.2 54.5 30.2 55 30.9 55.4C31.6 55.7 32.5 56.2 33.2 56.5C33.9 56.8 34.7 57.3 35.3 57.6C35.9 57.9 36.7 58.2 37.1 58.5C37.6 58.7 37.8 60 38.4 59.1C39.1 58.3 41.3 53.9 41.6 52.9Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M58.6 61.1C59.1 62 59.6 60.9 60.1 60.8C60.7 60.7 61.6 60.6 62.3 60.5C63 60.4 64.2 60.2 65 60C65.9 59.8 67.1 59.6 68 59.3C68.9 59 70.2 58.6 71.1 58.2C71.9 57.8 73.1 57.2 73.9 56.6C74.7 56 75.7 55 76.4 54.2C77.1 53.5 78 52.3 78.6 51.4C79.2 50.6 80 49.3 80.6 48.5C81.1 47.6 81.8 46.4 82.3 45.7C82.8 44.9 83.3 43.9 83.7 43.3C84 42.7 85.4 42.5 84.7 41.7C84 41 80.3 38.5 79.3 38.3C78.3 38 78.6 39.4 78.2 40C77.9 40.6 77.3 41.6 76.8 42.3C76.4 43.1 75.7 44.2 75.2 45C74.7 45.8 73.9 46.9 73.4 47.7C72.9 48.4 72.1 49.4 71.6 49.9C71.1 50.5 70.6 51.1 70.1 51.4C69.6 51.8 69 52.1 68.4 52.4C67.8 52.6 66.9 52.9 66.2 53.2C65.5 53.4 64.5 53.6 63.7 53.7C63 53.9 62 54.1 61.2 54.2C60.5 54.3 59.6 54.4 59 54.5C58.4 54.6 57.4 53.9 57.4 54.9C57.3 55.9 58.2 60.2 58.6 61.1Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M34.4 39.8C35.3 40.1 35 39 35.3 38.5C35.7 38.1 36.2 37.4 36.7 36.8C37.1 36.2 37.8 35.3 38.3 34.6C38.8 34 39.5 33 40 32.2C40.5 31.5 41.1 30.5 41.6 29.7C42 28.9 42.5 27.9 42.8 27.1C43.1 26.3 43.4 25.2 43.6 24.3C43.8 23.5 44 22.3 44.2 21.4C44.3 20.5 44.4 19.4 44.5 18.5C44.6 17.7 44.6 16.6 44.7 15.9C44.7 15.2 44.8 14.3 44.8 13.8C44.9 13.2 45.9 12.6 45 12.3C44.1 12 39.9 11.6 39 11.7C38.1 11.9 38.9 12.7 38.9 13.3C38.8 13.9 38.8 14.8 38.7 15.5C38.7 16.2 38.6 17.2 38.5 18C38.4 18.7 38.3 19.8 38.2 20.5C38.1 21.3 37.9 22.3 37.8 22.9C37.6 23.6 37.4 24.3 37.2 24.9C37 25.5 36.6 26.2 36.3 26.8C36 27.4 35.4 28.3 35 28.9C34.6 29.6 33.9 30.5 33.5 31.1C33 31.7 32.3 32.6 31.9 33.1C31.5 33.7 30.9 34.4 30.5 34.9C30.2 35.4 29 35.5 29.6 36.2C30.2 37 33.6 39.4 34.4 39.8Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M64.4 40.2C65 39.5 63.8 39.4 63.5 38.9C63.1 38.4 62.5 37.7 62.1 37.1C61.7 36.5 61 35.6 60.6 35C60.1 34.4 59.5 33.4 59 32.8C58.6 32.1 58 31.3 57.7 30.7C57.4 30.1 57 29.4 56.8 28.8C56.5 28.3 56.3 27.7 56.2 27.1C56 26.5 55.9 25.7 55.8 25C55.7 24.4 55.6 23.5 55.5 22.9C55.4 22.3 55.3 21.4 55.3 20.8C55.2 20.3 55.2 19.5 55.1 19C55.1 18.5 55.9 17.8 55 17.7C54.1 17.6 49.9 18 49 18.3C48.1 18.6 49.1 19.1 49.2 19.6C49.2 20 49.3 20.8 49.3 21.4C49.4 22 49.4 22.9 49.5 23.6C49.6 24.3 49.7 25.3 49.9 26.1C50 26.8 50.2 27.9 50.4 28.6C50.6 29.4 50.9 30.4 51.2 31.2C51.5 31.9 52.1 32.9 52.5 33.6C52.9 34.4 53.5 35.4 54 36.1C54.5 36.8 55.2 37.8 55.7 38.5C56.2 39.2 56.9 40.1 57.3 40.7C57.7 41.3 58.3 42 58.6 42.5C59 42.9 58.7 44.1 59.6 43.8C60.4 43.4 63.8 41 64.4 40.2Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M30.8 15C30.8 17.7 28.7 19.8 26 19.8C23.3 19.8 21.2 17.7 21.2 15C21.2 12.3 23.3 10.2 26 10.2C28.7 10.2 30.8 12.3 30.8 15ZM74.4 21C74.4 23.4 72.4 25.4 70 25.4C67.6 25.4 65.6 23.4 65.6 21C65.6 18.6 67.6 16.6 70 16.6C72.4 16.6 74.4 18.6 74.4 21ZM14 29C14 31.2 12.2 33 10 33C7.8 33 6 31.2 6 29C6 26.8 7.8 25 10 25C12.2 25 14 26.8 14 29ZM85.6 39C85.6 41 84 42.6 82 42.6C80 42.6 78.4 41 78.4 39C78.4 37 80 35.4 82 35.4C84 35.4 85.6 37 85.6 39ZM45.4 11C45.4 12.9 43.9 14.4 42 14.4C40.1 14.4 38.6 12.9 38.6 11C38.6 9.1 40.1 7.6 42 7.6C43.9 7.6 45.4 9.1 45.4 11ZM55.4 17C55.4 18.9 53.9 20.4 52 20.4C50.1 20.4 48.6 18.9 48.6 17C48.6 15.1 50.1 13.6 52 13.6C53.9 13.6 55.4 15.1 55.4 17Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M48 92C48.6 91.7 48 90.5 48 89.6C48.1 88.7 48.1 87.3 48.1 86.2C48.2 85.1 48.2 83.4 48.2 82.2C48.3 80.9 48.3 79.1 48.3 77.8C48.3 76.6 48.3 74.8 48.2 73.6C48.2 72.4 48.1 70.9 48 69.8C47.9 68.7 47.7 67.3 47.5 66.2C47.3 65.1 47 63.7 46.8 62.6C46.5 61.5 46.2 60.1 45.9 59.1C45.7 58.1 45.3 56.9 45.1 56C44.9 55.1 44.6 54.1 44.4 53.4C44.2 52.7 44.6 51.6 43.9 51.5C43.3 51.4 40.6 52.1 40.1 52.5C39.6 52.9 40.4 53.7 40.5 54.4C40.7 55.1 41 56.2 41.3 57C41.5 57.9 41.8 59.1 42.1 60.1C42.3 61.1 42.6 62.4 42.9 63.5C43.1 64.5 43.4 65.9 43.5 66.9C43.7 67.9 43.9 69.2 44 70.2C44.1 71.2 44.2 72.6 44.2 73.8C44.3 74.9 44.3 76.6 44.3 77.9C44.3 79.1 44.3 80.9 44.3 82.1C44.2 83.3 44.2 85 44.1 86.1C44.1 87.2 44.1 88.6 44 89.5C44 90.4 43.4 91.6 44 92C44.6 92.3 47.4 92.4 48 92ZM47.3 77.1C47.9 77.1 48.2 76 48.7 75.4C49.2 74.8 50 73.9 50.6 73.1C51.3 72.3 52.2 71.2 52.9 70.3C53.7 69.4 54.7 68.2 55.4 67.2C56.1 66.3 57 65 57.6 64C58.3 63 59 61.8 59.5 60.8C60 59.7 60.6 58.4 61 57.3C61.4 56.2 61.9 54.6 62.3 53.4C62.7 52.2 63.1 50.6 63.4 49.4C63.7 48.3 64.1 46.8 64.3 45.7C64.6 44.7 64.9 43.4 65.1 42.6C65.3 41.8 66.1 40.9 65.6 40.4C65.2 40 62.9 39.4 62.4 39.6C61.8 39.8 62 41 61.8 41.8C61.6 42.6 61.3 43.9 61 44.9C60.8 45.9 60.4 47.4 60.1 48.6C59.8 49.7 59.4 51.3 59 52.4C58.7 53.5 58.2 55 57.8 56.1C57.4 57.1 56.9 58.3 56.5 59.2C56 60.2 55.4 61.3 54.8 62.2C54.2 63.1 53.3 64.3 52.6 65.2C52 66.1 51 67.3 50.3 68.2C49.6 69 48.7 70.2 48 70.9C47.4 71.7 46.6 72.6 46.1 73.2C45.6 73.8 44.5 74.4 44.7 74.9C44.9 75.5 46.7 77 47.3 77.1Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M26.1 13.8C26.1 14.5 25.5 15.1 24.8 15.1C24.1 15.1 23.5 14.5 23.5 13.8C23.5 13.1 24.1 12.5 24.8 12.5C25.5 12.5 26.1 13.1 26.1 13.8ZM70.1 19.8C70.1 20.5 69.5 21.1 68.8 21.1C68.1 21.1 67.5 20.5 67.5 19.8C67.5 19.1 68.1 18.5 68.8 18.5C69.5 18.5 70.1 19.1 70.1 19.8ZM10.1 27.8C10.1 28.5 9.5 29.1 8.8 29.1C8.1 29.1 7.5 28.5 7.5 27.8C7.5 27.1 8.1 26.5 8.8 26.5C9.5 26.5 10.1 27.1 10.1 27.8ZM82.1 37.8C82.1 38.5 81.5 39.1 80.8 39.1C80.1 39.1 79.5 38.5 79.5 37.8C79.5 37.1 80.1 36.5 80.8 36.5C81.5 36.5 82.1 37.1 82.1 37.8ZM42.1 9.8C42.1 10.5 41.5 11.1 40.8 11.1C40.1 11.1 39.5 10.5 39.5 9.8C39.5 9.1 40.1 8.5 40.8 8.5C41.5 8.5 42.1 9.1 42.1 9.8ZM52.1 15.8C52.1 16.5 51.5 17.1 50.8 17.1C50.1 17.1 49.5 16.5 49.5 15.8C49.5 15.1 50.1 14.5 50.8 14.5C51.5 14.5 52.1 15.1 52.1 15.8Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: '#c94f45',
|
||||
d: 'M37 44C37 44.6 36.6 45 36 45C35.4 45 35 44.6 35 44C35 43.4 35.4 43 36 43C36.6 43 37 43.4 37 44ZM31 30C31 30.6 30.6 31 30 31C29.4 31 29 30.6 29 30C29 29.4 29.4 29 30 29C30.6 29 31 29.4 31 30ZM57 52C57 52.6 56.6 53 56 53C55.4 53 55 52.6 55 52C55 51.4 55.4 51 56 51C56.6 51 57 51.4 57 52ZM65 34C65 34.6 64.6 35 64 35C63.4 35 63 34.6 63 34C63 33.4 63.4 33 64 33C64.6 33 65 33.4 65 34ZM21 44C21 44.6 20.6 45 20 45C19.4 45 19 44.6 19 44C19 43.4 19.4 43 20 43C20.6 43 21 43.4 21 44ZM45 66C45 66.6 44.6 67 44 67C43.4 67 43 66.6 43 66C43 65.4 43.4 65 44 65C44.6 65 45 65.4 45 66Z',
|
||||
o: 0.6,
|
||||
},
|
||||
{ p: 1, d: 'M22 100C24 92 32 88 44 88C56 88 66 92 68 100Z' },
|
||||
{ p: 'shade', d: 'M44 88C56 88 66 92 68 100L50 100C52 94 50 90 44 88Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'sailboat',
|
||||
theme: 'sea',
|
||||
tags: ['sailboat', 'boat', 'sailing', 'yacht', 'sea', 'regatta', 'summer', 'harbour'],
|
||||
descr: 'A small sailboat with a white mainsail, a striped jib and a red hull riding a little wave.',
|
||||
box: [90, 100],
|
||||
slots: [
|
||||
{ name: 'hull', color: '#d1442f' },
|
||||
{ name: 'sails', color: '#fbf8f0' },
|
||||
{ name: 'stripe', color: '#2f6fb3' },
|
||||
{ name: 'water', color: '#4ea8de' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 3,
|
||||
d: 'M0 86C0.6 86.2 2.5 87.1 3.8 87.4C5 87.7 6.3 88 7.5 88C8.8 88 10 87.7 11.3 87.4C12.5 87.1 13.8 86.5 15 86C16.3 85.5 17.5 84.9 18.8 84.6C20 84.3 21.3 84 22.5 84C23.8 84 25 84.3 26.3 84.6C27.5 84.9 28.8 85.5 30 86C31.3 86.5 32.5 87.1 33.8 87.4C35 87.7 36.3 88 37.5 88C38.8 88 40 87.7 41.3 87.4C42.5 87.1 43.8 86.5 45 86C46.3 85.5 47.5 84.9 48.8 84.6C50 84.3 51.3 84 52.5 84C53.8 84 55 84.3 56.3 84.6C57.5 84.9 58.8 85.5 60 86C61.3 86.5 62.5 87.1 63.8 87.4C65 87.7 66.3 88 67.5 88C68.8 88 70 87.7 71.3 87.4C72.5 87.1 73.8 86.5 75 86C76.3 85.5 77.5 84.9 78.8 84.6C80 84.3 81.3 84 82.5 84C83.8 84 85 84.3 86.3 84.6C87.5 84.9 89.4 85.8 90 86L90 100L0 100Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M10 92C10.2 92.1 10.8 92.3 11.3 92.4C11.7 92.5 12.1 92.6 12.5 92.6C12.9 92.6 13.3 92.5 13.8 92.4C14.2 92.3 14.6 92.1 15 92C15.4 91.9 15.8 91.7 16.3 91.6C16.7 91.5 17.1 91.4 17.5 91.4C17.9 91.4 18.3 91.5 18.8 91.6C19.2 91.7 19.6 91.9 20 92C20.4 92.1 20.8 92.3 21.3 92.4C21.7 92.5 22.1 92.6 22.5 92.6C22.9 92.6 23.3 92.5 23.8 92.4C24.2 92.3 24.6 92.1 25 92C25.4 91.9 25.8 91.7 26.3 91.6C26.7 91.5 27.1 91.4 27.5 91.4C27.9 91.4 28.3 91.5 28.8 91.6C29.2 91.7 29.8 91.9 30 92M52 95C52.3 95.1 53 95.3 53.5 95.4C54 95.5 54.5 95.6 55 95.6C55.5 95.6 56 95.5 56.5 95.4C57 95.3 57.5 95.1 58 95C58.5 94.9 59 94.7 59.5 94.6C60 94.5 60.5 94.4 61 94.4C61.5 94.4 62 94.5 62.5 94.6C63 94.7 63.5 94.9 64 95C64.5 95.1 65 95.3 65.5 95.4C66 95.5 66.5 95.6 67 95.6C67.5 95.6 68 95.5 68.5 95.4C69 95.3 69.5 95.1 70 95C70.5 94.9 71 94.7 71.5 94.6C72 94.5 72.5 94.4 73 94.4C73.5 94.4 74 94.5 74.5 94.6C75 94.7 75.8 94.9 76 95',
|
||||
o: 0.6,
|
||||
w: 0.8,
|
||||
},
|
||||
{ p: '#6b4f2e', d: 'M43 8L45.4 8L45.4 78L43 78Z' },
|
||||
{ p: 1, d: 'M46.6 10C60 26 70 50 76 70L46.6 70Z' },
|
||||
{ p: 'shade', d: 'M46.6 10C60 26 70 50 76 70L64 70C60 50 54 28 46.6 10Z', o: 0.1 },
|
||||
{ p: 1, d: 'M41.6 18C34 34 24 54 14 70L41.6 70Z' },
|
||||
{ p: 2, d: 'M41.6 30L34.6 42L41.6 42ZM41.6 52L23.8 58.6L20.2 64L41.6 64Z' },
|
||||
{ p: 'shade', d: 'M41.6 18L41.6 70L34 70C37 54 39 36 41.6 18Z', o: 0.1 },
|
||||
{ p: 0, d: 'M8 74L84 74C80 84 72 88 62 88L26 88C18 88 12 84 8 74Z' },
|
||||
{ p: 'shade', d: 'M8 74L84 74L83 77L9 77Z', o: 0.2 },
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M31.6 80C31.6 80.9 30.9 81.6 30 81.6C29.1 81.6 28.4 80.9 28.4 80C28.4 79.1 29.1 78.4 30 78.4C30.9 78.4 31.6 79.1 31.6 80ZM43.6 80C43.6 80.9 42.9 81.6 42 81.6C41.1 81.6 40.4 80.9 40.4 80C40.4 79.1 41.1 78.4 42 78.4C42.9 78.4 43.6 79.1 43.6 80ZM55.6 80C55.6 80.9 54.9 81.6 54 81.6C53.1 81.6 52.4 80.9 52.4 80C52.4 79.1 53.1 78.4 54 78.4C54.9 78.4 55.6 79.1 55.6 80Z',
|
||||
},
|
||||
{ p: 2, d: 'M44.2 8L56 11L44.2 14Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'lighthouse',
|
||||
theme: 'sea',
|
||||
tags: ['lighthouse', 'coast', 'sea', 'harbour', 'beacon', 'maritime', 'cliff', 'navigation'],
|
||||
descr: 'A red and white striped lighthouse on rocks, its lantern room glowing with two beams of light.',
|
||||
box: [90, 100],
|
||||
slots: [
|
||||
{ name: 'stripes', color: '#d1442f' },
|
||||
{ name: 'tower', color: '#fbf8f0' },
|
||||
{ name: 'light', color: '#ffd23f' },
|
||||
{ name: 'rocks', color: '#7d8a8c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M38 20L2 8L2 28ZM52 20L88 8L88 28Z', o: 0.32 },
|
||||
{ p: 1, d: 'M34 88L38 32L52 32L56 88Z' },
|
||||
{ p: 0, d: 'M37.2 44L52.8 44L53.6 56L36.4 56ZM35.6 68L54.4 68L55.2 80L34.8 80Z' },
|
||||
{ p: 'shade', d: 'M47 32L52 32L56 88L49 88Z', o: 0.14 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M44.2 84L45.8 84C46.7 84 47.4 84.7 47.4 85.6L47.4 86.4C47.4 87.3 46.7 88 45.8 88L44.2 88C43.3 88 42.6 87.3 42.6 86.4L42.6 85.6C42.6 84.7 43.3 84 44.2 84Z',
|
||||
o: 0.7,
|
||||
},
|
||||
{ p: '#3a3f47', d: 'M33 29L57 29L57 32.4L33 32.4ZM36 30L54 30L54 31L36 31Z' },
|
||||
{ p: 2, d: 'M37.6 18L52.4 18L52.4 29L37.6 29Z' },
|
||||
{ p: '#3a3f47', d: 'M37 18L39 18L39 29L37 29ZM51 18L53 18L53 29L51 29ZM44 18L46 18L46 29L44 29Z' },
|
||||
{ p: 0, d: 'M35 18C36 12 40 9 45 8C50 9 54 12 55 18Z' },
|
||||
{
|
||||
p: '#3a3f47',
|
||||
d: 'M44.2 4L45.8 4L45.8 8.4L44.2 8.4ZM46.4 3.6C46.4 4.4 45.8 5 45 5C44.2 5 43.6 4.4 43.6 3.6C43.6 2.8 44.2 2.2 45 2.2C45.8 2.2 46.4 2.8 46.4 3.6Z',
|
||||
},
|
||||
{ p: 3, d: 'M10 100C12 92 20 86 30 86C36 84 42 86 46 88C54 84 64 86 70 90C78 90 84 94 86 100Z' },
|
||||
{ p: 'shade', d: 'M46 88C54 84 64 86 70 90C78 90 84 94 86 100L56 100C60 96 56 90 46 88Z', o: 0.2 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'anchor',
|
||||
theme: 'sea',
|
||||
tags: ['anchor', 'nautical', 'sailor', 'sea', 'boat', 'harbour', 'maritime', 'rope'],
|
||||
descr: 'A navy ship anchor with a ring and crossbar, curved flukes and a rope looped around its shank.',
|
||||
box: [80, 100],
|
||||
slots: [
|
||||
{ name: 'anchor', color: '#24456e' },
|
||||
{ name: 'rope', color: '#d9b382' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 0, d: 'M40 18L40 90', w: 7 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M46.4 12C46.4 15.5 43.5 18.4 40 18.4C36.5 18.4 33.6 15.5 33.6 12C33.6 8.5 36.5 5.6 40 5.6C43.5 5.6 46.4 8.5 46.4 12Z',
|
||||
w: 3.6,
|
||||
},
|
||||
{ p: 0, d: 'M22 30L58 30', w: 5.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M25.4 30C25.4 31.9 23.9 33.4 22 33.4C20.1 33.4 18.6 31.9 18.6 30C18.6 28.1 20.1 26.6 22 26.6C23.9 26.6 25.4 28.1 25.4 30ZM61.4 30C61.4 31.9 59.9 33.4 58 33.4C56.1 33.4 54.6 31.9 54.6 30C54.6 28.1 56.1 26.6 58 26.6C59.9 26.6 61.4 28.1 61.4 30Z',
|
||||
},
|
||||
{ p: 0, d: 'M8 62C10 80 24 92 40 92C56 92 70 80 72 62', w: 6.4 },
|
||||
{ p: 0, d: 'M2 66L8 54L15 64ZM78 66L72 54L65 64Z' },
|
||||
{ p: 'light', d: 'M38.6 34L38.6 86M10.6 66C13 79 24 88 37 89.6', o: 0.35, w: 1.2 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M34 42C28 46 28 54 36 56C46 58 52 64 46 70C40 74 30 70 28 76C26 82 34 88 42 86C50 84 54 92 50 98',
|
||||
w: 2.6,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M34 42C28 46 28 54 36 56C46 58 52 64 46 70C40 74 30 70 28 76C26 82 34 88 42 86C50 84 54 92 50 98',
|
||||
o: 0.25,
|
||||
w: 0.8,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'lifebuoy',
|
||||
theme: 'sea',
|
||||
tags: ['lifebuoy', 'life ring', 'life preserver', 'boat', 'sea', 'beach', 'nautical', 'safety'],
|
||||
descr: 'A red and white life ring with four bands and a rope tied around its outside.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'red', color: '#e63946' },
|
||||
{ name: 'white', color: '#fbf8f0' },
|
||||
{ name: 'rope', color: '#d9b382' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M94 50L85.6 75.9L63.6 91.8L36.4 91.8L14.4 75.9L6 50L14.4 24.1L36.4 8.2L63.6 8.2L85.6 24.1L94 50L70 50L66.2 38.2L56.2 31L43.8 31L33.8 38.2L30 50L33.8 61.8L43.8 69L56.2 69L66.2 61.8L70 50Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M90.8 66.5L89.3 69.7L87.6 72.8L85.7 75.7L83.5 78.5L81.1 81.1L78.5 83.5L75.7 85.7L72.8 87.6L69.7 89.3L66.5 90.8L57.5 68.5L59 67.9L60.4 67.1L61.7 66.2L63 65.2L64.1 64.1L65.2 63L66.2 61.7L67.1 60.4L67.9 59L68.5 57.5ZM33.5 90.8L30.3 89.3L27.2 87.6L24.3 85.7L21.5 83.5L18.9 81.1L16.5 78.5L14.3 75.7L12.4 72.8L10.7 69.7L9.2 66.5L31.5 57.5L32.1 59L32.9 60.4L33.8 61.7L34.8 63L35.9 64.1L37 65.2L38.3 66.2L39.6 67.1L41 67.9L42.5 68.5ZM9.2 33.5L10.7 30.3L12.4 27.2L14.3 24.3L16.5 21.5L18.9 18.9L21.5 16.5L24.3 14.3L27.2 12.4L30.3 10.7L33.5 9.2L42.5 31.5L41 32.1L39.6 32.9L38.3 33.8L37 34.8L35.9 35.9L34.8 37L33.8 38.3L32.9 39.6L32.1 41L31.5 42.5ZM66.5 9.2L69.7 10.7L72.8 12.4L75.7 14.3L78.5 16.5L81.1 18.9L83.5 21.5L85.7 24.3L87.6 27.2L89.3 30.3L90.8 33.5L68.5 42.5L67.9 41L67.1 39.6L66.2 38.3L65.2 37L64.1 35.9L63 34.8L61.7 33.8L60.4 32.9L59 32.1L57.5 31.5Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M93.3 57.6L89.5 69.3L82.7 79.4L73.3 87.3L62.1 92.3L50 94L37.9 92.3L26.7 87.3L17.3 79.4L10.5 69.3L6.7 57.6L30.3 53.5L32 58.8L35.1 63.4L39.4 67L44.5 69.2L50 70L55.5 69.2L60.6 67L64.9 63.4L68 58.8L69.7 53.5Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M14.3 37L15.6 33.9L17.1 31L18.9 28.2L20.9 25.6L23.1 23.1L25.6 20.9L28.2 18.9L31 17.1L33.9 15.6L37 14.3L39.7 21.8L37.3 22.8L35 24L32.8 25.4L30.7 27L28.8 28.8L27 30.7L25.4 32.8L24 35L22.8 37.3L21.8 39.7Z',
|
||||
o: 0.4,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M90 50C90 72.1 72.1 90 50 90C27.9 90 10 72.1 10 50C10 27.9 27.9 10 50 10C72.1 10 90 27.9 90 50Z',
|
||||
w: 1.6,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M81 77.6L77.6 81C77.1 81.4 76.3 81.4 75.9 81L75.6 80.7C75.1 80.2 75.1 79.5 75.6 79L79 75.6C79.5 75.1 80.2 75.1 80.7 75.6L81 75.9C81.4 76.3 81.4 77.1 81 77.6ZM22.4 81L19 77.6C18.6 77.1 18.6 76.3 19 75.9L19.3 75.6C19.8 75.1 20.5 75.1 21 75.6L24.4 79C24.9 79.5 24.9 80.2 24.4 80.7L24.1 81C23.7 81.4 22.9 81.4 22.4 81ZM19 22.4L22.4 19C22.9 18.6 23.7 18.6 24.1 19L24.4 19.3C24.9 19.8 24.9 20.5 24.4 21L21 24.4C20.5 24.9 19.8 24.9 19.3 24.4L19 24.1C18.6 23.7 18.6 22.9 19 22.4ZM77.6 19L81 22.4C81.4 22.9 81.4 23.7 81 24.1L80.7 24.4C80.2 24.9 79.5 24.9 79 24.4L75.6 21C75.1 20.5 75.1 19.8 75.6 19.3L75.9 19C76.3 18.6 77.1 18.6 77.6 19Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'seagull',
|
||||
theme: 'sea',
|
||||
tags: ['seagull', 'gull', 'bird', 'sea', 'coast', 'harbour', 'flying', 'beach'],
|
||||
descr: 'A seagull gliding with wide grey-tipped wings, a white body and a yellow beak.',
|
||||
box: [110, 60],
|
||||
slots: [
|
||||
{ name: 'body', color: '#fbf8f0' },
|
||||
{ name: 'wings', color: '#b8c4cc' },
|
||||
{ name: 'beak', color: '#f4b23e' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M52 30C42 18 28 10 6 12C18 16 30 22 40 32Z' },
|
||||
{ p: '#3a3f47', d: 'M6 12C12 13 16 14 20 15.6L16 18C12 15.4 9 13.6 6 12Z' },
|
||||
{ p: 1, d: 'M58 30C66 16 80 6 104 6C92 12 80 20 70 32Z' },
|
||||
{ p: '#3a3f47', d: 'M104 6C98 6.6 94 7.6 90 9L93 12C96 9.6 100 7.6 104 6Z' },
|
||||
{ p: 'shade', d: 'M58 30C66 16 80 6 104 6C88 10 76 18 66 30Z', o: 0.16 },
|
||||
{ p: 0, d: 'M30 36C40 30 56 28 68 30C76 31 82 34 86 38C80 40 72 42 62 42C50 42 38 40 30 36Z' },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M85.4 34C85.4 37 83 39.4 80 39.4C77 39.4 74.6 37 74.6 34C74.6 31 77 28.6 80 28.6C83 28.6 85.4 31 85.4 34Z',
|
||||
},
|
||||
{ p: 2, d: 'M84.6 33L92 35L84.6 36.4Z' },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M82.5 32.6C82.5 33.1 82.1 33.5 81.6 33.5C81.1 33.5 80.7 33.1 80.7 32.6C80.7 32.1 81.1 31.7 81.6 31.7C82.1 31.7 82.5 32.1 82.5 32.6Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M30 36C40 40 52 42 62 42C72 42 80 40 86 38C80 44 70 46 60 46C48 46 38 42 30 36Z', o: 0.12 },
|
||||
{ p: 1, d: 'M30 36L20 34L24 39Z' },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'beachUmbrella',
|
||||
theme: 'sea',
|
||||
tags: ['beach umbrella', 'parasol', 'beach', 'summer', 'sun', 'holiday', 'sand', 'shade'],
|
||||
descr: 'A striped beach parasol tilted into the sand, with a scalloped edge and a little mound of sand.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'stripe1', color: '#ef476f' },
|
||||
{ name: 'stripe2', color: '#fbf8f0' },
|
||||
{ name: 'sand', color: '#f2d08f' },
|
||||
],
|
||||
layers: [
|
||||
{ p: '#8a6d4a', d: 'M50 40L60 94', w: 2.4 },
|
||||
{ p: 2, d: 'M24 100C34 90 50 88 66 90C80 92 90 96 96 100Z' },
|
||||
{ p: 'shade', d: 'M66 90C80 92 90 96 96 100L70 100C72 96 70 92 66 90Z', o: 0.12 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50 8C28.2 16.6 14.2 29.2 8 46C12.7 42.3 17.3 42 22 45C26.1 28.4 35.4 16 50 8ZM50 8C42.7 15.4 38.1 27.3 36 43.6C40.7 39.9 45.3 39.5 50 42.4C50 26.3 50 14.8 50 8ZM50 8C57.3 14.7 61.9 25.8 64 41.4C69 37.8 74 37.5 79 40.6C74.7 25.5 65.1 14.6 50 8Z',
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 8C35.4 16 26.1 28.4 22 45C26.7 41.2 31.3 40.7 36 43.6C38.1 27.3 42.7 15.4 50 8ZM50 8C50 14.8 50 26.3 50 42.4C54.7 38.7 59.3 38.4 64 41.4C61.9 25.8 57.3 14.7 50 8ZM50 8C65.1 14.6 74.7 25.5 79 40.6C84 37.1 89 36.9 94 40C87.5 25.3 72.9 14.6 50 8Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 8C57.3 14.7 61.9 25.8 64 41.4C69 37.8 74 37.5 79 40.6C74.7 25.5 65.1 14.6 50 8ZM50 8C65.1 14.6 74.7 25.5 79 40.6C84 37.1 89 36.9 94 40C87.5 25.3 72.9 14.6 50 8Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 8C28.2 16.6 14.2 29.2 8 46C12.7 42.3 17.3 42 22 45C26.1 28.4 35.4 16 50 8ZM50 8C35.4 16 26.1 28.4 22 45C26.7 41.2 31.3 40.7 36 43.6C38.1 27.3 42.7 15.4 50 8Z',
|
||||
o: 0.05,
|
||||
},
|
||||
{ p: '#8a6d4a', d: 'M52 7C52 8.1 51.1 9 50 9C48.9 9 48 8.1 48 7C48 5.9 48.9 5 50 5C51.1 5 52 5.9 52 7Z' },
|
||||
{ p: 'light', d: 'M18 34C22 24 30 16 40 12', o: 0.4, w: 1.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,595 +0,0 @@
|
||||
import type { BookStickerDef } from '../sticker-types';
|
||||
|
||||
/** Tropical: flowers, leaves, fruit and birds of the warm coasts. */
|
||||
export const TROPICAL_STICKERS: readonly BookStickerDef[] = [
|
||||
{
|
||||
id: 'hibiscus',
|
||||
theme: 'tropical',
|
||||
tags: ['hibiscus', 'flower', 'tropical', 'hawaii', 'bloom', 'red', 'summer', 'island'],
|
||||
descr:
|
||||
'A big red hibiscus flower seen from the front: five ruffled, veined petals around a dark heart, a long yellow stamen and two leaves behind.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'petals', color: '#e63946' },
|
||||
{ name: 'stamen', color: '#ffd166' },
|
||||
{ name: 'leaves', color: '#2d936c' },
|
||||
{ name: 'heart', color: '#8d0f22' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 2,
|
||||
d: 'M50 52C51 55.4 53.1 67.9 64.5 74.9C78.4 83.3 92.3 79.8 96 80C94.2 76.8 90.9 62.8 76.9 54.3C65.6 47.4 53.5 51.3 50 52Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M50 52C46.4 52.1 34.1 50.8 23.2 59.7C9.9 70.6 7.6 84.5 6 88C9.7 87.1 23.9 87.6 37.2 76.7C48.1 67.8 49.2 55.5 50 52Z',
|
||||
},
|
||||
{ p: 'shade', d: 'M50 52C51 55.4 53.1 67.9 64.5 74.9C78.4 83.3 92.3 79.8 96 80L50 52Z', o: 0.22 },
|
||||
{ p: 'shade', d: 'M50 52C49.2 55.5 48.1 67.8 37.2 76.7C23.9 87.6 9.7 87.1 6 88L50 52Z', o: 0.22 },
|
||||
{ p: 'light', d: 'M62 59L92 78M38 61L10 85', o: 0.4, w: 0.8 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M49.2 46.1C46.9 42.3 38.4 25.2 37 20.8C35.6 16.4 38.4 16.3 39.3 15C40.2 13.7 42 12.2 43.2 11.6C44.5 11 46.6 10.8 47.9 10.8C49.3 10.7 51.4 11.1 52.7 11.1C54.1 11.2 56.1 11.3 57.5 11.2C58.9 11.2 61.2 10.9 62.7 11C64.1 11.1 66.5 11.2 67.9 11.7C69.2 12.2 71.1 13.5 72.1 14.6C73.1 15.7 74.2 18 74.7 19.5C75.3 20.9 75.7 23.4 76 24.8C76.4 26.3 76.8 28.4 77 29.7C77.2 31 81.1 31.5 77.7 34C74.3 36.5 57 45.6 53 47.3C48.9 49 51.4 49.8 49.2 46.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M53.1 46.1C54 46.2 66.2 36.3 70.5 34C74.7 31.6 80.4 31.6 81.4 30.4C82.3 29.2 79.3 25.5 76.8 25.9C74.2 26.3 67.7 30.1 64.1 33.1C60.6 36.2 52.1 45.9 53.1 46.1Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M51.4 42.1C51 40.1 50 34 49 30C48 26.1 46.1 20.3 45.5 18.3M51.9 42.2C52.1 40.2 52.5 34.2 52.6 30.2C52.8 26.2 52.8 20.1 52.8 18.1M52.5 42.4C53.1 40.5 54.9 34.8 56.2 31C57.4 27.2 59.3 21.5 59.9 19.6M53 42.6C54.1 40.9 57.3 35.7 59.5 32.4C61.8 29.1 65.3 24.2 66.5 22.6M53.5 42.8C55 41.4 59.4 37 62.5 34.4C65.7 31.8 70.6 28.2 72.2 27',
|
||||
o: 0.22,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M53.5 48C56.3 44.7 70 31.3 73.8 28.6C77.5 25.9 78.5 28.6 80 29C81.5 29.5 83.5 30.7 84.4 31.7C85.4 32.7 86.2 34.7 86.7 35.9C87.2 37.2 87.5 39.3 87.8 40.6C88.2 41.9 88.7 43.9 89.2 45.2C89.6 46.5 90.6 48.6 91 50C91.4 51.4 92 53.7 91.9 55.2C91.9 56.6 91.2 58.8 90.5 60.1C89.8 61.4 87.9 63.1 86.7 64.1C85.5 65.1 83.2 66.2 82 67C80.7 67.8 78.9 68.8 77.7 69.4C76.5 70 77.2 73.9 73.8 71.4C70.3 68.9 56.3 55.3 53.5 52C50.6 48.7 50.6 51.3 53.5 48Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M54.7 51.7C54.9 52.7 68 61.2 71.6 64.5C75.1 67.8 76.9 73.3 78.3 73.8C79.8 74.3 82.4 70.3 81.2 68C80 65.7 74.4 60.7 70.4 58.2C66.4 55.8 54.5 50.8 54.7 51.7Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M57.9 48.9C59.7 47.9 65.2 45.1 68.7 42.9C72.2 40.7 77.1 37.1 78.8 36M58 49.5C59.9 48.9 65.8 47.5 69.7 46.4C73.5 45.3 79.3 43.4 81.2 42.8M58 50C60 50 66 50 70 50C74 50 80 50 82 50M58 50.5C59.9 51.1 65.8 52.5 69.7 53.6C73.5 54.7 79.3 56.6 81.2 57.2M57.9 51.1C59.7 52.1 65.2 54.9 68.7 57.1C72.2 59.3 77.1 62.9 78.8 64',
|
||||
o: 0.22,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M53 52.7C57 54.4 74 63.3 77.7 66C81.4 68.7 79.2 70.4 79.2 72C79.3 73.6 78.7 75.9 78 77.1C77.4 78.3 75.8 79.7 74.7 80.5C73.7 81.4 71.8 82.3 70.7 83C69.5 83.8 67.8 84.9 66.7 85.8C65.6 86.6 63.9 88.2 62.7 89C61.4 89.8 59.4 91.1 58.1 91.5C56.7 91.9 54.3 92 52.9 91.6C51.5 91.3 49.2 90.1 47.9 89.2C46.6 88.4 44.8 86.6 43.7 85.7C42.6 84.7 41.1 83.2 40.1 82.3C39.2 81.4 35.7 83.3 37 79.2C38.3 75.2 46.9 57.7 49.2 53.9C51.4 50.2 48.9 51 53 52.7Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M49.8 55C49 55.5 44.9 70.6 42.8 75C40.8 79.4 36.2 82.8 36.1 84.3C36.1 85.8 40.7 87.1 42.5 85.2C44.4 83.4 47.4 76.5 48.5 71.9C49.6 67.4 50.7 54.5 49.8 55Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M53.5 57.2C55 58.6 59.4 63 62.5 65.6C65.7 68.2 70.6 71.8 72.2 73M53 57.4C54.1 59.1 57.3 64.3 59.5 67.6C61.8 70.9 65.3 75.8 66.5 77.4M52.5 57.6C53.1 59.5 54.9 65.2 56.2 69C57.4 72.8 59.3 78.5 59.9 80.4M51.9 57.8C52.1 59.8 52.5 65.8 52.6 69.8C52.8 73.8 52.8 79.9 52.8 81.9M51.4 57.9C51 59.9 50 66 49 70C48 73.9 46.1 79.7 45.5 81.7',
|
||||
o: 0.22,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M48.4 53.7C48 58 44.8 76.9 43.3 81.3C41.9 85.7 39.6 84.1 38.1 84.6C36.6 85.1 34.3 85.3 32.9 85C31.6 84.8 29.7 83.7 28.6 83C27.5 82.2 26 80.7 25 79.9C23.9 79 22.3 77.7 21.1 76.9C20 76.1 18 75 16.8 74.1C15.7 73.2 13.8 71.7 13 70.5C12.3 69.3 11.4 67.1 11.3 65.6C11.2 64.2 11.6 61.7 12 60.2C12.4 58.7 13.6 56.4 14.1 55C14.7 53.7 15.6 51.8 16.2 50.6C16.8 49.4 14 46.7 18.2 46.7C22.4 46.6 41.7 49.4 46 50.4C50.3 51.4 48.8 49.3 48.4 53.7Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M45.2 51.4C44.5 50.7 28.8 51.5 24 50.9C19.2 50.3 14.6 47 13.1 47.4C11.6 47.8 11.9 52.6 14.2 53.8C16.5 54.9 24 55.7 28.7 55.3C33.3 55 45.9 52 45.2 51.4Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M44.2 55.5C43.4 57.4 40.6 62.9 39 66.7C37.5 70.5 35.7 76.3 35 78.3M43.9 55.1C42.6 56.7 38.7 61.3 36.2 64.5C33.7 67.7 30.2 72.5 29 74.2M43.5 54.7C41.9 55.9 37.1 59.4 33.8 61.8C30.6 64.1 25.7 67.6 24.1 68.8M43.2 54.3C41.3 55 35.7 57.3 32 58.6C28.2 60 22.4 61.9 20.5 62.5M42.9 53.8C40.9 54 34.8 54.9 30.7 55.2C26.6 55.5 20.5 55.5 18.5 55.6',
|
||||
o: 0.22,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M46 49.6C41.7 50.6 22.8 53.4 18.2 53.3C13.6 53.3 14.4 50.6 13.4 49.4C12.5 48.1 11.6 45.9 11.4 44.6C11.2 43.2 11.7 41.1 12 39.8C12.4 38.5 13.4 36.7 13.9 35.4C14.4 34.1 15 32.2 15.5 30.9C15.9 29.5 16.3 27.3 16.8 25.9C17.3 24.5 18.2 22.3 19.1 21.2C20 20.1 21.8 18.6 23.2 18C24.5 17.4 27 17.1 28.6 17C30.2 17 32.7 17.3 34.1 17.5C35.6 17.6 37.7 17.9 39 18C40.3 18.2 42 14.7 43.3 18.7C44.7 22.7 48 42 48.4 46.3C48.8 50.7 50.3 48.6 46 49.6Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M47.2 45.9C47.6 45 42 30.3 41.1 25.6C40.2 20.8 41.9 15.4 41 14.1C40.2 12.8 35.8 14.5 35.4 17.1C35 19.7 36.6 27 38.3 31.3C40.1 35.7 46.8 46.7 47.2 45.9Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M42.9 46.2C40.9 46 34.8 45.1 30.7 44.8C26.6 44.5 20.5 44.5 18.5 44.4M43.2 45.7C41.3 45 35.7 42.7 32 41.4C28.2 40 22.4 38.1 20.5 37.5M43.5 45.3C41.9 44.1 37.1 40.6 33.8 38.2C30.6 35.9 25.7 32.4 24.1 31.2M43.9 44.9C42.6 43.3 38.7 38.7 36.2 35.5C33.7 32.3 30.2 27.5 29 25.8M44.2 44.5C43.4 42.6 40.6 37.1 39 33.3C37.5 29.5 35.7 23.7 35 21.7',
|
||||
o: 0.22,
|
||||
w: 0.7,
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M47.8 43.3C50 42.6 51.6 35.9 52.8 34.2C54 32.6 55.1 32.2 55.7 32.4C56.4 32.6 57 33.6 57 35.6C57 37.6 54.3 44.1 55.7 45.9C57 47.7 63.9 47.2 65.8 47.8C67.8 48.4 68.5 49.3 68.5 50C68.5 50.7 67.8 51.6 65.8 52.2C63.9 52.8 57 52.3 55.7 54.1C54.3 55.9 57 62.4 57 64.4C57 66.4 56.4 67.4 55.7 67.6C55.1 67.8 54 67.4 52.8 65.8C51.6 64.1 50 57.4 47.8 56.7C45.7 56 40.4 60.5 38.5 61.1C36.6 61.7 35.4 61.4 35 60.9C34.6 60.3 34.7 59.1 35.9 57.5C37.1 55.9 43 52.3 43 50C43 47.7 37.1 44.1 35.9 42.5C34.7 40.9 34.6 39.7 35 39.1C35.4 38.6 36.6 38.3 38.5 38.9C40.4 39.5 45.7 44 47.8 43.3Z',
|
||||
o: 0.9,
|
||||
},
|
||||
{
|
||||
p: 3,
|
||||
d: 'M53.4 36.4C53.8 35.3 55.3 31.9 55.8 29.8C56.3 27.7 56.4 24.8 56.5 23.8M64 49C65.1 49.1 68.8 49.4 71 49.3C73.1 49.1 75.9 48.3 76.9 48.1M55.2 63C55.6 64.1 56.4 67.7 57.2 69.7C58 71.7 59.6 74.2 60.1 75M39.3 59C38.3 59.7 35.1 61.5 33.5 62.9C31.8 64.3 30 66.6 29.3 67.4M38.1 42.6C37.2 41.9 34.4 39.4 32.6 38.3C30.8 37.1 28 36.1 27.1 35.7',
|
||||
o: 0.6,
|
||||
w: 1,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M50 26C50.4 24.8 52 21.1 52.2 19.1C52.4 17.1 51.4 14.9 51.3 14M72.8 42.6C74 42.6 78.1 42.9 80.1 42.5C82 42.1 83.9 40.5 84.6 40.1M64.1 69.4C64.5 70.6 65.4 74.6 66.4 76.3C67.4 78 69.5 79.3 70.1 79.8M35.9 69.4C34.9 70.1 31.4 72.3 30.1 73.7C28.7 75.2 28.2 77.6 27.8 78.4M27.2 42.6C26.2 41.9 23.1 39.2 21.3 38.4C19.4 37.6 17 37.8 16.2 37.7',
|
||||
o: 0.35,
|
||||
w: 0.9,
|
||||
},
|
||||
{ p: 1, d: 'M50 50C54 42 58 33 65 24', w: 2.2 },
|
||||
{ p: 'shade', d: 'M51 49C55 41 59 33 65.6 24.6', o: 0.25, w: 0.8 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M68 23.6C68 24.9 66.9 26 65.6 26C64.3 26 63.2 24.9 63.2 23.6C63.2 22.3 64.3 21.2 65.6 21.2C66.9 21.2 68 22.3 68 23.6ZM63.7 21.6C63.7 22.5 62.9 23.3 62 23.3C61.1 23.3 60.3 22.5 60.3 21.6C60.3 20.7 61.1 19.9 62 19.9C62.9 19.9 63.7 20.7 63.7 21.6ZM70.3 26.4C70.3 27.3 69.5 28.1 68.6 28.1C67.7 28.1 66.9 27.3 66.9 26.4C66.9 25.5 67.7 24.7 68.6 24.7C69.5 24.7 70.3 25.5 70.3 26.4ZM68.3 19.8C68.3 20.6 67.6 21.3 66.8 21.3C66 21.3 65.3 20.6 65.3 19.8C65.3 19 66 18.3 66.8 18.3C67.6 18.3 68.3 19 68.3 19.8ZM64 26.6C64 27.4 63.4 28 62.6 28C61.8 28 61.2 27.4 61.2 26.6C61.2 25.8 61.8 25.2 62.6 25.2C63.4 25.2 64 25.8 64 26.6ZM70.9 22.4C70.9 23.1 70.3 23.7 69.6 23.7C68.9 23.7 68.3 23.1 68.3 22.4C68.3 21.7 68.9 21.1 69.6 21.1C70.3 21.1 70.9 21.7 70.9 22.4Z',
|
||||
},
|
||||
{
|
||||
p: '#c1121f',
|
||||
d: 'M69.1 18.6C69.1 19.2 68.6 19.7 68 19.7C67.4 19.7 66.9 19.2 66.9 18.6C66.9 18 67.4 17.5 68 17.5C68.6 17.5 69.1 18 69.1 18.6ZM61.7 22.8C61.7 23.4 61.2 23.9 60.6 23.9C60 23.9 59.5 23.4 59.5 22.8C59.5 22.2 60 21.7 60.6 21.7C61.2 21.7 61.7 22.2 61.7 22.8ZM71.9 25C71.9 25.6 71.4 26.1 70.8 26.1C70.2 26.1 69.7 25.6 69.7 25C69.7 24.4 70.2 23.9 70.8 23.9C71.4 23.9 71.9 24.4 71.9 25ZM65.5 17.8C65.5 18.3 65.1 18.7 64.6 18.7C64.1 18.7 63.7 18.3 63.7 17.8C63.7 17.3 64.1 16.9 64.6 16.9C65.1 16.9 65.5 17.3 65.5 17.8ZM71.9 21C71.9 21.5 71.5 21.9 71 21.9C70.5 21.9 70.1 21.5 70.1 21C70.1 20.5 70.5 20.1 71 20.1C71.5 20.1 71.9 20.5 71.9 21Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'frangipani',
|
||||
theme: 'tropical',
|
||||
tags: ['frangipani', 'plumeria', 'flower', 'tropical', 'bali', 'hawaii', 'lei', 'white'],
|
||||
descr:
|
||||
'A frangipani flower: five broad cream petals overlapping in a pinwheel, blushing pink at the tips around a golden heart.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'petals', color: '#fff8ec' },
|
||||
{ name: 'heart', color: '#ffb703' },
|
||||
{ name: 'blush', color: '#f4978e' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52.8 49C61.1 44.3 65.4 33.7 62.7 18.2C61.3 10.2 47.9 7.5 45.4 6.2C43.5 8.2 31.8 15.3 33.1 23.3C35.8 38.8 43.4 47.4 52.8 49Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M48.3 17C53.4 15.2 56.5 13 56 11C54.9 7.1 46.9 6.7 45.4 6.2C44.3 7.4 37.5 11.7 38.6 15.6C39.1 17.7 42.9 18 48.3 17Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{ p: 'shade', d: 'M52.8 49C55.2 45.4 65.4 33.7 62.7 18.2C61.3 10.2 47.9 7.5 45.4 6.2L52.8 49Z', o: 0.06 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M51.8 52.4C58.8 58.9 70.2 59.6 84.2 52.3C91.3 48.5 89.8 34.9 90.2 32.1C87.7 30.9 77.3 21.9 70.2 25.7C56.2 33.1 50.4 42.9 51.8 52.4Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M80.8 38.2C84.1 42.5 87.2 44.8 89 43.6C92.3 41.4 90.3 33.7 90.2 32.1C88.8 31.4 82.6 26.3 79.2 28.5C77.4 29.7 78.2 33.4 80.8 38.2Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{ p: 'shade', d: 'M51.8 52.4C56 53.5 70.2 59.6 84.2 52.3C91.3 48.5 89.8 34.9 90.2 32.1L51.8 52.4Z', o: 0.06 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M48.3 52.5C44.3 61.1 47.1 72.2 58.4 83.2C64.2 88.8 76.7 83.2 79.4 82.7C79.8 80 85.1 67.3 79.3 61.7C68 50.7 56.9 48.2 48.3 52.5Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M70.8 75.6C67.7 80.1 66.5 83.7 68.1 85.1C71.2 87.6 78 83.2 79.4 82.7C79.7 81.1 82.6 73.7 79.5 71.1C77.8 69.8 74.5 71.7 70.8 75.6Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{ p: 'shade', d: 'M48.3 52.5C48.5 56.8 47.1 72.2 58.4 83.2C64.2 88.8 76.7 83.2 79.4 82.7L48.3 52.5Z', o: 0.06 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M47.1 49.2C37.6 48 28 54.1 21 68.3C17.5 75.5 26.7 85.7 28 88.1C30.7 87.6 44.4 88.8 48 81.5C54.9 67.3 53.8 56 47.1 49.2Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M32 77.7C26.8 76.1 23 76.1 22.2 78.1C20.8 81.8 27 86.9 28 88.1C29.5 87.8 37.6 88.3 39 84.6C39.8 82.6 36.9 80 32 77.7Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{ p: 'shade', d: 'M47.1 49.2C43 50.7 28 54.1 21 68.3C17.5 75.5 26.7 85.7 28 88.1L47.1 49.2Z', o: 0.06 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M49.9 47C48.1 37.6 39.3 30.3 23.7 28.1C15.7 26.9 8.9 38.9 7 40.9C8.2 43.3 11.4 56.6 19.4 57.8C35 60 45.5 55.5 49.9 47Z',
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M18.1 41.5C18 36 16.9 32.4 14.7 32.3C10.7 32 7.8 39.5 7 40.9C7.7 42.2 9.7 50 13.7 50.2C15.9 50.4 17.4 46.8 18.1 41.5Z',
|
||||
o: 0.16,
|
||||
},
|
||||
{ p: 'shade', d: 'M49.9 47C47.2 43.6 39.3 30.3 23.7 28.1C15.7 26.9 8.9 38.9 7 40.9L49.9 47Z', o: 0.06 },
|
||||
{
|
||||
p: 1,
|
||||
d: 'M53.5 42.8C55 39.5 51.1 31.2 50 31C48.9 30.8 45.3 38.3 46.6 41.7C47.9 45 54.3 50.7 57.9 51.1C61.5 51.5 68.2 45.3 68.1 44.1C67.9 43 59.7 41.9 56.9 44.2C54.1 46.5 50.7 54.4 51.4 57.9C52.1 61.4 60.1 65.9 61.2 65.4C62.2 64.9 60.7 56.7 57.6 54.8C54.6 52.8 46.1 52 42.9 53.8C39.8 55.5 38 64.5 38.8 65.4C39.6 66.2 46.9 62.2 47.8 58.7C48.7 55.2 46.9 46.9 44.2 44.4C41.6 42 32.5 43.1 31.9 44.1C31.4 45.2 37.4 50.8 41 50.6C44.6 50.4 52 46.1 53.5 42.8Z',
|
||||
},
|
||||
{
|
||||
p: '#fb8500',
|
||||
d: 'M51.1 48.3C52.5 47.2 49.2 40.7 49.4 41C49.5 41.4 50.4 49.6 51.9 50.6C53.4 51.5 58.7 46.4 58.3 46.6C58 46.9 50.5 50.3 50.1 52C49.6 53.7 56.1 57.1 55.8 56.9C55.5 56.7 49.9 50.6 48.1 50.7C46.4 50.8 45.1 58 45.2 57.6C45.3 57.3 49.4 50.1 48.8 48.4C48.1 46.8 40.9 47.8 41.3 47.8C41.7 47.8 49.8 49.5 51.1 48.3Z',
|
||||
o: 0.55,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M49.1 41C48.9 40.2 48.2 37 48.1 36.1M58.2 46.3C58.9 45.9 61.9 44.3 62.6 43.9M56 56.7C56.6 57.3 59.1 59.5 59.7 60.1M45.5 57.8C45.2 58.6 43.8 61.6 43.4 62.4M41.2 48.1C40.4 48 37 47.7 36.2 47.6',
|
||||
o: 0.6,
|
||||
w: 0.9,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'monsteraLeaf',
|
||||
theme: 'tropical',
|
||||
tags: ['monstera', 'leaf', 'tropical', 'jungle', 'plant', 'green', 'botanical', 'swiss cheese plant'],
|
||||
descr: 'A monstera leaf: a big heart-shaped leaf with deep slits along both sides and small holes near the midrib.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'leaf', color: '#2a9d5c' },
|
||||
{ name: 'stem', color: '#1d6b44' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M50 80C51 88 50 94 47 99', w: 2.6 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M47 6L47.6 6.1L48.4 6.2L49.4 6.3L50.4 6.4L51.5 6.5L52.8 6.6L54 6.8L55.3 7L56.5 7.2L57.7 7.4L58.9 7.7L60 8L61 8.3L62.1 8.7L63.1 9.1L64.1 9.6L65.2 10L66.2 10.5L67.2 11L68.2 11.6L53.5 7.5L53 8.1L72.9 14.7L73.8 15.4L74.7 16.2L75.6 17L76.5 17.8L77.3 18.6L78.1 19.5L79 20.4L79.8 21.3L80.5 22.2L81.3 23.1L82 24L82.7 24.9L57.7 22.6L57 23.3L86.5 30.9L87.1 31.9L87.6 33L88.1 34L88.6 35L89 36L89.4 37L89.8 38L90.1 39L90.4 40L90.7 41L91 42L60 39.8L59.1 40.4L92 48L92.1 49L92.1 50L92.1 51L92.1 52L92 53.1L91.9 54.1L91.8 55.1L91.7 56.1L91.6 57.1L91.4 58.1L91.2 59L60.2 56.7L59.4 57.3L89.7 64.8L89.4 65.7L89.1 66.6L88.7 67.5L88.4 68.4L87.9 69.3L87.5 70.2L87 71L86.5 71.8L85.9 72.7L85.4 73.5L84.7 74.3L58.7 71.3L58 72L80.6 78.7L79.8 79.4L79 80L78.2 80.6L77.3 81.2L76.4 81.9L75.5 82.4L74.6 83L73.6 83.6L72.7 84.1L71.7 84.6L55.2 80.5L54.8 81.1L66.2 86.4L65.3 86.5L64.4 86.6L63.6 86.7L62.7 86.7L61.8 86.7L61 86.6L60.2 86.5L59.4 86.4L58.7 86.2L58 86L57.3 85.7L56.7 85.4L56.1 85L55.5 84.5L54.9 84L54.4 83.5L53.9 83L53.4 82.5L53 82L52.6 81.6L52.3 81.3L52 81L42 81.1L41.7 81.4L41.4 81.7L41 82.1L40.6 82.6L40.1 83.1L39.6 83.6L39.1 84.2L38.5 84.7L37.9 85.2L37.3 85.6L36.7 85.9L36 86.2L35.3 86.4L34.6 86.6L33.8 86.8L33 86.9L32.2 87L31.3 87L30.4 87L29.6 87L28.7 86.9L27.8 86.8L43.5 81.6L43 80.9L22.3 85L21.3 84.6L20.4 84.1L19.4 83.6L18.5 83L17.6 82.4L16.7 81.8L15.8 81.2L15 80.6L14.2 80L13.4 79.4L39.5 72.7L38.7 72L9.3 75L8.6 74.2L8.1 73.4L7.5 72.6L7 71.8L6.5 71L6.1 70.1L5.6 69.2L5.3 68.4L4.9 67.5L4.6 66.5L4.3 65.6L36.8 58.2L35.9 57.5L2.8 59.9L2.6 58.9L2.4 58L2.3 57L2.2 56L2.1 55L2 54L1.9 52.9L1.9 51.9L1.9 50.9L1.9 49.9L2 48.9L35.9 41.3L35 40.7L3 42.9L3.3 41.9L3.6 40.9L3.9 39.9L4.2 38.9L4.6 37.8L5 36.8L5.4 35.8L5.9 34.8L6.4 33.8L6.9 32.7L7.5 31.7L37.4 24L36.6 23.4L11.3 25.6L12 24.7L12.7 23.8L13.5 22.8L14.2 21.9L15 21L15.9 20.1L16.7 19.2L17.5 18.4L18.4 17.5L19.3 16.7L20.2 15.9L21.1 15.2L41 8.6L40.5 7.9L25.8 12L26.8 11.4L27.8 10.9L28.8 10.4L29.9 9.9L30.9 9.4L31.9 9L33 8.6L34 8.3L35.1 7.9L36.3 7.6L37.5 7.4L38.7 7.1L40 6.9L41.3 6.7L42.5 6.6L43.6 6.4L44.6 6.3L45.6 6.2L46.4 6.1L47 6ZM63.2 30.5C63.6 31.4 62.2 32.7 60.2 33.6C58.1 34.4 56.2 34.4 55.8 33.5C55.5 32.6 56.8 31.3 58.9 30.4C60.9 29.6 62.9 29.6 63.2 30.5ZM39.2 33.5C38.9 34.4 36.9 34.4 34.9 33.6C32.8 32.7 31.5 31.4 31.8 30.5C32.2 29.6 34.1 29.6 36.2 30.4C38.2 31.3 39.6 32.6 39.2 33.5ZM63.7 43.5C64 44.4 62.7 45.7 60.6 46.6C58.6 47.4 56.6 47.4 56.3 46.5C55.9 45.6 57.3 44.3 59.3 43.4C61.4 42.6 63.3 42.6 63.7 43.5ZM39.7 46.5C39.3 47.4 37.4 47.4 35.3 46.6C33.3 45.7 31.9 44.4 32.3 43.5C32.6 42.6 34.6 42.6 36.6 43.4C38.7 44.3 40 45.6 39.7 46.5ZM64.3 56.5C64.7 57.4 63.3 58.7 61.3 59.6C59.2 60.4 57.3 60.4 56.9 59.5C56.6 58.6 57.9 57.3 60 56.4C62 55.6 64 55.6 64.3 56.5ZM40.3 59.5C40 60.4 38 60.4 36 59.6C33.9 58.7 32.6 57.4 32.9 56.5C33.3 55.6 35.2 55.6 37.3 56.4C39.3 57.3 40.7 58.6 40.3 59.5ZM65.1 68.5C65.4 69.4 64 70.7 62 71.6C59.9 72.4 58 72.4 57.6 71.5C57.3 70.6 58.7 69.3 60.7 68.4C62.8 67.6 64.7 67.6 65.1 68.5ZM41.1 71.5C40.7 72.4 38.8 72.4 36.7 71.6C34.7 70.7 33.3 69.4 33.6 68.5C34 67.6 35.9 67.6 38 68.4C40 69.3 41.4 70.6 41.1 71.5Z',
|
||||
eo: 1,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M47 6L47.6 6.1L48.4 6.2L49.4 6.3L50.4 6.4L51.5 6.5L52.8 6.6L54 6.8L55.3 7L56.5 7.2L57.7 7.4L58.9 7.7L60 8L61 8.3L62.1 8.7L63.1 9.1L64.1 9.6L65.2 10L66.2 10.5L67.2 11L68.2 11.6L53.5 7.5L53 8.1L72.9 14.7L73.8 15.4L74.7 16.2L75.6 17L76.5 17.8L77.3 18.6L78.1 19.5L79 20.4L79.8 21.3L80.5 22.2L81.3 23.1L82 24L82.7 24.9L57.7 22.6L57 23.3L86.5 30.9L87.1 31.9L87.6 33L88.1 34L88.6 35L89 36L89.4 37L89.8 38L90.1 39L90.4 40L90.7 41L91 42L60 39.8L59.1 40.4L92 48L92.1 49L92.1 50L92.1 51L92.1 52L92 53.1L91.9 54.1L91.8 55.1L91.7 56.1L91.6 57.1L91.4 58.1L91.2 59L60.2 56.7L59.4 57.3L89.7 64.8L89.4 65.7L89.1 66.6L88.7 67.5L88.4 68.4L87.9 69.3L87.5 70.2L87 71L86.5 71.8L85.9 72.7L85.4 73.5L84.7 74.3L58.7 71.3L58 72L80.6 78.7L79.8 79.4L79 80L78.2 80.6L77.3 81.2L76.4 81.9L75.5 82.4L74.6 83L73.6 83.6L72.7 84.1L71.7 84.6L55.2 80.5L54.8 81.1L66.2 86.4L65.3 86.5L64.4 86.6L63.6 86.7L62.7 86.7L61.8 86.7L61 86.6L60.2 86.5L59.4 86.4L58.7 86.2L58 86L57.3 85.7L56.7 85.4L56.1 85L55.5 84.5L54.9 84L54.4 83.5L53.9 83L53.4 82.5L53 82L52.6 81.6L52.3 81.3L52 81L50.1 81L49.9 78.4L49.7 75.8L49.6 73.2L49.4 70.7L49.2 68.1L49.1 65.5L48.9 62.9L48.8 60.3L48.6 57.7L48.5 55.1L48.3 52.6L48.2 50L48.1 47.4L48 44.8L47.9 42.2L47.8 39.6L47.7 37L47.6 34.4L47.5 31.9L47.4 29.3L47.4 26.7L47.3 24.1L47.3 21.5L47.2 18.9L47.2 16.3L47.1 13.8L47.1 11.2L47 8.6L47 6ZM63.2 30.5C63.6 31.4 62.2 32.7 60.2 33.6C58.1 34.4 56.2 34.4 55.8 33.5C55.5 32.6 56.8 31.3 58.9 30.4C60.9 29.6 62.9 29.6 63.2 30.5ZM63.7 43.5C64 44.4 62.7 45.7 60.6 46.6C58.6 47.4 56.6 47.4 56.3 46.5C55.9 45.6 57.3 44.3 59.3 43.4C61.4 42.6 63.3 42.6 63.7 43.5ZM64.3 56.5C64.7 57.4 63.3 58.7 61.3 59.6C59.2 60.4 57.3 60.4 56.9 59.5C56.6 58.6 57.9 57.3 60 56.4C62 55.6 64 55.6 64.3 56.5ZM65.1 68.5C65.4 69.4 64 70.7 62 71.6C59.9 72.4 58 72.4 57.6 71.5C57.3 70.6 58.7 69.3 60.7 68.4C62.8 67.6 64.7 67.6 65.1 68.5Z',
|
||||
o: 0.16,
|
||||
eo: 1,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 80C49.9 76.7 49.8 66.7 49.6 60C49.4 53.3 48.9 46.3 48.6 40C48.3 33.7 47.9 27.7 47.6 22C47.3 16.3 47.1 8.7 47 6',
|
||||
o: 0.8,
|
||||
w: 1.2,
|
||||
},
|
||||
{ p: 'light', d: 'M18 40C20 28 28 18 40 12', o: 0.25, w: 1.6 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'palmLeaf',
|
||||
theme: 'tropical',
|
||||
tags: ['palm leaf', 'frond', 'palm', 'tropical', 'leaf', 'jungle', 'botanical', 'green'],
|
||||
descr: 'A single curving palm frond with narrow leaflets fanning off both sides of its stem.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'leaf', color: '#3b9a5d' },
|
||||
{ name: 'stem', color: '#2b6e44' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M50.5 88.7C49.7 88.1 47.3 85.9 43 85.3C36.5 84.4 32.3 85.7 30.9 85.9C32.2 86.4 35.9 88.9 42.3 89.9C46.6 90.5 49.5 89.1 50.5 88.7ZM50.5 88.7C51.4 88.7 54.5 88.9 57.9 86.7C63 83.5 65.1 79.8 66 78.9C64.8 79.2 60.6 79.6 55.4 82.8C52 85 50.9 87.9 50.5 88.7ZM50.8 82.4C49.8 81.8 46.9 79.4 41.7 78.6C33.9 77.3 28.7 78.4 27.1 78.5C28.6 79.1 33.1 81.8 41 83.1C46.2 84 49.7 82.7 50.8 82.4ZM50.8 82.4C51.9 82.3 55.5 82.3 59.7 79.7C66 75.8 68.9 71.8 70 70.7C68.6 71.2 63.6 71.9 57.3 75.8C53.1 78.3 51.4 81.5 50.8 82.4ZM51.3 75.9C50.2 75.2 46.9 72.7 40.9 71.5C32 69.7 26 70.5 24.2 70.5C25.9 71.2 31.1 74.2 40 76C46 77.2 50 76.1 51.3 75.9ZM51.3 75.9C52.5 75.8 56.6 75.6 61.6 72.8C69.1 68.6 72.8 64.3 74.2 63.1C72.5 63.7 66.9 64.6 59.3 68.8C54.3 71.6 52.1 75 51.3 75.9ZM52 70C50.8 69.2 47.2 66.4 40.7 64.8C30.9 62.3 24.4 62.7 22.4 62.5C24.2 63.4 29.8 66.8 39.6 69.2C46.1 70.9 50.6 70.1 52 70ZM52 70C53.4 69.8 57.8 69.7 63.6 66.9C72.3 62.6 76.8 58.2 78.4 57C76.5 57.5 70.3 58.4 61.6 62.7C55.7 65.6 53 69 52 70ZM52.8 64.6C51.6 63.8 47.8 60.8 40.8 58.9C30.3 56 23.3 56.1 21.2 55.9C23.2 56.8 29.1 60.4 39.6 63.3C46.5 65.2 51.3 64.7 52.8 64.6ZM52.8 64.6C54.3 64.4 59 64.3 65.4 61.3C75 56.9 80.1 52.4 81.9 51.2C79.8 51.8 73.1 52.7 63.5 57.1C57.1 60.1 53.9 63.6 52.8 64.6ZM53.8 59.3C52.5 58.4 48.6 55.2 41.4 53C30.6 49.6 23.3 49.3 21 49C23.1 50 29.2 54 40 57.3C47.2 59.6 52.2 59.3 53.8 59.3ZM53.8 59.3C55.4 59.1 60.3 59 67.2 56.1C77.5 51.8 83.1 47.3 85 46.2C82.8 46.7 75.7 47.6 65.4 51.9C58.5 54.8 55 58.3 53.8 59.3ZM55 54C53.7 53.1 49.9 49.7 42.6 47C31.8 43.1 24.4 42.5 22.1 42C24.2 43.1 30.2 47.4 41.1 51.4C48.3 54 53.4 53.9 55 54ZM55 54C56.6 53.9 61.7 54 68.9 51.4C79.7 47.4 85.8 43.1 87.8 42C85.5 42.5 78.2 43.1 67.3 47C60.1 49.7 56.3 53.1 55 54ZM56.4 48.9C55.1 47.9 51.6 44.3 44.6 41.3C34.1 36.7 26.8 35.6 24.6 35C26.5 36.3 32.2 40.9 42.7 45.5C49.7 48.5 54.8 48.7 56.4 48.9ZM56.4 48.9C58 48.9 63.1 49.3 70.6 47.1C81.8 43.7 88.1 39.8 90.3 38.8C87.9 39.1 80.5 39.3 69.3 42.7C61.8 44.9 57.7 48 56.4 48.9ZM58 44C56.9 42.9 53.7 39.1 47.2 35.7C37.4 30.5 30.5 29.1 28.3 28.4C30.1 29.7 35.3 34.6 45.1 39.8C51.6 43.2 56.5 43.7 58 44ZM58 44C59.6 44.1 64.7 44.9 72.2 43.2C83.5 40.7 90.1 37.2 92.3 36.4C89.9 36.5 82.5 36.2 71.2 38.7C63.7 40.4 59.4 43.2 58 44ZM60 39.2C59 38.1 56.3 34.3 50.3 30.6C41.4 25.2 34.9 23.4 32.9 22.6C34.5 24 39 29.1 47.9 34.6C53.9 38.2 58.5 38.9 60 39.2ZM60 39.2C61.5 39.5 66.3 40.6 73.7 39.4C84.8 37.6 91.3 34.6 93.4 33.9C91.2 33.9 84 33.1 73 34.8C65.6 36 61.4 38.6 60 39.2ZM62.2 34.6C61.4 33.5 59.2 29.7 53.9 26C46 20.5 40 18.6 38.3 17.8C39.6 19.2 43.4 24.2 51.3 29.8C56.5 33.5 60.9 34.3 62.2 34.6ZM62.2 34.6C63.6 34.9 68.1 36.3 75.1 35.6C85.6 34.6 91.8 32 93.9 31.4C91.8 31.3 85.1 30 74.6 31.1C67.7 31.8 63.5 34 62.2 34.6ZM64.6 30.2C64 29.1 62.4 25.4 57.9 21.9C51.1 16.5 45.7 14.7 44.2 13.9C45.3 15.2 48.3 20.1 55 25.5C59.5 29 63.4 29.8 64.6 30.2ZM64.6 30.2C65.9 30.6 70 32.2 76.3 31.9C85.9 31.5 91.7 29.2 93.6 28.8C91.7 28.6 85.7 26.9 76.1 27.3C69.7 27.6 65.9 29.7 64.6 30.2ZM67.2 26C66.8 24.9 65.8 21.5 62.1 18.2C56.5 13.2 51.8 11.6 50.5 10.9C51.3 12.1 53.5 16.7 59 21.6C62.7 25 66.2 25.6 67.2 26ZM67.2 26C68.4 26.4 71.8 28.3 77.4 28.3C85.9 28.4 91.1 26.4 92.8 26.1C91.1 25.7 85.9 23.8 77.5 23.7C71.9 23.7 68.4 25.5 67.2 26ZM70 22C69.8 21.1 69.4 18 66.6 15C62.4 10.6 58.4 9.2 57.3 8.5C57.9 9.7 59.1 13.8 63.3 18.2C66 21.2 69.1 21.7 70 22ZM70 22C70.9 22.5 73.7 24.6 78.4 25C85.4 25.5 89.9 23.9 91.4 23.7C90 23.2 85.8 20.9 78.7 20.4C74 20 71 21.6 70 22ZM73.2 18.2C73.2 17.4 73.5 14.7 71.6 12.3C68.8 8.6 65.5 7.5 64.7 6.9C65 7.9 65.1 11.4 68 15.1C69.8 17.5 72.5 17.9 73.2 18.2ZM73.2 18.2C73.9 18.7 75.8 20.9 79.4 21.5C84.9 22.5 88.6 21.1 89.8 21C88.7 20.4 85.7 17.9 80.2 17C76.6 16.4 74 17.8 73.2 18.2ZM76.9 14.4C77 13.8 77.8 11.7 76.7 9.9C74.9 7.3 72.2 6.8 71.6 6.4C71.6 7.1 71.1 9.9 72.8 12.5C74 14.2 76.3 14.3 76.9 14.4ZM76.9 14.4C77.3 15 78.4 17.1 80.9 17.6C84.7 18.5 87.4 17.1 88.2 16.9C87.5 16.4 85.6 14 81.9 13.2C79.4 12.6 77.5 14.1 76.9 14.4ZM80.6 11C80.8 10.5 82 9 81.5 8C80.6 6.6 78.4 6.8 77.9 6.7C77.8 7.2 76.7 9.1 77.6 10.5C78.1 11.4 80.1 11 80.6 11ZM80.6 11C80.7 11.5 81.1 13.5 82.4 13.8C84.3 14.3 86 12.7 86.5 12.4C86.2 12 85.4 9.8 83.5 9.3C82.2 9 80.9 10.6 80.6 11ZM83.8 8.1C84.1 7.7 85.4 6.3 85 5.7C84.4 4.8 82.4 5.2 82 5.2C81.8 5.6 80.5 7.2 81.1 8.2C81.5 8.8 83.3 8.2 83.8 8.1ZM83.8 8.1C83.8 8.6 83.9 10.5 84.8 10.7C86.1 11 87.4 9.3 87.8 9C87.6 8.6 87.2 6.6 85.9 6.2C85 6 84 7.7 83.8 8.1Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50.5 88.7C51.4 88.7 54.5 88.9 57.9 86.7C63 83.5 65.1 79.8 66 78.9L50.5 88.7ZM50.8 82.4C51.9 82.3 55.5 82.3 59.7 79.7C66 75.8 68.9 71.8 70 70.7L50.8 82.4ZM51.3 75.9C52.5 75.8 56.6 75.6 61.6 72.8C69.1 68.6 72.8 64.3 74.2 63.1L51.3 75.9ZM52 70C53.4 69.8 57.8 69.7 63.6 66.9C72.3 62.6 76.8 58.2 78.4 57L52 70ZM52.8 64.6C54.3 64.4 59 64.3 65.4 61.3C75 56.9 80.1 52.4 81.9 51.2L52.8 64.6ZM53.8 59.3C55.4 59.1 60.3 59 67.2 56.1C77.5 51.8 83.1 47.3 85 46.2L53.8 59.3ZM55 54C56.6 53.9 61.7 54 68.9 51.4C79.7 47.4 85.8 43.1 87.8 42L55 54ZM56.4 48.9C58 48.9 63.1 49.3 70.6 47.1C81.8 43.7 88.1 39.8 90.3 38.8L56.4 48.9ZM58 44C59.6 44.1 64.7 44.9 72.2 43.2C83.5 40.7 90.1 37.2 92.3 36.4L58 44ZM60 39.2C61.5 39.5 66.3 40.6 73.7 39.4C84.8 37.6 91.3 34.6 93.4 33.9L60 39.2ZM62.2 34.6C63.6 34.9 68.1 36.3 75.1 35.6C85.6 34.6 91.8 32 93.9 31.4L62.2 34.6ZM64.6 30.2C65.9 30.6 70 32.2 76.3 31.9C85.9 31.5 91.7 29.2 93.6 28.8L64.6 30.2ZM67.2 26C68.4 26.4 71.8 28.3 77.4 28.3C85.9 28.4 91.1 26.4 92.8 26.1L67.2 26ZM70 22C70.9 22.5 73.7 24.6 78.4 25C85.4 25.5 89.9 23.9 91.4 23.7L70 22ZM73.2 18.2C73.9 18.7 75.8 20.9 79.4 21.5C84.9 22.5 88.6 21.1 89.8 21L73.2 18.2ZM76.9 14.4C77.3 15 78.4 17.1 80.9 17.6C84.7 18.5 87.4 17.1 88.2 16.9L76.9 14.4ZM80.6 11C80.7 11.5 81.1 13.5 82.4 13.8C84.3 14.3 86 12.7 86.5 12.4L80.6 11ZM83.8 8.1C83.8 8.6 83.9 10.5 84.8 10.7C86.1 11 87.4 9.3 87.8 9L83.8 8.1Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M50 98C50.1 95.4 50.3 88 50.8 82.4C51.3 76.8 51.9 70.2 52.8 64.6C53.8 59 54.8 53.9 56.4 48.9C57.9 43.9 59.9 39.1 62.2 34.6C64.5 30.1 66.9 25.9 70 22C73.1 18.1 77.9 13.6 80.6 11C83.2 8.3 85.1 6.8 86 6',
|
||||
w: 1.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'bananaLeaf',
|
||||
theme: 'tropical',
|
||||
tags: ['banana leaf', 'leaf', 'tropical', 'jungle', 'plant', 'botanical', 'green'],
|
||||
descr: 'A long banana leaf with a pale midrib, fine parallel veins and a few torn splits along its edges.',
|
||||
box: [76, 100],
|
||||
slots: [
|
||||
{ name: 'leaf', color: '#5cae4e' },
|
||||
{ name: 'midrib', color: '#d8e8a8' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 0,
|
||||
d: 'M43.1 5C43.1 5.2 43.4 7.7 43.4 8.4C43.5 9.1 43.6 11.1 43.7 11.8C43.9 12.4 44.7 14.5 45.2 15.2C45.7 15.8 48 17.9 48.7 18.5C49.3 19.2 52 21.2 52 21.9C52 22.6 48.2 24.6 48.8 25.3C49.4 26 57 28 58.2 28.7C59.4 29.4 60.3 31.4 60.8 32.1C61.3 32.8 62.7 34.8 63.1 35.5C63.6 36.1 66.1 38.2 65.1 38.8C64.1 39.5 53 41.6 53.2 42.2C53.5 42.9 66.2 44.9 67.7 45.6C69.2 46.3 68.3 48.3 68.4 49C68.5 49.7 68.6 51.7 68.5 52.4C68.5 53.1 69.8 55.1 68.2 55.8C66.6 56.4 52.7 58.5 52.5 59.2C52.3 59.8 65 61.9 66.1 62.5C67.3 63.2 64.8 65.2 64.4 65.9C64 66.6 62.7 68.6 62.3 69.3C61.8 70 61.3 72 59.7 72.7C58.1 73.4 47.1 75.4 46.5 76.1C45.9 76.8 53.2 78.8 53.5 79.5C53.9 80.1 50.7 82.2 50 82.8C49.3 83.5 47 85.6 46.3 86.2C45.5 86.9 43.2 88.9 42.4 89.6C41.6 90.3 39.2 92.6 38.4 93C37.5 93.4 34.4 94.2 33.7 94C33 93.8 31.9 91.3 31.4 90.6C30.9 89.9 29.6 87.9 29.2 87.2C28.7 86.6 27.4 84.5 27 83.8C26.6 83.2 25.4 81.1 25.1 80.5C24.7 79.8 23.7 77.8 23.3 77.1C23 76.4 20.8 74.4 21.9 73.7C22.9 73 34.1 71 33.8 70.3C33.6 69.6 21.2 67.6 19.7 66.9C18.3 66.2 19.3 64.2 19.2 63.5C19.1 62.9 19 60.8 18.9 60.2C18.9 59.5 17.4 57.4 19.1 56.8C20.7 56.1 34.9 54.1 35.1 53.4C35.2 52.7 21.7 50.7 20.4 50C19 49.3 21.3 47.3 21.5 46.6C21.8 45.9 22.7 43.9 23 43.2C23.3 42.6 24.4 40.5 24.8 39.8C25.2 39.2 25.4 37.1 26.9 36.5C28.3 35.8 38.7 33.8 39.2 33.1C39.7 32.4 32.2 30.4 31.7 29.7C31.2 29 33.8 27 34.4 26.3C34.9 25.6 36.6 23.6 37.2 22.9C37.7 22.2 39.4 20.2 40 19.5C40.6 18.9 42.5 16.8 42.9 16.2C43.3 15.5 43.7 13.4 43.7 12.8C43.8 12.1 43.5 10.1 43.4 9.4C43.4 8.7 43.1 6.4 43.1 6C43.1 5.6 43.1 4.8 43.1 5Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M36 94L36.8 90.6L37.5 87.2L38.2 83.8L39 80.5L39.6 77.1L40.3 73.7L40.9 70.3L41.5 66.9L42.1 63.5L42.6 60.2L43 56.8L43.4 53.4L43.8 50L44.1 46.6L44.3 43.2L44.5 39.8L44.6 36.5L44.6 33.1L44.6 29.7L44.5 26.3L44.4 22.9L44.2 19.5L44 16.2L43.7 12.8L43.4 9.4L43.1 6L38.4 93L42.4 89.6L46.3 86.2L50 82.8L53.5 79.5L46.5 76.1L59.7 72.7L62.3 69.3L64.4 65.9L66.1 62.5L52.5 59.2L68.2 55.8L68.5 52.4L68.4 49L67.7 45.6L53.2 42.2L65.1 38.8L63.1 35.5L60.8 32.1L58.2 28.7L48.8 25.3L52 21.9L48.7 18.5L45.2 15.2L43.7 11.8L43.4 8.4L43.1 5Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M37.5 87.2L30.8 84.2M37.5 87.2L44.2 84.2M39 80.5L27.9 75.5M39 80.5L44.2 78.1M40.3 73.7L34.6 71.1M40.3 73.7L55.1 67M41.5 66.9L24.1 59.1M41.5 66.9L59 59.1M42.6 60.2L23.7 51.6M42.6 60.2L50.2 56.7M43.4 53.4L36.7 50.4M43.4 53.4L62.2 45M44.1 46.6L27 39M44.1 46.6L50.9 43.6M44.5 39.8L30.3 33.5M44.5 39.8L58.6 33.5M44.6 33.1L40.3 31.1M44.6 33.1L54.9 28.4M44.5 26.3L38.7 23.7M44.5 26.3L47.8 24.8M44.2 19.5L43.4 19.1M44.2 19.5L45.1 19.1M43.7 12.8L43.7 12.8M43.7 12.8L43.7 12.8',
|
||||
o: 0.3,
|
||||
w: 0.5,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M36 94C36.4 92.3 37.5 87.2 38.2 83.8C39 80.5 39.7 77.1 40.3 73.7C41 70.3 41.6 66.9 42.1 63.5C42.6 60.2 43.1 56.8 43.4 53.4C43.8 50 44.1 46.6 44.3 43.2C44.5 39.8 44.6 36.5 44.6 33.1C44.6 29.7 44.6 26.3 44.4 22.9C44.3 19.5 43.9 14.5 43.7 12.8',
|
||||
w: 1.8,
|
||||
},
|
||||
{ p: 1, d: 'M36 94L36 99', w: 2.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'palmTree',
|
||||
theme: 'tropical',
|
||||
tags: ['palm tree', 'palm', 'beach', 'tropical', 'island', 'coconut', 'summer', 'holiday'],
|
||||
descr:
|
||||
'A coconut palm leaning slightly with a ringed trunk, a crown of seven drooping fronds and a cluster of coconuts.',
|
||||
box: [100, 100],
|
||||
slots: [
|
||||
{ name: 'fronds', color: '#3a9d5d' },
|
||||
{ name: 'trunk', color: '#b5835a' },
|
||||
{ name: 'coconuts', color: '#6b4226' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M50 30C52 50 50 72 42 97L54 97C60 72 60 50 56 30Z' },
|
||||
{ p: 'shade', d: 'M53 30C56 50 57 72 51 97L54 97C60 72 60 50 56 30Z', o: 0.25 },
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M50 36C51.5 37.4 55.6 37.4 56.7 36M49.5 41.6C51 43 55.3 43 56.5 41.6M49 47.2C50.5 48.6 55 48.6 56.2 47.2M48.5 52.8C50 54.2 54.6 54.2 56 52.8M48 58.4C49.5 59.8 54.3 59.8 55.7 58.4M47.5 64C49 65.4 54 65.4 55.5 64M47 69.6C48.5 71 53.6 71 55.2 69.6M46.5 75.2C48 76.6 53.3 76.6 55 75.2M46 80.8C47.5 82.2 53 82.2 54.7 80.8M45.4 86.4C46.9 87.8 52.6 87.8 54.5 86.4M44.9 92C46.4 93.4 52.3 93.4 54.2 92',
|
||||
o: 0.35,
|
||||
w: 0.9,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.8 30L53.5 24.6L55.3 19.8L54.6 15.7L56.2 12.1L54.3 9.2L54.7 6.8L52.5 5.2L51.5 4.1L50.2 3.9L50 4L50 4L50 4L50.2 3.9L49.2 4.7L48.6 5.8L46.5 7.6L47.3 9.8L45.7 12.7L47.8 16.1L47.5 20.2L49.9 24.8L51.1 30Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.3 29.1L49.6 27.6L45.9 25.6L42.8 27.7L38.3 28.5L36.9 33L33.6 36.3L33.2 42L31.6 47.4L30.4 53.6L28 60L28 60L28 60L30.4 53.6L34.1 48.5L37.4 44.2L42 41.7L43.4 38.2L46.9 37.7L47.1 34.7L48.6 34.7L49.6 31.8L51.7 31Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.2 30.9L54.8 31.6L56.4 34.3L58.5 34.6L59.3 37.8L63 38.6L64.9 42.3L69.7 45.1L73.2 49.8L77.2 55.2L80 62L80 62L80 62L77.2 55.2L75.7 48.6L73.7 42.8L73.1 36.6L69.3 33.1L67.5 28.2L62.5 27.5L59 25.2L54.8 27.4L51.7 29Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 30L52.8 30L53.5 24.6L55.3 19.8L54.6 15.7L56.2 12.1L54.3 9.2L54.7 6.8L52.5 5.2L51.5 4.1L50.2 3.9L50 4L50 4L50 4L50.2 3.9L49.2 4.7L48.6 5.8L46.5 7.6L47.3 9.8L45.7 12.7L47.8 16.1L47.5 20.2L49.9 24.8L51.1 30Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 30L52.3 29.1L49.6 27.6L45.9 25.6L42.8 27.7L38.3 28.5L36.9 33L33.6 36.3L33.2 42L31.6 47.4L30.4 53.6L28 60L28 60L28 60L30.4 53.6L34.1 48.5L37.4 44.2L42 41.7L43.4 38.2L46.9 37.7L47.1 34.7L48.6 34.7L49.6 31.8L51.7 31Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 30L52.2 30.9L54.8 31.6L56.4 34.3L58.5 34.6L59.3 37.8L63 38.6L64.9 42.3L69.7 45.1L73.2 49.8L77.2 55.2L80 62L80 62L80 62L77.2 55.2L75.7 48.6L73.7 42.8L73.1 36.6L69.3 33.1L67.5 28.2L62.5 27.5L59 25.2L54.8 27.4L51.7 29Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 2,
|
||||
d: 'M52 33C52 35.2 50.2 37 48 37C45.8 37 44 35.2 44 33C44 30.8 45.8 29 48 29C50.2 29 52 30.8 52 33ZM60 34C60 36.2 58.2 38 56 38C53.8 38 52 36.2 52 34C52 31.8 53.8 30 56 30C58.2 30 60 31.8 60 34ZM56 37.6C56 39.8 54.2 41.6 52 41.6C49.8 41.6 48 39.8 48 37.6C48 35.4 49.8 33.6 52 33.6C54.2 33.6 56 35.4 56 37.6Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M48 31.8C48 32.5 47.5 33 46.8 33C46.1 33 45.6 32.5 45.6 31.8C45.6 31.1 46.1 30.6 46.8 30.6C47.5 30.6 48 31.1 48 31.8ZM56 32.8C56 33.5 55.5 34 54.8 34C54.1 34 53.6 33.5 53.6 32.8C53.6 32.1 54.1 31.6 54.8 31.6C55.5 31.6 56 32.1 56 32.8ZM52 36.4C52 37.1 51.5 37.6 50.8 37.6C50.1 37.6 49.6 37.1 49.6 36.4C49.6 35.7 50.1 35.2 50.8 35.2C51.5 35.2 52 35.7 52 36.4Z',
|
||||
o: 0.35,
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.7 29.2L49 24.9L45.5 19.9L40 19.2L34.5 16.6L29.5 20.1L24.1 21.6L20.9 27.3L17.3 32.1L14.2 38.1L10 44L10 44L10 44L14.2 38.1L19.6 34.4L24.4 31.5L29.8 31.7L32.6 29.4L35.9 31.3L38.7 28.7L41.5 30.2L46.4 29.1L51.2 30.9Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.7 30.8L57.3 28.9L61.9 29.8L64.5 28.4L67 30.8L70.3 29.3L73 31.7L78.2 32.2L82.8 35.5L88 39.7L92 46L92 46L92 46L88 39.7L85.3 33.4L82 28.2L79.4 22L73.9 20.2L69.1 16.3L63.4 18.9L57.9 19.5L54.6 24.7L51.2 29.1Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.8 29.4L50.4 24.6L48.8 19.2L44.9 16.3L42.6 11.9L37.8 11.4L34.3 9.2L29.9 10.7L26.4 11.4L23.2 13.1L20 14L20 14L20 14L23.2 13.1L26.4 14.2L29.2 15.4L31.2 18.6L34 18.9L35.5 22.3L39.6 22.6L42.1 25.8L47.1 27.3L51.2 30.6Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M52 30L52.8 30.5L56.8 26.7L61.8 24.6L64.3 21.1L68.4 20.4L70 17L72.9 16.4L74.8 13.3L77.6 12.1L80.8 11.1L84 12L84 12L84 12L80.8 11.1L77.6 9.4L73.9 8.7L69.4 7.1L65.8 9.7L60.8 10.3L58.7 15.2L54.7 18.3L53.4 24.2L51.1 29.4Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M52 30L52.7 30.8L57.3 28.9L61.9 29.8L64.5 28.4L67 30.8L70.3 29.3L73 31.7L78.2 32.2L82.8 35.5L88 39.7L92 46L92 46L92 46L88 39.7L85.3 33.4L82 28.2L79.4 22L73.9 20.2L69.1 16.3L63.4 18.9L57.9 19.5L54.6 24.7L51.2 29.1ZM52 30L52.8 30.5L56.8 26.7L61.8 24.6L64.3 21.1L68.4 20.4L70 17L72.9 16.4L74.8 13.3L77.6 12.1L80.8 11.1L84 12L84 12L84 12L80.8 11.1L77.6 9.4L73.9 8.7L69.4 7.1L65.8 9.7L60.8 10.3L58.7 15.2L54.7 18.3L53.4 24.2L51.1 29.4Z',
|
||||
o: 0.12,
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M52 30C51.1 29.4 48.5 27.3 46.8 26.3C45 25.3 43.3 24.6 41.5 24.1C39.8 23.7 38 23.5 36.3 23.5C34.5 23.6 32.8 23.9 31 24.5C29.3 25.1 27.5 25.9 25.8 27C24 28.1 22.3 29.5 20.5 31.1C18.8 32.8 17 34.6 15.3 36.8C13.5 38.9 10.9 42.8 10 44M52 30C52.8 29.4 55.3 27.3 57 26.3C58.7 25.4 60.3 24.7 62 24.3C63.7 23.8 65.3 23.7 67 23.8C68.7 23.9 70.3 24.3 72 25C73.7 25.7 75.3 26.6 77 27.8C78.7 29 80.3 30.5 82 32.3C83.7 34 85.3 36 87 38.3C88.7 40.6 91.2 44.7 92 46M52 30C51.3 29.2 49.3 26.5 48 24.9C46.7 23.4 45.3 22 44 20.8C42.7 19.5 41.3 18.4 40 17.4C38.7 16.5 37.3 15.7 36 15C34.7 14.3 33.3 13.8 32 13.4C30.7 13.1 29.3 12.8 28 12.8C26.7 12.7 25.3 12.7 24 12.9C22.7 13.1 20.7 13.8 20 14M52 30C52.7 29.1 54.7 26.2 56 24.5C57.3 22.8 58.7 21.3 60 19.9C61.3 18.5 62.7 17.3 64 16.2C65.3 15.2 66.7 14.3 68 13.5C69.3 12.8 70.7 12.2 72 11.7C73.3 11.3 74.7 11 76 10.9C77.3 10.8 78.7 10.8 80 11C81.3 11.2 83.3 11.8 84 12M52 30C52 28.9 51.8 25.5 51.8 23.5C51.7 21.4 51.6 19.6 51.5 17.9C51.4 16.2 51.3 14.6 51.3 13.2C51.2 11.8 51.1 10.6 51 9.5C50.9 8.4 50.8 7.5 50.8 6.7C50.7 5.9 50.6 5.3 50.5 4.9C50.4 4.4 50.3 4.1 50.3 4C50.2 3.8 50 4 50 4M52 30C51.5 29.9 50 29.5 49 29.6C48 29.7 47 29.9 46 30.4C45 30.8 44 31.5 43 32.3C42 33.2 41 34.3 40 35.5C39 36.8 38 38.2 37 39.8C36 41.5 35 43.3 34 45.4C33 47.4 32 49.7 31 52.1C30 54.5 28.5 58.7 28 60M52 30C52.6 29.9 54.3 29.5 55.5 29.6C56.7 29.7 57.8 30 59 30.5C60.2 31 61.3 31.7 62.5 32.6C63.7 33.5 64.8 34.7 66 36C67.2 37.3 68.3 38.9 69.5 40.6C70.7 42.4 71.8 44.3 73 46.5C74.2 48.7 75.3 51 76.5 53.6C77.7 56.2 79.4 60.6 80 62',
|
||||
o: 0.4,
|
||||
w: 0.8,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'pineapple',
|
||||
theme: 'tropical',
|
||||
tags: ['pineapple', 'fruit', 'tropical', 'summer', 'ananas', 'food', 'hawaii'],
|
||||
descr: 'A golden pineapple with a diamond pattern of scales and a spiky crown of green leaves.',
|
||||
box: [64, 100],
|
||||
slots: [
|
||||
{ name: 'fruit', color: '#f6b93b' },
|
||||
{ name: 'leaves', color: '#3c9d4e' },
|
||||
{ name: 'scales', color: '#d9822b' },
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
p: 1,
|
||||
d: 'M32 44C32.9 42.2 36.5 36.4 36.5 27.2C36.5 13.3 32.7 4.8 32 2C31.3 4.8 27.5 13.3 27.5 27.2C27.5 36.4 31.1 42.2 32 44ZM32 44C32.1 42.1 33.2 36.1 30.1 28.2C25.5 16.3 19.5 10.2 18 8C18.4 10.6 18.1 19.2 22.7 31C25.8 39 30.6 42.7 32 44ZM32 44C33.4 42.7 38.2 39 41.3 31C45.9 19.2 45.6 10.6 46 8C44.5 10.2 38.5 16.3 33.9 28.2C30.8 36.1 31.9 42.1 32 44ZM32 44C31.3 42.3 29.6 36.7 23.7 30.7C16.4 23.5 9.8 21.1 8 20C9.1 21.8 11.5 28.4 18.7 35.7C24.7 41.6 30.3 43.3 32 44ZM32 44C33.7 43.3 39.3 41.6 45.3 35.7C52.5 28.4 54.9 21.8 56 20C54.2 21.1 47.6 23.5 40.3 30.7C34.4 36.7 32.7 42.3 32 44Z',
|
||||
},
|
||||
{
|
||||
p: 'shade',
|
||||
d: 'M32 44C32.9 42.2 36.5 36.4 36.5 27.2C36.5 13.3 32.7 4.8 32 2L32 44ZM32 44C33.4 42.7 38.2 39 41.3 31C45.9 19.2 45.6 10.6 46 8L32 44ZM32 44C33.7 43.3 39.3 41.6 45.3 35.7C52.5 28.4 54.9 21.8 56 20L32 44Z',
|
||||
o: 0.2,
|
||||
},
|
||||
{
|
||||
p: 1,
|
||||
d: 'M32 46C32.4 44.5 34.4 39.9 32.6 33.7C30 24.5 25.1 19.7 24 18C24 20 22.3 26.7 25 35.9C26.7 42.1 30.9 45 32 46ZM32 46C33.1 45 37.3 42.1 39 35.9C41.7 26.7 40 20 40 18C38.9 19.7 34 24.5 31.4 33.7C29.6 39.9 31.6 44.5 32 46Z',
|
||||
},
|
||||
{
|
||||
p: 'light',
|
||||
d: 'M32 46C32.4 44.5 34.4 39.9 32.6 33.7C30 24.5 25.1 19.7 24 18C24 20 22.3 26.7 25 35.9C26.7 42.1 30.9 45 32 46ZM32 46C33.1 45 37.3 42.1 39 35.9C41.7 26.7 40 20 40 18C38.9 19.7 34 24.5 31.4 33.7C29.6 39.9 31.6 44.5 32 46Z',
|
||||
o: 0.15,
|
||||
},
|
||||
{ p: 0, d: 'M52 68C52 83.5 43 96 32 96C21 96 12 83.5 12 68C12 52.5 21 40 32 40C43 40 52 52.5 52 68Z' },
|
||||
{
|
||||
p: 2,
|
||||
d: 'M21.6 46.6L24.8 50L21.6 53.4L18.4 50ZM28 46.6L31.2 50L28 53.4L24.8 50ZM34.4 46.6L37.6 50L34.4 53.4L31.2 50ZM40.8 46.6L44 50L40.8 53.4L37.6 50ZM18.4 52.6L21.6 56L18.4 59.4L15.2 56ZM24.8 52.6L28 56L24.8 59.4L21.6 56ZM31.2 52.6L34.4 56L31.2 59.4L28 56ZM37.6 52.6L40.8 56L37.6 59.4L34.4 56ZM44 52.6L47.2 56L44 59.4L40.8 56ZM21.6 58.6L24.8 62L21.6 65.4L18.4 62ZM28 58.6L31.2 62L28 65.4L24.8 62ZM34.4 58.6L37.6 62L34.4 65.4L31.2 62ZM40.8 58.6L44 62L40.8 65.4L37.6 62ZM47.2 58.6L50.4 62L47.2 65.4L44 62ZM18.4 64.6L21.6 68L18.4 71.4L15.2 68ZM24.8 64.6L28 68L24.8 71.4L21.6 68ZM31.2 64.6L34.4 68L31.2 71.4L28 68ZM37.6 64.6L40.8 68L37.6 71.4L34.4 68ZM44 64.6L47.2 68L44 71.4L40.8 68ZM21.6 70.6L24.8 74L21.6 77.4L18.4 74ZM28 70.6L31.2 74L28 77.4L24.8 74ZM34.4 70.6L37.6 74L34.4 77.4L31.2 74ZM40.8 70.6L44 74L40.8 77.4L37.6 74ZM47.2 70.6L50.4 74L47.2 77.4L44 74ZM18.4 76.6L21.6 80L18.4 83.4L15.2 80ZM24.8 76.6L28 80L24.8 83.4L21.6 80ZM31.2 76.6L34.4 80L31.2 83.4L28 80ZM37.6 76.6L40.8 80L37.6 83.4L34.4 80ZM44 76.6L47.2 80L44 83.4L40.8 80ZM21.6 82.6L24.8 86L21.6 89.4L18.4 86ZM28 82.6L31.2 86L28 89.4L24.8 86ZM34.4 82.6L37.6 86L34.4 89.4L31.2 86ZM40.8 82.6L44 86L40.8 89.4L37.6 86Z',
|
||||
o: 0.5,
|
||||
},
|
||||
{
|
||||
p: '#7a4a12',
|
||||
d: 'M22.3 50.6C22.3 51 22 51.3 21.6 51.3C21.2 51.3 20.9 51 20.9 50.6C20.9 50.2 21.2 49.9 21.6 49.9C22 49.9 22.3 50.2 22.3 50.6ZM28.7 50.6C28.7 51 28.4 51.3 28 51.3C27.6 51.3 27.3 51 27.3 50.6C27.3 50.2 27.6 49.9 28 49.9C28.4 49.9 28.7 50.2 28.7 50.6ZM35.1 50.6C35.1 51 34.8 51.3 34.4 51.3C34 51.3 33.7 51 33.7 50.6C33.7 50.2 34 49.9 34.4 49.9C34.8 49.9 35.1 50.2 35.1 50.6ZM41.5 50.6C41.5 51 41.2 51.3 40.8 51.3C40.4 51.3 40.1 51 40.1 50.6C40.1 50.2 40.4 49.9 40.8 49.9C41.2 49.9 41.5 50.2 41.5 50.6ZM19.1 56.6C19.1 57 18.8 57.3 18.4 57.3C18 57.3 17.7 57 17.7 56.6C17.7 56.2 18 55.9 18.4 55.9C18.8 55.9 19.1 56.2 19.1 56.6ZM25.5 56.6C25.5 57 25.2 57.3 24.8 57.3C24.4 57.3 24.1 57 24.1 56.6C24.1 56.2 24.4 55.9 24.8 55.9C25.2 55.9 25.5 56.2 25.5 56.6ZM31.9 56.6C31.9 57 31.6 57.3 31.2 57.3C30.8 57.3 30.5 57 30.5 56.6C30.5 56.2 30.8 55.9 31.2 55.9C31.6 55.9 31.9 56.2 31.9 56.6ZM38.3 56.6C38.3 57 38 57.3 37.6 57.3C37.2 57.3 36.9 57 36.9 56.6C36.9 56.2 37.2 55.9 37.6 55.9C38 55.9 38.3 56.2 38.3 56.6ZM44.7 56.6C44.7 57 44.4 57.3 44 57.3C43.6 57.3 43.3 57 43.3 56.6C43.3 56.2 43.6 55.9 44 55.9C44.4 55.9 44.7 56.2 44.7 56.6ZM22.3 62.6C22.3 63 22 63.3 21.6 63.3C21.2 63.3 20.9 63 20.9 62.6C20.9 62.2 21.2 61.9 21.6 61.9C22 61.9 22.3 62.2 22.3 62.6ZM28.7 62.6C28.7 63 28.4 63.3 28 63.3C27.6 63.3 27.3 63 27.3 62.6C27.3 62.2 27.6 61.9 28 61.9C28.4 61.9 28.7 62.2 28.7 62.6ZM35.1 62.6C35.1 63 34.8 63.3 34.4 63.3C34 63.3 33.7 63 33.7 62.6C33.7 62.2 34 61.9 34.4 61.9C34.8 61.9 35.1 62.2 35.1 62.6ZM41.5 62.6C41.5 63 41.2 63.3 40.8 63.3C40.4 63.3 40.1 63 40.1 62.6C40.1 62.2 40.4 61.9 40.8 61.9C41.2 61.9 41.5 62.2 41.5 62.6ZM47.9 62.6C47.9 63 47.6 63.3 47.2 63.3C46.8 63.3 46.5 63 46.5 62.6C46.5 62.2 46.8 61.9 47.2 61.9C47.6 61.9 47.9 62.2 47.9 62.6ZM19.1 68.6C19.1 69 18.8 69.3 18.4 69.3C18 69.3 17.7 69 17.7 68.6C17.7 68.2 18 67.9 18.4 67.9C18.8 67.9 19.1 68.2 19.1 68.6ZM25.5 68.6C25.5 69 25.2 69.3 24.8 69.3C24.4 69.3 24.1 69 24.1 68.6C24.1 68.2 24.4 67.9 24.8 67.9C25.2 67.9 25.5 68.2 25.5 68.6ZM31.9 68.6C31.9 69 31.6 69.3 31.2 69.3C30.8 69.3 30.5 69 30.5 68.6C30.5 68.2 30.8 67.9 31.2 67.9C31.6 67.9 31.9 68.2 31.9 68.6ZM38.3 68.6C38.3 69 38 69.3 37.6 69.3C37.2 69.3 36.9 69 36.9 68.6C36.9 68.2 37.2 67.9 37.6 67.9C38 67.9 38.3 68.2 38.3 68.6ZM44.7 68.6C44.7 69 44.4 69.3 44 69.3C43.6 69.3 43.3 69 43.3 68.6C43.3 68.2 43.6 67.9 44 67.9C44.4 67.9 44.7 68.2 44.7 68.6ZM22.3 74.6C22.3 75 22 75.3 21.6 75.3C21.2 75.3 20.9 75 20.9 74.6C20.9 74.2 21.2 73.9 21.6 73.9C22 73.9 22.3 74.2 22.3 74.6ZM28.7 74.6C28.7 75 28.4 75.3 28 75.3C27.6 75.3 27.3 75 27.3 74.6C27.3 74.2 27.6 73.9 28 73.9C28.4 73.9 28.7 74.2 28.7 74.6ZM35.1 74.6C35.1 75 34.8 75.3 34.4 75.3C34 75.3 33.7 75 33.7 74.6C33.7 74.2 34 73.9 34.4 73.9C34.8 73.9 35.1 74.2 35.1 74.6ZM41.5 74.6C41.5 75 41.2 75.3 40.8 75.3C40.4 75.3 40.1 75 40.1 74.6C40.1 74.2 40.4 73.9 40.8 73.9C41.2 73.9 41.5 74.2 41.5 74.6ZM47.9 74.6C47.9 75 47.6 75.3 47.2 75.3C46.8 75.3 46.5 75 46.5 74.6C46.5 74.2 46.8 73.9 47.2 73.9C47.6 73.9 47.9 74.2 47.9 74.6ZM19.1 80.6C19.1 81 18.8 81.3 18.4 81.3C18 81.3 17.7 81 17.7 80.6C17.7 80.2 18 79.9 18.4 79.9C18.8 79.9 19.1 80.2 19.1 80.6ZM25.5 80.6C25.5 81 25.2 81.3 24.8 81.3C24.4 81.3 24.1 81 24.1 80.6C24.1 80.2 24.4 79.9 24.8 79.9C25.2 79.9 25.5 80.2 25.5 80.6ZM31.9 80.6C31.9 81 31.6 81.3 31.2 81.3C30.8 81.3 30.5 81 30.5 80.6C30.5 80.2 30.8 79.9 31.2 79.9C31.6 79.9 31.9 80.2 31.9 80.6ZM38.3 80.6C38.3 81 38 81.3 37.6 81.3C37.2 81.3 36.9 81 36.9 80.6C36.9 80.2 37.2 79.9 37.6 79.9C38 79.9 38.3 80.2 38.3 80.6ZM44.7 80.6C44.7 81 44.4 81.3 44 81.3C43.6 81.3 43.3 81 43.3 80.6C43.3 80.2 43.6 79.9 44 79.9C44.4 79.9 44.7 80.2 44.7 80.6ZM22.3 86.6C22.3 87 22 87.3 21.6 87.3C21.2 87.3 20.9 87 20.9 86.6C20.9 86.2 21.2 85.9 21.6 85.9C22 85.9 22.3 86.2 22.3 86.6ZM28.7 86.6C28.7 87 28.4 87.3 28 87.3C27.6 87.3 27.3 87 27.3 86.6C27.3 86.2 27.6 85.9 28 85.9C28.4 85.9 28.7 86.2 28.7 86.6ZM35.1 86.6C35.1 87 34.8 87.3 34.4 87.3C34 87.3 33.7 87 33.7 86.6C33.7 86.2 34 85.9 34.4 85.9C34.8 85.9 35.1 86.2 35.1 86.6ZM41.5 86.6C41.5 87 41.2 87.3 40.8 87.3C40.4 87.3 40.1 87 40.1 86.6C40.1 86.2 40.4 85.9 40.8 85.9C41.2 85.9 41.5 86.2 41.5 86.6Z',
|
||||
o: 0.55,
|
||||
},
|
||||
{ p: 'shade', d: 'M32 40C48 40 52 56 52 68C52 82 44 96 32 96C42 90 46 80 46 68C46 56 42 44 32 40Z', o: 0.16 },
|
||||
{ p: 'light', d: 'M18 52C20 47 24 44 28 43C24 47 22 52 21 58Z', o: 0.45 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'coconutDrink',
|
||||
theme: 'tropical',
|
||||
tags: ['coconut', 'drink', 'cocktail', 'tropical', 'beach', 'straw', 'umbrella', 'summer'],
|
||||
descr: 'A halved coconut served as a drink, with a striped straw and a little paper umbrella.',
|
||||
box: [84, 92],
|
||||
slots: [
|
||||
{ name: 'shell', color: '#7a4a2b' },
|
||||
{ name: 'umbrella', color: '#ef476f' },
|
||||
{ name: 'straw', color: '#06d6a0' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M44 58L60 10', w: 3 },
|
||||
{ p: '#5c3a21', d: 'M26 60L36 20', w: 1.2 },
|
||||
{ p: 1, d: 'M14 26C18 16 28 10 38 12C46 14 52 20 54 28C48 24 42 24 36 26C30 22 22 22 14 26Z' },
|
||||
{ p: 'shade', d: 'M36 26C42 24 48 24 54 28C52 20 46 14 38 12C40 16 38 21 36 26Z', o: 0.18 },
|
||||
{ p: 'light', d: 'M14 26C18 16 28 10 38 12C30 14 22 18 18 25C17 25 15 25 14 26Z', o: 0.3 },
|
||||
{ p: '#fdf6e3', d: 'M74 58C74 63 59.7 67 42 67C24.3 67 10 63 10 58C10 53 24.3 49 42 49C59.7 49 74 53 74 58Z' },
|
||||
{
|
||||
p: '#e9dcc0',
|
||||
d: 'M68 58C68 61.3 56.4 64 42 64C27.6 64 16 61.3 16 58C16 54.7 27.6 52 42 52C56.4 52 68 54.7 68 58Z',
|
||||
},
|
||||
{ p: 0, d: 'M10 58C10 78 24 90 42 90C60 90 74 78 74 58C66 63 54 66 42 66C30 66 18 63 10 58Z' },
|
||||
{ p: 'shade', d: 'M58 64C66 62 72 60 74 58C74 78 60 90 42 90C56 84 62 74 58 64Z', o: 0.2 },
|
||||
{ p: 'light', d: 'M18 70C20 74 22 77 26 80M30 76C32 79 34 81 37 82', o: 0.3, w: 1.2 },
|
||||
{
|
||||
p: '#5c3a21',
|
||||
d: 'M30.9 76C30.9 76.5 30.5 76.9 30 76.9C29.5 76.9 29.1 76.5 29.1 76C29.1 75.5 29.5 75.1 30 75.1C30.5 75.1 30.9 75.5 30.9 76ZM48.9 80C48.9 80.5 48.5 80.9 48 80.9C47.5 80.9 47.1 80.5 47.1 80C47.1 79.5 47.5 79.1 48 79.1C48.5 79.1 48.9 79.5 48.9 80ZM60.9 74C60.9 74.5 60.5 74.9 60 74.9C59.5 74.9 59.1 74.5 59.1 74C59.1 73.5 59.5 73.1 60 73.1C60.5 73.1 60.9 73.5 60.9 74Z',
|
||||
o: 0.6,
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'parrot',
|
||||
theme: 'tropical',
|
||||
tags: ['parrot', 'macaw', 'bird', 'tropical', 'jungle', 'rainforest', 'colourful', 'animal'],
|
||||
descr:
|
||||
'A scarlet macaw perched on a branch: a red body, yellow and blue wings, a long tail and a pale hooked beak.',
|
||||
box: [72, 100],
|
||||
slots: [
|
||||
{ name: 'body', color: '#e63946' },
|
||||
{ name: 'wing', color: '#2f6fd6' },
|
||||
{ name: 'band', color: '#ffd23f' },
|
||||
{ name: 'branch', color: '#7a5230' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 1, d: 'M40 60C44 74 48 86 52 99L46 99C42 88 38 76 34 64Z' },
|
||||
{ p: 0, d: 'M36 58C40 74 42 86 44 98L39 97C36 86 33 74 30 62Z' },
|
||||
{ p: 2, d: 'M42 62C46 74 50 86 54 96L56 95C52 84 48 72 44 61Z' },
|
||||
{ p: 3, d: 'M2 66C20 62 44 62 70 66L70 71C44 67 20 67 2 71Z' },
|
||||
{ p: 'shade', d: 'M2 69C20 65 44 65 70 69L70 71C44 67 20 67 2 71Z', o: 0.3 },
|
||||
{ p: 0, d: 'M30 28C22 34 20 46 24 56C28 64 38 66 44 60C48 54 48 42 44 32Z' },
|
||||
{ p: 'shade', d: 'M44 32C48 42 48 54 44 60C41 63 37 64 34 64C40 58 42 46 38 34Z', o: 0.16 },
|
||||
{ p: 2, d: 'M34 34C42 34 48 42 48 52C48 58 45 62 40 64C38 56 34 48 32 40Z' },
|
||||
{ p: 1, d: 'M36 46C44 46 48 52 48 56C48 60 45 63 40 64C39 58 37 52 36 46Z' },
|
||||
{ p: 'light', d: 'M38 50L46 56M38 55L45 60', o: 0.4, w: 0.6 },
|
||||
{ p: 0, d: 'M42 24C42 30.1 37.1 35 31 35C24.9 35 20 30.1 20 24C20 17.9 24.9 13 31 13C37.1 13 42 17.9 42 24Z' },
|
||||
{ p: 'paper', d: 'M22 20C24 16 30 15 33 18C34 22 30 27 25 26C23 25 22 23 22 20Z' },
|
||||
{ p: 'ink', d: 'M23 21L24.6 22M25.4 21.4L27 22.4M27.8 21.8L29.4 22.8', o: 0.5, w: 0.4 },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M30.9 20.6C30.9 21.6 30 22.5 29 22.5C28 22.5 27.1 21.6 27.1 20.6C27.1 19.6 28 18.7 29 18.7C30 18.7 30.9 19.6 30.9 20.6Z',
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M29.1 20C29.1 20.3 28.8 20.6 28.5 20.6C28.2 20.6 27.9 20.3 27.9 20C27.9 19.7 28.2 19.4 28.5 19.4C28.8 19.4 29.1 19.7 29.1 20Z',
|
||||
},
|
||||
{ p: '#ece4d2', d: 'M22 22C16 22 12 26 12 31C12 34 14 36 16 37C16 33 18 30 22 29Z' },
|
||||
{ p: '#2b2522', d: 'M21 29C18 30 16.6 33 17 36C19 34 21 33 23 33Z' },
|
||||
{ p: '#6b6b6b', d: 'M30 62L29 67M34 63L34 67M38 63L40 67', w: 1.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'toucan',
|
||||
theme: 'tropical',
|
||||
tags: ['toucan', 'bird', 'tropical', 'rainforest', 'jungle', 'beak', 'brazil', 'animal'],
|
||||
descr: 'A toco toucan on a branch: a glossy black body, a white throat and its huge orange beak with a black tip.',
|
||||
box: [96, 80],
|
||||
slots: [
|
||||
{ name: 'body', color: '#23262b' },
|
||||
{ name: 'beak', color: '#ffa62b' },
|
||||
{ name: 'throat', color: '#fff6dc' },
|
||||
{ name: 'branch', color: '#7a5230' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 3, d: 'M10 60C34 56 60 56 92 60L92 65C60 61 34 61 10 65Z' },
|
||||
{ p: 'shade', d: 'M10 63C34 59 60 59 92 63L92 65C60 61 34 61 10 65Z', o: 0.3 },
|
||||
{ p: 0, d: 'M60 56C66 64 70 72 72 80L64 80C62 72 58 64 54 58Z' },
|
||||
{ p: 0, d: 'M46 18C38 22 34 32 36 44C38 54 46 60 56 60C64 60 68 54 68 46C68 32 60 18 46 18Z' },
|
||||
{ p: 'light', d: 'M62 26C66 32 68 40 66 50C64 44 62 36 58 30Z', o: 0.12 },
|
||||
{ p: 2, d: 'M40 26C36 32 36 42 40 48C42 44 44 40 48 38C46 34 44 30 40 26Z' },
|
||||
{ p: '#f6d743', d: 'M40 38C41 42 43 46 46 47C47 44 47 41 48 38Z', o: 0.6 },
|
||||
{ p: '#e63946', d: 'M40 50C42 56 48 60 54 60C50 56 46 52 44 48Z', o: 0.9 },
|
||||
{ p: 1, d: 'M42 22C30 18 16 18 6 26C4 28 4 31 7 32C18 36 30 34 42 32Z' },
|
||||
{ p: '#f6d743', d: 'M42 22C30 18 16 18 6 26C16 24 30 24 42 27Z' },
|
||||
{ p: 'ink', d: 'M7 32C4 31 4 28 6 26C8 25 10 25 12 25.4C10 27 10 30 11 32.6Z' },
|
||||
{ p: 'shade', d: 'M42 32C30 34 18 36 7 32C18 32 30 30 42 29Z', o: 0.25 },
|
||||
{
|
||||
p: '#2f8fd8',
|
||||
d: 'M50 26C50 28.2 48.2 30 46 30C43.8 30 42 28.2 42 26C42 23.8 43.8 22 46 22C48.2 22 50 23.8 50 26Z',
|
||||
},
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M48.4 26C48.4 27.1 47.5 28 46.4 28C45.3 28 44.4 27.1 44.4 26C44.4 24.9 45.3 24 46.4 24C47.5 24 48.4 24.9 48.4 26Z',
|
||||
},
|
||||
{
|
||||
p: 'paper',
|
||||
d: 'M46.5 25.4C46.5 25.8 46.2 26.1 45.8 26.1C45.4 26.1 45.1 25.8 45.1 25.4C45.1 25 45.4 24.7 45.8 24.7C46.2 24.7 46.5 25 46.5 25.4Z',
|
||||
},
|
||||
{ p: '#5f6670', d: 'M50 60L49 64M55 60L56 64', w: 1.4 },
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
{
|
||||
id: 'flamingo',
|
||||
theme: 'tropical',
|
||||
tags: ['flamingo', 'bird', 'pink', 'tropical', 'summer', 'lagoon', 'animal', 'florida'],
|
||||
descr:
|
||||
'A pink flamingo standing on one leg with the other folded up behind it, its neck in an S-curve and its bent beak tipped in black.',
|
||||
box: [64, 100],
|
||||
slots: [
|
||||
{ name: 'feathers', color: '#f4859b' },
|
||||
{ name: 'beak', color: '#fbe8d8' },
|
||||
{ name: 'legs', color: '#e5627c' },
|
||||
],
|
||||
layers: [
|
||||
{ p: 2, d: 'M33 62L33 98M36 62L34 78L47 71L50 69', w: 1.6 },
|
||||
{ p: 2, d: 'M30 98L37 98', w: 1.6 },
|
||||
{ p: 0, d: 'M18 46C14 54 18 64 30 66C42 68 54 60 56 50C56 46 54 44 50 46C46 48 40 46 36 42C30 38 22 40 18 46Z' },
|
||||
{ p: 'shade', d: 'M30 50C38 52 46 52 54 46C52 56 44 62 34 62C40 58 38 54 30 50Z', o: 0.14 },
|
||||
{ p: 'light', d: 'M22 48C26 44 32 44 36 46', o: 0.4, w: 1.4 },
|
||||
{
|
||||
p: 0,
|
||||
d: 'M22 48C14 40 12 30 18 22C22 16 24 12 22 8C20 4 14 4 12 8L15 9.4C16 8 18 8 18.6 9.4C19.6 12 16 16 13.6 20.4C8.6 30 10 42 18 50Z',
|
||||
},
|
||||
{
|
||||
p: 0,
|
||||
d: 'M22.6 8.4C22.6 11.5 20.1 14 17 14C13.9 14 11.4 11.5 11.4 8.4C11.4 5.3 13.9 2.8 17 2.8C20.1 2.8 22.6 5.3 22.6 8.4Z',
|
||||
},
|
||||
{ p: 1, d: 'M12 6.4C8 6.4 5 8.6 4 12.6C3.6 14.6 4.6 16 5.6 16.6C6 13.4 8 11.4 11.4 11Z' },
|
||||
{ p: 'ink', d: 'M4 12.6C3.6 14.6 4.6 16 5.6 16.6C5.8 15 6.4 13.6 7.2 12.6Z' },
|
||||
{
|
||||
p: 'ink',
|
||||
d: 'M18.5 7.4C18.5 8 18 8.5 17.4 8.5C16.8 8.5 16.3 8 16.3 7.4C16.3 6.8 16.8 6.3 17.4 6.3C18 6.3 18.5 6.8 18.5 7.4Z',
|
||||
},
|
||||
],
|
||||
license: 'in-house',
|
||||
},
|
||||
];
|
||||
@@ -1,15 +0,0 @@
|
||||
/**
|
||||
* `@trek/shared/stickers`: the Studio's sticker library and its lookups, kept
|
||||
* out of the root barrel because the drawings are large (sticker-catalogue.ts).
|
||||
*/
|
||||
export {
|
||||
BOOK_STICKERS,
|
||||
bookSticker,
|
||||
bookStickerLookup,
|
||||
bookStickersOf,
|
||||
listBookAssets,
|
||||
searchBookStickers,
|
||||
type BookAssetRow,
|
||||
type BookStickerSearch,
|
||||
} from './sticker-catalogue';
|
||||
export type { BookStickerDef, BookStickerLayer, BookStickerSlot, BookStickerTheme } from './sticker-types';
|
||||
@@ -1,120 +0,0 @@
|
||||
import { BOOK_STICKER_ID_PATTERN, MAX_STICKER_ID } from '../book-sticker';
|
||||
import { bookStickerElementSchema } from '../book.schema';
|
||||
import {
|
||||
BOOK_STICKERS,
|
||||
bookSticker,
|
||||
bookStickerLookup,
|
||||
bookStickersOf,
|
||||
listBookAssets,
|
||||
searchBookStickers,
|
||||
} from './sticker-catalogue';
|
||||
import { BOOK_STICKER_THEMES, MAX_STICKER_SLOTS } from './sticker-types';
|
||||
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
// STKCAT-001 to STKCAT-007
|
||||
|
||||
/**
|
||||
* The sticker library as data: every motif readable by the renderer and the
|
||||
* contract, licensed, searchable, and grouped by the themes the Studio lists.
|
||||
*/
|
||||
|
||||
const HEX = /^#[0-9a-f]{6}$/i;
|
||||
/** What a layer's path may hold: the absolute move, line and curve commands the drafts are written in. */
|
||||
const PATH = /^M[\d.\- MLCZ]+$/;
|
||||
|
||||
describe('the library', () => {
|
||||
it('STKCAT-001: holds well over a hundred stickers, at least eight per theme, in theme order', () => {
|
||||
expect(BOOK_STICKERS.length).toBeGreaterThanOrEqual(120);
|
||||
for (const theme of BOOK_STICKER_THEMES) expect(bookStickersOf(theme).length, theme).toBeGreaterThanOrEqual(8);
|
||||
const order = BOOK_STICKERS.map((s) => BOOK_STICKER_THEMES.indexOf(s.theme));
|
||||
expect(order).toEqual([...order].sort((a, b) => a - b));
|
||||
});
|
||||
|
||||
it('STKCAT-002: gives every sticker a unique id the document can store', () => {
|
||||
const ids = BOOK_STICKERS.map((s) => s.id);
|
||||
expect(new Set(ids).size).toBe(ids.length);
|
||||
for (const id of ids) {
|
||||
expect(id, id).toMatch(BOOK_STICKER_ID_PATTERN);
|
||||
expect(id.length, id).toBeLessThanOrEqual(MAX_STICKER_ID);
|
||||
const frame = { x: 0, y: 0, w: 10, h: 10 };
|
||||
expect(bookStickerElementSchema.safeParse({ id: 'k', kind: 'sticker', frame, stickerId: id }).success).toBe(true);
|
||||
}
|
||||
});
|
||||
|
||||
it('STKCAT-003: draws every sticker from well-formed layers in a real box, painted only with slots it has', () => {
|
||||
for (const s of BOOK_STICKERS) {
|
||||
const [w, h] = s.box;
|
||||
expect(w > 0 && h > 0, s.id).toBe(true);
|
||||
expect(s.slots.length, s.id).toBeGreaterThanOrEqual(1);
|
||||
expect(s.slots.length, s.id).toBeLessThanOrEqual(MAX_STICKER_SLOTS);
|
||||
for (const slot of s.slots) expect(slot.color, `${s.id} ${slot.name}`).toMatch(HEX);
|
||||
expect(s.layers.length, s.id).toBeGreaterThan(0);
|
||||
for (const layer of s.layers) {
|
||||
expect(layer.d, s.id).toMatch(PATH);
|
||||
if (typeof layer.p === 'number') expect(layer.p, s.id).toBeLessThan(s.slots.length);
|
||||
else if (layer.p.startsWith('#')) expect(layer.p, s.id).toMatch(HEX);
|
||||
else expect(['shade', 'light', 'ink', 'paper'], s.id).toContain(layer.p);
|
||||
if (layer.o !== undefined) expect(layer.o > 0 && layer.o <= 1, s.id).toBe(true);
|
||||
if (layer.w !== undefined) expect(layer.w > 0, s.id).toBe(true);
|
||||
}
|
||||
// Every slot is used by at least one layer, or recolouring it would do nothing.
|
||||
for (let i = 0; i < s.slots.length; i++)
|
||||
expect(
|
||||
s.layers.some((l) => l.p === i),
|
||||
`${s.id} slot ${i}`,
|
||||
).toBe(true);
|
||||
}
|
||||
});
|
||||
|
||||
it('STKCAT-004: says for every sticker what it is, where it belongs and that it is drawn in-house', () => {
|
||||
for (const s of BOOK_STICKERS) {
|
||||
expect(s.license, s.id).toBe('in-house');
|
||||
expect(s.tags.length, s.id).toBeGreaterThanOrEqual(4);
|
||||
expect(s.descr.length, s.id).toBeGreaterThan(20);
|
||||
expect(s.descr.length, s.id).toBeLessThanOrEqual(240);
|
||||
expect(s.descr, s.id).not.toMatch(/[–—]/);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe('finding a sticker', () => {
|
||||
it('STKCAT-005: looks one up by id, and answers nothing for an id it does not hold', () => {
|
||||
expect(bookSticker('eiffelTower')?.theme).toBe('landmarks');
|
||||
expect(bookStickerLookup('lemon')?.slots.length).toBe(2);
|
||||
expect(bookSticker('unicornCastle')).toBeUndefined();
|
||||
expect(bookStickerLookup('')).toBeUndefined();
|
||||
});
|
||||
|
||||
it('STKCAT-006: searches ids, tags and descriptions, the closest match first, in any case and accent', () => {
|
||||
expect(searchBookStickers({ query: 'lemon' })[0]?.id).toBe('lemon');
|
||||
expect(searchBookStickers({ query: 'LEMON' }).map((s) => s.id)).toContain('lemonVase');
|
||||
expect(searchBookStickers({ query: 'eiffel tower' })[0]?.id).toBe('eiffelTower');
|
||||
expect(searchBookStickers({ query: 'Café' }).length).toBeGreaterThan(0);
|
||||
expect(searchBookStickers({ query: 'tape', theme: 'paper' }).every((s) => s.theme === 'paper')).toBe(true);
|
||||
expect(searchBookStickers({ tags: ['washi tape'] }).length).toBeGreaterThanOrEqual(5);
|
||||
expect(searchBookStickers({ query: 'zzzz' })).toEqual([]);
|
||||
expect(searchBookStickers({ limit: 3 })).toHaveLength(3);
|
||||
expect(searchBookStickers()).toHaveLength(BOOK_STICKERS.length);
|
||||
});
|
||||
|
||||
it('STKCAT-007: list_book_assets answers rows a model can pick from, at most forty, with the total', () => {
|
||||
const all = listBookAssets({});
|
||||
expect(all.total).toBe(BOOK_STICKERS.length);
|
||||
expect(all.rows).toHaveLength(40);
|
||||
const lemon = listBookAssets({ query: 'lemon', limit: 2 });
|
||||
expect(lemon.rows).toHaveLength(2);
|
||||
expect(lemon.rows[0]).toEqual({
|
||||
id: 'lemon',
|
||||
theme: 'mediterranean',
|
||||
descr: bookSticker('lemon')?.descr,
|
||||
tags: bookSticker('lemon')?.tags,
|
||||
aspect: 1.25,
|
||||
slots: [
|
||||
{ name: 'lemon', default: '#ffd23f' },
|
||||
{ name: 'leaves', default: '#3f8f4f' },
|
||||
],
|
||||
});
|
||||
expect(lemon.total).toBeGreaterThan(2);
|
||||
});
|
||||
});
|
||||
@@ -1,141 +0,0 @@
|
||||
import type { BookStickerLookup } from '../book-sticker';
|
||||
import { ASIA_STICKERS } from './data/asia.data';
|
||||
import { DOODLES_STICKERS } from './data/doodles.data';
|
||||
import { EPHEMERA_STICKERS } from './data/ephemera.data';
|
||||
import { FOOD_STICKERS } from './data/food.data';
|
||||
import { LANDMARKS_STICKERS } from './data/landmarks.data';
|
||||
import { MEDITERRANEAN_STICKERS } from './data/mediterranean.data';
|
||||
import { MOUNTAINS_STICKERS } from './data/mountains.data';
|
||||
import { NORDIC_STICKERS } from './data/nordic.data';
|
||||
import { ORNAMENTS_STICKERS } from './data/ornaments.data';
|
||||
import { PAPER_STICKERS } from './data/paper.data';
|
||||
import { SEA_STICKERS } from './data/sea.data';
|
||||
import { TROPICAL_STICKERS } from './data/tropical.data';
|
||||
import { BOOK_STICKER_THEMES, type BookStickerDef, type BookStickerTheme } from './sticker-types';
|
||||
|
||||
/**
|
||||
* The sticker library: every drawing the Studio offers and the assistant may
|
||||
* place, in the order the Studio lists them, with the lookups both use.
|
||||
*
|
||||
* Behind its own entry point (`@trek/shared/stickers`) because it is data, a
|
||||
* lot of it: the client's Studio chunk imports it, and so does the server's
|
||||
* book engine context and its `list_book_assets` tool, but nothing that every
|
||||
* screen loads. The book contract and the edit engine only ever see the facts
|
||||
* of one sticker, through `BookStickerLookup`.
|
||||
*
|
||||
* The lists are built by pure calls, marked so a bundler can drop the whole
|
||||
* library from a chunk that never reads it.
|
||||
*/
|
||||
|
||||
function byTheme(...lists: (readonly BookStickerDef[])[]): readonly BookStickerDef[] {
|
||||
const all = lists.flat();
|
||||
return BOOK_STICKER_THEMES.flatMap((theme) => all.filter((s) => s.theme === theme));
|
||||
}
|
||||
|
||||
export const BOOK_STICKERS: readonly BookStickerDef[] = /* @__PURE__ */ byTheme(
|
||||
EPHEMERA_STICKERS,
|
||||
LANDMARKS_STICKERS,
|
||||
TROPICAL_STICKERS,
|
||||
MEDITERRANEAN_STICKERS,
|
||||
SEA_STICKERS,
|
||||
MOUNTAINS_STICKERS,
|
||||
NORDIC_STICKERS,
|
||||
ASIA_STICKERS,
|
||||
FOOD_STICKERS,
|
||||
PAPER_STICKERS,
|
||||
DOODLES_STICKERS,
|
||||
ORNAMENTS_STICKERS,
|
||||
);
|
||||
|
||||
const BY_ID: ReadonlyMap<string, BookStickerDef> = /* @__PURE__ */ new Map(BOOK_STICKERS.map((s) => [s.id, s]));
|
||||
|
||||
/** One sticker by id, or undefined for an id this library does not hold (a newer book, a typo). */
|
||||
export function bookSticker(id: string): BookStickerDef | undefined {
|
||||
return BY_ID.get(id);
|
||||
}
|
||||
|
||||
/** The lookup the edit engine takes in its context. */
|
||||
export const bookStickerLookup: BookStickerLookup = (id) => BY_ID.get(id);
|
||||
|
||||
/** The stickers of one theme, in library order. */
|
||||
export function bookStickersOf(theme: BookStickerTheme): BookStickerDef[] {
|
||||
return BOOK_STICKERS.filter((s) => s.theme === theme);
|
||||
}
|
||||
|
||||
const norm = (s: string) => s.toLowerCase().normalize('NFKD').replace(/[̀-ͯ]/g, '');
|
||||
|
||||
/** The words a sticker is found by: its id split at the capitals, its tags, its theme and its description. */
|
||||
function haystack(s: BookStickerDef): string {
|
||||
const idWords = s.id.replace(/([a-z])([A-Z])/g, '$1 $2');
|
||||
return norm([s.id, idWords, s.theme, ...s.tags, s.descr].join(' '));
|
||||
}
|
||||
|
||||
/**
|
||||
* How well a sticker answers a query: every word of the query has to be found,
|
||||
* and a word that is a tag or the id itself counts for more than one buried in
|
||||
* the description, so "lemon" lists the lemon before the vase of lemons.
|
||||
*/
|
||||
function score(s: BookStickerDef, words: readonly string[]): number {
|
||||
const hay = haystack(s);
|
||||
const tags = s.tags.map(norm);
|
||||
let total = 0;
|
||||
for (const w of words) {
|
||||
if (!hay.includes(w)) return 0;
|
||||
if (norm(s.id) === w || tags.includes(w)) total += 3;
|
||||
else if (tags.some((t) => t.split(' ').includes(w)) || norm(s.id).startsWith(w)) total += 2;
|
||||
else total += 1;
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
export interface BookStickerSearch {
|
||||
query?: string;
|
||||
tags?: readonly string[];
|
||||
theme?: BookStickerTheme;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
/** Stickers matching a search, best first, library order between equals. */
|
||||
export function searchBookStickers(search: BookStickerSearch = {}): BookStickerDef[] {
|
||||
const words = norm(search.query ?? '')
|
||||
.split(/\s+/)
|
||||
.filter(Boolean);
|
||||
const tags = (search.tags ?? []).map(norm);
|
||||
const pool = BOOK_STICKERS.filter(
|
||||
(s) => (!search.theme || s.theme === search.theme) && tags.every((t) => s.tags.map(norm).includes(t)),
|
||||
);
|
||||
const ranked = words.length
|
||||
? pool
|
||||
.map((s, i) => ({ s, i, n: score(s, words) }))
|
||||
.filter((r) => r.n > 0)
|
||||
.sort((a, b) => b.n - a.n || a.i - b.i)
|
||||
.map((r) => r.s)
|
||||
: pool;
|
||||
return ranked.slice(0, search.limit ?? ranked.length);
|
||||
}
|
||||
|
||||
/** One row of `list_book_assets`: what a model needs to choose a sticker it cannot see, and to colour it. */
|
||||
export interface BookAssetRow {
|
||||
id: string;
|
||||
theme: BookStickerTheme;
|
||||
descr: string;
|
||||
tags: readonly string[];
|
||||
/** Width over height of the drawing; a frame of another shape leaves air around it. */
|
||||
aspect: number;
|
||||
/** The colours the `colors` field sets, in order, with their defaults. */
|
||||
slots: readonly { name: string; default: string }[];
|
||||
}
|
||||
|
||||
/** `list_book_assets` for stickers: at most `limit` rows (40), the library's own order without a query. */
|
||||
export function listBookAssets(search: BookStickerSearch): { total: number; rows: BookAssetRow[] } {
|
||||
const found = searchBookStickers({ ...search, limit: undefined });
|
||||
const rows = found.slice(0, search.limit ?? 40).map((s) => ({
|
||||
id: s.id,
|
||||
theme: s.theme,
|
||||
descr: s.descr,
|
||||
tags: s.tags,
|
||||
aspect: Math.round((s.box[0] / s.box[1]) * 100) / 100,
|
||||
slots: s.slots.map((slot) => ({ name: slot.name, default: slot.color })),
|
||||
}));
|
||||
return { total: found.length, rows };
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
/**
|
||||
* The shape of a sticker in the catalogue: a flat illustration drawn as
|
||||
* layered vector paths, with a few named colour slots a book can repaint.
|
||||
*
|
||||
* A sticker is data, not code. Each one is a list of layers painted back to
|
||||
* front inside its own drawing box, the way a cut-paper illustration is laid
|
||||
* up: a base colour, the shadow side as a darker flat shape over it, the lit
|
||||
* side as a paler one, the details on top. Nothing is blurred or filtered, so
|
||||
* every layer prints as a vector path at any size.
|
||||
*
|
||||
* The colours a book is likely to want to change are slots, numbered from 0:
|
||||
* a hibiscus has its petals, its centre and its leaves, and a book in its own
|
||||
* palette repaints those three and keeps the drawing. Shading is not a slot.
|
||||
* `shade` and `light` are a translucent black and white laid over whatever is
|
||||
* under them, which is why a recoloured petal keeps its fold.
|
||||
*/
|
||||
|
||||
/** The themes the catalogue is grouped by, in the order the Studio lists them. */
|
||||
export const BOOK_STICKER_THEMES = [
|
||||
'ephemera',
|
||||
'landmarks',
|
||||
'tropical',
|
||||
'mediterranean',
|
||||
'sea',
|
||||
'mountains',
|
||||
'nordic',
|
||||
'asia',
|
||||
'food',
|
||||
'paper',
|
||||
'doodles',
|
||||
'ornaments',
|
||||
] as const;
|
||||
export type BookStickerTheme = (typeof BOOK_STICKER_THEMES)[number];
|
||||
|
||||
/** The most colour slots a sticker has, and so the most colours a sticker element stores. */
|
||||
export const MAX_STICKER_SLOTS = 4;
|
||||
|
||||
/**
|
||||
* What a layer is painted with.
|
||||
*
|
||||
* A number is a slot. `shade` and `light` are the flat shadow and highlight,
|
||||
* a translucent black and a translucent white over whatever lies under them.
|
||||
* `ink` is the near-black of a drawn outline, `paper` the white of a label or
|
||||
* a highlight that should stay white whatever is recoloured. Anything else is
|
||||
* a fixed `#rrggbb` that no recolouring touches (the brown of a trunk under a
|
||||
* palm a book has painted blue would only look wrong).
|
||||
*/
|
||||
export type BookStickerPaint = number | 'shade' | 'light' | 'ink' | 'paper' | `#${string}`;
|
||||
|
||||
/**
|
||||
* One painted path.
|
||||
*
|
||||
* `d` is an SVG path in the sticker's own box units. `o` is its opacity, 1 when
|
||||
* left out (0.18 for `shade`, 0.35 for `light`). With `w` the path is stroked
|
||||
* that many box units wide with round ends instead of filled, which is how a
|
||||
* hand-drawn arrow or a stitched line is drawn. `eo` fills by the even-odd rule,
|
||||
* for a shape with a hole cut through it.
|
||||
*/
|
||||
export interface BookStickerLayer {
|
||||
p: BookStickerPaint;
|
||||
d: string;
|
||||
o?: number;
|
||||
w?: number;
|
||||
eo?: 1;
|
||||
}
|
||||
|
||||
/** A colour a book may change, by what it colours. */
|
||||
export interface BookStickerSlot {
|
||||
/** One word for the inspector's tooltip and for the model: petals, sky, frame. */
|
||||
name: string;
|
||||
/** `#rrggbb`, the colour it is drawn in until somebody picks another. */
|
||||
color: string;
|
||||
}
|
||||
|
||||
export interface BookStickerDef {
|
||||
/** Unique across the catalogue, lowerCamelCase; also the last part of its label key. */
|
||||
id: string;
|
||||
theme: BookStickerTheme;
|
||||
/** English search words: what it is, what it is of, where it belongs. */
|
||||
tags: readonly string[];
|
||||
/** One sentence for a model picking a sticker it cannot see. */
|
||||
descr: string;
|
||||
/** The drawing box, width then height, in the units the paths are written in. */
|
||||
box: readonly [number, number];
|
||||
slots: readonly BookStickerSlot[];
|
||||
layers: readonly BookStickerLayer[];
|
||||
/** Who drew it and under what terms. Every motif here is drawn for TREK. */
|
||||
license: 'in-house';
|
||||
}
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'الملصقات',
|
||||
'journey.studio.kind.sticker': 'ملصق',
|
||||
'journey.studio.searchStickers': 'ابحث في الملصقات',
|
||||
'journey.studio.stickerThemes': 'موضوعات الملصقات',
|
||||
'journey.studio.stickersAll': 'الكل',
|
||||
'journey.studio.stickersRecent': 'المستخدمة مؤخرًا',
|
||||
'journey.studio.stickersHint': 'انقر على ملصق لوضعه في منتصف الصفحة، أو اسحبه إلى المكان الذي يجب أن يكون فيه.',
|
||||
'journey.studio.stickerColours': 'الألوان',
|
||||
'journey.studio.stickerSlot': 'اللون {index}',
|
||||
'journey.studio.stickerResetColours': 'الألوان الأصلية',
|
||||
'journey.studio.stickerMissing': 'هذا الملصق غير موجود في مكتبة هذا الإصدار من TREK.',
|
||||
'journey.studio.stickerPlacement': 'الموضع',
|
||||
'journey.studio.stickerFlip': 'عكس أفقي',
|
||||
'journey.studio.stickerTurnLeft': 'تدوير لليسار',
|
||||
'journey.studio.stickerTurnRight': 'تدوير لليمين',
|
||||
'assistant.step.bookStickers': 'يتصفح الملصقات',
|
||||
'journey.studio.stickerTheme.ephemera': 'أغراض السفر',
|
||||
'journey.studio.stickerTheme.landmarks': 'معالم شهيرة',
|
||||
'journey.studio.stickerTheme.tropical': 'استوائي',
|
||||
'journey.studio.stickerTheme.mediterranean': 'المتوسط',
|
||||
'journey.studio.stickerTheme.sea': 'البحر والساحل',
|
||||
'journey.studio.stickerTheme.mountains': 'الجبال',
|
||||
'journey.studio.stickerTheme.nordic': 'الشمال',
|
||||
'journey.studio.stickerTheme.asia': 'آسيا والهند',
|
||||
'journey.studio.stickerTheme.food': 'طعام وشراب',
|
||||
'journey.studio.stickerTheme.paper': 'ورق وشريط',
|
||||
'journey.studio.stickerTheme.doodles': 'خربشات',
|
||||
'journey.studio.stickerTheme.ornaments': 'زخارف',
|
||||
'journey.studio.sticker.airplane': 'طائرة',
|
||||
'journey.studio.sticker.boardingPass': 'بطاقة صعود الطائرة',
|
||||
'journey.studio.sticker.passport': 'جواز سفر',
|
||||
'journey.studio.sticker.suitcase': 'حقيبة سفر قديمة',
|
||||
'journey.studio.sticker.rollingSuitcase': 'حقيبة مقصورة',
|
||||
'journey.studio.sticker.luggageTag': 'بطاقة أمتعة',
|
||||
'journey.studio.sticker.ticket': 'تذكرة دخول',
|
||||
'journey.studio.sticker.camera': 'كاميرا',
|
||||
'journey.studio.sticker.instantPhoto': 'صورة فورية',
|
||||
'journey.studio.sticker.globe': 'كرة أرضية',
|
||||
'journey.studio.sticker.mapPin': 'دبوس خريطة',
|
||||
'journey.studio.sticker.foldedMap': 'خريطة مطوية',
|
||||
'journey.studio.sticker.postageStamp': 'طابع بريدي',
|
||||
'journey.studio.sticker.postmark': 'ختم البريد',
|
||||
'journey.studio.sticker.passportStamp': 'ختم جواز السفر',
|
||||
'journey.studio.sticker.hotAirBalloon': 'منطاد هوائي',
|
||||
'journey.studio.sticker.sunglasses': 'نظارة شمسية',
|
||||
'journey.studio.sticker.campervan': 'شاحنة تخييم',
|
||||
'journey.studio.sticker.eiffelTower': 'برج إيفل',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'قوس النصر',
|
||||
'journey.studio.sticker.colosseum': 'الكولوسيوم',
|
||||
'journey.studio.sticker.pisaTower': 'برج بيزا المائل',
|
||||
'journey.studio.sticker.bigBen': 'ساعة بيغ بن',
|
||||
'journey.studio.sticker.towerBridge': 'جسر البرج في لندن',
|
||||
'journey.studio.sticker.sagradaFamilia': 'كنيسة ساغرادا فاميليا',
|
||||
'journey.studio.sticker.brandenburgGate': 'بوابة براندنبورغ',
|
||||
'journey.studio.sticker.hagiaSophia': 'آيا صوفيا',
|
||||
'journey.studio.sticker.tajMahal': 'تاج محل',
|
||||
'journey.studio.sticker.pyramids': 'أهرامات الجيزة',
|
||||
'journey.studio.sticker.statueOfLiberty': 'تمثال الحرية',
|
||||
'journey.studio.sticker.goldenGate': 'جسر البوابة الذهبية',
|
||||
'journey.studio.sticker.christRedeemer': 'تمثال المسيح الفادي',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'دار أوبرا سيدني',
|
||||
'journey.studio.sticker.hibiscus': 'زهرة الكركديه',
|
||||
'journey.studio.sticker.frangipani': 'زهرة الفرانجيباني',
|
||||
'journey.studio.sticker.monsteraLeaf': 'ورقة مونستيرا',
|
||||
'journey.studio.sticker.palmLeaf': 'سعفة نخيل',
|
||||
'journey.studio.sticker.bananaLeaf': 'ورقة موز',
|
||||
'journey.studio.sticker.palmTree': 'نخلة جوز الهند',
|
||||
'journey.studio.sticker.pineapple': 'أناناس',
|
||||
'journey.studio.sticker.coconutDrink': 'مشروب في جوزة هند',
|
||||
'journey.studio.sticker.parrot': 'ببغاء',
|
||||
'journey.studio.sticker.toucan': 'طائر الطوقان',
|
||||
'journey.studio.sticker.flamingo': 'طائر النحام',
|
||||
'journey.studio.sticker.lemon': 'ليمونة',
|
||||
'journey.studio.sticker.lemonBranch': 'غصن ليمون',
|
||||
'journey.studio.sticker.lemonVase': 'مزهرية بالليمون',
|
||||
'journey.studio.sticker.oliveBranch': 'غصن زيتون',
|
||||
'journey.studio.sticker.orangeSlice': 'شريحة برتقال',
|
||||
'journey.studio.sticker.fig': 'تين',
|
||||
'journey.studio.sticker.amphora': 'جرة إغريقية',
|
||||
'journey.studio.sticker.sardine': 'سردين',
|
||||
'journey.studio.sticker.azulejoTile': 'بلاطة أزوليجو',
|
||||
'journey.studio.sticker.shutterWindow': 'نافذة بمصاريع',
|
||||
'journey.studio.sticker.bougainvillea': 'جهنمية',
|
||||
'journey.studio.sticker.strawHat': 'قبعة من القش',
|
||||
'journey.studio.sticker.windmill': 'طاحونة هوائية',
|
||||
'journey.studio.sticker.santoriniChurch': 'كنيسة صغيرة في سانتوريني',
|
||||
'journey.studio.sticker.waves': 'أمواج',
|
||||
'journey.studio.sticker.sun': 'شمس',
|
||||
'journey.studio.sticker.seaTurtle': 'سلحفاة بحرية',
|
||||
'journey.studio.sticker.scallopShell': 'صدفة الإسكالوب',
|
||||
'journey.studio.sticker.starfish': 'نجمة البحر',
|
||||
'journey.studio.sticker.tropicalFish': 'سمكة استوائية',
|
||||
'journey.studio.sticker.coral': 'مرجان',
|
||||
'journey.studio.sticker.sailboat': 'مركب شراعي',
|
||||
'journey.studio.sticker.lighthouse': 'منارة',
|
||||
'journey.studio.sticker.anchor': 'مرساة',
|
||||
'journey.studio.sticker.lifebuoy': 'طوق نجاة',
|
||||
'journey.studio.sticker.seagull': 'نورس',
|
||||
'journey.studio.sticker.beachUmbrella': 'مظلة شاطئ',
|
||||
'journey.studio.sticker.mountainRange': 'سلسلة جبال',
|
||||
'journey.studio.sticker.snowPeak': 'قمة مكسوة بالثلج',
|
||||
'journey.studio.sticker.pineTrees': 'أشجار صنوبر',
|
||||
'journey.studio.sticker.mountainLake': 'بحيرة جبلية',
|
||||
'journey.studio.sticker.tent': 'خيمة',
|
||||
'journey.studio.sticker.campfire': 'نار المخيم',
|
||||
'journey.studio.sticker.cableCar': 'تلفريك',
|
||||
'journey.studio.sticker.edelweiss': 'زهرة إديلفايس',
|
||||
'journey.studio.sticker.hikingBoot': 'حذاء مشي جبلي',
|
||||
'journey.studio.sticker.compassRose': 'وردة الرياح',
|
||||
'journey.studio.sticker.rowHouses': 'بيوت الميناء',
|
||||
'journey.studio.sticker.fjord': 'مضيق بحري',
|
||||
'journey.studio.sticker.northernLights': 'الشفق القطبي',
|
||||
'journey.studio.sticker.redCabin': 'كوخ أحمر',
|
||||
'journey.studio.sticker.ferry': 'عبّارة',
|
||||
'journey.studio.sticker.reindeer': 'رنة',
|
||||
'journey.studio.sticker.puffin': 'طائر البفن',
|
||||
'journey.studio.sticker.dalaHorse': 'حصان دالا الخشبي',
|
||||
'journey.studio.sticker.cinnamonBun': 'لفافة القرفة',
|
||||
'journey.studio.sticker.bicycle': 'دراجة هوائية',
|
||||
'journey.studio.sticker.mountFuji': 'جبل فوجي',
|
||||
'journey.studio.sticker.toriiGate': 'بوابة توري',
|
||||
'journey.studio.sticker.pagoda': 'معبد باغودا',
|
||||
'journey.studio.sticker.cherryBlossom': 'زهر الكرز',
|
||||
'journey.studio.sticker.paperLantern': 'فانوس ورقي',
|
||||
'journey.studio.sticker.koi': 'سمكة الكوي',
|
||||
'journey.studio.sticker.bamboo': 'خيزران',
|
||||
'journey.studio.sticker.foldingFan': 'مروحة يدوية',
|
||||
'journey.studio.sticker.lotus': 'زهرة اللوتس',
|
||||
'journey.studio.sticker.templeArch': 'قوس معبد',
|
||||
'journey.studio.sticker.elephant': 'فيل',
|
||||
'journey.studio.sticker.tukTuk': 'توك توك',
|
||||
'journey.studio.sticker.espresso': 'قهوة إسبريسو',
|
||||
'journey.studio.sticker.cappuccino': 'كابتشينو',
|
||||
'journey.studio.sticker.croissant': 'كرواسون',
|
||||
'journey.studio.sticker.pastelDeNata': 'تارت الكاسترد البرتغالية',
|
||||
'journey.studio.sticker.baguette': 'خبز باغيت',
|
||||
'journey.studio.sticker.pretzel': 'بريتزل',
|
||||
'journey.studio.sticker.gelato': 'بوظة في قمع',
|
||||
'journey.studio.sticker.pizzaSlice': 'شريحة بيتزا',
|
||||
'journey.studio.sticker.wineGlass': 'كأس نبيذ',
|
||||
'journey.studio.sticker.spritz': 'سبريتز',
|
||||
'journey.studio.sticker.ramen': 'رامن',
|
||||
'journey.studio.sticker.sushi': 'سوشي',
|
||||
'journey.studio.sticker.washiStripes': 'شريط واشي مخطط',
|
||||
'journey.studio.sticker.washiDots': 'شريط واشي منقط',
|
||||
'journey.studio.sticker.washiGingham': 'شريط واشي مربعات',
|
||||
'journey.studio.sticker.washiFloral': 'شريط واشي مزهر',
|
||||
'journey.studio.sticker.washiKraft': 'شريط ورق كرافت',
|
||||
'journey.studio.sticker.maskingTape': 'شريط لاصق ورقي',
|
||||
'journey.studio.sticker.tornPaper': 'شريط ورق ممزق',
|
||||
'journey.studio.sticker.stickyNote': 'ورقة ملاحظات لاصقة',
|
||||
'journey.studio.sticker.notebookPaper': 'صفحة دفتر',
|
||||
'journey.studio.sticker.photoCorners': 'زوايا الصور',
|
||||
'journey.studio.sticker.paperClip': 'مشبك ورق',
|
||||
'journey.studio.sticker.sewnLabel': 'رقعة مخيطة',
|
||||
'journey.studio.sticker.handCircle': 'دائرة مرسومة باليد',
|
||||
'journey.studio.sticker.underlineSwoosh': 'خط تحت الكلام',
|
||||
'journey.studio.sticker.markerHighlight': 'خط قلم تحديد',
|
||||
'journey.studio.sticker.handArrow': 'سهم',
|
||||
'journey.studio.sticker.curlyArrow': 'سهم ملتف',
|
||||
'journey.studio.sticker.loopArrow': 'سهم بحلقة',
|
||||
'journey.studio.sticker.sparkles': 'بريق',
|
||||
'journey.studio.sticker.doodleHeart': 'قلب مخربش',
|
||||
'journey.studio.sticker.doodleStars': 'نجوم مخربشة',
|
||||
'journey.studio.sticker.squiggle': 'خط متعرج',
|
||||
'journey.studio.sticker.xMark': 'علامة الكنز',
|
||||
'journey.studio.sticker.dottedPath': 'مسار منقط',
|
||||
'journey.studio.sticker.sunDivider': 'فاصل بشمس',
|
||||
'journey.studio.sticker.starRule': 'فاصل بنجوم',
|
||||
'journey.studio.sticker.diamondRule': 'فاصل بطراز آرت ديكو',
|
||||
'journey.studio.sticker.dottedRule': 'فاصل منقط',
|
||||
'journey.studio.sticker.waveRule': 'فاصل متموج',
|
||||
'journey.studio.sticker.fleuron': 'زخرفة نباتية',
|
||||
'journey.studio.sticker.laurelWreath': 'إكليل غار',
|
||||
'journey.studio.sticker.cornerFlourish': 'زاوية مزخرفة',
|
||||
'journey.studio.sticker.cornerScroll': 'زاوية بلفائف',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stikerlər',
|
||||
'journey.studio.kind.sticker': 'Stiker',
|
||||
'journey.studio.searchStickers': 'Stiker axtar',
|
||||
'journey.studio.stickerThemes': 'Stiker mövzuları',
|
||||
'journey.studio.stickersAll': 'Hamısı',
|
||||
'journey.studio.stickersRecent': 'Son istifadə olunanlar',
|
||||
'journey.studio.stickersHint':
|
||||
'Səhifənin ortasına qoymaq üçün stikerə klikləyin və ya onu lazım olan yerə sürükləyin.',
|
||||
'journey.studio.stickerColours': 'Rənglər',
|
||||
'journey.studio.stickerSlot': 'Rəng {index}',
|
||||
'journey.studio.stickerResetColours': 'Orijinal rənglər',
|
||||
'journey.studio.stickerMissing': 'Bu stiker TREK-in bu versiyasının kitabxanasında yoxdur.',
|
||||
'journey.studio.stickerPlacement': 'Yerləşmə',
|
||||
'journey.studio.stickerFlip': 'Güzgü kimi çevir',
|
||||
'journey.studio.stickerTurnLeft': 'Sola döndər',
|
||||
'journey.studio.stickerTurnRight': 'Sağa döndər',
|
||||
'assistant.step.bookStickers': 'Stikerlərə baxır',
|
||||
'journey.studio.stickerTheme.ephemera': 'Səyahət əşyaları',
|
||||
'journey.studio.stickerTheme.landmarks': 'Görməli yerlər',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropiklər',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Aralıq dənizi',
|
||||
'journey.studio.stickerTheme.sea': 'Dəniz və sahil',
|
||||
'journey.studio.stickerTheme.mountains': 'Dağlar',
|
||||
'journey.studio.stickerTheme.nordic': 'Şimal',
|
||||
'journey.studio.stickerTheme.asia': 'Asiya və Hindistan',
|
||||
'journey.studio.stickerTheme.food': 'Yemək və içki',
|
||||
'journey.studio.stickerTheme.paper': 'Kağız və lent',
|
||||
'journey.studio.stickerTheme.doodles': 'Cızma-qaralar',
|
||||
'journey.studio.stickerTheme.ornaments': 'Naxışlar',
|
||||
'journey.studio.sticker.airplane': 'Təyyarə',
|
||||
'journey.studio.sticker.boardingPass': 'Minik talonu',
|
||||
'journey.studio.sticker.passport': 'Pasport',
|
||||
'journey.studio.sticker.suitcase': 'Köhnə çamadan',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Salon çamadanı',
|
||||
'journey.studio.sticker.luggageTag': 'Baqaj etiketi',
|
||||
'journey.studio.sticker.ticket': 'Giriş bileti',
|
||||
'journey.studio.sticker.camera': 'Fotoaparat',
|
||||
'journey.studio.sticker.instantPhoto': 'Ani foto',
|
||||
'journey.studio.sticker.globe': 'Qlobus',
|
||||
'journey.studio.sticker.mapPin': 'Xəritə sancağı',
|
||||
'journey.studio.sticker.foldedMap': 'Qatlanmış xəritə',
|
||||
'journey.studio.sticker.postageStamp': 'Poçt markası',
|
||||
'journey.studio.sticker.postmark': 'Poçt möhürü',
|
||||
'journey.studio.sticker.passportStamp': 'Pasport möhürü',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Hava şarı',
|
||||
'journey.studio.sticker.sunglasses': 'Günəş eynəyi',
|
||||
'journey.studio.sticker.campervan': 'Kemper furqonu',
|
||||
'journey.studio.sticker.eiffelTower': 'Eyfel qülləsi',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Zəfər tağı',
|
||||
'journey.studio.sticker.colosseum': 'Kolizey',
|
||||
'journey.studio.sticker.pisaTower': 'Piza qülləsi',
|
||||
'journey.studio.sticker.bigBen': 'Londondakı Big Ben',
|
||||
'journey.studio.sticker.towerBridge': 'Londondakı Tauer körpüsü',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Saqrada Familiya',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburq qapısı',
|
||||
'journey.studio.sticker.hagiaSophia': 'Ayasofya',
|
||||
'journey.studio.sticker.tajMahal': 'Tac Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Giza ehramları',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Azadlıq heykəli',
|
||||
'journey.studio.sticker.goldenGate': 'Qızıl Qapı körpüsü',
|
||||
'journey.studio.sticker.christRedeemer': 'Xilaskar İsa heykəli',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Sidney Opera Teatrı',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiskus',
|
||||
'journey.studio.sticker.frangipani': 'Plumeriya',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Monstera yarpağı',
|
||||
'journey.studio.sticker.palmLeaf': 'Palma yarpağı',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banan yarpağı',
|
||||
'journey.studio.sticker.palmTree': 'Palma ağacı',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Kokosda içki',
|
||||
'journey.studio.sticker.parrot': 'Tutuquşu',
|
||||
'journey.studio.sticker.toucan': 'Tukan',
|
||||
'journey.studio.sticker.flamingo': 'Qızılqaz',
|
||||
'journey.studio.sticker.lemon': 'Limon',
|
||||
'journey.studio.sticker.lemonBranch': 'Limon budağı',
|
||||
'journey.studio.sticker.lemonVase': 'Limonlu vaza',
|
||||
'journey.studio.sticker.oliveBranch': 'Zeytun budağı',
|
||||
'journey.studio.sticker.orangeSlice': 'Portağal dilimi',
|
||||
'journey.studio.sticker.fig': 'Əncir',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardina',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo kafeli',
|
||||
'journey.studio.sticker.shutterWindow': 'Taxtapuşlu pəncərə',
|
||||
'journey.studio.sticker.bougainvillea': 'Bugenvilleya',
|
||||
'journey.studio.sticker.strawHat': 'Hasır papaq',
|
||||
'journey.studio.sticker.windmill': 'Yel dəyirmanı',
|
||||
'journey.studio.sticker.santoriniChurch': 'Santorini kilsəsi',
|
||||
'journey.studio.sticker.waves': 'Dalğalar',
|
||||
'journey.studio.sticker.sun': 'Günəş',
|
||||
'journey.studio.sticker.seaTurtle': 'Dəniz tısbağası',
|
||||
'journey.studio.sticker.scallopShell': 'Daraq balıqqulağı',
|
||||
'journey.studio.sticker.starfish': 'Dəniz ulduzu',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropik balıq',
|
||||
'journey.studio.sticker.coral': 'Mərcan',
|
||||
'journey.studio.sticker.sailboat': 'Yelkənli qayıq',
|
||||
'journey.studio.sticker.lighthouse': 'Mayak',
|
||||
'journey.studio.sticker.anchor': 'Lövbər',
|
||||
'journey.studio.sticker.lifebuoy': 'Xilasedici dairə',
|
||||
'journey.studio.sticker.seagull': 'Qağayı',
|
||||
'journey.studio.sticker.beachUmbrella': 'Çimərlik çətiri',
|
||||
'journey.studio.sticker.mountainRange': 'Dağ silsiləsi',
|
||||
'journey.studio.sticker.snowPeak': 'Qarlı zirvə',
|
||||
'journey.studio.sticker.pineTrees': 'Şam ağacları',
|
||||
'journey.studio.sticker.mountainLake': 'Dağ gölü',
|
||||
'journey.studio.sticker.tent': 'Çadır',
|
||||
'journey.studio.sticker.campfire': 'Tonqal',
|
||||
'journey.studio.sticker.cableCar': 'Kanat yolu',
|
||||
'journey.studio.sticker.edelweiss': 'Edelveys',
|
||||
'journey.studio.sticker.hikingBoot': 'Yürüş çəkməsi',
|
||||
'journey.studio.sticker.compassRose': 'Küləklər gülü',
|
||||
'journey.studio.sticker.rowHouses': 'Liman evləri',
|
||||
'journey.studio.sticker.fjord': 'Fyord',
|
||||
'journey.studio.sticker.northernLights': 'Qütb parıltısı',
|
||||
'journey.studio.sticker.redCabin': 'Qırmızı daxma',
|
||||
'journey.studio.sticker.ferry': 'Bərə',
|
||||
'journey.studio.sticker.reindeer': 'Şimal maralı',
|
||||
'journey.studio.sticker.puffin': 'Tupik quşu',
|
||||
'journey.studio.sticker.dalaHorse': 'Dalarna atı',
|
||||
'journey.studio.sticker.cinnamonBun': 'Darçınlı bulka',
|
||||
'journey.studio.sticker.bicycle': 'Velosiped',
|
||||
'journey.studio.sticker.mountFuji': 'Fuci dağı',
|
||||
'journey.studio.sticker.toriiGate': 'Torii darvazası',
|
||||
'journey.studio.sticker.pagoda': 'Paqoda',
|
||||
'journey.studio.sticker.cherryBlossom': 'Albalı çiçəyi',
|
||||
'journey.studio.sticker.paperLantern': 'Kağız fənər',
|
||||
'journey.studio.sticker.koi': 'Koi çəkisi',
|
||||
'journey.studio.sticker.bamboo': 'Bambuk',
|
||||
'journey.studio.sticker.foldingFan': 'Yelpik',
|
||||
'journey.studio.sticker.lotus': 'Lotus çiçəyi',
|
||||
'journey.studio.sticker.templeArch': 'Məbəd tağı',
|
||||
'journey.studio.sticker.elephant': 'Fil',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk-tuk taksisi',
|
||||
'journey.studio.sticker.espresso': 'Espresso qəhvə',
|
||||
'journey.studio.sticker.cappuccino': 'Kapuçino',
|
||||
'journey.studio.sticker.croissant': 'Kruassan',
|
||||
'journey.studio.sticker.pastelDeNata': 'Portuqal tartı',
|
||||
'journey.studio.sticker.baguette': 'Baget çörəyi',
|
||||
'journey.studio.sticker.pretzel': 'Bavariya simidi',
|
||||
'journey.studio.sticker.gelato': 'Qıfda dondurma',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pizza dilimi',
|
||||
'journey.studio.sticker.wineGlass': 'Bir qədəh şərab',
|
||||
'journey.studio.sticker.spritz': 'Venesiya sprisi',
|
||||
'journey.studio.sticker.ramen': 'Ramen şorbası',
|
||||
'journey.studio.sticker.sushi': 'Suşi',
|
||||
'journey.studio.sticker.washiStripes': 'Zolaqlı vaşi lenti',
|
||||
'journey.studio.sticker.washiDots': 'Xallı vaşi lenti',
|
||||
'journey.studio.sticker.washiGingham': 'Damalı vaşi lenti',
|
||||
'journey.studio.sticker.washiFloral': 'Güllü vaşi lenti',
|
||||
'journey.studio.sticker.washiKraft': 'Kraft kağız lenti',
|
||||
'journey.studio.sticker.maskingTape': 'Maskalama lenti',
|
||||
'journey.studio.sticker.tornPaper': 'Cırılmış kağız zolağı',
|
||||
'journey.studio.sticker.stickyNote': 'Yapışqanlı qeyd',
|
||||
'journey.studio.sticker.notebookPaper': 'Dəftər vərəqi',
|
||||
'journey.studio.sticker.photoCorners': 'Foto küncləri',
|
||||
'journey.studio.sticker.paperClip': 'Kağız sancağı',
|
||||
'journey.studio.sticker.sewnLabel': 'Tikilmiş etiket',
|
||||
'journey.studio.sticker.handCircle': 'Əllə çəkilmiş dairə',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Altından xətt',
|
||||
'journey.studio.sticker.markerHighlight': 'Marker izi',
|
||||
'journey.studio.sticker.handArrow': 'Ox',
|
||||
'journey.studio.sticker.curlyArrow': 'Qıvrım ox',
|
||||
'journey.studio.sticker.loopArrow': 'İlgəkli ox',
|
||||
'journey.studio.sticker.sparkles': 'Parıltılar',
|
||||
'journey.studio.sticker.doodleHeart': 'Cızılmış ürək',
|
||||
'journey.studio.sticker.doodleStars': 'Cızılmış ulduzlar',
|
||||
'journey.studio.sticker.squiggle': 'Dalğalı xətt',
|
||||
'journey.studio.sticker.xMark': 'Xəzinənin yeri',
|
||||
'journey.studio.sticker.dottedPath': 'Nöqtəli yol',
|
||||
'journey.studio.sticker.sunDivider': 'Günəşli ayırıcı',
|
||||
'journey.studio.sticker.starRule': 'Ulduzlu ayırıcı',
|
||||
'journey.studio.sticker.diamondRule': 'Art deko ayırıcı',
|
||||
'journey.studio.sticker.dottedRule': 'Nöqtəli ayırıcı',
|
||||
'journey.studio.sticker.waveRule': 'Dalğalı ayırıcı',
|
||||
'journey.studio.sticker.fleuron': 'Gül naxışı',
|
||||
'journey.studio.sticker.laurelWreath': 'Dəfnə çələngi',
|
||||
'journey.studio.sticker.cornerFlourish': 'Naxışlı künc',
|
||||
'journey.studio.sticker.cornerScroll': 'Burulmuş künc',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adesivos',
|
||||
'journey.studio.kind.sticker': 'Adesivo',
|
||||
'journey.studio.searchStickers': 'Buscar adesivos',
|
||||
'journey.studio.stickerThemes': 'Temas de adesivos',
|
||||
'journey.studio.stickersAll': 'Todos',
|
||||
'journey.studio.stickersRecent': 'Usados recentemente',
|
||||
'journey.studio.stickersHint':
|
||||
'Clique em um adesivo para colocá-lo no meio da página, ou arraste-o até onde ele deve ficar.',
|
||||
'journey.studio.stickerColours': 'Cores',
|
||||
'journey.studio.stickerSlot': 'Cor {index}',
|
||||
'journey.studio.stickerResetColours': 'Cores originais',
|
||||
'journey.studio.stickerMissing': 'Este adesivo não está na biblioteca desta versão do TREK.',
|
||||
'journey.studio.stickerPlacement': 'Posição',
|
||||
'journey.studio.stickerFlip': 'Espelhar',
|
||||
'journey.studio.stickerTurnLeft': 'Girar para a esquerda',
|
||||
'journey.studio.stickerTurnRight': 'Girar para a direita',
|
||||
'assistant.step.bookStickers': 'Olhando os adesivos',
|
||||
'journey.studio.stickerTheme.ephemera': 'Coisas de viagem',
|
||||
'journey.studio.stickerTheme.landmarks': 'Monumentos',
|
||||
'journey.studio.stickerTheme.tropical': 'Trópicos',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterrâneo',
|
||||
'journey.studio.stickerTheme.sea': 'Mar e litoral',
|
||||
'journey.studio.stickerTheme.mountains': 'Montanhas',
|
||||
'journey.studio.stickerTheme.nordic': 'Norte da Europa',
|
||||
'journey.studio.stickerTheme.asia': 'Ásia e Índia',
|
||||
'journey.studio.stickerTheme.food': 'Comida e bebida',
|
||||
'journey.studio.stickerTheme.paper': 'Papel e fita',
|
||||
'journey.studio.stickerTheme.doodles': 'Rabiscos',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamentos',
|
||||
'journey.studio.sticker.airplane': 'Avião',
|
||||
'journey.studio.sticker.boardingPass': 'Cartão de embarque',
|
||||
'journey.studio.sticker.passport': 'Passaporte',
|
||||
'journey.studio.sticker.suitcase': 'Mala antiga',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Mala de bordo',
|
||||
'journey.studio.sticker.luggageTag': 'Etiqueta de bagagem',
|
||||
'journey.studio.sticker.ticket': 'Ingresso',
|
||||
'journey.studio.sticker.camera': 'Câmera fotográfica',
|
||||
'journey.studio.sticker.instantPhoto': 'Foto instantânea',
|
||||
'journey.studio.sticker.globe': 'Globo terrestre',
|
||||
'journey.studio.sticker.mapPin': 'Marcador de mapa',
|
||||
'journey.studio.sticker.foldedMap': 'Mapa dobrado',
|
||||
'journey.studio.sticker.postageStamp': 'Selo postal',
|
||||
'journey.studio.sticker.postmark': 'Carimbo postal',
|
||||
'journey.studio.sticker.passportStamp': 'Carimbo de passaporte',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Balão de ar quente',
|
||||
'journey.studio.sticker.sunglasses': 'Óculos de sol',
|
||||
'journey.studio.sticker.campervan': 'Kombi de viagem',
|
||||
'journey.studio.sticker.eiffelTower': 'Torre Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arco do Triunfo',
|
||||
'journey.studio.sticker.colosseum': 'Coliseu',
|
||||
'journey.studio.sticker.pisaTower': 'Torre inclinada de Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben de Londres',
|
||||
'journey.studio.sticker.towerBridge': 'Ponte da Torre',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família de Barcelona',
|
||||
'journey.studio.sticker.brandenburgGate': 'Portão de Brandemburgo',
|
||||
'journey.studio.sticker.hagiaSophia': 'Santa Sofia',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal de Agra',
|
||||
'journey.studio.sticker.pyramids': 'Pirâmides de Gizé',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Estátua da Liberdade',
|
||||
'journey.studio.sticker.goldenGate': 'Ponte Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Cristo Redentor',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Ópera de Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibisco',
|
||||
'journey.studio.sticker.frangipani': 'Jasmim-manga',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Folha de costela-de-adão',
|
||||
'journey.studio.sticker.palmLeaf': 'Folha de palmeira',
|
||||
'journey.studio.sticker.bananaLeaf': 'Folha de bananeira',
|
||||
'journey.studio.sticker.palmTree': 'Coqueiro',
|
||||
'journey.studio.sticker.pineapple': 'Abacaxi',
|
||||
'journey.studio.sticker.coconutDrink': 'Bebida no coco',
|
||||
'journey.studio.sticker.parrot': 'Arara',
|
||||
'journey.studio.sticker.toucan': 'Tucano',
|
||||
'journey.studio.sticker.flamingo': 'Flamingo', // same-as-en
|
||||
'journey.studio.sticker.lemon': 'Limão-siciliano',
|
||||
'journey.studio.sticker.lemonBranch': 'Galho de limoeiro',
|
||||
'journey.studio.sticker.lemonVase': 'Vaso com limões',
|
||||
'journey.studio.sticker.oliveBranch': 'Ramo de oliveira',
|
||||
'journey.studio.sticker.orangeSlice': 'Fatia de laranja',
|
||||
'journey.studio.sticker.fig': 'Figos',
|
||||
'journey.studio.sticker.amphora': 'Ânfora',
|
||||
'journey.studio.sticker.sardine': 'Sardinha',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo português',
|
||||
'journey.studio.sticker.shutterWindow': 'Janela com venezianas',
|
||||
'journey.studio.sticker.bougainvillea': 'Buganvília',
|
||||
'journey.studio.sticker.strawHat': 'Chapéu de palha',
|
||||
'journey.studio.sticker.windmill': 'Moinho de vento',
|
||||
'journey.studio.sticker.santoriniChurch': 'Capela de Santorini',
|
||||
'journey.studio.sticker.waves': 'Ondas',
|
||||
'journey.studio.sticker.sun': 'Sol',
|
||||
'journey.studio.sticker.seaTurtle': 'Tartaruga marinha',
|
||||
'journey.studio.sticker.scallopShell': 'Concha de vieira',
|
||||
'journey.studio.sticker.starfish': 'Estrela-do-mar',
|
||||
'journey.studio.sticker.tropicalFish': 'Peixe tropical',
|
||||
'journey.studio.sticker.coral': 'Coral', // same-as-en
|
||||
'journey.studio.sticker.sailboat': 'Veleiro',
|
||||
'journey.studio.sticker.lighthouse': 'Farol',
|
||||
'journey.studio.sticker.anchor': 'Âncora',
|
||||
'journey.studio.sticker.lifebuoy': 'Boia salva-vidas',
|
||||
'journey.studio.sticker.seagull': 'Gaivota',
|
||||
'journey.studio.sticker.beachUmbrella': 'Guarda-sol',
|
||||
'journey.studio.sticker.mountainRange': 'Cordilheira',
|
||||
'journey.studio.sticker.snowPeak': 'Pico nevado',
|
||||
'journey.studio.sticker.pineTrees': 'Pinheiros',
|
||||
'journey.studio.sticker.mountainLake': 'Lago de montanha',
|
||||
'journey.studio.sticker.tent': 'Barraca',
|
||||
'journey.studio.sticker.campfire': 'Fogueira',
|
||||
'journey.studio.sticker.cableCar': 'Teleférico',
|
||||
'journey.studio.sticker.edelweiss': 'Flor edelvais',
|
||||
'journey.studio.sticker.hikingBoot': 'Bota de trilha',
|
||||
'journey.studio.sticker.compassRose': 'Rosa dos ventos',
|
||||
'journey.studio.sticker.rowHouses': 'Casas do porto',
|
||||
'journey.studio.sticker.fjord': 'Fiorde',
|
||||
'journey.studio.sticker.northernLights': 'Aurora boreal',
|
||||
'journey.studio.sticker.redCabin': 'Cabana vermelha',
|
||||
'journey.studio.sticker.ferry': 'Balsa',
|
||||
'journey.studio.sticker.reindeer': 'Rena',
|
||||
'journey.studio.sticker.puffin': 'Papagaio-do-mar',
|
||||
'journey.studio.sticker.dalaHorse': 'Cavalinho de Dalarna',
|
||||
'journey.studio.sticker.cinnamonBun': 'Rolinho de canela',
|
||||
'journey.studio.sticker.bicycle': 'Bicicleta',
|
||||
'journey.studio.sticker.mountFuji': 'Monte Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Portal torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagode',
|
||||
'journey.studio.sticker.cherryBlossom': 'Flor de cerejeira',
|
||||
'journey.studio.sticker.paperLantern': 'Lanterna de papel',
|
||||
'journey.studio.sticker.koi': 'Carpa koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambu',
|
||||
'journey.studio.sticker.foldingFan': 'Leque',
|
||||
'journey.studio.sticker.lotus': 'Flor de lótus',
|
||||
'journey.studio.sticker.templeArch': 'Arco de templo',
|
||||
'journey.studio.sticker.elephant': 'Elefante',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk tuk',
|
||||
'journey.studio.sticker.espresso': 'Café expresso',
|
||||
'journey.studio.sticker.cappuccino': 'Capuccino',
|
||||
'journey.studio.sticker.croissant': 'Croissant francês',
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de Belém',
|
||||
'journey.studio.sticker.baguette': 'Baguete',
|
||||
'journey.studio.sticker.pretzel': 'Pretzel alemão',
|
||||
'journey.studio.sticker.gelato': 'Sorvete de casquinha',
|
||||
'journey.studio.sticker.pizzaSlice': 'Fatia de pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Taça de vinho',
|
||||
'journey.studio.sticker.spritz': 'Spritz italiano',
|
||||
'journey.studio.sticker.ramen': 'Lámen',
|
||||
'journey.studio.sticker.sushi': 'Sushi japonês',
|
||||
'journey.studio.sticker.washiStripes': 'Fita washi listrada',
|
||||
'journey.studio.sticker.washiDots': 'Fita washi de bolinhas',
|
||||
'journey.studio.sticker.washiGingham': 'Fita washi xadrez',
|
||||
'journey.studio.sticker.washiFloral': 'Fita washi florida',
|
||||
'journey.studio.sticker.washiKraft': 'Fita de papel kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Fita crepe',
|
||||
'journey.studio.sticker.tornPaper': 'Tira de papel rasgada',
|
||||
'journey.studio.sticker.stickyNote': 'Bloco adesivo',
|
||||
'journey.studio.sticker.notebookPaper': 'Folha de caderno',
|
||||
'journey.studio.sticker.photoCorners': 'Cantoneiras de foto',
|
||||
'journey.studio.sticker.paperClip': 'Clipe',
|
||||
'journey.studio.sticker.sewnLabel': 'Etiqueta costurada',
|
||||
'journey.studio.sticker.handCircle': 'Círculo à mão',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Sublinhado',
|
||||
'journey.studio.sticker.markerHighlight': 'Traço de marca-texto',
|
||||
'journey.studio.sticker.handArrow': 'Seta',
|
||||
'journey.studio.sticker.curlyArrow': 'Seta encaracolada',
|
||||
'journey.studio.sticker.loopArrow': 'Seta com laço',
|
||||
'journey.studio.sticker.sparkles': 'Brilhos',
|
||||
'journey.studio.sticker.doodleHeart': 'Coração rabiscado',
|
||||
'journey.studio.sticker.doodleStars': 'Estrelas rabiscadas',
|
||||
'journey.studio.sticker.squiggle': 'Linha ondulada',
|
||||
'journey.studio.sticker.xMark': 'O X do tesouro',
|
||||
'journey.studio.sticker.dottedPath': 'Caminho pontilhado',
|
||||
'journey.studio.sticker.sunDivider': 'Divisor com sol',
|
||||
'journey.studio.sticker.starRule': 'Divisor com estrelas',
|
||||
'journey.studio.sticker.diamondRule': 'Divisor art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Divisor pontilhado',
|
||||
'journey.studio.sticker.waveRule': 'Divisor ondulado',
|
||||
'journey.studio.sticker.fleuron': 'Florão',
|
||||
'journey.studio.sticker.laurelWreath': 'Coroa de louros',
|
||||
'journey.studio.sticker.cornerFlourish': 'Canto com floreio',
|
||||
'journey.studio.sticker.cornerScroll': 'Canto com volutas',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -116,7 +115,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adhesius',
|
||||
'journey.studio.kind.sticker': 'Adhesiu',
|
||||
'journey.studio.searchStickers': 'Cerca adhesius',
|
||||
'journey.studio.stickerThemes': 'Temes d’adhesius',
|
||||
'journey.studio.stickersAll': 'Tots',
|
||||
'journey.studio.stickersRecent': 'Usats fa poc',
|
||||
'journey.studio.stickersHint':
|
||||
'Fes clic en un adhesiu per posar-lo al mig de la pàgina, o arrossega’l on hagi d’anar.',
|
||||
'journey.studio.stickerColours': 'Colors',
|
||||
'journey.studio.stickerSlot': 'Color {index}',
|
||||
'journey.studio.stickerResetColours': 'Colors originals',
|
||||
'journey.studio.stickerMissing': 'Aquest adhesiu no és a la biblioteca d’aquesta versió de TREK.',
|
||||
'journey.studio.stickerPlacement': 'Col·locació',
|
||||
'journey.studio.stickerFlip': 'Emmiralla',
|
||||
'journey.studio.stickerTurnLeft': 'Gira a l’esquerra',
|
||||
'journey.studio.stickerTurnRight': 'Gira a la dreta',
|
||||
'assistant.step.bookStickers': 'Repassant els adhesius',
|
||||
'journey.studio.stickerTheme.ephemera': 'Coses de viatge',
|
||||
'journey.studio.stickerTheme.landmarks': 'Monuments',
|
||||
'journey.studio.stickerTheme.tropical': 'Tròpic',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterrani',
|
||||
'journey.studio.stickerTheme.sea': 'Mar i costa',
|
||||
'journey.studio.stickerTheme.mountains': 'Muntanya',
|
||||
'journey.studio.stickerTheme.nordic': 'Nord',
|
||||
'journey.studio.stickerTheme.asia': 'Àsia i l’Índia',
|
||||
'journey.studio.stickerTheme.food': 'Menjar i beure',
|
||||
'journey.studio.stickerTheme.paper': 'Paper i cinta',
|
||||
'journey.studio.stickerTheme.doodles': 'Gargots',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornaments', // same-as-en
|
||||
'journey.studio.sticker.airplane': 'Avió',
|
||||
'journey.studio.sticker.boardingPass': 'Targeta d’embarcament',
|
||||
'journey.studio.sticker.passport': 'Passaport',
|
||||
'journey.studio.sticker.suitcase': 'Maleta antiga',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Maleta de cabina',
|
||||
'journey.studio.sticker.luggageTag': 'Etiqueta d’equipatge',
|
||||
'journey.studio.sticker.ticket': 'Entrada',
|
||||
'journey.studio.sticker.camera': 'Càmera de fotos',
|
||||
'journey.studio.sticker.instantPhoto': 'Foto instantània',
|
||||
'journey.studio.sticker.globe': 'Globus terraqüi',
|
||||
'journey.studio.sticker.mapPin': 'Marcador de mapa',
|
||||
'journey.studio.sticker.foldedMap': 'Mapa plegat',
|
||||
'journey.studio.sticker.postageStamp': 'Segell de correus',
|
||||
'journey.studio.sticker.postmark': 'Mata-segells',
|
||||
'journey.studio.sticker.passportStamp': 'Segell de passaport',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Globus aerostàtic',
|
||||
'journey.studio.sticker.sunglasses': 'Ulleres de sol',
|
||||
'journey.studio.sticker.campervan': 'Furgoneta càmper',
|
||||
'journey.studio.sticker.eiffelTower': 'Torre Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arc de Triomf de París',
|
||||
'journey.studio.sticker.colosseum': 'Colosseu',
|
||||
'journey.studio.sticker.pisaTower': 'Torre inclinada de Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben de Londres',
|
||||
'journey.studio.sticker.towerBridge': 'Pont de la Torre',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Basílica de la Sagrada Família',
|
||||
'journey.studio.sticker.brandenburgGate': 'Porta de Brandenburg',
|
||||
'journey.studio.sticker.hagiaSophia': 'Santa Sofia',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal d’Agra',
|
||||
'journey.studio.sticker.pyramids': 'Piràmides de Gizeh',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Estàtua de la Llibertat',
|
||||
'journey.studio.sticker.goldenGate': 'Pont del Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Crist Redemptor',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Òpera de Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibisc',
|
||||
'journey.studio.sticker.frangipani': 'Frangipani en flor',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Fulla de monstera',
|
||||
'journey.studio.sticker.palmLeaf': 'Fulla de palmera',
|
||||
'journey.studio.sticker.bananaLeaf': 'Fulla de bananer',
|
||||
'journey.studio.sticker.palmTree': 'Palmera',
|
||||
'journey.studio.sticker.pineapple': 'Pinya',
|
||||
'journey.studio.sticker.coconutDrink': 'Beguda en un coco',
|
||||
'journey.studio.sticker.parrot': 'Lloro',
|
||||
'journey.studio.sticker.toucan': 'Tucà',
|
||||
'journey.studio.sticker.flamingo': 'Flamenc',
|
||||
'journey.studio.sticker.lemon': 'Llimona',
|
||||
'journey.studio.sticker.lemonBranch': 'Branca de llimoner',
|
||||
'journey.studio.sticker.lemonVase': 'Gerro amb llimones',
|
||||
'journey.studio.sticker.oliveBranch': 'Branca d’olivera',
|
||||
'journey.studio.sticker.orangeSlice': 'Rodanxa de taronja',
|
||||
'journey.studio.sticker.fig': 'Figues',
|
||||
'journey.studio.sticker.amphora': 'Àmfora',
|
||||
'journey.studio.sticker.sardine': 'Sardina',
|
||||
'journey.studio.sticker.azulejoTile': 'Rajola d’azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Finestra amb porticons',
|
||||
'journey.studio.sticker.bougainvillea': 'Buguenvíl·lea',
|
||||
'journey.studio.sticker.strawHat': 'Barret de palla',
|
||||
'journey.studio.sticker.windmill': 'Molí de vent',
|
||||
'journey.studio.sticker.santoriniChurch': 'Capella de Santorini',
|
||||
'journey.studio.sticker.waves': 'Onades',
|
||||
'journey.studio.sticker.sun': 'Sol',
|
||||
'journey.studio.sticker.seaTurtle': 'Tortuga marina',
|
||||
'journey.studio.sticker.scallopShell': 'Petxina de pelegrí',
|
||||
'journey.studio.sticker.starfish': 'Estrella de mar',
|
||||
'journey.studio.sticker.tropicalFish': 'Peix tropical',
|
||||
'journey.studio.sticker.coral': 'Corall',
|
||||
'journey.studio.sticker.sailboat': 'Veler',
|
||||
'journey.studio.sticker.lighthouse': 'Far',
|
||||
'journey.studio.sticker.anchor': 'Àncora',
|
||||
'journey.studio.sticker.lifebuoy': 'Salvavides',
|
||||
'journey.studio.sticker.seagull': 'Gavina',
|
||||
'journey.studio.sticker.beachUmbrella': 'Para-sol',
|
||||
'journey.studio.sticker.mountainRange': 'Serralada',
|
||||
'journey.studio.sticker.snowPeak': 'Cim nevat',
|
||||
'journey.studio.sticker.pineTrees': 'Pins',
|
||||
'journey.studio.sticker.mountainLake': 'Estany de muntanya',
|
||||
'journey.studio.sticker.tent': 'Tenda de campanya',
|
||||
'journey.studio.sticker.campfire': 'Foguera',
|
||||
'journey.studio.sticker.cableCar': 'Telefèric',
|
||||
'journey.studio.sticker.edelweiss': 'Flor de neu',
|
||||
'journey.studio.sticker.hikingBoot': 'Bota de muntanya',
|
||||
'journey.studio.sticker.compassRose': 'Rosa dels vents',
|
||||
'journey.studio.sticker.rowHouses': 'Cases del port',
|
||||
'journey.studio.sticker.fjord': 'Fiord',
|
||||
'journey.studio.sticker.northernLights': 'Aurora boreal',
|
||||
'journey.studio.sticker.redCabin': 'Cabana vermella',
|
||||
'journey.studio.sticker.ferry': 'Transbordador',
|
||||
'journey.studio.sticker.reindeer': 'Ren',
|
||||
'journey.studio.sticker.puffin': 'Fraret',
|
||||
'journey.studio.sticker.dalaHorse': 'Cavallet de Dalarna',
|
||||
'journey.studio.sticker.cinnamonBun': 'Brioix de canyella',
|
||||
'journey.studio.sticker.bicycle': 'Bicicleta',
|
||||
'journey.studio.sticker.mountFuji': 'Mont Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Portal torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Flor de cirerer',
|
||||
'journey.studio.sticker.paperLantern': 'Fanalet de paper',
|
||||
'journey.studio.sticker.koi': 'Carpa koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambú',
|
||||
'journey.studio.sticker.foldingFan': 'Ventall',
|
||||
'journey.studio.sticker.lotus': 'Flor de lotus',
|
||||
'journey.studio.sticker.templeArch': 'Arc de temple',
|
||||
'journey.studio.sticker.elephant': 'Elefant',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk tuk',
|
||||
'journey.studio.sticker.espresso': 'Cafè exprés',
|
||||
'journey.studio.sticker.cappuccino': 'Caputxino',
|
||||
'journey.studio.sticker.croissant': 'Croissant francès',
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastís de nata portuguès',
|
||||
'journey.studio.sticker.baguette': 'Barra de pa',
|
||||
'journey.studio.sticker.pretzel': 'Brezel bavarès',
|
||||
'journey.studio.sticker.gelato': 'Gelat de cucurutxo',
|
||||
'journey.studio.sticker.pizzaSlice': 'Tros de pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Copa de vi',
|
||||
'journey.studio.sticker.spritz': 'Spritz italià',
|
||||
'journey.studio.sticker.ramen': 'Ramen japonès',
|
||||
'journey.studio.sticker.sushi': 'Sushi japonès',
|
||||
'journey.studio.sticker.washiStripes': 'Cinta washi de ratlles',
|
||||
'journey.studio.sticker.washiDots': 'Cinta washi de pics',
|
||||
'journey.studio.sticker.washiGingham': 'Cinta washi de quadres',
|
||||
'journey.studio.sticker.washiFloral': 'Cinta washi de flors',
|
||||
'journey.studio.sticker.washiKraft': 'Cinta de paper kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Cinta de pintor',
|
||||
'journey.studio.sticker.tornPaper': 'Tira de paper estripada',
|
||||
'journey.studio.sticker.stickyNote': 'Nota adhesiva',
|
||||
'journey.studio.sticker.notebookPaper': 'Full de llibreta',
|
||||
'journey.studio.sticker.photoCorners': 'Cantoneres de foto',
|
||||
'journey.studio.sticker.paperClip': 'Clip',
|
||||
'journey.studio.sticker.sewnLabel': 'Etiqueta cosida',
|
||||
'journey.studio.sticker.handCircle': 'Cercle a mà',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Subratllat',
|
||||
'journey.studio.sticker.markerHighlight': 'Traç de retolador',
|
||||
'journey.studio.sticker.handArrow': 'Fletxa',
|
||||
'journey.studio.sticker.curlyArrow': 'Fletxa arrissada',
|
||||
'journey.studio.sticker.loopArrow': 'Fletxa amb bucle',
|
||||
'journey.studio.sticker.sparkles': 'Espurnes',
|
||||
'journey.studio.sticker.doodleHeart': 'Cor gargotejat',
|
||||
'journey.studio.sticker.doodleStars': 'Estrelles gargotejades',
|
||||
'journey.studio.sticker.squiggle': 'Línia ondulada',
|
||||
'journey.studio.sticker.xMark': 'La X del tresor',
|
||||
'journey.studio.sticker.dottedPath': 'Camí de punts',
|
||||
'journey.studio.sticker.sunDivider': 'Separador amb sol',
|
||||
'journey.studio.sticker.starRule': 'Separador amb estrelles',
|
||||
'journey.studio.sticker.diamondRule': 'Separador art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Separador de punts',
|
||||
'journey.studio.sticker.waveRule': 'Separador ondulat',
|
||||
'journey.studio.sticker.fleuron': 'Floró',
|
||||
'journey.studio.sticker.laurelWreath': 'Corona de llorer',
|
||||
'journey.studio.sticker.cornerFlourish': 'Cantonada amb floritura',
|
||||
'journey.studio.sticker.cornerScroll': 'Cantonada amb volutes',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Samolepky',
|
||||
'journey.studio.kind.sticker': 'Samolepka',
|
||||
'journey.studio.searchStickers': 'Hledat samolepky',
|
||||
'journey.studio.stickerThemes': 'Témata samolepek',
|
||||
'journey.studio.stickersAll': 'Vše',
|
||||
'journey.studio.stickersRecent': 'Naposledy použité',
|
||||
'journey.studio.stickersHint': 'Kliknutím samolepku vložíte doprostřed stránky, nebo ji přetáhněte tam, kam patří.',
|
||||
'journey.studio.stickerColours': 'Barvy',
|
||||
'journey.studio.stickerSlot': 'Barva {index}',
|
||||
'journey.studio.stickerResetColours': 'Původní barvy',
|
||||
'journey.studio.stickerMissing': 'Tato samolepka není v knihovně této verze TREK.',
|
||||
'journey.studio.stickerPlacement': 'Umístění',
|
||||
'journey.studio.stickerFlip': 'Zrcadlit',
|
||||
'journey.studio.stickerTurnLeft': 'Otočit doleva',
|
||||
'journey.studio.stickerTurnRight': 'Otočit doprava',
|
||||
'assistant.step.bookStickers': 'Prochází samolepky',
|
||||
'journey.studio.stickerTheme.ephemera': 'Cestovní věci',
|
||||
'journey.studio.stickerTheme.landmarks': 'Památky',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropy',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Středomoří',
|
||||
'journey.studio.stickerTheme.sea': 'Moře a pobřeží',
|
||||
'journey.studio.stickerTheme.mountains': 'Hory',
|
||||
'journey.studio.stickerTheme.nordic': 'Sever',
|
||||
'journey.studio.stickerTheme.asia': 'Asie a Indie',
|
||||
'journey.studio.stickerTheme.food': 'Jídlo a pití',
|
||||
'journey.studio.stickerTheme.paper': 'Papír a pásky',
|
||||
'journey.studio.stickerTheme.doodles': 'Čmáranice',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamenty',
|
||||
'journey.studio.sticker.airplane': 'Letadlo',
|
||||
'journey.studio.sticker.boardingPass': 'Palubní vstupenka',
|
||||
'journey.studio.sticker.passport': 'Cestovní pas',
|
||||
'journey.studio.sticker.suitcase': 'Starý kufr',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Kufr do kabiny',
|
||||
'journey.studio.sticker.luggageTag': 'Visačka na zavazadlo',
|
||||
'journey.studio.sticker.ticket': 'Vstupenka',
|
||||
'journey.studio.sticker.camera': 'Fotoaparát',
|
||||
'journey.studio.sticker.instantPhoto': 'Okamžitá fotka',
|
||||
'journey.studio.sticker.globe': 'Glóbus',
|
||||
'journey.studio.sticker.mapPin': 'Špendlík na mapě',
|
||||
'journey.studio.sticker.foldedMap': 'Složená mapa',
|
||||
'journey.studio.sticker.postageStamp': 'Poštovní známka',
|
||||
'journey.studio.sticker.postmark': 'Poštovní razítko',
|
||||
'journey.studio.sticker.passportStamp': 'Razítko v pasu',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Horkovzdušný balon',
|
||||
'journey.studio.sticker.sunglasses': 'Sluneční brýle',
|
||||
'journey.studio.sticker.campervan': 'Obytná dodávka',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffelova věž',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Vítězný oblouk',
|
||||
'journey.studio.sticker.colosseum': 'Koloseum',
|
||||
'journey.studio.sticker.pisaTower': 'Šikmá věž v Pise',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben v Londýně',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge v Londýně',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família v Barceloně',
|
||||
'journey.studio.sticker.brandenburgGate': 'Braniborská brána',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sofia',
|
||||
'journey.studio.sticker.tajMahal': 'Tádž Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Pyramidy v Gíze',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Socha Svobody',
|
||||
'journey.studio.sticker.goldenGate': 'Most Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Socha Krista Spasitele',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opera v Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Ibišek',
|
||||
'journey.studio.sticker.frangipani': 'Plumérie',
|
||||
'journey.studio.sticker.monsteraLeaf': 'List monstery',
|
||||
'journey.studio.sticker.palmLeaf': 'Palmový list',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banánový list',
|
||||
'journey.studio.sticker.palmTree': 'Palma',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Drink v kokosu',
|
||||
'journey.studio.sticker.parrot': 'Papoušek',
|
||||
'journey.studio.sticker.toucan': 'Tukan',
|
||||
'journey.studio.sticker.flamingo': 'Plameňák',
|
||||
'journey.studio.sticker.lemon': 'Citron',
|
||||
'journey.studio.sticker.lemonBranch': 'Citroníková větvička',
|
||||
'journey.studio.sticker.lemonVase': 'Váza s citrony',
|
||||
'journey.studio.sticker.oliveBranch': 'Olivová ratolest',
|
||||
'journey.studio.sticker.orangeSlice': 'Plátek pomeranče',
|
||||
'journey.studio.sticker.fig': 'Fíky',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardinka',
|
||||
'journey.studio.sticker.azulejoTile': 'Dlaždice azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Okno s okenicemi',
|
||||
'journey.studio.sticker.bougainvillea': 'Bugenvilea',
|
||||
'journey.studio.sticker.strawHat': 'Slaměný klobouk',
|
||||
'journey.studio.sticker.windmill': 'Větrný mlýn',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kaple na Santorini',
|
||||
'journey.studio.sticker.waves': 'Vlny',
|
||||
'journey.studio.sticker.sun': 'Slunce',
|
||||
'journey.studio.sticker.seaTurtle': 'Mořská želva',
|
||||
'journey.studio.sticker.scallopShell': 'Mušle hřebenatky',
|
||||
'journey.studio.sticker.starfish': 'Hvězdice',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropická ryba',
|
||||
'journey.studio.sticker.coral': 'Korál',
|
||||
'journey.studio.sticker.sailboat': 'Plachetnice',
|
||||
'journey.studio.sticker.lighthouse': 'Maják',
|
||||
'journey.studio.sticker.anchor': 'Kotva',
|
||||
'journey.studio.sticker.lifebuoy': 'Záchranný kruh',
|
||||
'journey.studio.sticker.seagull': 'Racek',
|
||||
'journey.studio.sticker.beachUmbrella': 'Plážový slunečník',
|
||||
'journey.studio.sticker.mountainRange': 'Horské pásmo',
|
||||
'journey.studio.sticker.snowPeak': 'Zasněžený štít',
|
||||
'journey.studio.sticker.pineTrees': 'Jehličnany',
|
||||
'journey.studio.sticker.mountainLake': 'Horské jezero',
|
||||
'journey.studio.sticker.tent': 'Stan',
|
||||
'journey.studio.sticker.campfire': 'Táborák',
|
||||
'journey.studio.sticker.cableCar': 'Lanovka',
|
||||
'journey.studio.sticker.edelweiss': 'Protěž',
|
||||
'journey.studio.sticker.hikingBoot': 'Turistická bota',
|
||||
'journey.studio.sticker.compassRose': 'Větrná růžice',
|
||||
'journey.studio.sticker.rowHouses': 'Domy v přístavu',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Polární záře',
|
||||
'journey.studio.sticker.redCabin': 'Červená chata',
|
||||
'journey.studio.sticker.ferry': 'Trajekt',
|
||||
'journey.studio.sticker.reindeer': 'Sob',
|
||||
'journey.studio.sticker.puffin': 'Papuchalk',
|
||||
'journey.studio.sticker.dalaHorse': 'Koník z Dalarny',
|
||||
'journey.studio.sticker.cinnamonBun': 'Skořicový šnek',
|
||||
'journey.studio.sticker.bicycle': 'Kolo',
|
||||
'journey.studio.sticker.mountFuji': 'Hora Fudži',
|
||||
'journey.studio.sticker.toriiGate': 'Brána torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Třešňový květ',
|
||||
'journey.studio.sticker.paperLantern': 'Papírový lampion',
|
||||
'journey.studio.sticker.koi': 'Kapr koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambus',
|
||||
'journey.studio.sticker.foldingFan': 'Vějíř',
|
||||
'journey.studio.sticker.lotus': 'Lotosový květ',
|
||||
'journey.studio.sticker.templeArch': 'Chrámový oblouk',
|
||||
'journey.studio.sticker.elephant': 'Slon',
|
||||
'journey.studio.sticker.tukTuk': 'Tuktuk',
|
||||
'journey.studio.sticker.espresso': 'Káva espresso',
|
||||
'journey.studio.sticker.cappuccino': 'Kapučíno',
|
||||
'journey.studio.sticker.croissant': 'Croissant z Francie',
|
||||
'journey.studio.sticker.pastelDeNata': 'Portugalský košíček',
|
||||
'journey.studio.sticker.baguette': 'Bageta',
|
||||
'journey.studio.sticker.pretzel': 'Preclík',
|
||||
'journey.studio.sticker.gelato': 'Zmrzlina v kornoutu',
|
||||
'journey.studio.sticker.pizzaSlice': 'Kousek pizzy',
|
||||
'journey.studio.sticker.wineGlass': 'Sklenka vína',
|
||||
'journey.studio.sticker.spritz': 'Benátský spritz',
|
||||
'journey.studio.sticker.ramen': 'Miska ramenu',
|
||||
'journey.studio.sticker.sushi': 'Suši',
|
||||
'journey.studio.sticker.washiStripes': 'Pruhovaná washi páska',
|
||||
'journey.studio.sticker.washiDots': 'Puntíkatá washi páska',
|
||||
'journey.studio.sticker.washiGingham': 'Kostkovaná washi páska',
|
||||
'journey.studio.sticker.washiFloral': 'Květovaná washi páska',
|
||||
'journey.studio.sticker.washiKraft': 'Páska z kraftového papíru',
|
||||
'journey.studio.sticker.maskingTape': 'Malířská páska',
|
||||
'journey.studio.sticker.tornPaper': 'Utržený proužek papíru',
|
||||
'journey.studio.sticker.stickyNote': 'Lepicí lístek',
|
||||
'journey.studio.sticker.notebookPaper': 'List ze sešitu',
|
||||
'journey.studio.sticker.photoCorners': 'Fotorůžky',
|
||||
'journey.studio.sticker.paperClip': 'Kancelářská sponka',
|
||||
'journey.studio.sticker.sewnLabel': 'Našitý štítek',
|
||||
'journey.studio.sticker.handCircle': 'Ručně kreslený kruh',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Podtržení',
|
||||
'journey.studio.sticker.markerHighlight': 'Tah zvýrazňovače',
|
||||
'journey.studio.sticker.handArrow': 'Šipka',
|
||||
'journey.studio.sticker.curlyArrow': 'Zatočená šipka',
|
||||
'journey.studio.sticker.loopArrow': 'Šipka se smyčkou',
|
||||
'journey.studio.sticker.sparkles': 'Jiskřičky',
|
||||
'journey.studio.sticker.doodleHeart': 'Načmárané srdce',
|
||||
'journey.studio.sticker.doodleStars': 'Načmárané hvězdy',
|
||||
'journey.studio.sticker.squiggle': 'Klikatice',
|
||||
'journey.studio.sticker.xMark': 'Křížek u pokladu',
|
||||
'journey.studio.sticker.dottedPath': 'Tečkovaná cesta',
|
||||
'journey.studio.sticker.sunDivider': 'Oddělovač se sluncem',
|
||||
'journey.studio.sticker.starRule': 'Oddělovač s hvězdami',
|
||||
'journey.studio.sticker.diamondRule': 'Oddělovač art deco',
|
||||
'journey.studio.sticker.dottedRule': 'Tečkovaný oddělovač',
|
||||
'journey.studio.sticker.waveRule': 'Vlnitý oddělovač',
|
||||
'journey.studio.sticker.fleuron': 'Květinová ozdoba',
|
||||
'journey.studio.sticker.laurelWreath': 'Vavřínový věnec',
|
||||
'journey.studio.sticker.cornerFlourish': 'Ozdobný roh',
|
||||
'journey.studio.sticker.cornerScroll': 'Roh s volutami',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Sticker',
|
||||
'journey.studio.kind.sticker': 'Sticker', // same-as-en
|
||||
'journey.studio.searchStickers': 'Sticker suchen',
|
||||
'journey.studio.stickerThemes': 'Sticker-Themen',
|
||||
'journey.studio.stickersAll': 'Alle',
|
||||
'journey.studio.stickersRecent': 'Zuletzt verwendet',
|
||||
'journey.studio.stickersHint':
|
||||
'Klicke einen Sticker an, um ihn mitten auf die Seite zu setzen, oder zieh ihn an die gewünschte Stelle.',
|
||||
'journey.studio.stickerColours': 'Farben',
|
||||
'journey.studio.stickerSlot': 'Farbe {index}',
|
||||
'journey.studio.stickerResetColours': 'Originalfarben',
|
||||
'journey.studio.stickerMissing': 'Dieser Sticker ist in der Bibliothek dieser TREK-Version nicht enthalten.',
|
||||
'journey.studio.stickerPlacement': 'Platzierung',
|
||||
'journey.studio.stickerFlip': 'Spiegeln',
|
||||
'journey.studio.stickerTurnLeft': 'Nach links drehen',
|
||||
'journey.studio.stickerTurnRight': 'Nach rechts drehen',
|
||||
'assistant.step.bookStickers': 'Sieht die Sticker durch',
|
||||
'journey.studio.stickerTheme.ephemera': 'Reisekram',
|
||||
'journey.studio.stickerTheme.landmarks': 'Wahrzeichen',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropen',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mittelmeer',
|
||||
'journey.studio.stickerTheme.sea': 'Meer und Küste',
|
||||
'journey.studio.stickerTheme.mountains': 'Berge',
|
||||
'journey.studio.stickerTheme.nordic': 'Norden',
|
||||
'journey.studio.stickerTheme.asia': 'Asien und Indien',
|
||||
'journey.studio.stickerTheme.food': 'Essen und Trinken',
|
||||
'journey.studio.stickerTheme.paper': 'Papier und Tape',
|
||||
'journey.studio.stickerTheme.doodles': 'Kritzeleien',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamente',
|
||||
'journey.studio.sticker.airplane': 'Flugzeug',
|
||||
'journey.studio.sticker.boardingPass': 'Bordkarte',
|
||||
'journey.studio.sticker.passport': 'Reisepass',
|
||||
'journey.studio.sticker.suitcase': 'Alter Koffer',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Trolley',
|
||||
'journey.studio.sticker.luggageTag': 'Kofferanhänger',
|
||||
'journey.studio.sticker.ticket': 'Eintrittskarte',
|
||||
'journey.studio.sticker.camera': 'Kamera',
|
||||
'journey.studio.sticker.instantPhoto': 'Sofortbild',
|
||||
'journey.studio.sticker.globe': 'Globus',
|
||||
'journey.studio.sticker.mapPin': 'Kartennadel',
|
||||
'journey.studio.sticker.foldedMap': 'Gefaltete Karte',
|
||||
'journey.studio.sticker.postageStamp': 'Briefmarke',
|
||||
'journey.studio.sticker.postmark': 'Poststempel',
|
||||
'journey.studio.sticker.passportStamp': 'Passstempel',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Heißluftballon',
|
||||
'journey.studio.sticker.sunglasses': 'Sonnenbrille',
|
||||
'journey.studio.sticker.campervan': 'Campingbus',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffelturm',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Triumphbogen',
|
||||
'journey.studio.sticker.colosseum': 'Kolosseum',
|
||||
'journey.studio.sticker.pisaTower': 'Schiefer Turm von Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben in London',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge in London',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família in Barcelona',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburger Tor',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia in Istanbul',
|
||||
'journey.studio.sticker.tajMahal': 'Tadsch Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Pyramiden von Gizeh',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Freiheitsstatue',
|
||||
'journey.studio.sticker.goldenGate': 'Golden-Gate-Brücke',
|
||||
'journey.studio.sticker.christRedeemer': 'Christusstatue in Rio',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opernhaus Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiskus',
|
||||
'journey.studio.sticker.frangipani': 'Frangipani', // same-as-en
|
||||
'journey.studio.sticker.monsteraLeaf': 'Monstera-Blatt',
|
||||
'journey.studio.sticker.palmLeaf': 'Palmblatt',
|
||||
'journey.studio.sticker.bananaLeaf': 'Bananenblatt',
|
||||
'journey.studio.sticker.palmTree': 'Palme',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Kokosnuss-Drink',
|
||||
'journey.studio.sticker.parrot': 'Papagei',
|
||||
'journey.studio.sticker.toucan': 'Tukan',
|
||||
'journey.studio.sticker.flamingo': 'Flamingo', // same-as-en
|
||||
'journey.studio.sticker.lemon': 'Zitrone',
|
||||
'journey.studio.sticker.lemonBranch': 'Zitronenzweig',
|
||||
'journey.studio.sticker.lemonVase': 'Vase mit Zitronen',
|
||||
'journey.studio.sticker.oliveBranch': 'Olivenzweig',
|
||||
'journey.studio.sticker.orangeSlice': 'Orangenscheibe',
|
||||
'journey.studio.sticker.fig': 'Feigen',
|
||||
'journey.studio.sticker.amphora': 'Amphore',
|
||||
'journey.studio.sticker.sardine': 'Sardine', // same-as-en
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo-Fliese',
|
||||
'journey.studio.sticker.shutterWindow': 'Fenster mit Fensterläden',
|
||||
'journey.studio.sticker.bougainvillea': 'Bougainvillea', // same-as-en
|
||||
'journey.studio.sticker.strawHat': 'Strohhut',
|
||||
'journey.studio.sticker.windmill': 'Windmühle',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kapelle auf Santorini',
|
||||
'journey.studio.sticker.waves': 'Wellen',
|
||||
'journey.studio.sticker.sun': 'Sonne',
|
||||
'journey.studio.sticker.seaTurtle': 'Meeresschildkröte',
|
||||
'journey.studio.sticker.scallopShell': 'Jakobsmuschel',
|
||||
'journey.studio.sticker.starfish': 'Seestern',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropenfisch',
|
||||
'journey.studio.sticker.coral': 'Koralle',
|
||||
'journey.studio.sticker.sailboat': 'Segelboot',
|
||||
'journey.studio.sticker.lighthouse': 'Leuchtturm',
|
||||
'journey.studio.sticker.anchor': 'Anker',
|
||||
'journey.studio.sticker.lifebuoy': 'Rettungsring',
|
||||
'journey.studio.sticker.seagull': 'Möwe',
|
||||
'journey.studio.sticker.beachUmbrella': 'Sonnenschirm',
|
||||
'journey.studio.sticker.mountainRange': 'Bergkette',
|
||||
'journey.studio.sticker.snowPeak': 'Schneegipfel',
|
||||
'journey.studio.sticker.pineTrees': 'Tannen',
|
||||
'journey.studio.sticker.mountainLake': 'Bergsee',
|
||||
'journey.studio.sticker.tent': 'Zelt',
|
||||
'journey.studio.sticker.campfire': 'Lagerfeuer',
|
||||
'journey.studio.sticker.cableCar': 'Seilbahn',
|
||||
'journey.studio.sticker.edelweiss': 'Edelweiß',
|
||||
'journey.studio.sticker.hikingBoot': 'Wanderschuh',
|
||||
'journey.studio.sticker.compassRose': 'Windrose',
|
||||
'journey.studio.sticker.rowHouses': 'Hafenhäuser',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Polarlicht',
|
||||
'journey.studio.sticker.redCabin': 'Rotes Holzhaus',
|
||||
'journey.studio.sticker.ferry': 'Fähre',
|
||||
'journey.studio.sticker.reindeer': 'Rentier',
|
||||
'journey.studio.sticker.puffin': 'Papageitaucher',
|
||||
'journey.studio.sticker.dalaHorse': 'Dalapferd',
|
||||
'journey.studio.sticker.cinnamonBun': 'Zimtschnecke',
|
||||
'journey.studio.sticker.bicycle': 'Fahrrad',
|
||||
'journey.studio.sticker.mountFuji': 'Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Torii-Tor',
|
||||
'journey.studio.sticker.pagoda': 'Pagode',
|
||||
'journey.studio.sticker.cherryBlossom': 'Kirschblüte',
|
||||
'journey.studio.sticker.paperLantern': 'Papierlaterne',
|
||||
'journey.studio.sticker.koi': 'Koi-Karpfen',
|
||||
'journey.studio.sticker.bamboo': 'Bambus',
|
||||
'journey.studio.sticker.foldingFan': 'Fächer',
|
||||
'journey.studio.sticker.lotus': 'Lotusblüte',
|
||||
'journey.studio.sticker.templeArch': 'Tempelbogen',
|
||||
'journey.studio.sticker.elephant': 'Elefant',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk-Tuk',
|
||||
'journey.studio.sticker.espresso': 'Espresso', // same-as-en
|
||||
'journey.studio.sticker.cappuccino': 'Cappuccino', // same-as-en
|
||||
'journey.studio.sticker.croissant': 'Croissant', // same-as-en
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de Nata',
|
||||
'journey.studio.sticker.baguette': 'Baguette', // same-as-en
|
||||
'journey.studio.sticker.pretzel': 'Brezel',
|
||||
'journey.studio.sticker.gelato': 'Eis in der Waffel',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pizzastück',
|
||||
'journey.studio.sticker.wineGlass': 'Glas Wein',
|
||||
'journey.studio.sticker.spritz': 'Spritz', // same-as-en
|
||||
'journey.studio.sticker.ramen': 'Ramen', // same-as-en
|
||||
'journey.studio.sticker.sushi': 'Sushi', // same-as-en
|
||||
'journey.studio.sticker.washiStripes': 'Washi-Tape gestreift',
|
||||
'journey.studio.sticker.washiDots': 'Washi-Tape gepunktet',
|
||||
'journey.studio.sticker.washiGingham': 'Washi-Tape kariert',
|
||||
'journey.studio.sticker.washiFloral': 'Washi-Tape mit Blumen',
|
||||
'journey.studio.sticker.washiKraft': 'Kraftpapier-Klebeband',
|
||||
'journey.studio.sticker.maskingTape': 'Malerkrepp',
|
||||
'journey.studio.sticker.tornPaper': 'Gerissener Papierstreifen',
|
||||
'journey.studio.sticker.stickyNote': 'Haftnotiz',
|
||||
'journey.studio.sticker.notebookPaper': 'Notizbuchseite',
|
||||
'journey.studio.sticker.photoCorners': 'Fotoecken',
|
||||
'journey.studio.sticker.paperClip': 'Büroklammer',
|
||||
'journey.studio.sticker.sewnLabel': 'Aufgenähtes Etikett',
|
||||
'journey.studio.sticker.handCircle': 'Handgemalter Kreis',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Unterstreichung',
|
||||
'journey.studio.sticker.markerHighlight': 'Textmarker-Strich',
|
||||
'journey.studio.sticker.handArrow': 'Pfeil',
|
||||
'journey.studio.sticker.curlyArrow': 'Geschwungener Pfeil',
|
||||
'journey.studio.sticker.loopArrow': 'Schleifenpfeil',
|
||||
'journey.studio.sticker.sparkles': 'Funkeln',
|
||||
'journey.studio.sticker.doodleHeart': 'Gekritzeltes Herz',
|
||||
'journey.studio.sticker.doodleStars': 'Gekritzelte Sterne',
|
||||
'journey.studio.sticker.squiggle': 'Schnörkellinie',
|
||||
'journey.studio.sticker.xMark': 'Hier ist das X',
|
||||
'journey.studio.sticker.dottedPath': 'Gepunkteter Weg',
|
||||
'journey.studio.sticker.sunDivider': 'Trenner mit Sonne',
|
||||
'journey.studio.sticker.starRule': 'Trenner mit Sternen',
|
||||
'journey.studio.sticker.diamondRule': 'Art-déco-Trenner',
|
||||
'journey.studio.sticker.dottedRule': 'Gepunkteter Trenner',
|
||||
'journey.studio.sticker.waveRule': 'Wellenlinie',
|
||||
'journey.studio.sticker.fleuron': 'Fleuron', // same-as-en
|
||||
'journey.studio.sticker.laurelWreath': 'Lorbeerkranz',
|
||||
'journey.studio.sticker.cornerFlourish': 'Eckschnörkel',
|
||||
'journey.studio.sticker.cornerScroll': 'Eckornament',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stickers',
|
||||
'journey.studio.kind.sticker': 'Sticker',
|
||||
'journey.studio.searchStickers': 'Search stickers',
|
||||
'journey.studio.stickerThemes': 'Sticker themes',
|
||||
'journey.studio.stickersAll': 'All',
|
||||
'journey.studio.stickersRecent': 'Recently used',
|
||||
'journey.studio.stickersHint':
|
||||
'Click a sticker to place it in the middle of the page, or drag it to where it should go.',
|
||||
'journey.studio.stickerColours': 'Colours',
|
||||
'journey.studio.stickerSlot': 'Colour {index}',
|
||||
'journey.studio.stickerResetColours': 'Original colours',
|
||||
'journey.studio.stickerMissing': 'This sticker is not in the library of this version of TREK.',
|
||||
'journey.studio.stickerPlacement': 'Placement',
|
||||
'journey.studio.stickerFlip': 'Mirror',
|
||||
'journey.studio.stickerTurnLeft': 'Turn left',
|
||||
'journey.studio.stickerTurnRight': 'Turn right',
|
||||
'assistant.step.bookStickers': 'Looking through the stickers',
|
||||
'journey.studio.stickerTheme.ephemera': 'Travel things',
|
||||
'journey.studio.stickerTheme.landmarks': 'Landmarks',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropical',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterranean',
|
||||
'journey.studio.stickerTheme.sea': 'Sea and coast',
|
||||
'journey.studio.stickerTheme.mountains': 'Mountains',
|
||||
'journey.studio.stickerTheme.nordic': 'Nordic',
|
||||
'journey.studio.stickerTheme.asia': 'Asia and India',
|
||||
'journey.studio.stickerTheme.food': 'Food and drink',
|
||||
'journey.studio.stickerTheme.paper': 'Paper and tape',
|
||||
'journey.studio.stickerTheme.doodles': 'Doodles',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornaments',
|
||||
'journey.studio.sticker.airplane': 'Airplane',
|
||||
'journey.studio.sticker.boardingPass': 'Boarding pass',
|
||||
'journey.studio.sticker.passport': 'Passport',
|
||||
'journey.studio.sticker.suitcase': 'Vintage suitcase',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Carry-on suitcase',
|
||||
'journey.studio.sticker.luggageTag': 'Luggage tag',
|
||||
'journey.studio.sticker.ticket': 'Admission ticket',
|
||||
'journey.studio.sticker.camera': 'Camera',
|
||||
'journey.studio.sticker.instantPhoto': 'Instant photo',
|
||||
'journey.studio.sticker.globe': 'Globe',
|
||||
'journey.studio.sticker.mapPin': 'Map pin',
|
||||
'journey.studio.sticker.foldedMap': 'Folded map',
|
||||
'journey.studio.sticker.postageStamp': 'Postage stamp',
|
||||
'journey.studio.sticker.postmark': 'Postmark',
|
||||
'journey.studio.sticker.passportStamp': 'Passport stamp',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Hot air balloon',
|
||||
'journey.studio.sticker.sunglasses': 'Sunglasses',
|
||||
'journey.studio.sticker.campervan': 'Camper van',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffel Tower',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arc de Triomphe',
|
||||
'journey.studio.sticker.colosseum': 'Colosseum',
|
||||
'journey.studio.sticker.pisaTower': 'Leaning Tower of Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburg Gate',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Pyramids of Giza',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Statue of Liberty',
|
||||
'journey.studio.sticker.goldenGate': 'Golden Gate Bridge',
|
||||
'journey.studio.sticker.christRedeemer': 'Christ the Redeemer',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Sydney Opera House',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiscus',
|
||||
'journey.studio.sticker.frangipani': 'Frangipani',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Monstera leaf',
|
||||
'journey.studio.sticker.palmLeaf': 'Palm leaf',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banana leaf',
|
||||
'journey.studio.sticker.palmTree': 'Palm tree',
|
||||
'journey.studio.sticker.pineapple': 'Pineapple',
|
||||
'journey.studio.sticker.coconutDrink': 'Coconut drink',
|
||||
'journey.studio.sticker.parrot': 'Parrot',
|
||||
'journey.studio.sticker.toucan': 'Toucan',
|
||||
'journey.studio.sticker.flamingo': 'Flamingo',
|
||||
'journey.studio.sticker.lemon': 'Lemon',
|
||||
'journey.studio.sticker.lemonBranch': 'Lemon branch',
|
||||
'journey.studio.sticker.lemonVase': 'Vase with lemons',
|
||||
'journey.studio.sticker.oliveBranch': 'Olive branch',
|
||||
'journey.studio.sticker.orangeSlice': 'Orange slice',
|
||||
'journey.studio.sticker.fig': 'Figs',
|
||||
'journey.studio.sticker.amphora': 'Amphora',
|
||||
'journey.studio.sticker.sardine': 'Sardine',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo tile',
|
||||
'journey.studio.sticker.shutterWindow': 'Window with shutters',
|
||||
'journey.studio.sticker.bougainvillea': 'Bougainvillea',
|
||||
'journey.studio.sticker.strawHat': 'Straw hat',
|
||||
'journey.studio.sticker.windmill': 'Windmill',
|
||||
'journey.studio.sticker.santoriniChurch': 'Santorini chapel',
|
||||
'journey.studio.sticker.waves': 'Waves',
|
||||
'journey.studio.sticker.sun': 'Sun',
|
||||
'journey.studio.sticker.seaTurtle': 'Sea turtle',
|
||||
'journey.studio.sticker.scallopShell': 'Scallop shell',
|
||||
'journey.studio.sticker.starfish': 'Starfish',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropical fish',
|
||||
'journey.studio.sticker.coral': 'Coral',
|
||||
'journey.studio.sticker.sailboat': 'Sailboat',
|
||||
'journey.studio.sticker.lighthouse': 'Lighthouse',
|
||||
'journey.studio.sticker.anchor': 'Anchor',
|
||||
'journey.studio.sticker.lifebuoy': 'Lifebuoy',
|
||||
'journey.studio.sticker.seagull': 'Seagull',
|
||||
'journey.studio.sticker.beachUmbrella': 'Beach umbrella',
|
||||
'journey.studio.sticker.mountainRange': 'Mountain range',
|
||||
'journey.studio.sticker.snowPeak': 'Snowy peak',
|
||||
'journey.studio.sticker.pineTrees': 'Pine trees',
|
||||
'journey.studio.sticker.mountainLake': 'Mountain lake',
|
||||
'journey.studio.sticker.tent': 'Tent',
|
||||
'journey.studio.sticker.campfire': 'Campfire',
|
||||
'journey.studio.sticker.cableCar': 'Cable car',
|
||||
'journey.studio.sticker.edelweiss': 'Edelweiss',
|
||||
'journey.studio.sticker.hikingBoot': 'Hiking boot',
|
||||
'journey.studio.sticker.compassRose': 'Compass rose',
|
||||
'journey.studio.sticker.rowHouses': 'Harbour houses',
|
||||
'journey.studio.sticker.fjord': 'Fjord',
|
||||
'journey.studio.sticker.northernLights': 'Northern lights',
|
||||
'journey.studio.sticker.redCabin': 'Red cabin',
|
||||
'journey.studio.sticker.ferry': 'Ferry',
|
||||
'journey.studio.sticker.reindeer': 'Reindeer',
|
||||
'journey.studio.sticker.puffin': 'Puffin',
|
||||
'journey.studio.sticker.dalaHorse': 'Dala horse',
|
||||
'journey.studio.sticker.cinnamonBun': 'Cinnamon bun',
|
||||
'journey.studio.sticker.bicycle': 'Bicycle',
|
||||
'journey.studio.sticker.mountFuji': 'Mount Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Torii gate',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda',
|
||||
'journey.studio.sticker.cherryBlossom': 'Cherry blossom',
|
||||
'journey.studio.sticker.paperLantern': 'Paper lantern',
|
||||
'journey.studio.sticker.koi': 'Koi carp',
|
||||
'journey.studio.sticker.bamboo': 'Bamboo',
|
||||
'journey.studio.sticker.foldingFan': 'Folding fan',
|
||||
'journey.studio.sticker.lotus': 'Lotus flower',
|
||||
'journey.studio.sticker.templeArch': 'Temple arch',
|
||||
'journey.studio.sticker.elephant': 'Elephant',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk-tuk',
|
||||
'journey.studio.sticker.espresso': 'Espresso',
|
||||
'journey.studio.sticker.cappuccino': 'Cappuccino',
|
||||
'journey.studio.sticker.croissant': 'Croissant',
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de nata',
|
||||
'journey.studio.sticker.baguette': 'Baguette',
|
||||
'journey.studio.sticker.pretzel': 'Pretzel',
|
||||
'journey.studio.sticker.gelato': 'Gelato',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pizza slice',
|
||||
'journey.studio.sticker.wineGlass': 'Glass of wine',
|
||||
'journey.studio.sticker.spritz': 'Spritz',
|
||||
'journey.studio.sticker.ramen': 'Ramen',
|
||||
'journey.studio.sticker.sushi': 'Sushi',
|
||||
'journey.studio.sticker.washiStripes': 'Striped washi tape',
|
||||
'journey.studio.sticker.washiDots': 'Dotted washi tape',
|
||||
'journey.studio.sticker.washiGingham': 'Gingham washi tape',
|
||||
'journey.studio.sticker.washiFloral': 'Floral washi tape',
|
||||
'journey.studio.sticker.washiKraft': 'Kraft paper tape',
|
||||
'journey.studio.sticker.maskingTape': 'Masking tape',
|
||||
'journey.studio.sticker.tornPaper': 'Torn paper strip',
|
||||
'journey.studio.sticker.stickyNote': 'Sticky note',
|
||||
'journey.studio.sticker.notebookPaper': 'Notebook page',
|
||||
'journey.studio.sticker.photoCorners': 'Photo corners',
|
||||
'journey.studio.sticker.paperClip': 'Paper clip',
|
||||
'journey.studio.sticker.sewnLabel': 'Sewn label',
|
||||
'journey.studio.sticker.handCircle': 'Hand-drawn circle',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Underline',
|
||||
'journey.studio.sticker.markerHighlight': 'Highlighter stroke',
|
||||
'journey.studio.sticker.handArrow': 'Arrow',
|
||||
'journey.studio.sticker.curlyArrow': 'Curly arrow',
|
||||
'journey.studio.sticker.loopArrow': 'Loop arrow',
|
||||
'journey.studio.sticker.sparkles': 'Sparkles',
|
||||
'journey.studio.sticker.doodleHeart': 'Doodle heart',
|
||||
'journey.studio.sticker.doodleStars': 'Doodle stars',
|
||||
'journey.studio.sticker.squiggle': 'Squiggle',
|
||||
'journey.studio.sticker.xMark': 'X marks the spot',
|
||||
'journey.studio.sticker.dottedPath': 'Dotted path',
|
||||
'journey.studio.sticker.sunDivider': 'Sun divider',
|
||||
'journey.studio.sticker.starRule': 'Star divider',
|
||||
'journey.studio.sticker.diamondRule': 'Art deco divider',
|
||||
'journey.studio.sticker.dottedRule': 'Dotted divider',
|
||||
'journey.studio.sticker.waveRule': 'Wave divider',
|
||||
'journey.studio.sticker.fleuron': 'Fleuron',
|
||||
'journey.studio.sticker.laurelWreath': 'Laurel wreath',
|
||||
'journey.studio.sticker.cornerFlourish': 'Corner flourish',
|
||||
'journey.studio.sticker.cornerScroll': 'Corner scroll',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Pegatinas',
|
||||
'journey.studio.kind.sticker': 'Pegatina',
|
||||
'journey.studio.searchStickers': 'Buscar pegatinas',
|
||||
'journey.studio.stickerThemes': 'Temas de pegatinas',
|
||||
'journey.studio.stickersAll': 'Todas',
|
||||
'journey.studio.stickersRecent': 'Usadas recientemente',
|
||||
'journey.studio.stickersHint':
|
||||
'Haz clic en una pegatina para colocarla en el centro de la página, o arrástrala adonde deba ir.',
|
||||
'journey.studio.stickerColours': 'Colores',
|
||||
'journey.studio.stickerSlot': 'Color {index}',
|
||||
'journey.studio.stickerResetColours': 'Colores originales',
|
||||
'journey.studio.stickerMissing': 'Esta pegatina no está en la biblioteca de esta versión de TREK.',
|
||||
'journey.studio.stickerPlacement': 'Colocación',
|
||||
'journey.studio.stickerFlip': 'Reflejar',
|
||||
'journey.studio.stickerTurnLeft': 'Girar a la izquierda',
|
||||
'journey.studio.stickerTurnRight': 'Girar a la derecha',
|
||||
'assistant.step.bookStickers': 'Revisando las pegatinas',
|
||||
'journey.studio.stickerTheme.ephemera': 'Cosas de viaje',
|
||||
'journey.studio.stickerTheme.landmarks': 'Monumentos',
|
||||
'journey.studio.stickerTheme.tropical': 'Trópico',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterráneo',
|
||||
'journey.studio.stickerTheme.sea': 'Mar y costa',
|
||||
'journey.studio.stickerTheme.mountains': 'Montaña',
|
||||
'journey.studio.stickerTheme.nordic': 'Norte',
|
||||
'journey.studio.stickerTheme.asia': 'Asia e India',
|
||||
'journey.studio.stickerTheme.food': 'Comida y bebida',
|
||||
'journey.studio.stickerTheme.paper': 'Papel y cinta',
|
||||
'journey.studio.stickerTheme.doodles': 'Garabatos',
|
||||
'journey.studio.stickerTheme.ornaments': 'Adornos',
|
||||
'journey.studio.sticker.airplane': 'Avión',
|
||||
'journey.studio.sticker.boardingPass': 'Tarjeta de embarque',
|
||||
'journey.studio.sticker.passport': 'Pasaporte',
|
||||
'journey.studio.sticker.suitcase': 'Maleta antigua',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Maleta de cabina',
|
||||
'journey.studio.sticker.luggageTag': 'Etiqueta de equipaje',
|
||||
'journey.studio.sticker.ticket': 'Entrada',
|
||||
'journey.studio.sticker.camera': 'Cámara de fotos',
|
||||
'journey.studio.sticker.instantPhoto': 'Foto instantánea',
|
||||
'journey.studio.sticker.globe': 'Globo terráqueo',
|
||||
'journey.studio.sticker.mapPin': 'Marcador de mapa',
|
||||
'journey.studio.sticker.foldedMap': 'Mapa plegado',
|
||||
'journey.studio.sticker.postageStamp': 'Sello postal',
|
||||
'journey.studio.sticker.postmark': 'Matasellos',
|
||||
'journey.studio.sticker.passportStamp': 'Sello de pasaporte',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Globo aerostático',
|
||||
'journey.studio.sticker.sunglasses': 'Gafas de sol',
|
||||
'journey.studio.sticker.campervan': 'Furgoneta camper',
|
||||
'journey.studio.sticker.eiffelTower': 'Torre Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arco del Triunfo',
|
||||
'journey.studio.sticker.colosseum': 'Coliseo',
|
||||
'journey.studio.sticker.pisaTower': 'Torre inclinada de Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben de Londres',
|
||||
'journey.studio.sticker.towerBridge': 'Puente de la Torre',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Familia',
|
||||
'journey.studio.sticker.brandenburgGate': 'Puerta de Brandeburgo',
|
||||
'journey.studio.sticker.hagiaSophia': 'Santa Sofía',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal de Agra',
|
||||
'journey.studio.sticker.pyramids': 'Pirámides de Guiza',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Estatua de la Libertad',
|
||||
'journey.studio.sticker.goldenGate': 'Puente Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Cristo Redentor',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Ópera de Sídney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibisco',
|
||||
'journey.studio.sticker.frangipani': 'Frangipani en flor',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Hoja de monstera',
|
||||
'journey.studio.sticker.palmLeaf': 'Hoja de palmera',
|
||||
'journey.studio.sticker.bananaLeaf': 'Hoja de plátano',
|
||||
'journey.studio.sticker.palmTree': 'Palmera',
|
||||
'journey.studio.sticker.pineapple': 'Piña',
|
||||
'journey.studio.sticker.coconutDrink': 'Bebida en coco',
|
||||
'journey.studio.sticker.parrot': 'Loro',
|
||||
'journey.studio.sticker.toucan': 'Tucán',
|
||||
'journey.studio.sticker.flamingo': 'Flamenco',
|
||||
'journey.studio.sticker.lemon': 'Limón',
|
||||
'journey.studio.sticker.lemonBranch': 'Rama de limonero',
|
||||
'journey.studio.sticker.lemonVase': 'Jarrón con limones',
|
||||
'journey.studio.sticker.oliveBranch': 'Rama de olivo',
|
||||
'journey.studio.sticker.orangeSlice': 'Rodaja de naranja',
|
||||
'journey.studio.sticker.fig': 'Higos',
|
||||
'journey.studio.sticker.amphora': 'Ánfora',
|
||||
'journey.studio.sticker.sardine': 'Sardina',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Ventana con contraventanas',
|
||||
'journey.studio.sticker.bougainvillea': 'Buganvilla',
|
||||
'journey.studio.sticker.strawHat': 'Sombrero de paja',
|
||||
'journey.studio.sticker.windmill': 'Molino de viento',
|
||||
'journey.studio.sticker.santoriniChurch': 'Capilla de Santorini',
|
||||
'journey.studio.sticker.waves': 'Olas',
|
||||
'journey.studio.sticker.sun': 'Sol',
|
||||
'journey.studio.sticker.seaTurtle': 'Tortuga marina',
|
||||
'journey.studio.sticker.scallopShell': 'Concha de vieira',
|
||||
'journey.studio.sticker.starfish': 'Estrella de mar',
|
||||
'journey.studio.sticker.tropicalFish': 'Pez tropical',
|
||||
'journey.studio.sticker.coral': 'Coral', // same-as-en
|
||||
'journey.studio.sticker.sailboat': 'Velero',
|
||||
'journey.studio.sticker.lighthouse': 'Faro',
|
||||
'journey.studio.sticker.anchor': 'Ancla',
|
||||
'journey.studio.sticker.lifebuoy': 'Salvavidas',
|
||||
'journey.studio.sticker.seagull': 'Gaviota',
|
||||
'journey.studio.sticker.beachUmbrella': 'Sombrilla',
|
||||
'journey.studio.sticker.mountainRange': 'Cordillera',
|
||||
'journey.studio.sticker.snowPeak': 'Cumbre nevada',
|
||||
'journey.studio.sticker.pineTrees': 'Pinos',
|
||||
'journey.studio.sticker.mountainLake': 'Lago de montaña',
|
||||
'journey.studio.sticker.tent': 'Tienda de campaña',
|
||||
'journey.studio.sticker.campfire': 'Hoguera',
|
||||
'journey.studio.sticker.cableCar': 'Teleférico',
|
||||
'journey.studio.sticker.edelweiss': 'Edelweiss en flor',
|
||||
'journey.studio.sticker.hikingBoot': 'Bota de montaña',
|
||||
'journey.studio.sticker.compassRose': 'Rosa de los vientos',
|
||||
'journey.studio.sticker.rowHouses': 'Casas del puerto',
|
||||
'journey.studio.sticker.fjord': 'Fiordo',
|
||||
'journey.studio.sticker.northernLights': 'Aurora boreal',
|
||||
'journey.studio.sticker.redCabin': 'Cabaña roja',
|
||||
'journey.studio.sticker.ferry': 'Transbordador',
|
||||
'journey.studio.sticker.reindeer': 'Reno',
|
||||
'journey.studio.sticker.puffin': 'Frailecillo',
|
||||
'journey.studio.sticker.dalaHorse': 'Caballito de Dalarna',
|
||||
'journey.studio.sticker.cinnamonBun': 'Bollo de canela',
|
||||
'journey.studio.sticker.bicycle': 'Bicicleta',
|
||||
'journey.studio.sticker.mountFuji': 'Monte Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Puerta torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Flor de cerezo',
|
||||
'journey.studio.sticker.paperLantern': 'Farolillo de papel',
|
||||
'journey.studio.sticker.koi': 'Carpa koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambú',
|
||||
'journey.studio.sticker.foldingFan': 'Abanico',
|
||||
'journey.studio.sticker.lotus': 'Flor de loto',
|
||||
'journey.studio.sticker.templeArch': 'Arco de templo',
|
||||
'journey.studio.sticker.elephant': 'Elefante',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk tuk',
|
||||
'journey.studio.sticker.espresso': 'Café expreso',
|
||||
'journey.studio.sticker.cappuccino': 'Capuchino',
|
||||
'journey.studio.sticker.croissant': 'Cruasán',
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de nata portugués',
|
||||
'journey.studio.sticker.baguette': 'Barra de pan',
|
||||
'journey.studio.sticker.pretzel': 'Pretzel bávaro',
|
||||
'journey.studio.sticker.gelato': 'Helado en cucurucho',
|
||||
'journey.studio.sticker.pizzaSlice': 'Porción de pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Copa de vino',
|
||||
'journey.studio.sticker.spritz': 'Spritz italiano',
|
||||
'journey.studio.sticker.ramen': 'Ramen japonés',
|
||||
'journey.studio.sticker.sushi': 'Sushi japonés',
|
||||
'journey.studio.sticker.washiStripes': 'Cinta washi de rayas',
|
||||
'journey.studio.sticker.washiDots': 'Cinta washi de lunares',
|
||||
'journey.studio.sticker.washiGingham': 'Cinta washi de cuadros',
|
||||
'journey.studio.sticker.washiFloral': 'Cinta washi de flores',
|
||||
'journey.studio.sticker.washiKraft': 'Cinta de papel kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Cinta de carrocero',
|
||||
'journey.studio.sticker.tornPaper': 'Tira de papel rasgada',
|
||||
'journey.studio.sticker.stickyNote': 'Nota adhesiva',
|
||||
'journey.studio.sticker.notebookPaper': 'Hoja de cuaderno',
|
||||
'journey.studio.sticker.photoCorners': 'Esquineros para fotos',
|
||||
'journey.studio.sticker.paperClip': 'Clip',
|
||||
'journey.studio.sticker.sewnLabel': 'Etiqueta cosida',
|
||||
'journey.studio.sticker.handCircle': 'Círculo a mano',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Subrayado',
|
||||
'journey.studio.sticker.markerHighlight': 'Trazo de rotulador',
|
||||
'journey.studio.sticker.handArrow': 'Flecha',
|
||||
'journey.studio.sticker.curlyArrow': 'Flecha rizada',
|
||||
'journey.studio.sticker.loopArrow': 'Flecha con bucle',
|
||||
'journey.studio.sticker.sparkles': 'Destellos',
|
||||
'journey.studio.sticker.doodleHeart': 'Corazón garabateado',
|
||||
'journey.studio.sticker.doodleStars': 'Estrellas garabateadas',
|
||||
'journey.studio.sticker.squiggle': 'Línea ondulada',
|
||||
'journey.studio.sticker.xMark': 'La X del tesoro',
|
||||
'journey.studio.sticker.dottedPath': 'Camino de puntos',
|
||||
'journey.studio.sticker.sunDivider': 'Separador con sol',
|
||||
'journey.studio.sticker.starRule': 'Separador con estrellas',
|
||||
'journey.studio.sticker.diamondRule': 'Separador art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Separador de puntos',
|
||||
'journey.studio.sticker.waveRule': 'Separador ondulado',
|
||||
'journey.studio.sticker.fleuron': 'Florón',
|
||||
'journey.studio.sticker.laurelWreath': 'Corona de laurel',
|
||||
'journey.studio.sticker.cornerFlourish': 'Esquina con floritura',
|
||||
'journey.studio.sticker.cornerScroll': 'Esquina con volutas',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Kleebised',
|
||||
'journey.studio.kind.sticker': 'Kleebis',
|
||||
'journey.studio.searchStickers': 'Otsi kleebiseid',
|
||||
'journey.studio.stickerThemes': 'Kleebiste teemad',
|
||||
'journey.studio.stickersAll': 'Kõik',
|
||||
'journey.studio.stickersRecent': 'Hiljuti kasutatud',
|
||||
'journey.studio.stickersHint': 'Klõpsa kleebisel, et panna see lehe keskele, või lohista see sinna, kuhu see käib.',
|
||||
'journey.studio.stickerColours': 'Värvid',
|
||||
'journey.studio.stickerSlot': 'Värv {index}',
|
||||
'journey.studio.stickerResetColours': 'Algsed värvid',
|
||||
'journey.studio.stickerMissing': 'Seda kleebist ei ole selle TREK-i versiooni kogus.',
|
||||
'journey.studio.stickerPlacement': 'Paigutus',
|
||||
'journey.studio.stickerFlip': 'Peegelda',
|
||||
'journey.studio.stickerTurnLeft': 'Pööra vasakule',
|
||||
'journey.studio.stickerTurnRight': 'Pööra paremale',
|
||||
'assistant.step.bookStickers': 'Vaatab kleebiseid',
|
||||
'journey.studio.stickerTheme.ephemera': 'Reisiasjad',
|
||||
'journey.studio.stickerTheme.landmarks': 'Vaatamisväärsused',
|
||||
'journey.studio.stickerTheme.tropical': 'Troopika',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Vahemeri',
|
||||
'journey.studio.stickerTheme.sea': 'Meri ja rannik',
|
||||
'journey.studio.stickerTheme.mountains': 'Mäed',
|
||||
'journey.studio.stickerTheme.nordic': 'Põhjala',
|
||||
'journey.studio.stickerTheme.asia': 'Aasia ja India',
|
||||
'journey.studio.stickerTheme.food': 'Söök ja jook',
|
||||
'journey.studio.stickerTheme.paper': 'Paber ja teip',
|
||||
'journey.studio.stickerTheme.doodles': 'Sodimised',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamendid',
|
||||
'journey.studio.sticker.airplane': 'Lennuk',
|
||||
'journey.studio.sticker.boardingPass': 'Pardakaart',
|
||||
'journey.studio.sticker.passport': 'Pass',
|
||||
'journey.studio.sticker.suitcase': 'Vana kohver',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Salongikohver',
|
||||
'journey.studio.sticker.luggageTag': 'Pagasisilt',
|
||||
'journey.studio.sticker.ticket': 'Sissepääsupilet',
|
||||
'journey.studio.sticker.camera': 'Fotoaparaat',
|
||||
'journey.studio.sticker.instantPhoto': 'Kiirfoto',
|
||||
'journey.studio.sticker.globe': 'Gloobus',
|
||||
'journey.studio.sticker.mapPin': 'Kaardinõel',
|
||||
'journey.studio.sticker.foldedMap': 'Kokkuvolditud kaart',
|
||||
'journey.studio.sticker.postageStamp': 'Postmark',
|
||||
'journey.studio.sticker.postmark': 'Postitempel',
|
||||
'journey.studio.sticker.passportStamp': 'Passitempel',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Kuumaõhupall',
|
||||
'journey.studio.sticker.sunglasses': 'Päikeseprillid',
|
||||
'journey.studio.sticker.campervan': 'Matkabuss',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffeli torn',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Pariisi triumfikaar',
|
||||
'journey.studio.sticker.colosseum': 'Colosseum Roomas',
|
||||
'journey.studio.sticker.pisaTower': 'Pisa kaldtorn',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben Londonis',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge Londonis',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família Barcelonas',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburgi värav',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia Istanbulis',
|
||||
'journey.studio.sticker.tajMahal': 'Tadž Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Giza püramiidid',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Vabadussammas',
|
||||
'journey.studio.sticker.goldenGate': 'Golden Gate’i sild',
|
||||
'journey.studio.sticker.christRedeemer': 'Lunastaja Kristuse kuju',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Sydney ooperimaja',
|
||||
'journey.studio.sticker.hibiscus': 'Hibisk',
|
||||
'journey.studio.sticker.frangipani': 'Frangipaani',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Monstera leht',
|
||||
'journey.studio.sticker.palmLeaf': 'Palmileht',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banaanileht',
|
||||
'journey.studio.sticker.palmTree': 'Palm',
|
||||
'journey.studio.sticker.pineapple': 'Ananass',
|
||||
'journey.studio.sticker.coconutDrink': 'Jook kookospähklis',
|
||||
'journey.studio.sticker.parrot': 'Papagoi',
|
||||
'journey.studio.sticker.toucan': 'Tuukan',
|
||||
'journey.studio.sticker.flamingo': 'Flamingo', // same-as-en
|
||||
'journey.studio.sticker.lemon': 'Sidrun',
|
||||
'journey.studio.sticker.lemonBranch': 'Sidrunioks',
|
||||
'journey.studio.sticker.lemonVase': 'Vaas sidrunitega',
|
||||
'journey.studio.sticker.oliveBranch': 'Oliivioks',
|
||||
'journey.studio.sticker.orangeSlice': 'Apelsiniviil',
|
||||
'journey.studio.sticker.fig': 'Viigimarjad',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardiin',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo kahhel',
|
||||
'journey.studio.sticker.shutterWindow': 'Aknaluukidega aken',
|
||||
'journey.studio.sticker.bougainvillea': 'Bugenvill',
|
||||
'journey.studio.sticker.strawHat': 'Õlgkübar',
|
||||
'journey.studio.sticker.windmill': 'Tuuleveski',
|
||||
'journey.studio.sticker.santoriniChurch': 'Santorini kabel',
|
||||
'journey.studio.sticker.waves': 'Lained',
|
||||
'journey.studio.sticker.sun': 'Päike',
|
||||
'journey.studio.sticker.seaTurtle': 'Merikilpkonn',
|
||||
'journey.studio.sticker.scallopShell': 'Kammkarbi kest',
|
||||
'journey.studio.sticker.starfish': 'Meritäht',
|
||||
'journey.studio.sticker.tropicalFish': 'Troopiline kala',
|
||||
'journey.studio.sticker.coral': 'Korall',
|
||||
'journey.studio.sticker.sailboat': 'Purjekas',
|
||||
'journey.studio.sticker.lighthouse': 'Tuletorn',
|
||||
'journey.studio.sticker.anchor': 'Ankur',
|
||||
'journey.studio.sticker.lifebuoy': 'Päästerõngas',
|
||||
'journey.studio.sticker.seagull': 'Kajakas',
|
||||
'journey.studio.sticker.beachUmbrella': 'Rannavari',
|
||||
'journey.studio.sticker.mountainRange': 'Mäeahelik',
|
||||
'journey.studio.sticker.snowPeak': 'Lumine tipp',
|
||||
'journey.studio.sticker.pineTrees': 'Kuused',
|
||||
'journey.studio.sticker.mountainLake': 'Mägijärv',
|
||||
'journey.studio.sticker.tent': 'Telk',
|
||||
'journey.studio.sticker.campfire': 'Lõke',
|
||||
'journey.studio.sticker.cableCar': 'Köisraudtee',
|
||||
'journey.studio.sticker.edelweiss': 'Alpi edelveiss',
|
||||
'journey.studio.sticker.hikingBoot': 'Matkasaabas',
|
||||
'journey.studio.sticker.compassRose': 'Tuulteroos',
|
||||
'journey.studio.sticker.rowHouses': 'Sadamamajad',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Virmalised',
|
||||
'journey.studio.sticker.redCabin': 'Punane majake',
|
||||
'journey.studio.sticker.ferry': 'Praam',
|
||||
'journey.studio.sticker.reindeer': 'Põhjapõder',
|
||||
'journey.studio.sticker.puffin': 'Lunn',
|
||||
'journey.studio.sticker.dalaHorse': 'Dalarna hobune',
|
||||
'journey.studio.sticker.cinnamonBun': 'Kaneelisai',
|
||||
'journey.studio.sticker.bicycle': 'Jalgratas',
|
||||
'journey.studio.sticker.mountFuji': 'Fuji mägi',
|
||||
'journey.studio.sticker.toriiGate': 'Torii värav',
|
||||
'journey.studio.sticker.pagoda': 'Pagood',
|
||||
'journey.studio.sticker.cherryBlossom': 'Kirsiõis',
|
||||
'journey.studio.sticker.paperLantern': 'Paberlatern',
|
||||
'journey.studio.sticker.koi': 'Koi karpkala',
|
||||
'journey.studio.sticker.bamboo': 'Bambus',
|
||||
'journey.studio.sticker.foldingFan': 'Lehvik',
|
||||
'journey.studio.sticker.lotus': 'Lootoseõis',
|
||||
'journey.studio.sticker.templeArch': 'Templikaar',
|
||||
'journey.studio.sticker.elephant': 'Elevant',
|
||||
'journey.studio.sticker.tukTuk': 'Tuktuk',
|
||||
'journey.studio.sticker.espresso': 'Espressokohv',
|
||||
'journey.studio.sticker.cappuccino': 'Kapuutšiino',
|
||||
'journey.studio.sticker.croissant': 'Sarvesai',
|
||||
'journey.studio.sticker.pastelDeNata': 'Portugali munakreemikorvike',
|
||||
'journey.studio.sticker.baguette': 'Prantsuse sai',
|
||||
'journey.studio.sticker.pretzel': 'Kringel',
|
||||
'journey.studio.sticker.gelato': 'Vahvlitopsis jäätis',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pitsalõik',
|
||||
'journey.studio.sticker.wineGlass': 'Klaas veini',
|
||||
'journey.studio.sticker.spritz': 'Veneetsia spritz',
|
||||
'journey.studio.sticker.ramen': 'Ramenikauss',
|
||||
'journey.studio.sticker.sushi': 'Suši',
|
||||
'journey.studio.sticker.washiStripes': 'Triibuline washi-teip',
|
||||
'journey.studio.sticker.washiDots': 'Täpiline washi-teip',
|
||||
'journey.studio.sticker.washiGingham': 'Ruuduline washi-teip',
|
||||
'journey.studio.sticker.washiFloral': 'Lilleline washi-teip',
|
||||
'journey.studio.sticker.washiKraft': 'Kraftpaberteip',
|
||||
'journey.studio.sticker.maskingTape': 'Maalriteip',
|
||||
'journey.studio.sticker.tornPaper': 'Rebitud pabeririba',
|
||||
'journey.studio.sticker.stickyNote': 'Kleepmärge',
|
||||
'journey.studio.sticker.notebookPaper': 'Vihikuleht',
|
||||
'journey.studio.sticker.photoCorners': 'Fotonurgad',
|
||||
'journey.studio.sticker.paperClip': 'Kirjaklamber',
|
||||
'journey.studio.sticker.sewnLabel': 'Õmmeldud silt',
|
||||
'journey.studio.sticker.handCircle': 'Käsitsi joonistatud ring',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Allajoonimine',
|
||||
'journey.studio.sticker.markerHighlight': 'Markeri joon',
|
||||
'journey.studio.sticker.handArrow': 'Nool',
|
||||
'journey.studio.sticker.curlyArrow': 'Lokkis nool',
|
||||
'journey.studio.sticker.loopArrow': 'Silmusega nool',
|
||||
'journey.studio.sticker.sparkles': 'Sädemed',
|
||||
'journey.studio.sticker.doodleHeart': 'Kritseldatud süda',
|
||||
'journey.studio.sticker.doodleStars': 'Kritseldatud tähed',
|
||||
'journey.studio.sticker.squiggle': 'Looklev joon',
|
||||
'journey.studio.sticker.xMark': 'Aarde rist',
|
||||
'journey.studio.sticker.dottedPath': 'Punktiirrada',
|
||||
'journey.studio.sticker.sunDivider': 'Päikesega eraldaja',
|
||||
'journey.studio.sticker.starRule': 'Tähtedega eraldaja',
|
||||
'journey.studio.sticker.diamondRule': 'Art deco eraldaja',
|
||||
'journey.studio.sticker.dottedRule': 'Punktiiriga eraldaja',
|
||||
'journey.studio.sticker.waveRule': 'Laineline eraldaja',
|
||||
'journey.studio.sticker.fleuron': 'Lillornament',
|
||||
'journey.studio.sticker.laurelWreath': 'Loorberipärg',
|
||||
'journey.studio.sticker.cornerFlourish': 'Kaunistatud nurk',
|
||||
'journey.studio.sticker.cornerScroll': 'Voluudiga nurk',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Autocollants',
|
||||
'journey.studio.kind.sticker': 'Autocollant',
|
||||
'journey.studio.searchStickers': 'Rechercher un autocollant',
|
||||
'journey.studio.stickerThemes': 'Thèmes d’autocollants',
|
||||
'journey.studio.stickersAll': 'Tous',
|
||||
'journey.studio.stickersRecent': 'Utilisés récemment',
|
||||
'journey.studio.stickersHint':
|
||||
'Cliquez sur un autocollant pour le placer au milieu de la page, ou faites-le glisser à l’endroit voulu.',
|
||||
'journey.studio.stickerColours': 'Couleurs',
|
||||
'journey.studio.stickerSlot': 'Couleur {index}',
|
||||
'journey.studio.stickerResetColours': 'Couleurs d’origine',
|
||||
'journey.studio.stickerMissing': 'Cet autocollant ne fait pas partie de la bibliothèque de cette version de TREK.',
|
||||
'journey.studio.stickerPlacement': 'Placement', // same-as-en
|
||||
'journey.studio.stickerFlip': 'Miroir',
|
||||
'journey.studio.stickerTurnLeft': 'Tourner à gauche',
|
||||
'journey.studio.stickerTurnRight': 'Tourner à droite',
|
||||
'assistant.step.bookStickers': 'Parcourt les autocollants',
|
||||
'journey.studio.stickerTheme.ephemera': 'Objets de voyage',
|
||||
'journey.studio.stickerTheme.landmarks': 'Monuments',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropiques',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Méditerranée',
|
||||
'journey.studio.stickerTheme.sea': 'Mer et côte',
|
||||
'journey.studio.stickerTheme.mountains': 'Montagne',
|
||||
'journey.studio.stickerTheme.nordic': 'Nord',
|
||||
'journey.studio.stickerTheme.asia': 'Asie et Inde',
|
||||
'journey.studio.stickerTheme.food': 'À boire et à manger',
|
||||
'journey.studio.stickerTheme.paper': 'Papier et ruban',
|
||||
'journey.studio.stickerTheme.doodles': 'Gribouillis',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornements',
|
||||
'journey.studio.sticker.airplane': 'Avion',
|
||||
'journey.studio.sticker.boardingPass': 'Carte d’embarquement',
|
||||
'journey.studio.sticker.passport': 'Passeport',
|
||||
'journey.studio.sticker.suitcase': 'Valise vintage',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Valise cabine',
|
||||
'journey.studio.sticker.luggageTag': 'Étiquette à bagage',
|
||||
'journey.studio.sticker.ticket': 'Billet d’entrée',
|
||||
'journey.studio.sticker.camera': 'Appareil photo',
|
||||
'journey.studio.sticker.instantPhoto': 'Photo instantanée',
|
||||
'journey.studio.sticker.globe': 'Globe terrestre',
|
||||
'journey.studio.sticker.mapPin': 'Repère de carte',
|
||||
'journey.studio.sticker.foldedMap': 'Carte pliée',
|
||||
'journey.studio.sticker.postageStamp': 'Timbre-poste',
|
||||
'journey.studio.sticker.postmark': 'Cachet de la poste',
|
||||
'journey.studio.sticker.passportStamp': 'Tampon de passeport',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Montgolfière',
|
||||
'journey.studio.sticker.sunglasses': 'Lunettes de soleil',
|
||||
'journey.studio.sticker.campervan': 'Van aménagé',
|
||||
'journey.studio.sticker.eiffelTower': 'Tour Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'L’Arc de triomphe',
|
||||
'journey.studio.sticker.colosseum': 'Colisée',
|
||||
'journey.studio.sticker.pisaTower': 'Tour penchée de Pise',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben à Londres',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge à Londres',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família à Barcelone',
|
||||
'journey.studio.sticker.brandenburgGate': 'Porte de Brandebourg',
|
||||
'journey.studio.sticker.hagiaSophia': 'Sainte-Sophie',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal à Agra',
|
||||
'journey.studio.sticker.pyramids': 'Pyramides de Gizeh',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Statue de la Liberté',
|
||||
'journey.studio.sticker.goldenGate': 'Pont du Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Christ Rédempteur',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opéra de Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiscus', // same-as-en
|
||||
'journey.studio.sticker.frangipani': 'Frangipanier',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Feuille de monstera',
|
||||
'journey.studio.sticker.palmLeaf': 'Feuille de palmier',
|
||||
'journey.studio.sticker.bananaLeaf': 'Feuille de bananier',
|
||||
'journey.studio.sticker.palmTree': 'Palmier',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Boisson dans une noix de coco',
|
||||
'journey.studio.sticker.parrot': 'Perroquet',
|
||||
'journey.studio.sticker.toucan': 'Toucan', // same-as-en
|
||||
'journey.studio.sticker.flamingo': 'Flamant rose',
|
||||
'journey.studio.sticker.lemon': 'Citron',
|
||||
'journey.studio.sticker.lemonBranch': 'Branche de citronnier',
|
||||
'journey.studio.sticker.lemonVase': 'Vase aux citrons',
|
||||
'journey.studio.sticker.oliveBranch': 'Rameau d’olivier',
|
||||
'journey.studio.sticker.orangeSlice': 'Tranche d’orange',
|
||||
'journey.studio.sticker.fig': 'Figues',
|
||||
'journey.studio.sticker.amphora': 'Amphore',
|
||||
'journey.studio.sticker.sardine': 'Sardine', // same-as-en
|
||||
'journey.studio.sticker.azulejoTile': 'Carreau azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Fenêtre à volets',
|
||||
'journey.studio.sticker.bougainvillea': 'Bougainvillier',
|
||||
'journey.studio.sticker.strawHat': 'Chapeau de paille',
|
||||
'journey.studio.sticker.windmill': 'Moulin à vent',
|
||||
'journey.studio.sticker.santoriniChurch': 'Chapelle de Santorin',
|
||||
'journey.studio.sticker.waves': 'Vagues',
|
||||
'journey.studio.sticker.sun': 'Soleil',
|
||||
'journey.studio.sticker.seaTurtle': 'Tortue marine',
|
||||
'journey.studio.sticker.scallopShell': 'Coquille Saint-Jacques',
|
||||
'journey.studio.sticker.starfish': 'Étoile de mer',
|
||||
'journey.studio.sticker.tropicalFish': 'Poisson tropical',
|
||||
'journey.studio.sticker.coral': 'Corail',
|
||||
'journey.studio.sticker.sailboat': 'Voilier',
|
||||
'journey.studio.sticker.lighthouse': 'Phare',
|
||||
'journey.studio.sticker.anchor': 'Ancre',
|
||||
'journey.studio.sticker.lifebuoy': 'Bouée de sauvetage',
|
||||
'journey.studio.sticker.seagull': 'Mouette',
|
||||
'journey.studio.sticker.beachUmbrella': 'Parasol',
|
||||
'journey.studio.sticker.mountainRange': 'Chaîne de montagnes',
|
||||
'journey.studio.sticker.snowPeak': 'Sommet enneigé',
|
||||
'journey.studio.sticker.pineTrees': 'Sapins',
|
||||
'journey.studio.sticker.mountainLake': 'Lac de montagne',
|
||||
'journey.studio.sticker.tent': 'Tente',
|
||||
'journey.studio.sticker.campfire': 'Feu de camp',
|
||||
'journey.studio.sticker.cableCar': 'Téléphérique',
|
||||
'journey.studio.sticker.edelweiss': 'Edelweiss', // same-as-en
|
||||
'journey.studio.sticker.hikingBoot': 'Chaussure de randonnée',
|
||||
'journey.studio.sticker.compassRose': 'Rose des vents',
|
||||
'journey.studio.sticker.rowHouses': 'Maisons du port',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Aurore boréale',
|
||||
'journey.studio.sticker.redCabin': 'Chalet rouge',
|
||||
'journey.studio.sticker.ferry': 'Ferry', // same-as-en
|
||||
'journey.studio.sticker.reindeer': 'Renne',
|
||||
'journey.studio.sticker.puffin': 'Macareux',
|
||||
'journey.studio.sticker.dalaHorse': 'Cheval de Dalécarlie',
|
||||
'journey.studio.sticker.cinnamonBun': 'Brioche à la cannelle',
|
||||
'journey.studio.sticker.bicycle': 'Vélo',
|
||||
'journey.studio.sticker.mountFuji': 'Mont Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Portique torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagode',
|
||||
'journey.studio.sticker.cherryBlossom': 'Fleurs de cerisier',
|
||||
'journey.studio.sticker.paperLantern': 'Lanterne en papier',
|
||||
'journey.studio.sticker.koi': 'Carpe koï',
|
||||
'journey.studio.sticker.bamboo': 'Bambou',
|
||||
'journey.studio.sticker.foldingFan': 'Éventail',
|
||||
'journey.studio.sticker.lotus': 'Fleur de lotus',
|
||||
'journey.studio.sticker.templeArch': 'Arche de temple',
|
||||
'journey.studio.sticker.elephant': 'Éléphant',
|
||||
'journey.studio.sticker.tukTuk': 'Touk-touk',
|
||||
'journey.studio.sticker.espresso': 'Expresso',
|
||||
'journey.studio.sticker.cappuccino': 'Cappuccino', // same-as-en
|
||||
'journey.studio.sticker.croissant': 'Croissant', // same-as-en
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de nata portugais',
|
||||
'journey.studio.sticker.baguette': 'Baguette', // same-as-en
|
||||
'journey.studio.sticker.pretzel': 'Bretzel',
|
||||
'journey.studio.sticker.gelato': 'Glace en cornet',
|
||||
'journey.studio.sticker.pizzaSlice': 'Part de pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Verre de vin',
|
||||
'journey.studio.sticker.spritz': 'Spritz', // same-as-en
|
||||
'journey.studio.sticker.ramen': 'Ramen', // same-as-en
|
||||
'journey.studio.sticker.sushi': 'Sushis',
|
||||
'journey.studio.sticker.washiStripes': 'Masking tape rayé',
|
||||
'journey.studio.sticker.washiDots': 'Masking tape à pois',
|
||||
'journey.studio.sticker.washiGingham': 'Masking tape vichy',
|
||||
'journey.studio.sticker.washiFloral': 'Masking tape fleuri',
|
||||
'journey.studio.sticker.washiKraft': 'Ruban en papier kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Ruban de masquage',
|
||||
'journey.studio.sticker.tornPaper': 'Bande de papier déchirée',
|
||||
'journey.studio.sticker.stickyNote': 'Note adhésive',
|
||||
'journey.studio.sticker.notebookPaper': 'Page de carnet',
|
||||
'journey.studio.sticker.photoCorners': 'Coins photo',
|
||||
'journey.studio.sticker.paperClip': 'Trombone',
|
||||
'journey.studio.sticker.sewnLabel': 'Étiquette cousue',
|
||||
'journey.studio.sticker.handCircle': 'Cercle dessiné à la main',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Soulignement',
|
||||
'journey.studio.sticker.markerHighlight': 'Trait de surligneur',
|
||||
'journey.studio.sticker.handArrow': 'Flèche',
|
||||
'journey.studio.sticker.curlyArrow': 'Flèche bouclée',
|
||||
'journey.studio.sticker.loopArrow': 'Flèche en boucle',
|
||||
'journey.studio.sticker.sparkles': 'Étincelles',
|
||||
'journey.studio.sticker.doodleHeart': 'Cœur griffonné',
|
||||
'journey.studio.sticker.doodleStars': 'Étoiles griffonnées',
|
||||
'journey.studio.sticker.squiggle': 'Gribouillis',
|
||||
'journey.studio.sticker.xMark': 'La croix du trésor',
|
||||
'journey.studio.sticker.dottedPath': 'Chemin en pointillé',
|
||||
'journey.studio.sticker.sunDivider': 'Séparateur soleil',
|
||||
'journey.studio.sticker.starRule': 'Séparateur étoiles',
|
||||
'journey.studio.sticker.diamondRule': 'Séparateur Art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Séparateur pointillé',
|
||||
'journey.studio.sticker.waveRule': 'Séparateur vague',
|
||||
'journey.studio.sticker.fleuron': 'Fleuron', // same-as-en
|
||||
'journey.studio.sticker.laurelWreath': 'Couronne de laurier',
|
||||
'journey.studio.sticker.cornerFlourish': 'Coin à arabesque',
|
||||
'journey.studio.sticker.cornerScroll': 'Coin à volutes',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Αυτοκόλλητα',
|
||||
'journey.studio.kind.sticker': 'Αυτοκόλλητο',
|
||||
'journey.studio.searchStickers': 'Αναζήτηση αυτοκόλλητων',
|
||||
'journey.studio.stickerThemes': 'Θέματα αυτοκόλλητων',
|
||||
'journey.studio.stickersAll': 'Όλα',
|
||||
'journey.studio.stickersRecent': 'Πρόσφατα',
|
||||
'journey.studio.stickersHint':
|
||||
'Πατήστε ένα αυτοκόλλητο για να το βάλετε στη μέση της σελίδας ή σύρετέ το εκεί που πρέπει να μπει.',
|
||||
'journey.studio.stickerColours': 'Χρώματα',
|
||||
'journey.studio.stickerSlot': 'Χρώμα {index}',
|
||||
'journey.studio.stickerResetColours': 'Αρχικά χρώματα',
|
||||
'journey.studio.stickerMissing': 'Αυτό το αυτοκόλλητο δεν υπάρχει στη βιβλιοθήκη αυτής της έκδοσης του TREK.',
|
||||
'journey.studio.stickerPlacement': 'Τοποθέτηση',
|
||||
'journey.studio.stickerFlip': 'Κατοπτρισμός',
|
||||
'journey.studio.stickerTurnLeft': 'Στροφή αριστερά',
|
||||
'journey.studio.stickerTurnRight': 'Στροφή δεξιά',
|
||||
'assistant.step.bookStickers': 'Κοιτάζει τα αυτοκόλλητα',
|
||||
'journey.studio.stickerTheme.ephemera': 'Ταξιδιωτικά',
|
||||
'journey.studio.stickerTheme.landmarks': 'Αξιοθέατα',
|
||||
'journey.studio.stickerTheme.tropical': 'Τροπικά',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Μεσόγειος',
|
||||
'journey.studio.stickerTheme.sea': 'Θάλασσα και ακτή',
|
||||
'journey.studio.stickerTheme.mountains': 'Βουνά',
|
||||
'journey.studio.stickerTheme.nordic': 'Βορράς',
|
||||
'journey.studio.stickerTheme.asia': 'Ασία και Ινδία',
|
||||
'journey.studio.stickerTheme.food': 'Φαγητό και ποτό',
|
||||
'journey.studio.stickerTheme.paper': 'Χαρτί και ταινία',
|
||||
'journey.studio.stickerTheme.doodles': 'Μουτζούρες',
|
||||
'journey.studio.stickerTheme.ornaments': 'Διακοσμητικά',
|
||||
'journey.studio.sticker.airplane': 'Αεροπλάνο',
|
||||
'journey.studio.sticker.boardingPass': 'Κάρτα επιβίβασης',
|
||||
'journey.studio.sticker.passport': 'Διαβατήριο',
|
||||
'journey.studio.sticker.suitcase': 'Παλιά βαλίτσα',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Βαλίτσα καμπίνας',
|
||||
'journey.studio.sticker.luggageTag': 'Ετικέτα αποσκευών',
|
||||
'journey.studio.sticker.ticket': 'Εισιτήριο εισόδου',
|
||||
'journey.studio.sticker.camera': 'Φωτογραφική μηχανή',
|
||||
'journey.studio.sticker.instantPhoto': 'Στιγμιαία φωτογραφία',
|
||||
'journey.studio.sticker.globe': 'Υδρόγειος',
|
||||
'journey.studio.sticker.mapPin': 'Καρφίτσα χάρτη',
|
||||
'journey.studio.sticker.foldedMap': 'Διπλωμένος χάρτης',
|
||||
'journey.studio.sticker.postageStamp': 'Γραμματόσημο',
|
||||
'journey.studio.sticker.postmark': 'Ταχυδρομική σφραγίδα',
|
||||
'journey.studio.sticker.passportStamp': 'Σφραγίδα διαβατηρίου',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Αερόστατο',
|
||||
'journey.studio.sticker.sunglasses': 'Γυαλιά ηλίου',
|
||||
'journey.studio.sticker.campervan': 'Τροχόσπιτο βαν',
|
||||
'journey.studio.sticker.eiffelTower': 'Πύργος του Άιφελ',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Αψίδα του Θριάμβου',
|
||||
'journey.studio.sticker.colosseum': 'Κολοσσαίο',
|
||||
'journey.studio.sticker.pisaTower': 'Κεκλιμένος Πύργος της Πίζας',
|
||||
'journey.studio.sticker.bigBen': 'Μπιγκ Μπεν',
|
||||
'journey.studio.sticker.towerBridge': 'Γέφυρα του Πύργου',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Σαγράδα Φαμίλια',
|
||||
'journey.studio.sticker.brandenburgGate': 'Πύλη του Βρανδεμβούργου',
|
||||
'journey.studio.sticker.hagiaSophia': 'Αγία Σοφία',
|
||||
'journey.studio.sticker.tajMahal': 'Ταζ Μαχάλ',
|
||||
'journey.studio.sticker.pyramids': 'Πυραμίδες της Γκίζας',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Άγαλμα της Ελευθερίας',
|
||||
'journey.studio.sticker.goldenGate': 'Γέφυρα Γκόλντεν Γκέιτ',
|
||||
'journey.studio.sticker.christRedeemer': 'Άγαλμα του Χριστού Λυτρωτή',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Όπερα του Σίδνεϊ',
|
||||
'journey.studio.sticker.hibiscus': 'Ιβίσκος',
|
||||
'journey.studio.sticker.frangipani': 'Πλουμέρια',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Φύλλο μονστέρας',
|
||||
'journey.studio.sticker.palmLeaf': 'Φύλλο φοίνικα',
|
||||
'journey.studio.sticker.bananaLeaf': 'Φύλλο μπανανιάς',
|
||||
'journey.studio.sticker.palmTree': 'Φοίνικας',
|
||||
'journey.studio.sticker.pineapple': 'Ανανάς',
|
||||
'journey.studio.sticker.coconutDrink': 'Ποτό σε καρύδα',
|
||||
'journey.studio.sticker.parrot': 'Παπαγάλος',
|
||||
'journey.studio.sticker.toucan': 'Τουκάν',
|
||||
'journey.studio.sticker.flamingo': 'Φλαμίνγκο',
|
||||
'journey.studio.sticker.lemon': 'Λεμόνι',
|
||||
'journey.studio.sticker.lemonBranch': 'Κλαδί λεμονιάς',
|
||||
'journey.studio.sticker.lemonVase': 'Βάζο με λεμόνια',
|
||||
'journey.studio.sticker.oliveBranch': 'Κλαδί ελιάς',
|
||||
'journey.studio.sticker.orangeSlice': 'Φέτα πορτοκαλιού',
|
||||
'journey.studio.sticker.fig': 'Σύκα',
|
||||
'journey.studio.sticker.amphora': 'Αμφορέας',
|
||||
'journey.studio.sticker.sardine': 'Σαρδέλα',
|
||||
'journey.studio.sticker.azulejoTile': 'Πλακάκι αζουλέζο',
|
||||
'journey.studio.sticker.shutterWindow': 'Παράθυρο με παντζούρια',
|
||||
'journey.studio.sticker.bougainvillea': 'Μπουκαμβίλια',
|
||||
'journey.studio.sticker.strawHat': 'Ψάθινο καπέλο',
|
||||
'journey.studio.sticker.windmill': 'Ανεμόμυλος',
|
||||
'journey.studio.sticker.santoriniChurch': 'Εκκλησάκι στη Σαντορίνη',
|
||||
'journey.studio.sticker.waves': 'Κύματα',
|
||||
'journey.studio.sticker.sun': 'Ήλιος',
|
||||
'journey.studio.sticker.seaTurtle': 'Θαλάσσια χελώνα',
|
||||
'journey.studio.sticker.scallopShell': 'Κοχύλι χτενιού',
|
||||
'journey.studio.sticker.starfish': 'Αστερίας',
|
||||
'journey.studio.sticker.tropicalFish': 'Τροπικό ψάρι',
|
||||
'journey.studio.sticker.coral': 'Κοράλλι',
|
||||
'journey.studio.sticker.sailboat': 'Ιστιοφόρο',
|
||||
'journey.studio.sticker.lighthouse': 'Φάρος',
|
||||
'journey.studio.sticker.anchor': 'Άγκυρα',
|
||||
'journey.studio.sticker.lifebuoy': 'Σωσίβιο',
|
||||
'journey.studio.sticker.seagull': 'Γλάρος',
|
||||
'journey.studio.sticker.beachUmbrella': 'Ομπρέλα θαλάσσης',
|
||||
'journey.studio.sticker.mountainRange': 'Οροσειρά',
|
||||
'journey.studio.sticker.snowPeak': 'Χιονισμένη κορυφή',
|
||||
'journey.studio.sticker.pineTrees': 'Έλατα',
|
||||
'journey.studio.sticker.mountainLake': 'Ορεινή λίμνη',
|
||||
'journey.studio.sticker.tent': 'Σκηνή',
|
||||
'journey.studio.sticker.campfire': 'Φωτιά κατασκήνωσης',
|
||||
'journey.studio.sticker.cableCar': 'Τελεφερίκ',
|
||||
'journey.studio.sticker.edelweiss': 'Εντελβάις',
|
||||
'journey.studio.sticker.hikingBoot': 'Μπότα πεζοπορίας',
|
||||
'journey.studio.sticker.compassRose': 'Ανεμολόγιο',
|
||||
'journey.studio.sticker.rowHouses': 'Σπίτια του λιμανιού',
|
||||
'journey.studio.sticker.fjord': 'Φιόρδ',
|
||||
'journey.studio.sticker.northernLights': 'Βόρειο σέλας',
|
||||
'journey.studio.sticker.redCabin': 'Κόκκινη καλύβα',
|
||||
'journey.studio.sticker.ferry': 'Φέρι',
|
||||
'journey.studio.sticker.reindeer': 'Τάρανδος',
|
||||
'journey.studio.sticker.puffin': 'Θαλασσοπαπαγάλος',
|
||||
'journey.studio.sticker.dalaHorse': 'Αλογάκι της Νταλάρνα',
|
||||
'journey.studio.sticker.cinnamonBun': 'Ρολό κανέλας',
|
||||
'journey.studio.sticker.bicycle': 'Ποδήλατο',
|
||||
'journey.studio.sticker.mountFuji': 'Όρος Φούτζι',
|
||||
'journey.studio.sticker.toriiGate': 'Πύλη τόρι',
|
||||
'journey.studio.sticker.pagoda': 'Παγόδα',
|
||||
'journey.studio.sticker.cherryBlossom': 'Άνθη κερασιάς',
|
||||
'journey.studio.sticker.paperLantern': 'Χάρτινο φανάρι',
|
||||
'journey.studio.sticker.koi': 'Κυπρίνος κόι',
|
||||
'journey.studio.sticker.bamboo': 'Μπαμπού',
|
||||
'journey.studio.sticker.foldingFan': 'Βεντάλια',
|
||||
'journey.studio.sticker.lotus': 'Άνθος λωτού',
|
||||
'journey.studio.sticker.templeArch': 'Καμάρα ναού',
|
||||
'journey.studio.sticker.elephant': 'Ελέφαντας',
|
||||
'journey.studio.sticker.tukTuk': 'Τουκ τουκ',
|
||||
'journey.studio.sticker.espresso': 'Εσπρέσο',
|
||||
'journey.studio.sticker.cappuccino': 'Καπουτσίνο',
|
||||
'journey.studio.sticker.croissant': 'Κρουασάν',
|
||||
'journey.studio.sticker.pastelDeNata': 'Πορτογαλικό ταρτάκι',
|
||||
'journey.studio.sticker.baguette': 'Μπαγκέτα',
|
||||
'journey.studio.sticker.pretzel': 'Πρέτσελ',
|
||||
'journey.studio.sticker.gelato': 'Παγωτό χωνάκι',
|
||||
'journey.studio.sticker.pizzaSlice': 'Κομμάτι πίτσας',
|
||||
'journey.studio.sticker.wineGlass': 'Ποτήρι κρασί',
|
||||
'journey.studio.sticker.spritz': 'Σπριτς',
|
||||
'journey.studio.sticker.ramen': 'Ράμεν',
|
||||
'journey.studio.sticker.sushi': 'Σούσι',
|
||||
'journey.studio.sticker.washiStripes': 'Ριγέ ταινία washi',
|
||||
'journey.studio.sticker.washiDots': 'Πουά ταινία washi',
|
||||
'journey.studio.sticker.washiGingham': 'Καρό ταινία washi',
|
||||
'journey.studio.sticker.washiFloral': 'Φλοράλ ταινία washi',
|
||||
'journey.studio.sticker.washiKraft': 'Ταινία από χαρτί kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Χαρτοταινία',
|
||||
'journey.studio.sticker.tornPaper': 'Σκισμένη λωρίδα χαρτιού',
|
||||
'journey.studio.sticker.stickyNote': 'Αυτοκόλλητο σημείωμα',
|
||||
'journey.studio.sticker.notebookPaper': 'Σελίδα τετραδίου',
|
||||
'journey.studio.sticker.photoCorners': 'Γωνίες φωτογραφιών',
|
||||
'journey.studio.sticker.paperClip': 'Συνδετήρας',
|
||||
'journey.studio.sticker.sewnLabel': 'Ραμμένη ετικέτα',
|
||||
'journey.studio.sticker.handCircle': 'Κύκλος με το χέρι',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Υπογράμμιση',
|
||||
'journey.studio.sticker.markerHighlight': 'Πινελιά μαρκαδόρου',
|
||||
'journey.studio.sticker.handArrow': 'Βέλος',
|
||||
'journey.studio.sticker.curlyArrow': 'Κατσαρό βέλος',
|
||||
'journey.studio.sticker.loopArrow': 'Βέλος με θηλιά',
|
||||
'journey.studio.sticker.sparkles': 'Λάμψεις',
|
||||
'journey.studio.sticker.doodleHeart': 'Μουτζουρωμένη καρδιά',
|
||||
'journey.studio.sticker.doodleStars': 'Μουτζουρωμένα αστέρια',
|
||||
'journey.studio.sticker.squiggle': 'Κυματιστή γραμμή',
|
||||
'journey.studio.sticker.xMark': 'Το Χ του θησαυρού',
|
||||
'journey.studio.sticker.dottedPath': 'Διάστικτη διαδρομή',
|
||||
'journey.studio.sticker.sunDivider': 'Διαχωριστικό με ήλιο',
|
||||
'journey.studio.sticker.starRule': 'Διαχωριστικό με αστέρια',
|
||||
'journey.studio.sticker.diamondRule': 'Διαχωριστικό αρ ντεκό',
|
||||
'journey.studio.sticker.dottedRule': 'Διάστικτο διαχωριστικό',
|
||||
'journey.studio.sticker.waveRule': 'Κυματιστό διαχωριστικό',
|
||||
'journey.studio.sticker.fleuron': 'Φυλλόμορφο κόσμημα',
|
||||
'journey.studio.sticker.laurelWreath': 'Δάφνινο στεφάνι',
|
||||
'journey.studio.sticker.cornerFlourish': 'Γωνία με στολίδι',
|
||||
'journey.studio.sticker.cornerScroll': 'Γωνία με έλικες',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Matricák',
|
||||
'journey.studio.kind.sticker': 'Matrica',
|
||||
'journey.studio.searchStickers': 'Matricák keresése',
|
||||
'journey.studio.stickerThemes': 'Matricatémák',
|
||||
'journey.studio.stickersAll': 'Mind',
|
||||
'journey.studio.stickersRecent': 'Legutóbb használt',
|
||||
'journey.studio.stickersHint':
|
||||
'Kattints egy matricára, hogy az oldal közepére kerüljön, vagy húzd oda, ahová szánod.',
|
||||
'journey.studio.stickerColours': 'Színek',
|
||||
'journey.studio.stickerSlot': '{index}. szín',
|
||||
'journey.studio.stickerResetColours': 'Eredeti színek',
|
||||
'journey.studio.stickerMissing': 'Ez a matrica nincs benne a TREK ezen verziójának könyvtárában.',
|
||||
'journey.studio.stickerPlacement': 'Elhelyezés',
|
||||
'journey.studio.stickerFlip': 'Tükrözés',
|
||||
'journey.studio.stickerTurnLeft': 'Forgatás balra',
|
||||
'journey.studio.stickerTurnRight': 'Forgatás jobbra',
|
||||
'assistant.step.bookStickers': 'Átnézi a matricákat',
|
||||
'journey.studio.stickerTheme.ephemera': 'Úti holmik',
|
||||
'journey.studio.stickerTheme.landmarks': 'Nevezetességek',
|
||||
'journey.studio.stickerTheme.tropical': 'Trópusok',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterrán',
|
||||
'journey.studio.stickerTheme.sea': 'Tenger és part',
|
||||
'journey.studio.stickerTheme.mountains': 'Hegyek',
|
||||
'journey.studio.stickerTheme.nordic': 'Észak',
|
||||
'journey.studio.stickerTheme.asia': 'Ázsia és India',
|
||||
'journey.studio.stickerTheme.food': 'Étel és ital',
|
||||
'journey.studio.stickerTheme.paper': 'Papír és szalag',
|
||||
'journey.studio.stickerTheme.doodles': 'Firkák',
|
||||
'journey.studio.stickerTheme.ornaments': 'Díszítések',
|
||||
'journey.studio.sticker.airplane': 'Repülőgép',
|
||||
'journey.studio.sticker.boardingPass': 'Beszállókártya',
|
||||
'journey.studio.sticker.passport': 'Útlevél',
|
||||
'journey.studio.sticker.suitcase': 'Régi bőrönd',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Kabinbőrönd',
|
||||
'journey.studio.sticker.luggageTag': 'Poggyászcímke',
|
||||
'journey.studio.sticker.ticket': 'Belépőjegy',
|
||||
'journey.studio.sticker.camera': 'Fényképezőgép',
|
||||
'journey.studio.sticker.instantPhoto': 'Instant fotó',
|
||||
'journey.studio.sticker.globe': 'Földgömb',
|
||||
'journey.studio.sticker.mapPin': 'Térképtű',
|
||||
'journey.studio.sticker.foldedMap': 'Összehajtott térkép',
|
||||
'journey.studio.sticker.postageStamp': 'Postabélyeg',
|
||||
'journey.studio.sticker.postmark': 'Postai bélyegző',
|
||||
'journey.studio.sticker.passportStamp': 'Útlevélpecsét',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Hőlégballon',
|
||||
'journey.studio.sticker.sunglasses': 'Napszemüveg',
|
||||
'journey.studio.sticker.campervan': 'Lakóbusz',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffel-torony',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Diadalív',
|
||||
'journey.studio.sticker.colosseum': 'Colosseum Rómában',
|
||||
'journey.studio.sticker.pisaTower': 'Pisai ferde torony',
|
||||
'journey.studio.sticker.bigBen': 'A londoni Big Ben',
|
||||
'journey.studio.sticker.towerBridge': 'A londoni Tower Bridge',
|
||||
'journey.studio.sticker.sagradaFamilia': 'A barcelonai Sagrada Família',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburgi kapu',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Szophia',
|
||||
'journey.studio.sticker.tajMahal': 'Tádzs Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Gízai piramisok',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Szabadság-szobor',
|
||||
'journey.studio.sticker.goldenGate': 'Golden Gate híd',
|
||||
'journey.studio.sticker.christRedeemer': 'Megváltó Krisztus-szobor',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Sydney-i Operaház',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiszkusz',
|
||||
'journey.studio.sticker.frangipani': 'Plumeria',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Könnyezőpálma-levél',
|
||||
'journey.studio.sticker.palmLeaf': 'Pálmalevél',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banánlevél',
|
||||
'journey.studio.sticker.palmTree': 'Pálmafa',
|
||||
'journey.studio.sticker.pineapple': 'Ananász',
|
||||
'journey.studio.sticker.coconutDrink': 'Ital kókuszdióban',
|
||||
'journey.studio.sticker.parrot': 'Papagáj',
|
||||
'journey.studio.sticker.toucan': 'Tukán',
|
||||
'journey.studio.sticker.flamingo': 'Flamingó',
|
||||
'journey.studio.sticker.lemon': 'Citrom',
|
||||
'journey.studio.sticker.lemonBranch': 'Citromág',
|
||||
'journey.studio.sticker.lemonVase': 'Váza citromokkal',
|
||||
'journey.studio.sticker.oliveBranch': 'Olajág',
|
||||
'journey.studio.sticker.orangeSlice': 'Narancsszelet',
|
||||
'journey.studio.sticker.fig': 'Füge',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Szardínia',
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejo csempe',
|
||||
'journey.studio.sticker.shutterWindow': 'Zsalugáteres ablak',
|
||||
'journey.studio.sticker.bougainvillea': 'Murvafürt',
|
||||
'journey.studio.sticker.strawHat': 'Szalmakalap',
|
||||
'journey.studio.sticker.windmill': 'Szélmalom',
|
||||
'journey.studio.sticker.santoriniChurch': 'Szantorini kápolna',
|
||||
'journey.studio.sticker.waves': 'Hullámok',
|
||||
'journey.studio.sticker.sun': 'Nap',
|
||||
'journey.studio.sticker.seaTurtle': 'Tengeri teknős',
|
||||
'journey.studio.sticker.scallopShell': 'Fésűkagyló',
|
||||
'journey.studio.sticker.starfish': 'Tengeri csillag',
|
||||
'journey.studio.sticker.tropicalFish': 'Trópusi hal',
|
||||
'journey.studio.sticker.coral': 'Korall',
|
||||
'journey.studio.sticker.sailboat': 'Vitorlás',
|
||||
'journey.studio.sticker.lighthouse': 'Világítótorony',
|
||||
'journey.studio.sticker.anchor': 'Horgony',
|
||||
'journey.studio.sticker.lifebuoy': 'Mentőöv',
|
||||
'journey.studio.sticker.seagull': 'Sirály',
|
||||
'journey.studio.sticker.beachUmbrella': 'Napernyő',
|
||||
'journey.studio.sticker.mountainRange': 'Hegylánc',
|
||||
'journey.studio.sticker.snowPeak': 'Havas csúcs',
|
||||
'journey.studio.sticker.pineTrees': 'Fenyők',
|
||||
'journey.studio.sticker.mountainLake': 'Hegyi tó',
|
||||
'journey.studio.sticker.tent': 'Sátor',
|
||||
'journey.studio.sticker.campfire': 'Tábortűz',
|
||||
'journey.studio.sticker.cableCar': 'Kötélpálya',
|
||||
'journey.studio.sticker.edelweiss': 'Havasi gyopár',
|
||||
'journey.studio.sticker.hikingBoot': 'Túrabakancs',
|
||||
'journey.studio.sticker.compassRose': 'Szélrózsa',
|
||||
'journey.studio.sticker.rowHouses': 'Kikötői házak',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Északi fény',
|
||||
'journey.studio.sticker.redCabin': 'Piros faház',
|
||||
'journey.studio.sticker.ferry': 'Komp',
|
||||
'journey.studio.sticker.reindeer': 'Rénszarvas',
|
||||
'journey.studio.sticker.puffin': 'Lunda',
|
||||
'journey.studio.sticker.dalaHorse': 'Dalarnai lovacska',
|
||||
'journey.studio.sticker.cinnamonBun': 'Fahéjas csiga',
|
||||
'journey.studio.sticker.bicycle': 'Kerékpár',
|
||||
'journey.studio.sticker.mountFuji': 'Fudzsi-hegy',
|
||||
'journey.studio.sticker.toriiGate': 'Torii kapu',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Cseresznyevirág',
|
||||
'journey.studio.sticker.paperLantern': 'Papírlampion',
|
||||
'journey.studio.sticker.koi': 'Koi ponty',
|
||||
'journey.studio.sticker.bamboo': 'Bambusz',
|
||||
'journey.studio.sticker.foldingFan': 'Legyező',
|
||||
'journey.studio.sticker.lotus': 'Lótuszvirág',
|
||||
'journey.studio.sticker.templeArch': 'Templomív',
|
||||
'journey.studio.sticker.elephant': 'Elefánt',
|
||||
'journey.studio.sticker.tukTuk': 'Tuktuk',
|
||||
'journey.studio.sticker.espresso': 'Eszpresszó',
|
||||
'journey.studio.sticker.cappuccino': 'Kapucsínó',
|
||||
'journey.studio.sticker.croissant': 'Francia croissant',
|
||||
'journey.studio.sticker.pastelDeNata': 'Portugál krémes kosárka',
|
||||
'journey.studio.sticker.baguette': 'Bagett',
|
||||
'journey.studio.sticker.pretzel': 'Perec',
|
||||
'journey.studio.sticker.gelato': 'Tölcséres fagylalt',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pizzaszelet',
|
||||
'journey.studio.sticker.wineGlass': 'Pohár bor',
|
||||
'journey.studio.sticker.spritz': 'Velencei spritz',
|
||||
'journey.studio.sticker.ramen': 'Rámen',
|
||||
'journey.studio.sticker.sushi': 'Szusi',
|
||||
'journey.studio.sticker.washiStripes': 'Csíkos washi szalag',
|
||||
'journey.studio.sticker.washiDots': 'Pöttyös washi szalag',
|
||||
'journey.studio.sticker.washiGingham': 'Kockás washi szalag',
|
||||
'journey.studio.sticker.washiFloral': 'Virágos washi szalag',
|
||||
'journey.studio.sticker.washiKraft': 'Kraftpapír szalag',
|
||||
'journey.studio.sticker.maskingTape': 'Festőszalag',
|
||||
'journey.studio.sticker.tornPaper': 'Tépett papírcsík',
|
||||
'journey.studio.sticker.stickyNote': 'Öntapadós cetli',
|
||||
'journey.studio.sticker.notebookPaper': 'Füzetlap',
|
||||
'journey.studio.sticker.photoCorners': 'Fotósarkok',
|
||||
'journey.studio.sticker.paperClip': 'Gemkapocs',
|
||||
'journey.studio.sticker.sewnLabel': 'Felvarrt címke',
|
||||
'journey.studio.sticker.handCircle': 'Kézzel rajzolt kör',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Aláhúzás',
|
||||
'journey.studio.sticker.markerHighlight': 'Szövegkiemelő-csík',
|
||||
'journey.studio.sticker.handArrow': 'Nyíl',
|
||||
'journey.studio.sticker.curlyArrow': 'Kunkori nyíl',
|
||||
'journey.studio.sticker.loopArrow': 'Hurkos nyíl',
|
||||
'journey.studio.sticker.sparkles': 'Csillogás',
|
||||
'journey.studio.sticker.doodleHeart': 'Firkált szív',
|
||||
'journey.studio.sticker.doodleStars': 'Firkált csillagok',
|
||||
'journey.studio.sticker.squiggle': 'Cikkcakkos vonal',
|
||||
'journey.studio.sticker.xMark': 'Itt a kincs',
|
||||
'journey.studio.sticker.dottedPath': 'Pontozott útvonal',
|
||||
'journey.studio.sticker.sunDivider': 'Elválasztó nappal',
|
||||
'journey.studio.sticker.starRule': 'Elválasztó csillagokkal',
|
||||
'journey.studio.sticker.diamondRule': 'Art deco elválasztó',
|
||||
'journey.studio.sticker.dottedRule': 'Pontozott elválasztó',
|
||||
'journey.studio.sticker.waveRule': 'Hullámos elválasztó',
|
||||
'journey.studio.sticker.fleuron': 'Virágdísz',
|
||||
'journey.studio.sticker.laurelWreath': 'Babérkoszorú',
|
||||
'journey.studio.sticker.cornerFlourish': 'Díszes sarok',
|
||||
'journey.studio.sticker.cornerScroll': 'Csigavonalas sarok',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stiker',
|
||||
'journey.studio.kind.sticker': 'Stiker',
|
||||
'journey.studio.searchStickers': 'Cari stiker',
|
||||
'journey.studio.stickerThemes': 'Tema stiker',
|
||||
'journey.studio.stickersAll': 'Semua',
|
||||
'journey.studio.stickersRecent': 'Baru dipakai',
|
||||
'journey.studio.stickersHint':
|
||||
'Klik stiker untuk menaruhnya di tengah halaman, atau seret ke tempat yang diinginkan.',
|
||||
'journey.studio.stickerColours': 'Warna',
|
||||
'journey.studio.stickerSlot': 'Warna {index}',
|
||||
'journey.studio.stickerResetColours': 'Warna asli',
|
||||
'journey.studio.stickerMissing': 'Stiker ini tidak ada di pustaka versi TREK ini.',
|
||||
'journey.studio.stickerPlacement': 'Penempatan',
|
||||
'journey.studio.stickerFlip': 'Cerminkan',
|
||||
'journey.studio.stickerTurnLeft': 'Putar ke kiri',
|
||||
'journey.studio.stickerTurnRight': 'Putar ke kanan',
|
||||
'assistant.step.bookStickers': 'Melihat-lihat stiker',
|
||||
'journey.studio.stickerTheme.ephemera': 'Barang perjalanan',
|
||||
'journey.studio.stickerTheme.landmarks': 'Landmark terkenal',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropis',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterania',
|
||||
'journey.studio.stickerTheme.sea': 'Laut dan pantai',
|
||||
'journey.studio.stickerTheme.mountains': 'Pegunungan',
|
||||
'journey.studio.stickerTheme.nordic': 'Nordik',
|
||||
'journey.studio.stickerTheme.asia': 'Asia dan India',
|
||||
'journey.studio.stickerTheme.food': 'Makanan dan minuman',
|
||||
'journey.studio.stickerTheme.paper': 'Kertas dan selotip',
|
||||
'journey.studio.stickerTheme.doodles': 'Coretan',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamen',
|
||||
'journey.studio.sticker.airplane': 'Pesawat',
|
||||
'journey.studio.sticker.boardingPass': 'Pas naik pesawat',
|
||||
'journey.studio.sticker.passport': 'Paspor',
|
||||
'journey.studio.sticker.suitcase': 'Koper antik',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Koper kabin',
|
||||
'journey.studio.sticker.luggageTag': 'Label bagasi',
|
||||
'journey.studio.sticker.ticket': 'Tiket masuk',
|
||||
'journey.studio.sticker.camera': 'Kamera',
|
||||
'journey.studio.sticker.instantPhoto': 'Foto instan',
|
||||
'journey.studio.sticker.globe': 'Bola dunia',
|
||||
'journey.studio.sticker.mapPin': 'Penanda peta',
|
||||
'journey.studio.sticker.foldedMap': 'Peta terlipat',
|
||||
'journey.studio.sticker.postageStamp': 'Perangko',
|
||||
'journey.studio.sticker.postmark': 'Cap pos',
|
||||
'journey.studio.sticker.passportStamp': 'Cap paspor',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Balon udara',
|
||||
'journey.studio.sticker.sunglasses': 'Kacamata hitam',
|
||||
'journey.studio.sticker.campervan': 'Mobil kemah',
|
||||
'journey.studio.sticker.eiffelTower': 'Menara Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arc de Triomphe di Paris',
|
||||
'journey.studio.sticker.colosseum': 'Koloseum',
|
||||
'journey.studio.sticker.pisaTower': 'Menara Miring Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben di London',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge di London',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família di Barcelona',
|
||||
'journey.studio.sticker.brandenburgGate': 'Gerbang Brandenburg',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia di Istanbul',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal di Agra',
|
||||
'journey.studio.sticker.pyramids': 'Piramida Giza',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Patung Liberty',
|
||||
'journey.studio.sticker.goldenGate': 'Jembatan Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Patung Kristus Penebus',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Gedung Opera Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Bunga sepatu',
|
||||
'journey.studio.sticker.frangipani': 'Bunga kamboja',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Daun monstera',
|
||||
'journey.studio.sticker.palmLeaf': 'Daun palem',
|
||||
'journey.studio.sticker.bananaLeaf': 'Daun pisang',
|
||||
'journey.studio.sticker.palmTree': 'Pohon kelapa',
|
||||
'journey.studio.sticker.pineapple': 'Nanas',
|
||||
'journey.studio.sticker.coconutDrink': 'Minuman kelapa muda',
|
||||
'journey.studio.sticker.parrot': 'Burung beo',
|
||||
'journey.studio.sticker.toucan': 'Burung toukan',
|
||||
'journey.studio.sticker.flamingo': 'Burung flamingo',
|
||||
'journey.studio.sticker.lemon': 'Lemon kuning',
|
||||
'journey.studio.sticker.lemonBranch': 'Ranting lemon',
|
||||
'journey.studio.sticker.lemonVase': 'Vas berisi lemon',
|
||||
'journey.studio.sticker.oliveBranch': 'Ranting zaitun',
|
||||
'journey.studio.sticker.orangeSlice': 'Irisan jeruk',
|
||||
'journey.studio.sticker.fig': 'Buah ara',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Ikan sarden',
|
||||
'journey.studio.sticker.azulejoTile': 'Ubin azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Jendela dengan krei kayu',
|
||||
'journey.studio.sticker.bougainvillea': 'Bunga kertas',
|
||||
'journey.studio.sticker.strawHat': 'Topi jerami',
|
||||
'journey.studio.sticker.windmill': 'Kincir angin',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kapel Santorini',
|
||||
'journey.studio.sticker.waves': 'Ombak',
|
||||
'journey.studio.sticker.sun': 'Matahari',
|
||||
'journey.studio.sticker.seaTurtle': 'Penyu',
|
||||
'journey.studio.sticker.scallopShell': 'Cangkang kerang kipas',
|
||||
'journey.studio.sticker.starfish': 'Bintang laut',
|
||||
'journey.studio.sticker.tropicalFish': 'Ikan tropis',
|
||||
'journey.studio.sticker.coral': 'Karang',
|
||||
'journey.studio.sticker.sailboat': 'Perahu layar',
|
||||
'journey.studio.sticker.lighthouse': 'Mercusuar',
|
||||
'journey.studio.sticker.anchor': 'Jangkar',
|
||||
'journey.studio.sticker.lifebuoy': 'Pelampung',
|
||||
'journey.studio.sticker.seagull': 'Burung camar',
|
||||
'journey.studio.sticker.beachUmbrella': 'Payung pantai',
|
||||
'journey.studio.sticker.mountainRange': 'Barisan pegunungan',
|
||||
'journey.studio.sticker.snowPeak': 'Puncak bersalju',
|
||||
'journey.studio.sticker.pineTrees': 'Pohon cemara',
|
||||
'journey.studio.sticker.mountainLake': 'Danau gunung',
|
||||
'journey.studio.sticker.tent': 'Tenda',
|
||||
'journey.studio.sticker.campfire': 'Api unggun',
|
||||
'journey.studio.sticker.cableCar': 'Kereta gantung',
|
||||
'journey.studio.sticker.edelweiss': 'Bunga edelweis',
|
||||
'journey.studio.sticker.hikingBoot': 'Sepatu mendaki',
|
||||
'journey.studio.sticker.compassRose': 'Mawar angin',
|
||||
'journey.studio.sticker.rowHouses': 'Rumah-rumah pelabuhan',
|
||||
'journey.studio.sticker.fjord': 'Fyord',
|
||||
'journey.studio.sticker.northernLights': 'Cahaya utara',
|
||||
'journey.studio.sticker.redCabin': 'Pondok merah',
|
||||
'journey.studio.sticker.ferry': 'Kapal feri',
|
||||
'journey.studio.sticker.reindeer': 'Rusa kutub',
|
||||
'journey.studio.sticker.puffin': 'Burung puffin',
|
||||
'journey.studio.sticker.dalaHorse': 'Kuda Dala',
|
||||
'journey.studio.sticker.cinnamonBun': 'Roti gulung kayu manis',
|
||||
'journey.studio.sticker.bicycle': 'Sepeda',
|
||||
'journey.studio.sticker.mountFuji': 'Gunung Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Gerbang torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Bunga sakura',
|
||||
'journey.studio.sticker.paperLantern': 'Lampion kertas',
|
||||
'journey.studio.sticker.koi': 'Ikan koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambu',
|
||||
'journey.studio.sticker.foldingFan': 'Kipas lipat',
|
||||
'journey.studio.sticker.lotus': 'Bunga teratai',
|
||||
'journey.studio.sticker.templeArch': 'Lengkung kuil',
|
||||
'journey.studio.sticker.elephant': 'Gajah',
|
||||
'journey.studio.sticker.tukTuk': 'Bajaj',
|
||||
'journey.studio.sticker.espresso': 'Kopi espreso',
|
||||
'journey.studio.sticker.cappuccino': 'Kopi cappuccino',
|
||||
'journey.studio.sticker.croissant': 'Roti croissant',
|
||||
'journey.studio.sticker.pastelDeNata': 'Tart telur Portugis',
|
||||
'journey.studio.sticker.baguette': 'Roti baguette',
|
||||
'journey.studio.sticker.pretzel': 'Roti pretzel',
|
||||
'journey.studio.sticker.gelato': 'Es krim cone',
|
||||
'journey.studio.sticker.pizzaSlice': 'Potongan pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Segelas anggur',
|
||||
'journey.studio.sticker.spritz': 'Koktail spritz',
|
||||
'journey.studio.sticker.ramen': 'Semangkuk ramen',
|
||||
'journey.studio.sticker.sushi': 'Sushi Jepang',
|
||||
'journey.studio.sticker.washiStripes': 'Selotip washi bergaris',
|
||||
'journey.studio.sticker.washiDots': 'Selotip washi polkadot',
|
||||
'journey.studio.sticker.washiGingham': 'Selotip washi kotak-kotak',
|
||||
'journey.studio.sticker.washiFloral': 'Selotip washi bunga',
|
||||
'journey.studio.sticker.washiKraft': 'Selotip kertas kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Selotip kertas',
|
||||
'journey.studio.sticker.tornPaper': 'Sobekan kertas',
|
||||
'journey.studio.sticker.stickyNote': 'Kertas tempel',
|
||||
'journey.studio.sticker.notebookPaper': 'Halaman buku catatan',
|
||||
'journey.studio.sticker.photoCorners': 'Sudut foto',
|
||||
'journey.studio.sticker.paperClip': 'Penjepit kertas',
|
||||
'journey.studio.sticker.sewnLabel': 'Label jahit',
|
||||
'journey.studio.sticker.handCircle': 'Lingkaran gambar tangan',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Garis bawah',
|
||||
'journey.studio.sticker.markerHighlight': 'Coretan stabilo',
|
||||
'journey.studio.sticker.handArrow': 'Panah',
|
||||
'journey.studio.sticker.curlyArrow': 'Panah melengkung',
|
||||
'journey.studio.sticker.loopArrow': 'Panah berputar',
|
||||
'journey.studio.sticker.sparkles': 'Kilauan',
|
||||
'journey.studio.sticker.doodleHeart': 'Hati coretan',
|
||||
'journey.studio.sticker.doodleStars': 'Bintang coretan',
|
||||
'journey.studio.sticker.squiggle': 'Garis berliku',
|
||||
'journey.studio.sticker.xMark': 'Tanda X harta karun',
|
||||
'journey.studio.sticker.dottedPath': 'Jalur titik-titik',
|
||||
'journey.studio.sticker.sunDivider': 'Pemisah matahari',
|
||||
'journey.studio.sticker.starRule': 'Pemisah bintang',
|
||||
'journey.studio.sticker.diamondRule': 'Pemisah art deco',
|
||||
'journey.studio.sticker.dottedRule': 'Pemisah titik-titik',
|
||||
'journey.studio.sticker.waveRule': 'Pemisah gelombang',
|
||||
'journey.studio.sticker.fleuron': 'Hiasan bunga',
|
||||
'journey.studio.sticker.laurelWreath': 'Mahkota daun laurel',
|
||||
'journey.studio.sticker.cornerFlourish': 'Hiasan sudut',
|
||||
'journey.studio.sticker.cornerScroll': 'Sudut ukiran',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Adesivi',
|
||||
'journey.studio.kind.sticker': 'Adesivo',
|
||||
'journey.studio.searchStickers': 'Cerca adesivi',
|
||||
'journey.studio.stickerThemes': 'Temi degli adesivi',
|
||||
'journey.studio.stickersAll': 'Tutti',
|
||||
'journey.studio.stickersRecent': 'Usati di recente',
|
||||
'journey.studio.stickersHint':
|
||||
'Fai clic su un adesivo per metterlo al centro della pagina, oppure trascinalo dove deve andare.',
|
||||
'journey.studio.stickerColours': 'Colori',
|
||||
'journey.studio.stickerSlot': 'Colore {index}',
|
||||
'journey.studio.stickerResetColours': 'Colori originali',
|
||||
'journey.studio.stickerMissing': 'Questo adesivo non è nella libreria di questa versione di TREK.',
|
||||
'journey.studio.stickerPlacement': 'Posizione',
|
||||
'journey.studio.stickerFlip': 'Specchia',
|
||||
'journey.studio.stickerTurnLeft': 'Ruota a sinistra',
|
||||
'journey.studio.stickerTurnRight': 'Ruota a destra',
|
||||
'assistant.step.bookStickers': 'Sta guardando gli adesivi',
|
||||
'journey.studio.stickerTheme.ephemera': 'Oggetti di viaggio',
|
||||
'journey.studio.stickerTheme.landmarks': 'Monumenti',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropici',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Mediterraneo',
|
||||
'journey.studio.stickerTheme.sea': 'Mare e costa',
|
||||
'journey.studio.stickerTheme.mountains': 'Montagna',
|
||||
'journey.studio.stickerTheme.nordic': 'Nord',
|
||||
'journey.studio.stickerTheme.asia': 'Asia e India',
|
||||
'journey.studio.stickerTheme.food': 'Cibo e bevande',
|
||||
'journey.studio.stickerTheme.paper': 'Carta e nastri',
|
||||
'journey.studio.stickerTheme.doodles': 'Scarabocchi',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamenti',
|
||||
'journey.studio.sticker.airplane': 'Aereo',
|
||||
'journey.studio.sticker.boardingPass': 'Carta d’imbarco',
|
||||
'journey.studio.sticker.passport': 'Passaporto',
|
||||
'journey.studio.sticker.suitcase': 'Valigia d’epoca',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Trolley da cabina',
|
||||
'journey.studio.sticker.luggageTag': 'Etichetta per bagagli',
|
||||
'journey.studio.sticker.ticket': 'Biglietto d’ingresso',
|
||||
'journey.studio.sticker.camera': 'Macchina fotografica',
|
||||
'journey.studio.sticker.instantPhoto': 'Foto istantanea',
|
||||
'journey.studio.sticker.globe': 'Mappamondo',
|
||||
'journey.studio.sticker.mapPin': 'Segnaposto',
|
||||
'journey.studio.sticker.foldedMap': 'Cartina piegata',
|
||||
'journey.studio.sticker.postageStamp': 'Francobollo',
|
||||
'journey.studio.sticker.postmark': 'Timbro postale',
|
||||
'journey.studio.sticker.passportStamp': 'Timbro sul passaporto',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Mongolfiera',
|
||||
'journey.studio.sticker.sunglasses': 'Occhiali da sole',
|
||||
'journey.studio.sticker.campervan': 'Furgone camper',
|
||||
'journey.studio.sticker.eiffelTower': 'Torre Eiffel',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arco di Trionfo',
|
||||
'journey.studio.sticker.colosseum': 'Colosseo',
|
||||
'journey.studio.sticker.pisaTower': 'Torre pendente di Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben di Londra',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge di Londra',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família di Barcellona',
|
||||
'journey.studio.sticker.brandenburgGate': 'Porta di Brandeburgo',
|
||||
'journey.studio.sticker.hagiaSophia': 'Santa Sofia',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal di Agra',
|
||||
'journey.studio.sticker.pyramids': 'Piramidi di Giza',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Statua della Libertà',
|
||||
'journey.studio.sticker.goldenGate': 'Ponte del Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Cristo Redentore',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Teatro dell’Opera di Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Ibisco',
|
||||
'journey.studio.sticker.frangipani': 'Frangipane',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Foglia di monstera',
|
||||
'journey.studio.sticker.palmLeaf': 'Foglia di palma',
|
||||
'journey.studio.sticker.bananaLeaf': 'Foglia di banano',
|
||||
'journey.studio.sticker.palmTree': 'Palma',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Drink nel cocco',
|
||||
'journey.studio.sticker.parrot': 'Pappagallo',
|
||||
'journey.studio.sticker.toucan': 'Tucano',
|
||||
'journey.studio.sticker.flamingo': 'Fenicottero',
|
||||
'journey.studio.sticker.lemon': 'Limone',
|
||||
'journey.studio.sticker.lemonBranch': 'Ramo di limone',
|
||||
'journey.studio.sticker.lemonVase': 'Vaso con limoni',
|
||||
'journey.studio.sticker.oliveBranch': 'Ramo d’ulivo',
|
||||
'journey.studio.sticker.orangeSlice': 'Fetta d’arancia',
|
||||
'journey.studio.sticker.fig': 'Fichi',
|
||||
'journey.studio.sticker.amphora': 'Anfora',
|
||||
'journey.studio.sticker.sardine': 'Sardina',
|
||||
'journey.studio.sticker.azulejoTile': 'Piastrella azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Finestra con persiane',
|
||||
'journey.studio.sticker.bougainvillea': 'Bouganvillea',
|
||||
'journey.studio.sticker.strawHat': 'Cappello di paglia',
|
||||
'journey.studio.sticker.windmill': 'Mulino a vento',
|
||||
'journey.studio.sticker.santoriniChurch': 'Cappella di Santorini',
|
||||
'journey.studio.sticker.waves': 'Onde',
|
||||
'journey.studio.sticker.sun': 'Sole',
|
||||
'journey.studio.sticker.seaTurtle': 'Tartaruga marina',
|
||||
'journey.studio.sticker.scallopShell': 'Capasanta',
|
||||
'journey.studio.sticker.starfish': 'Stella marina',
|
||||
'journey.studio.sticker.tropicalFish': 'Pesce tropicale',
|
||||
'journey.studio.sticker.coral': 'Corallo',
|
||||
'journey.studio.sticker.sailboat': 'Barca a vela',
|
||||
'journey.studio.sticker.lighthouse': 'Faro',
|
||||
'journey.studio.sticker.anchor': 'Ancora',
|
||||
'journey.studio.sticker.lifebuoy': 'Salvagente',
|
||||
'journey.studio.sticker.seagull': 'Gabbiano',
|
||||
'journey.studio.sticker.beachUmbrella': 'Ombrellone',
|
||||
'journey.studio.sticker.mountainRange': 'Catena montuosa',
|
||||
'journey.studio.sticker.snowPeak': 'Vetta innevata',
|
||||
'journey.studio.sticker.pineTrees': 'Abeti',
|
||||
'journey.studio.sticker.mountainLake': 'Lago di montagna',
|
||||
'journey.studio.sticker.tent': 'Tenda',
|
||||
'journey.studio.sticker.campfire': 'Falò',
|
||||
'journey.studio.sticker.cableCar': 'Funivia',
|
||||
'journey.studio.sticker.edelweiss': 'Stella alpina',
|
||||
'journey.studio.sticker.hikingBoot': 'Scarpone da trekking',
|
||||
'journey.studio.sticker.compassRose': 'Rosa dei venti',
|
||||
'journey.studio.sticker.rowHouses': 'Case del porto',
|
||||
'journey.studio.sticker.fjord': 'Fiordo',
|
||||
'journey.studio.sticker.northernLights': 'Aurora boreale',
|
||||
'journey.studio.sticker.redCabin': 'Casetta rossa',
|
||||
'journey.studio.sticker.ferry': 'Traghetto',
|
||||
'journey.studio.sticker.reindeer': 'Renna',
|
||||
'journey.studio.sticker.puffin': 'Pulcinella di mare',
|
||||
'journey.studio.sticker.dalaHorse': 'Cavallino di Dalarna',
|
||||
'journey.studio.sticker.cinnamonBun': 'Girella alla cannella',
|
||||
'journey.studio.sticker.bicycle': 'Bicicletta',
|
||||
'journey.studio.sticker.mountFuji': 'Monte Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Portale torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Fiori di ciliegio',
|
||||
'journey.studio.sticker.paperLantern': 'Lanterna di carta',
|
||||
'journey.studio.sticker.koi': 'Carpa koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambù',
|
||||
'journey.studio.sticker.foldingFan': 'Ventaglio',
|
||||
'journey.studio.sticker.lotus': 'Fiore di loto',
|
||||
'journey.studio.sticker.templeArch': 'Arco del tempio',
|
||||
'journey.studio.sticker.elephant': 'Elefante',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk tuk',
|
||||
'journey.studio.sticker.espresso': 'Caffè espresso',
|
||||
'journey.studio.sticker.cappuccino': 'Cappuccino', // same-as-en
|
||||
'journey.studio.sticker.croissant': 'Cornetto',
|
||||
'journey.studio.sticker.pastelDeNata': 'Pastel de nata portoghese',
|
||||
'journey.studio.sticker.baguette': 'Baguette', // same-as-en
|
||||
'journey.studio.sticker.pretzel': 'Brezel',
|
||||
'journey.studio.sticker.gelato': 'Gelato', // same-as-en
|
||||
'journey.studio.sticker.pizzaSlice': 'Trancio di pizza',
|
||||
'journey.studio.sticker.wineGlass': 'Calice di vino',
|
||||
'journey.studio.sticker.spritz': 'Spritz', // same-as-en
|
||||
'journey.studio.sticker.ramen': 'Ramen', // same-as-en
|
||||
'journey.studio.sticker.sushi': 'Sushi', // same-as-en
|
||||
'journey.studio.sticker.washiStripes': 'Washi tape a righe',
|
||||
'journey.studio.sticker.washiDots': 'Washi tape a pois',
|
||||
'journey.studio.sticker.washiGingham': 'Washi tape a quadretti',
|
||||
'journey.studio.sticker.washiFloral': 'Washi tape a fiori',
|
||||
'journey.studio.sticker.washiKraft': 'Nastro di carta kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Nastro di carta',
|
||||
'journey.studio.sticker.tornPaper': 'Striscia di carta strappata',
|
||||
'journey.studio.sticker.stickyNote': 'Foglietto adesivo',
|
||||
'journey.studio.sticker.notebookPaper': 'Pagina di quaderno',
|
||||
'journey.studio.sticker.photoCorners': 'Angolini per foto',
|
||||
'journey.studio.sticker.paperClip': 'Graffetta',
|
||||
'journey.studio.sticker.sewnLabel': 'Etichetta cucita',
|
||||
'journey.studio.sticker.handCircle': 'Cerchio a mano',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Sottolineatura',
|
||||
'journey.studio.sticker.markerHighlight': 'Tratto di evidenziatore',
|
||||
'journey.studio.sticker.handArrow': 'Freccia',
|
||||
'journey.studio.sticker.curlyArrow': 'Freccia arricciata',
|
||||
'journey.studio.sticker.loopArrow': 'Freccia ad anello',
|
||||
'journey.studio.sticker.sparkles': 'Scintille',
|
||||
'journey.studio.sticker.doodleHeart': 'Cuore scarabocchiato',
|
||||
'journey.studio.sticker.doodleStars': 'Stelle scarabocchiate',
|
||||
'journey.studio.sticker.squiggle': 'Linea ondulata',
|
||||
'journey.studio.sticker.xMark': 'La X del tesoro',
|
||||
'journey.studio.sticker.dottedPath': 'Percorso tratteggiato',
|
||||
'journey.studio.sticker.sunDivider': 'Divisore con sole',
|
||||
'journey.studio.sticker.starRule': 'Divisore con stelle',
|
||||
'journey.studio.sticker.diamondRule': 'Divisore art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Divisore a puntini',
|
||||
'journey.studio.sticker.waveRule': 'Divisore a onda',
|
||||
'journey.studio.sticker.fleuron': 'Fregio fiorito',
|
||||
'journey.studio.sticker.laurelWreath': 'Corona d’alloro',
|
||||
'journey.studio.sticker.cornerFlourish': 'Angolo con svolazzo',
|
||||
'journey.studio.sticker.cornerScroll': 'Angolo a volute',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'ステッカー',
|
||||
'journey.studio.kind.sticker': 'ステッカー',
|
||||
'journey.studio.searchStickers': 'ステッカーを検索',
|
||||
'journey.studio.stickerThemes': 'ステッカーのテーマ',
|
||||
'journey.studio.stickersAll': 'すべて',
|
||||
'journey.studio.stickersRecent': '最近使ったもの',
|
||||
'journey.studio.stickersHint':
|
||||
'ステッカーをクリックするとページの中央に置かれます。置きたい場所までドラッグすることもできます。',
|
||||
'journey.studio.stickerColours': '色',
|
||||
'journey.studio.stickerSlot': '色 {index}',
|
||||
'journey.studio.stickerResetColours': '元の色に戻す',
|
||||
'journey.studio.stickerMissing': 'このステッカーは、このバージョンの TREK のライブラリにありません。',
|
||||
'journey.studio.stickerPlacement': '配置',
|
||||
'journey.studio.stickerFlip': '左右反転',
|
||||
'journey.studio.stickerTurnLeft': '左に回転',
|
||||
'journey.studio.stickerTurnRight': '右に回転',
|
||||
'assistant.step.bookStickers': 'ステッカーを探しています',
|
||||
'journey.studio.stickerTheme.ephemera': '旅の小物',
|
||||
'journey.studio.stickerTheme.landmarks': '名所',
|
||||
'journey.studio.stickerTheme.tropical': '南国',
|
||||
'journey.studio.stickerTheme.mediterranean': '地中海',
|
||||
'journey.studio.stickerTheme.sea': '海と海辺',
|
||||
'journey.studio.stickerTheme.mountains': '山',
|
||||
'journey.studio.stickerTheme.nordic': '北欧',
|
||||
'journey.studio.stickerTheme.asia': 'アジアとインド',
|
||||
'journey.studio.stickerTheme.food': '食べ物と飲み物',
|
||||
'journey.studio.stickerTheme.paper': '紙とテープ',
|
||||
'journey.studio.stickerTheme.doodles': '落書き',
|
||||
'journey.studio.stickerTheme.ornaments': '飾り',
|
||||
'journey.studio.sticker.airplane': '飛行機',
|
||||
'journey.studio.sticker.boardingPass': '搭乗券',
|
||||
'journey.studio.sticker.passport': 'パスポート',
|
||||
'journey.studio.sticker.suitcase': 'レトロなスーツケース',
|
||||
'journey.studio.sticker.rollingSuitcase': '機内持ち込みスーツケース',
|
||||
'journey.studio.sticker.luggageTag': '荷物タグ',
|
||||
'journey.studio.sticker.ticket': '入場券',
|
||||
'journey.studio.sticker.camera': 'カメラ',
|
||||
'journey.studio.sticker.instantPhoto': 'インスタント写真',
|
||||
'journey.studio.sticker.globe': '地球儀',
|
||||
'journey.studio.sticker.mapPin': '地図のピン',
|
||||
'journey.studio.sticker.foldedMap': '折りたたんだ地図',
|
||||
'journey.studio.sticker.postageStamp': '切手',
|
||||
'journey.studio.sticker.postmark': '消印',
|
||||
'journey.studio.sticker.passportStamp': 'パスポートのスタンプ',
|
||||
'journey.studio.sticker.hotAirBalloon': '熱気球',
|
||||
'journey.studio.sticker.sunglasses': 'サングラス',
|
||||
'journey.studio.sticker.campervan': 'キャンピングカー',
|
||||
'journey.studio.sticker.eiffelTower': 'エッフェル塔',
|
||||
'journey.studio.sticker.arcDeTriomphe': '凱旋門',
|
||||
'journey.studio.sticker.colosseum': 'コロッセオ',
|
||||
'journey.studio.sticker.pisaTower': 'ピサの斜塔',
|
||||
'journey.studio.sticker.bigBen': 'ビッグ・ベン',
|
||||
'journey.studio.sticker.towerBridge': 'タワーブリッジ',
|
||||
'journey.studio.sticker.sagradaFamilia': 'サグラダ・ファミリア',
|
||||
'journey.studio.sticker.brandenburgGate': 'ブランデンブルク門',
|
||||
'journey.studio.sticker.hagiaSophia': 'アヤソフィア',
|
||||
'journey.studio.sticker.tajMahal': 'タージ・マハル',
|
||||
'journey.studio.sticker.pyramids': 'ギザのピラミッド',
|
||||
'journey.studio.sticker.statueOfLiberty': '自由の女神',
|
||||
'journey.studio.sticker.goldenGate': 'ゴールデン・ゲート・ブリッジ',
|
||||
'journey.studio.sticker.christRedeemer': 'コルコバードのキリスト像',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'シドニー・オペラハウス',
|
||||
'journey.studio.sticker.hibiscus': 'ハイビスカス',
|
||||
'journey.studio.sticker.frangipani': 'プルメリア',
|
||||
'journey.studio.sticker.monsteraLeaf': 'モンステラの葉',
|
||||
'journey.studio.sticker.palmLeaf': 'ヤシの葉',
|
||||
'journey.studio.sticker.bananaLeaf': 'バナナの葉',
|
||||
'journey.studio.sticker.palmTree': 'ヤシの木',
|
||||
'journey.studio.sticker.pineapple': 'パイナップル',
|
||||
'journey.studio.sticker.coconutDrink': 'ココナッツドリンク',
|
||||
'journey.studio.sticker.parrot': 'オウム',
|
||||
'journey.studio.sticker.toucan': 'オオハシ',
|
||||
'journey.studio.sticker.flamingo': 'フラミンゴ',
|
||||
'journey.studio.sticker.lemon': 'レモン',
|
||||
'journey.studio.sticker.lemonBranch': 'レモンの枝',
|
||||
'journey.studio.sticker.lemonVase': 'レモンを生けた花瓶',
|
||||
'journey.studio.sticker.oliveBranch': 'オリーブの枝',
|
||||
'journey.studio.sticker.orangeSlice': 'オレンジの輪切り',
|
||||
'journey.studio.sticker.fig': 'イチジク',
|
||||
'journey.studio.sticker.amphora': 'アンフォラ',
|
||||
'journey.studio.sticker.sardine': 'イワシ',
|
||||
'journey.studio.sticker.azulejoTile': 'アズレージョのタイル',
|
||||
'journey.studio.sticker.shutterWindow': '鎧戸のある窓',
|
||||
'journey.studio.sticker.bougainvillea': 'ブーゲンビリア',
|
||||
'journey.studio.sticker.strawHat': '麦わら帽子',
|
||||
'journey.studio.sticker.windmill': '風車',
|
||||
'journey.studio.sticker.santoriniChurch': 'サントリーニ島の礼拝堂',
|
||||
'journey.studio.sticker.waves': '波',
|
||||
'journey.studio.sticker.sun': '太陽',
|
||||
'journey.studio.sticker.seaTurtle': 'ウミガメ',
|
||||
'journey.studio.sticker.scallopShell': 'ホタテの貝殻',
|
||||
'journey.studio.sticker.starfish': 'ヒトデ',
|
||||
'journey.studio.sticker.tropicalFish': '熱帯魚',
|
||||
'journey.studio.sticker.coral': 'サンゴ',
|
||||
'journey.studio.sticker.sailboat': 'ヨット',
|
||||
'journey.studio.sticker.lighthouse': '灯台',
|
||||
'journey.studio.sticker.anchor': '錨',
|
||||
'journey.studio.sticker.lifebuoy': '浮き輪',
|
||||
'journey.studio.sticker.seagull': 'カモメ',
|
||||
'journey.studio.sticker.beachUmbrella': 'ビーチパラソル',
|
||||
'journey.studio.sticker.mountainRange': '山並み',
|
||||
'journey.studio.sticker.snowPeak': '雪をかぶった山頂',
|
||||
'journey.studio.sticker.pineTrees': 'モミの木',
|
||||
'journey.studio.sticker.mountainLake': '山の湖',
|
||||
'journey.studio.sticker.tent': 'テント',
|
||||
'journey.studio.sticker.campfire': 'キャンプファイヤー',
|
||||
'journey.studio.sticker.cableCar': 'ロープウェイ',
|
||||
'journey.studio.sticker.edelweiss': 'エーデルワイス',
|
||||
'journey.studio.sticker.hikingBoot': '登山靴',
|
||||
'journey.studio.sticker.compassRose': '方位図',
|
||||
'journey.studio.sticker.rowHouses': '港の家並み',
|
||||
'journey.studio.sticker.fjord': 'フィヨルド',
|
||||
'journey.studio.sticker.northernLights': 'オーロラ',
|
||||
'journey.studio.sticker.redCabin': '赤い小屋',
|
||||
'journey.studio.sticker.ferry': 'フェリー',
|
||||
'journey.studio.sticker.reindeer': 'トナカイ',
|
||||
'journey.studio.sticker.puffin': 'ツノメドリ',
|
||||
'journey.studio.sticker.dalaHorse': 'ダーラナホース',
|
||||
'journey.studio.sticker.cinnamonBun': 'シナモンロール',
|
||||
'journey.studio.sticker.bicycle': '自転車',
|
||||
'journey.studio.sticker.mountFuji': '富士山',
|
||||
'journey.studio.sticker.toriiGate': '鳥居',
|
||||
'journey.studio.sticker.pagoda': '五重塔',
|
||||
'journey.studio.sticker.cherryBlossom': '桜',
|
||||
'journey.studio.sticker.paperLantern': '提灯',
|
||||
'journey.studio.sticker.koi': '錦鯉',
|
||||
'journey.studio.sticker.bamboo': '竹',
|
||||
'journey.studio.sticker.foldingFan': '扇子',
|
||||
'journey.studio.sticker.lotus': '蓮の花',
|
||||
'journey.studio.sticker.templeArch': '寺院のアーチ',
|
||||
'journey.studio.sticker.elephant': 'ゾウ',
|
||||
'journey.studio.sticker.tukTuk': 'トゥクトゥク',
|
||||
'journey.studio.sticker.espresso': 'エスプレッソ',
|
||||
'journey.studio.sticker.cappuccino': 'カプチーノ',
|
||||
'journey.studio.sticker.croissant': 'クロワッサン',
|
||||
'journey.studio.sticker.pastelDeNata': 'パステル・デ・ナタ',
|
||||
'journey.studio.sticker.baguette': 'バゲット',
|
||||
'journey.studio.sticker.pretzel': 'プレッツェル',
|
||||
'journey.studio.sticker.gelato': 'ジェラート',
|
||||
'journey.studio.sticker.pizzaSlice': 'ピザの一切れ',
|
||||
'journey.studio.sticker.wineGlass': 'グラスワイン',
|
||||
'journey.studio.sticker.spritz': 'スプリッツ',
|
||||
'journey.studio.sticker.ramen': 'ラーメン',
|
||||
'journey.studio.sticker.sushi': '寿司',
|
||||
'journey.studio.sticker.washiStripes': 'ストライプのマスキングテープ',
|
||||
'journey.studio.sticker.washiDots': '水玉のマスキングテープ',
|
||||
'journey.studio.sticker.washiGingham': 'ギンガムチェックのマスキングテープ',
|
||||
'journey.studio.sticker.washiFloral': '花柄のマスキングテープ',
|
||||
'journey.studio.sticker.washiKraft': 'クラフト紙のテープ',
|
||||
'journey.studio.sticker.maskingTape': 'マスキングテープ',
|
||||
'journey.studio.sticker.tornPaper': '破った紙片',
|
||||
'journey.studio.sticker.stickyNote': '付箋',
|
||||
'journey.studio.sticker.notebookPaper': 'ノートのページ',
|
||||
'journey.studio.sticker.photoCorners': 'フォトコーナー',
|
||||
'journey.studio.sticker.paperClip': 'ゼムクリップ',
|
||||
'journey.studio.sticker.sewnLabel': '縫い付けラベル',
|
||||
'journey.studio.sticker.handCircle': '手描きの丸',
|
||||
'journey.studio.sticker.underlineSwoosh': '下線',
|
||||
'journey.studio.sticker.markerHighlight': '蛍光ペンの線',
|
||||
'journey.studio.sticker.handArrow': '矢印',
|
||||
'journey.studio.sticker.curlyArrow': 'くるっとした矢印',
|
||||
'journey.studio.sticker.loopArrow': 'ループの矢印',
|
||||
'journey.studio.sticker.sparkles': 'キラキラ',
|
||||
'journey.studio.sticker.doodleHeart': '手描きのハート',
|
||||
'journey.studio.sticker.doodleStars': '手描きの星',
|
||||
'journey.studio.sticker.squiggle': 'くねくね線',
|
||||
'journey.studio.sticker.xMark': '宝のありかのバツ印',
|
||||
'journey.studio.sticker.dottedPath': '点線の道',
|
||||
'journey.studio.sticker.sunDivider': '太陽の区切り線',
|
||||
'journey.studio.sticker.starRule': '星の区切り線',
|
||||
'journey.studio.sticker.diamondRule': 'アール・デコの区切り線',
|
||||
'journey.studio.sticker.dottedRule': '点線の区切り線',
|
||||
'journey.studio.sticker.waveRule': '波線の区切り線',
|
||||
'journey.studio.sticker.fleuron': '花形装飾',
|
||||
'journey.studio.sticker.laurelWreath': '月桂冠',
|
||||
'journey.studio.sticker.cornerFlourish': '飾り罫の角',
|
||||
'journey.studio.sticker.cornerScroll': '渦巻き模様の角',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': '스티커',
|
||||
'journey.studio.kind.sticker': '스티커',
|
||||
'journey.studio.searchStickers': '스티커 검색',
|
||||
'journey.studio.stickerThemes': '스티커 테마',
|
||||
'journey.studio.stickersAll': '전체',
|
||||
'journey.studio.stickersRecent': '최근 사용',
|
||||
'journey.studio.stickersHint': '스티커를 클릭하면 페이지 가운데에 놓이고, 원하는 위치로 끌어다 놓을 수도 있습니다.',
|
||||
'journey.studio.stickerColours': '색상',
|
||||
'journey.studio.stickerSlot': '색상 {index}',
|
||||
'journey.studio.stickerResetColours': '원래 색상',
|
||||
'journey.studio.stickerMissing': '이 스티커는 이 버전의 TREK 라이브러리에 없습니다.',
|
||||
'journey.studio.stickerPlacement': '배치',
|
||||
'journey.studio.stickerFlip': '좌우 반전',
|
||||
'journey.studio.stickerTurnLeft': '왼쪽으로 회전',
|
||||
'journey.studio.stickerTurnRight': '오른쪽으로 회전',
|
||||
'assistant.step.bookStickers': '스티커를 살펴보는 중',
|
||||
'journey.studio.stickerTheme.ephemera': '여행 소품',
|
||||
'journey.studio.stickerTheme.landmarks': '명소',
|
||||
'journey.studio.stickerTheme.tropical': '열대',
|
||||
'journey.studio.stickerTheme.mediterranean': '지중해',
|
||||
'journey.studio.stickerTheme.sea': '바다와 해안',
|
||||
'journey.studio.stickerTheme.mountains': '산',
|
||||
'journey.studio.stickerTheme.nordic': '북유럽',
|
||||
'journey.studio.stickerTheme.asia': '아시아와 인도',
|
||||
'journey.studio.stickerTheme.food': '음식과 음료',
|
||||
'journey.studio.stickerTheme.paper': '종이와 테이프',
|
||||
'journey.studio.stickerTheme.doodles': '낙서',
|
||||
'journey.studio.stickerTheme.ornaments': '장식',
|
||||
'journey.studio.sticker.airplane': '비행기',
|
||||
'journey.studio.sticker.boardingPass': '탑승권',
|
||||
'journey.studio.sticker.passport': '여권',
|
||||
'journey.studio.sticker.suitcase': '빈티지 여행 가방',
|
||||
'journey.studio.sticker.rollingSuitcase': '기내용 캐리어',
|
||||
'journey.studio.sticker.luggageTag': '수하물 태그',
|
||||
'journey.studio.sticker.ticket': '입장권',
|
||||
'journey.studio.sticker.camera': '카메라',
|
||||
'journey.studio.sticker.instantPhoto': '즉석 사진',
|
||||
'journey.studio.sticker.globe': '지구본',
|
||||
'journey.studio.sticker.mapPin': '지도 핀',
|
||||
'journey.studio.sticker.foldedMap': '접은 지도',
|
||||
'journey.studio.sticker.postageStamp': '우표',
|
||||
'journey.studio.sticker.postmark': '소인',
|
||||
'journey.studio.sticker.passportStamp': '여권 도장',
|
||||
'journey.studio.sticker.hotAirBalloon': '열기구',
|
||||
'journey.studio.sticker.sunglasses': '선글라스',
|
||||
'journey.studio.sticker.campervan': '캠핑카',
|
||||
'journey.studio.sticker.eiffelTower': '에펠탑',
|
||||
'journey.studio.sticker.arcDeTriomphe': '개선문',
|
||||
'journey.studio.sticker.colosseum': '콜로세움',
|
||||
'journey.studio.sticker.pisaTower': '피사의 사탑',
|
||||
'journey.studio.sticker.bigBen': '빅벤',
|
||||
'journey.studio.sticker.towerBridge': '타워 브리지',
|
||||
'journey.studio.sticker.sagradaFamilia': '사그라다 파밀리아',
|
||||
'journey.studio.sticker.brandenburgGate': '브란덴부르크 문',
|
||||
'journey.studio.sticker.hagiaSophia': '아야 소피아',
|
||||
'journey.studio.sticker.tajMahal': '타지마할',
|
||||
'journey.studio.sticker.pyramids': '기자의 피라미드',
|
||||
'journey.studio.sticker.statueOfLiberty': '자유의 여신상',
|
||||
'journey.studio.sticker.goldenGate': '금문교',
|
||||
'journey.studio.sticker.christRedeemer': '구세주 그리스도상',
|
||||
'journey.studio.sticker.sydneyOperaHouse': '시드니 오페라 하우스',
|
||||
'journey.studio.sticker.hibiscus': '히비스커스',
|
||||
'journey.studio.sticker.frangipani': '플루메리아',
|
||||
'journey.studio.sticker.monsteraLeaf': '몬스테라 잎',
|
||||
'journey.studio.sticker.palmLeaf': '야자 잎',
|
||||
'journey.studio.sticker.bananaLeaf': '바나나 잎',
|
||||
'journey.studio.sticker.palmTree': '야자나무',
|
||||
'journey.studio.sticker.pineapple': '파인애플',
|
||||
'journey.studio.sticker.coconutDrink': '코코넛 음료',
|
||||
'journey.studio.sticker.parrot': '앵무새',
|
||||
'journey.studio.sticker.toucan': '큰부리새',
|
||||
'journey.studio.sticker.flamingo': '홍학',
|
||||
'journey.studio.sticker.lemon': '레몬',
|
||||
'journey.studio.sticker.lemonBranch': '레몬 가지',
|
||||
'journey.studio.sticker.lemonVase': '레몬 꽃병',
|
||||
'journey.studio.sticker.oliveBranch': '올리브 가지',
|
||||
'journey.studio.sticker.orangeSlice': '오렌지 조각',
|
||||
'journey.studio.sticker.fig': '무화과',
|
||||
'journey.studio.sticker.amphora': '암포라',
|
||||
'journey.studio.sticker.sardine': '정어리',
|
||||
'journey.studio.sticker.azulejoTile': '아줄레주 타일',
|
||||
'journey.studio.sticker.shutterWindow': '덧문 달린 창',
|
||||
'journey.studio.sticker.bougainvillea': '부겐빌레아',
|
||||
'journey.studio.sticker.strawHat': '밀짚모자',
|
||||
'journey.studio.sticker.windmill': '풍차',
|
||||
'journey.studio.sticker.santoriniChurch': '산토리니 예배당',
|
||||
'journey.studio.sticker.waves': '파도',
|
||||
'journey.studio.sticker.sun': '태양',
|
||||
'journey.studio.sticker.seaTurtle': '바다거북',
|
||||
'journey.studio.sticker.scallopShell': '가리비 껍데기',
|
||||
'journey.studio.sticker.starfish': '불가사리',
|
||||
'journey.studio.sticker.tropicalFish': '열대어',
|
||||
'journey.studio.sticker.coral': '산호',
|
||||
'journey.studio.sticker.sailboat': '돛단배',
|
||||
'journey.studio.sticker.lighthouse': '등대',
|
||||
'journey.studio.sticker.anchor': '닻',
|
||||
'journey.studio.sticker.lifebuoy': '구명 튜브',
|
||||
'journey.studio.sticker.seagull': '갈매기',
|
||||
'journey.studio.sticker.beachUmbrella': '비치 파라솔',
|
||||
'journey.studio.sticker.mountainRange': '산맥',
|
||||
'journey.studio.sticker.snowPeak': '눈 덮인 봉우리',
|
||||
'journey.studio.sticker.pineTrees': '전나무',
|
||||
'journey.studio.sticker.mountainLake': '산정 호수',
|
||||
'journey.studio.sticker.tent': '텐트',
|
||||
'journey.studio.sticker.campfire': '모닥불',
|
||||
'journey.studio.sticker.cableCar': '케이블카',
|
||||
'journey.studio.sticker.edelweiss': '에델바이스',
|
||||
'journey.studio.sticker.hikingBoot': '등산화',
|
||||
'journey.studio.sticker.compassRose': '나침도',
|
||||
'journey.studio.sticker.rowHouses': '항구의 집들',
|
||||
'journey.studio.sticker.fjord': '피오르',
|
||||
'journey.studio.sticker.northernLights': '오로라',
|
||||
'journey.studio.sticker.redCabin': '빨간 오두막',
|
||||
'journey.studio.sticker.ferry': '페리',
|
||||
'journey.studio.sticker.reindeer': '순록',
|
||||
'journey.studio.sticker.puffin': '퍼핀',
|
||||
'journey.studio.sticker.dalaHorse': '달라 목마',
|
||||
'journey.studio.sticker.cinnamonBun': '시나몬 롤',
|
||||
'journey.studio.sticker.bicycle': '자전거',
|
||||
'journey.studio.sticker.mountFuji': '후지산',
|
||||
'journey.studio.sticker.toriiGate': '도리이',
|
||||
'journey.studio.sticker.pagoda': '탑',
|
||||
'journey.studio.sticker.cherryBlossom': '벚꽃',
|
||||
'journey.studio.sticker.paperLantern': '종이 등',
|
||||
'journey.studio.sticker.koi': '비단잉어',
|
||||
'journey.studio.sticker.bamboo': '대나무',
|
||||
'journey.studio.sticker.foldingFan': '접부채',
|
||||
'journey.studio.sticker.lotus': '연꽃',
|
||||
'journey.studio.sticker.templeArch': '사원 아치',
|
||||
'journey.studio.sticker.elephant': '코끼리',
|
||||
'journey.studio.sticker.tukTuk': '툭툭',
|
||||
'journey.studio.sticker.espresso': '에스프레소',
|
||||
'journey.studio.sticker.cappuccino': '카푸치노',
|
||||
'journey.studio.sticker.croissant': '크루아상',
|
||||
'journey.studio.sticker.pastelDeNata': '파스텔 드 나타',
|
||||
'journey.studio.sticker.baguette': '바게트',
|
||||
'journey.studio.sticker.pretzel': '프레첼',
|
||||
'journey.studio.sticker.gelato': '젤라토',
|
||||
'journey.studio.sticker.pizzaSlice': '피자 한 조각',
|
||||
'journey.studio.sticker.wineGlass': '와인 한 잔',
|
||||
'journey.studio.sticker.spritz': '스프리츠',
|
||||
'journey.studio.sticker.ramen': '라멘',
|
||||
'journey.studio.sticker.sushi': '초밥',
|
||||
'journey.studio.sticker.washiStripes': '줄무늬 마스킹 테이프',
|
||||
'journey.studio.sticker.washiDots': '물방울 마스킹 테이프',
|
||||
'journey.studio.sticker.washiGingham': '체크무늬 마스킹 테이프',
|
||||
'journey.studio.sticker.washiFloral': '꽃무늬 마스킹 테이프',
|
||||
'journey.studio.sticker.washiKraft': '크라프트지 테이프',
|
||||
'journey.studio.sticker.maskingTape': '마스킹 테이프',
|
||||
'journey.studio.sticker.tornPaper': '찢은 종잇조각',
|
||||
'journey.studio.sticker.stickyNote': '접착 메모지',
|
||||
'journey.studio.sticker.notebookPaper': '공책 한 장',
|
||||
'journey.studio.sticker.photoCorners': '사진 모서리',
|
||||
'journey.studio.sticker.paperClip': '클립',
|
||||
'journey.studio.sticker.sewnLabel': '박음질 라벨',
|
||||
'journey.studio.sticker.handCircle': '손으로 그린 동그라미',
|
||||
'journey.studio.sticker.underlineSwoosh': '밑줄',
|
||||
'journey.studio.sticker.markerHighlight': '형광펜 줄',
|
||||
'journey.studio.sticker.handArrow': '화살표',
|
||||
'journey.studio.sticker.curlyArrow': '꼬불꼬불 화살표',
|
||||
'journey.studio.sticker.loopArrow': '고리 화살표',
|
||||
'journey.studio.sticker.sparkles': '반짝이',
|
||||
'journey.studio.sticker.doodleHeart': '손그림 하트',
|
||||
'journey.studio.sticker.doodleStars': '손그림 별',
|
||||
'journey.studio.sticker.squiggle': '구불구불한 선',
|
||||
'journey.studio.sticker.xMark': '보물 위치 X 표시',
|
||||
'journey.studio.sticker.dottedPath': '점선 길',
|
||||
'journey.studio.sticker.sunDivider': '태양 구분선',
|
||||
'journey.studio.sticker.starRule': '별 구분선',
|
||||
'journey.studio.sticker.diamondRule': '아르데코 구분선',
|
||||
'journey.studio.sticker.dottedRule': '점선 구분선',
|
||||
'journey.studio.sticker.waveRule': '물결 구분선',
|
||||
'journey.studio.sticker.fleuron': '꽃 장식',
|
||||
'journey.studio.sticker.laurelWreath': '월계관',
|
||||
'journey.studio.sticker.cornerFlourish': '장식 모서리',
|
||||
'journey.studio.sticker.cornerScroll': '소용돌이 모서리',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Stickers', // same-as-en
|
||||
'journey.studio.kind.sticker': 'Sticker', // same-as-en
|
||||
'journey.studio.searchStickers': 'Stickers zoeken',
|
||||
'journey.studio.stickerThemes': 'Stickerthema’s',
|
||||
'journey.studio.stickersAll': 'Alle',
|
||||
'journey.studio.stickersRecent': 'Onlangs gebruikt',
|
||||
'journey.studio.stickersHint':
|
||||
'Klik op een sticker om hem midden op de pagina te zetten, of sleep hem naar de plek waar hij moet komen.',
|
||||
'journey.studio.stickerColours': 'Kleuren',
|
||||
'journey.studio.stickerSlot': 'Kleur {index}',
|
||||
'journey.studio.stickerResetColours': 'Oorspronkelijke kleuren',
|
||||
'journey.studio.stickerMissing': 'Deze sticker zit niet in de bibliotheek van deze versie van TREK.',
|
||||
'journey.studio.stickerPlacement': 'Plaatsing',
|
||||
'journey.studio.stickerFlip': 'Spiegelen',
|
||||
'journey.studio.stickerTurnLeft': 'Linksom draaien',
|
||||
'journey.studio.stickerTurnRight': 'Rechtsom draaien',
|
||||
'assistant.step.bookStickers': 'Bekijkt de stickers',
|
||||
'journey.studio.stickerTheme.ephemera': 'Reisspullen',
|
||||
'journey.studio.stickerTheme.landmarks': 'Bezienswaardigheden',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropen',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Middellandse Zee',
|
||||
'journey.studio.stickerTheme.sea': 'Zee en kust',
|
||||
'journey.studio.stickerTheme.mountains': 'Bergen',
|
||||
'journey.studio.stickerTheme.nordic': 'Noorden',
|
||||
'journey.studio.stickerTheme.asia': 'Azië en India',
|
||||
'journey.studio.stickerTheme.food': 'Eten en drinken',
|
||||
'journey.studio.stickerTheme.paper': 'Papier en tape',
|
||||
'journey.studio.stickerTheme.doodles': 'Krabbels',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamenten',
|
||||
'journey.studio.sticker.airplane': 'Vliegtuig',
|
||||
'journey.studio.sticker.boardingPass': 'Instapkaart',
|
||||
'journey.studio.sticker.passport': 'Paspoort',
|
||||
'journey.studio.sticker.suitcase': 'Ouderwetse koffer',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Handbagagekoffer',
|
||||
'journey.studio.sticker.luggageTag': 'Bagagelabel',
|
||||
'journey.studio.sticker.ticket': 'Toegangskaartje',
|
||||
'journey.studio.sticker.camera': 'Fotocamera',
|
||||
'journey.studio.sticker.instantPhoto': 'Polaroidfoto',
|
||||
'journey.studio.sticker.globe': 'Wereldbol',
|
||||
'journey.studio.sticker.mapPin': 'Kaartspeld',
|
||||
'journey.studio.sticker.foldedMap': 'Gevouwen kaart',
|
||||
'journey.studio.sticker.postageStamp': 'Postzegel',
|
||||
'journey.studio.sticker.postmark': 'Poststempel',
|
||||
'journey.studio.sticker.passportStamp': 'Paspoortstempel',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Luchtballon',
|
||||
'journey.studio.sticker.sunglasses': 'Zonnebril',
|
||||
'journey.studio.sticker.campervan': 'Campervan',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffeltoren',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Arc de Triomphe in Parijs',
|
||||
'journey.studio.sticker.colosseum': 'Colosseum in Rome',
|
||||
'journey.studio.sticker.pisaTower': 'Scheve toren van Pisa',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben in Londen',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge in Londen',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família in Barcelona',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburger Tor',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia in Istanbul',
|
||||
'journey.studio.sticker.tajMahal': 'Taj Mahal in Agra',
|
||||
'journey.studio.sticker.pyramids': 'Piramides van Gizeh',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Vrijheidsbeeld',
|
||||
'journey.studio.sticker.goldenGate': 'Golden Gate-brug',
|
||||
'journey.studio.sticker.christRedeemer': 'Christus de Verlosser',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opera van Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiscus', // same-as-en
|
||||
'journey.studio.sticker.frangipani': 'Frangipani', // same-as-en
|
||||
'journey.studio.sticker.monsteraLeaf': 'Monsterablad',
|
||||
'journey.studio.sticker.palmLeaf': 'Palmblad',
|
||||
'journey.studio.sticker.bananaLeaf': 'Bananenblad',
|
||||
'journey.studio.sticker.palmTree': 'Palmboom',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Drankje in een kokosnoot',
|
||||
'journey.studio.sticker.parrot': 'Papegaai',
|
||||
'journey.studio.sticker.toucan': 'Toekan',
|
||||
'journey.studio.sticker.flamingo': 'Flamingo', // same-as-en
|
||||
'journey.studio.sticker.lemon': 'Citroen',
|
||||
'journey.studio.sticker.lemonBranch': 'Citroentak',
|
||||
'journey.studio.sticker.lemonVase': 'Vaas met citroenen',
|
||||
'journey.studio.sticker.oliveBranch': 'Olijftak',
|
||||
'journey.studio.sticker.orangeSlice': 'Sinaasappelschijf',
|
||||
'journey.studio.sticker.fig': 'Vijgen',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardine', // same-as-en
|
||||
'journey.studio.sticker.azulejoTile': 'Azulejotegel',
|
||||
'journey.studio.sticker.shutterWindow': 'Raam met luiken',
|
||||
'journey.studio.sticker.bougainvillea': 'Bougainville',
|
||||
'journey.studio.sticker.strawHat': 'Strohoed',
|
||||
'journey.studio.sticker.windmill': 'Windmolen',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kapel op Santorini',
|
||||
'journey.studio.sticker.waves': 'Golven',
|
||||
'journey.studio.sticker.sun': 'Zon',
|
||||
'journey.studio.sticker.seaTurtle': 'Zeeschildpad',
|
||||
'journey.studio.sticker.scallopShell': 'Sint-jakobsschelp',
|
||||
'journey.studio.sticker.starfish': 'Zeester',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropische vis',
|
||||
'journey.studio.sticker.coral': 'Koraal',
|
||||
'journey.studio.sticker.sailboat': 'Zeilboot',
|
||||
'journey.studio.sticker.lighthouse': 'Vuurtoren',
|
||||
'journey.studio.sticker.anchor': 'Anker',
|
||||
'journey.studio.sticker.lifebuoy': 'Reddingsboei',
|
||||
'journey.studio.sticker.seagull': 'Meeuw',
|
||||
'journey.studio.sticker.beachUmbrella': 'Parasol',
|
||||
'journey.studio.sticker.mountainRange': 'Bergketen',
|
||||
'journey.studio.sticker.snowPeak': 'Besneeuwde top',
|
||||
'journey.studio.sticker.pineTrees': 'Dennenbomen',
|
||||
'journey.studio.sticker.mountainLake': 'Bergmeer',
|
||||
'journey.studio.sticker.tent': 'Tent', // same-as-en
|
||||
'journey.studio.sticker.campfire': 'Kampvuur',
|
||||
'journey.studio.sticker.cableCar': 'Kabelbaan',
|
||||
'journey.studio.sticker.edelweiss': 'Edelweiss', // same-as-en
|
||||
'journey.studio.sticker.hikingBoot': 'Wandelschoen',
|
||||
'journey.studio.sticker.compassRose': 'Windroos',
|
||||
'journey.studio.sticker.rowHouses': 'Havenhuizen',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Noorderlicht',
|
||||
'journey.studio.sticker.redCabin': 'Rood huisje',
|
||||
'journey.studio.sticker.ferry': 'Veerboot',
|
||||
'journey.studio.sticker.reindeer': 'Rendier',
|
||||
'journey.studio.sticker.puffin': 'Papegaaiduiker',
|
||||
'journey.studio.sticker.dalaHorse': 'Dalapaardje',
|
||||
'journey.studio.sticker.cinnamonBun': 'Kaneelbroodje',
|
||||
'journey.studio.sticker.bicycle': 'Fiets',
|
||||
'journey.studio.sticker.mountFuji': 'Fuji',
|
||||
'journey.studio.sticker.toriiGate': 'Toriipoort',
|
||||
'journey.studio.sticker.pagoda': 'Pagode',
|
||||
'journey.studio.sticker.cherryBlossom': 'Kersenbloesem',
|
||||
'journey.studio.sticker.paperLantern': 'Papieren lampion',
|
||||
'journey.studio.sticker.koi': 'Koikarper',
|
||||
'journey.studio.sticker.bamboo': 'Bamboe',
|
||||
'journey.studio.sticker.foldingFan': 'Waaier',
|
||||
'journey.studio.sticker.lotus': 'Lotusbloem',
|
||||
'journey.studio.sticker.templeArch': 'Tempelboog',
|
||||
'journey.studio.sticker.elephant': 'Olifant',
|
||||
'journey.studio.sticker.tukTuk': 'Tuktuk',
|
||||
'journey.studio.sticker.espresso': 'Espresso', // same-as-en
|
||||
'journey.studio.sticker.cappuccino': 'Cappuccino', // same-as-en
|
||||
'journey.studio.sticker.croissant': 'Croissant', // same-as-en
|
||||
'journey.studio.sticker.pastelDeNata': 'Portugees roomtaartje',
|
||||
'journey.studio.sticker.baguette': 'Stokbrood',
|
||||
'journey.studio.sticker.pretzel': 'Pretzel', // same-as-en
|
||||
'journey.studio.sticker.gelato': 'IJshoorntje',
|
||||
'journey.studio.sticker.pizzaSlice': 'Pizzapunt',
|
||||
'journey.studio.sticker.wineGlass': 'Glas wijn',
|
||||
'journey.studio.sticker.spritz': 'Spritz', // same-as-en
|
||||
'journey.studio.sticker.ramen': 'Ramen', // same-as-en
|
||||
'journey.studio.sticker.sushi': 'Sushi', // same-as-en
|
||||
'journey.studio.sticker.washiStripes': 'Gestreepte washitape',
|
||||
'journey.studio.sticker.washiDots': 'Gestippelde washitape',
|
||||
'journey.studio.sticker.washiGingham': 'Geruite washitape',
|
||||
'journey.studio.sticker.washiFloral': 'Washitape met bloemen',
|
||||
'journey.studio.sticker.washiKraft': 'Tape van kraftpapier',
|
||||
'journey.studio.sticker.maskingTape': 'Afplaktape',
|
||||
'journey.studio.sticker.tornPaper': 'Gescheurde papierstrook',
|
||||
'journey.studio.sticker.stickyNote': 'Plakbriefje',
|
||||
'journey.studio.sticker.notebookPaper': 'Schriftblaadje',
|
||||
'journey.studio.sticker.photoCorners': 'Fotohoekjes',
|
||||
'journey.studio.sticker.paperClip': 'Paperclip',
|
||||
'journey.studio.sticker.sewnLabel': 'Genaaid label',
|
||||
'journey.studio.sticker.handCircle': 'Getekende cirkel',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Onderstreping',
|
||||
'journey.studio.sticker.markerHighlight': 'Markeerstreep',
|
||||
'journey.studio.sticker.handArrow': 'Pijl',
|
||||
'journey.studio.sticker.curlyArrow': 'Krullende pijl',
|
||||
'journey.studio.sticker.loopArrow': 'Lussenpijl',
|
||||
'journey.studio.sticker.sparkles': 'Fonkelingen',
|
||||
'journey.studio.sticker.doodleHeart': 'Gekrabbeld hart',
|
||||
'journey.studio.sticker.doodleStars': 'Gekrabbelde sterren',
|
||||
'journey.studio.sticker.squiggle': 'Kronkellijn',
|
||||
'journey.studio.sticker.xMark': 'Hier ligt de schat',
|
||||
'journey.studio.sticker.dottedPath': 'Stippelpad',
|
||||
'journey.studio.sticker.sunDivider': 'Scheidingslijn met zon',
|
||||
'journey.studio.sticker.starRule': 'Scheidingslijn met sterren',
|
||||
'journey.studio.sticker.diamondRule': 'Art-decoscheidingslijn',
|
||||
'journey.studio.sticker.dottedRule': 'Gestippelde scheidingslijn',
|
||||
'journey.studio.sticker.waveRule': 'Golvende scheidingslijn',
|
||||
'journey.studio.sticker.fleuron': 'Fleuron', // same-as-en
|
||||
'journey.studio.sticker.laurelWreath': 'Lauwerkrans',
|
||||
'journey.studio.sticker.cornerFlourish': 'Hoekkrul',
|
||||
'journey.studio.sticker.cornerScroll': 'Hoekornament',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Naklejki',
|
||||
'journey.studio.kind.sticker': 'Naklejka',
|
||||
'journey.studio.searchStickers': 'Szukaj naklejek',
|
||||
'journey.studio.stickerThemes': 'Motywy naklejek',
|
||||
'journey.studio.stickersAll': 'Wszystkie',
|
||||
'journey.studio.stickersRecent': 'Ostatnio używane',
|
||||
'journey.studio.stickersHint':
|
||||
'Kliknij naklejkę, aby umieścić ją na środku strony, albo przeciągnij ją tam, gdzie ma się znaleźć.',
|
||||
'journey.studio.stickerColours': 'Kolory',
|
||||
'journey.studio.stickerSlot': 'Kolor {index}',
|
||||
'journey.studio.stickerResetColours': 'Oryginalne kolory',
|
||||
'journey.studio.stickerMissing': 'Tej naklejki nie ma w bibliotece tej wersji TREK.',
|
||||
'journey.studio.stickerPlacement': 'Położenie',
|
||||
'journey.studio.stickerFlip': 'Odbij lustrzanie',
|
||||
'journey.studio.stickerTurnLeft': 'Obróć w lewo',
|
||||
'journey.studio.stickerTurnRight': 'Obróć w prawo',
|
||||
'assistant.step.bookStickers': 'Przegląda naklejki',
|
||||
'journey.studio.stickerTheme.ephemera': 'Rzeczy z podróży',
|
||||
'journey.studio.stickerTheme.landmarks': 'Zabytki',
|
||||
'journey.studio.stickerTheme.tropical': 'Tropiki',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Śródziemnomorskie',
|
||||
'journey.studio.stickerTheme.sea': 'Morze i wybrzeże',
|
||||
'journey.studio.stickerTheme.mountains': 'Góry',
|
||||
'journey.studio.stickerTheme.nordic': 'Północ',
|
||||
'journey.studio.stickerTheme.asia': 'Azja i Indie',
|
||||
'journey.studio.stickerTheme.food': 'Jedzenie i picie',
|
||||
'journey.studio.stickerTheme.paper': 'Papier i taśma',
|
||||
'journey.studio.stickerTheme.doodles': 'Bazgroły',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ozdobniki',
|
||||
'journey.studio.sticker.airplane': 'Samolot',
|
||||
'journey.studio.sticker.boardingPass': 'Karta pokładowa',
|
||||
'journey.studio.sticker.passport': 'Paszport',
|
||||
'journey.studio.sticker.suitcase': 'Stara walizka',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Walizka kabinowa',
|
||||
'journey.studio.sticker.luggageTag': 'Zawieszka na bagaż',
|
||||
'journey.studio.sticker.ticket': 'Bilet wstępu',
|
||||
'journey.studio.sticker.camera': 'Aparat fotograficzny',
|
||||
'journey.studio.sticker.instantPhoto': 'Zdjęcie natychmiastowe',
|
||||
'journey.studio.sticker.globe': 'Globus',
|
||||
'journey.studio.sticker.mapPin': 'Pinezka na mapie',
|
||||
'journey.studio.sticker.foldedMap': 'Złożona mapa',
|
||||
'journey.studio.sticker.postageStamp': 'Znaczek pocztowy',
|
||||
'journey.studio.sticker.postmark': 'Stempel pocztowy',
|
||||
'journey.studio.sticker.passportStamp': 'Pieczątka w paszporcie',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Balon na ogrzane powietrze',
|
||||
'journey.studio.sticker.sunglasses': 'Okulary przeciwsłoneczne',
|
||||
'journey.studio.sticker.campervan': 'Kamper',
|
||||
'journey.studio.sticker.eiffelTower': 'Wieża Eiffla',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Łuk Triumfalny',
|
||||
'journey.studio.sticker.colosseum': 'Koloseum',
|
||||
'journey.studio.sticker.pisaTower': 'Krzywa Wieża w Pizie',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben w Londynie',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge w Londynie',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família w Barcelonie',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brama Brandenburska',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sophia w Stambule',
|
||||
'journey.studio.sticker.tajMahal': 'Tadż Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Piramidy w Gizie',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Statua Wolności',
|
||||
'journey.studio.sticker.goldenGate': 'Most Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Pomnik Chrystusa Zbawiciela',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opera w Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Hibiskus',
|
||||
'journey.studio.sticker.frangipani': 'Plumeria',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Liść monstery',
|
||||
'journey.studio.sticker.palmLeaf': 'Liść palmy',
|
||||
'journey.studio.sticker.bananaLeaf': 'Liść bananowca',
|
||||
'journey.studio.sticker.palmTree': 'Palma',
|
||||
'journey.studio.sticker.pineapple': 'Ananas',
|
||||
'journey.studio.sticker.coconutDrink': 'Napój w kokosie',
|
||||
'journey.studio.sticker.parrot': 'Papuga',
|
||||
'journey.studio.sticker.toucan': 'Tukan',
|
||||
'journey.studio.sticker.flamingo': 'Flaming',
|
||||
'journey.studio.sticker.lemon': 'Cytryna',
|
||||
'journey.studio.sticker.lemonBranch': 'Gałązka cytryny',
|
||||
'journey.studio.sticker.lemonVase': 'Wazon z cytrynami',
|
||||
'journey.studio.sticker.oliveBranch': 'Gałązka oliwna',
|
||||
'journey.studio.sticker.orangeSlice': 'Plaster pomarańczy',
|
||||
'journey.studio.sticker.fig': 'Figi',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardynka',
|
||||
'journey.studio.sticker.azulejoTile': 'Kafel azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Okno z okiennicami',
|
||||
'journey.studio.sticker.bougainvillea': 'Bugenwilla',
|
||||
'journey.studio.sticker.strawHat': 'Słomkowy kapelusz',
|
||||
'journey.studio.sticker.windmill': 'Wiatrak',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kaplica na Santorini',
|
||||
'journey.studio.sticker.waves': 'Fale',
|
||||
'journey.studio.sticker.sun': 'Słońce',
|
||||
'journey.studio.sticker.seaTurtle': 'Żółw morski',
|
||||
'journey.studio.sticker.scallopShell': 'Muszla przegrzebka',
|
||||
'journey.studio.sticker.starfish': 'Rozgwiazda',
|
||||
'journey.studio.sticker.tropicalFish': 'Ryba tropikalna',
|
||||
'journey.studio.sticker.coral': 'Koral',
|
||||
'journey.studio.sticker.sailboat': 'Żaglówka',
|
||||
'journey.studio.sticker.lighthouse': 'Latarnia morska',
|
||||
'journey.studio.sticker.anchor': 'Kotwica',
|
||||
'journey.studio.sticker.lifebuoy': 'Koło ratunkowe',
|
||||
'journey.studio.sticker.seagull': 'Mewa',
|
||||
'journey.studio.sticker.beachUmbrella': 'Parasol plażowy',
|
||||
'journey.studio.sticker.mountainRange': 'Pasmo górskie',
|
||||
'journey.studio.sticker.snowPeak': 'Ośnieżony szczyt',
|
||||
'journey.studio.sticker.pineTrees': 'Sosny',
|
||||
'journey.studio.sticker.mountainLake': 'Górskie jezioro',
|
||||
'journey.studio.sticker.tent': 'Namiot',
|
||||
'journey.studio.sticker.campfire': 'Ognisko',
|
||||
'journey.studio.sticker.cableCar': 'Kolejka linowa',
|
||||
'journey.studio.sticker.edelweiss': 'Szarotka',
|
||||
'journey.studio.sticker.hikingBoot': 'But trekkingowy',
|
||||
'journey.studio.sticker.compassRose': 'Róża wiatrów',
|
||||
'journey.studio.sticker.rowHouses': 'Domy w porcie',
|
||||
'journey.studio.sticker.fjord': 'Fiord',
|
||||
'journey.studio.sticker.northernLights': 'Zorza polarna',
|
||||
'journey.studio.sticker.redCabin': 'Czerwony domek',
|
||||
'journey.studio.sticker.ferry': 'Prom',
|
||||
'journey.studio.sticker.reindeer': 'Renifer',
|
||||
'journey.studio.sticker.puffin': 'Maskonur',
|
||||
'journey.studio.sticker.dalaHorse': 'Konik z Dalarny',
|
||||
'journey.studio.sticker.cinnamonBun': 'Bułeczka cynamonowa',
|
||||
'journey.studio.sticker.bicycle': 'Rower',
|
||||
'journey.studio.sticker.mountFuji': 'Góra Fudżi',
|
||||
'journey.studio.sticker.toriiGate': 'Brama torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Kwiat wiśni',
|
||||
'journey.studio.sticker.paperLantern': 'Papierowy lampion',
|
||||
'journey.studio.sticker.koi': 'Karp koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambus',
|
||||
'journey.studio.sticker.foldingFan': 'Wachlarz',
|
||||
'journey.studio.sticker.lotus': 'Kwiat lotosu',
|
||||
'journey.studio.sticker.templeArch': 'Łuk świątyni',
|
||||
'journey.studio.sticker.elephant': 'Słoń',
|
||||
'journey.studio.sticker.tukTuk': 'Tuk-tuk z Azji',
|
||||
'journey.studio.sticker.espresso': 'Kawa espresso',
|
||||
'journey.studio.sticker.cappuccino': 'Kawa cappuccino',
|
||||
'journey.studio.sticker.croissant': 'Rogalik francuski',
|
||||
'journey.studio.sticker.pastelDeNata': 'Babeczka pastel de nata',
|
||||
'journey.studio.sticker.baguette': 'Bagietka',
|
||||
'journey.studio.sticker.pretzel': 'Precel',
|
||||
'journey.studio.sticker.gelato': 'Lody w rożku',
|
||||
'journey.studio.sticker.pizzaSlice': 'Kawałek pizzy',
|
||||
'journey.studio.sticker.wineGlass': 'Kieliszek wina',
|
||||
'journey.studio.sticker.spritz': 'Spritz z Wenecji',
|
||||
'journey.studio.sticker.ramen': 'Miska ramenu',
|
||||
'journey.studio.sticker.sushi': 'Suszi',
|
||||
'journey.studio.sticker.washiStripes': 'Taśma washi w paski',
|
||||
'journey.studio.sticker.washiDots': 'Taśma washi w kropki',
|
||||
'journey.studio.sticker.washiGingham': 'Taśma washi w kratkę',
|
||||
'journey.studio.sticker.washiFloral': 'Taśma washi w kwiaty',
|
||||
'journey.studio.sticker.washiKraft': 'Taśma z papieru kraft',
|
||||
'journey.studio.sticker.maskingTape': 'Taśma malarska',
|
||||
'journey.studio.sticker.tornPaper': 'Podarty pasek papieru',
|
||||
'journey.studio.sticker.stickyNote': 'Karteczka samoprzylepna',
|
||||
'journey.studio.sticker.notebookPaper': 'Kartka z zeszytu',
|
||||
'journey.studio.sticker.photoCorners': 'Narożniki do zdjęć',
|
||||
'journey.studio.sticker.paperClip': 'Spinacz',
|
||||
'journey.studio.sticker.sewnLabel': 'Naszywana metka',
|
||||
'journey.studio.sticker.handCircle': 'Odręczne kółko',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Podkreślenie',
|
||||
'journey.studio.sticker.markerHighlight': 'Pociągnięcie zakreślacza',
|
||||
'journey.studio.sticker.handArrow': 'Strzałka',
|
||||
'journey.studio.sticker.curlyArrow': 'Kręcona strzałka',
|
||||
'journey.studio.sticker.loopArrow': 'Strzałka z pętlą',
|
||||
'journey.studio.sticker.sparkles': 'Iskierki',
|
||||
'journey.studio.sticker.doodleHeart': 'Narysowane serce',
|
||||
'journey.studio.sticker.doodleStars': 'Narysowane gwiazdki',
|
||||
'journey.studio.sticker.squiggle': 'Zawijas',
|
||||
'journey.studio.sticker.xMark': 'X jak skarb',
|
||||
'journey.studio.sticker.dottedPath': 'Kropkowana ścieżka',
|
||||
'journey.studio.sticker.sunDivider': 'Separator ze słońcem',
|
||||
'journey.studio.sticker.starRule': 'Separator z gwiazdkami',
|
||||
'journey.studio.sticker.diamondRule': 'Separator art déco',
|
||||
'journey.studio.sticker.dottedRule': 'Separator z kropek',
|
||||
'journey.studio.sticker.waveRule': 'Falisty separator',
|
||||
'journey.studio.sticker.fleuron': 'Fleuron', // same-as-en
|
||||
'journey.studio.sticker.laurelWreath': 'Wieniec laurowy',
|
||||
'journey.studio.sticker.cornerFlourish': 'Ozdobny róg',
|
||||
'journey.studio.sticker.cornerScroll': 'Róg ze ślimacznicą',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Стикеры',
|
||||
'journey.studio.kind.sticker': 'Стикер',
|
||||
'journey.studio.searchStickers': 'Искать стикеры',
|
||||
'journey.studio.stickerThemes': 'Темы стикеров',
|
||||
'journey.studio.stickersAll': 'Все',
|
||||
'journey.studio.stickersRecent': 'Недавние',
|
||||
'journey.studio.stickersHint':
|
||||
'Нажмите на стикер, чтобы поставить его в центр страницы, или перетащите его туда, где он нужен.',
|
||||
'journey.studio.stickerColours': 'Цвета',
|
||||
'journey.studio.stickerSlot': 'Цвет {index}',
|
||||
'journey.studio.stickerResetColours': 'Исходные цвета',
|
||||
'journey.studio.stickerMissing': 'Этого стикера нет в библиотеке этой версии TREK.',
|
||||
'journey.studio.stickerPlacement': 'Расположение',
|
||||
'journey.studio.stickerFlip': 'Отразить',
|
||||
'journey.studio.stickerTurnLeft': 'Повернуть влево',
|
||||
'journey.studio.stickerTurnRight': 'Повернуть вправо',
|
||||
'assistant.step.bookStickers': 'Просматривает стикеры',
|
||||
'journey.studio.stickerTheme.ephemera': 'Дорожные вещи',
|
||||
'journey.studio.stickerTheme.landmarks': 'Достопримечательности',
|
||||
'journey.studio.stickerTheme.tropical': 'Тропики',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Средиземноморье',
|
||||
'journey.studio.stickerTheme.sea': 'Море и побережье',
|
||||
'journey.studio.stickerTheme.mountains': 'Горы',
|
||||
'journey.studio.stickerTheme.nordic': 'Север',
|
||||
'journey.studio.stickerTheme.asia': 'Азия и Индия',
|
||||
'journey.studio.stickerTheme.food': 'Еда и напитки',
|
||||
'journey.studio.stickerTheme.paper': 'Бумага и лента',
|
||||
'journey.studio.stickerTheme.doodles': 'Каракули',
|
||||
'journey.studio.stickerTheme.ornaments': 'Орнаменты',
|
||||
'journey.studio.sticker.airplane': 'Самолёт',
|
||||
'journey.studio.sticker.boardingPass': 'Посадочный талон',
|
||||
'journey.studio.sticker.passport': 'Паспорт',
|
||||
'journey.studio.sticker.suitcase': 'Старый чемодан',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Чемодан для ручной клади',
|
||||
'journey.studio.sticker.luggageTag': 'Багажная бирка',
|
||||
'journey.studio.sticker.ticket': 'Входной билет',
|
||||
'journey.studio.sticker.camera': 'Фотоаппарат',
|
||||
'journey.studio.sticker.instantPhoto': 'Моментальное фото',
|
||||
'journey.studio.sticker.globe': 'Глобус',
|
||||
'journey.studio.sticker.mapPin': 'Метка на карте',
|
||||
'journey.studio.sticker.foldedMap': 'Сложенная карта',
|
||||
'journey.studio.sticker.postageStamp': 'Почтовая марка',
|
||||
'journey.studio.sticker.postmark': 'Почтовый штемпель',
|
||||
'journey.studio.sticker.passportStamp': 'Штамп в паспорте',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Воздушный шар',
|
||||
'journey.studio.sticker.sunglasses': 'Солнцезащитные очки',
|
||||
'journey.studio.sticker.campervan': 'Кемпер',
|
||||
'journey.studio.sticker.eiffelTower': 'Эйфелева башня',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Триумфальная арка',
|
||||
'journey.studio.sticker.colosseum': 'Колизей',
|
||||
'journey.studio.sticker.pisaTower': 'Пизанская башня',
|
||||
'journey.studio.sticker.bigBen': 'Биг-Бен',
|
||||
'journey.studio.sticker.towerBridge': 'Тауэрский мост',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Саграда Фамилия',
|
||||
'journey.studio.sticker.brandenburgGate': 'Бранденбургские ворота',
|
||||
'journey.studio.sticker.hagiaSophia': 'Собор Святой Софии',
|
||||
'journey.studio.sticker.tajMahal': 'Тадж-Махал',
|
||||
'journey.studio.sticker.pyramids': 'Пирамиды Гизы',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Статуя Свободы',
|
||||
'journey.studio.sticker.goldenGate': 'Мост Золотые Ворота',
|
||||
'journey.studio.sticker.christRedeemer': 'Статуя Христа-Искупителя',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Сиднейский оперный театр',
|
||||
'journey.studio.sticker.hibiscus': 'Гибискус',
|
||||
'journey.studio.sticker.frangipani': 'Франжипани',
|
||||
'journey.studio.sticker.monsteraLeaf': 'Лист монстеры',
|
||||
'journey.studio.sticker.palmLeaf': 'Пальмовый лист',
|
||||
'journey.studio.sticker.bananaLeaf': 'Банановый лист',
|
||||
'journey.studio.sticker.palmTree': 'Пальма',
|
||||
'journey.studio.sticker.pineapple': 'Ананас',
|
||||
'journey.studio.sticker.coconutDrink': 'Напиток в кокосе',
|
||||
'journey.studio.sticker.parrot': 'Попугай',
|
||||
'journey.studio.sticker.toucan': 'Тукан',
|
||||
'journey.studio.sticker.flamingo': 'Фламинго',
|
||||
'journey.studio.sticker.lemon': 'Лимон',
|
||||
'journey.studio.sticker.lemonBranch': 'Лимонная ветка',
|
||||
'journey.studio.sticker.lemonVase': 'Ваза с лимонами',
|
||||
'journey.studio.sticker.oliveBranch': 'Оливковая ветвь',
|
||||
'journey.studio.sticker.orangeSlice': 'Долька апельсина',
|
||||
'journey.studio.sticker.fig': 'Инжир',
|
||||
'journey.studio.sticker.amphora': 'Амфора',
|
||||
'journey.studio.sticker.sardine': 'Сардина',
|
||||
'journey.studio.sticker.azulejoTile': 'Плитка азулежу',
|
||||
'journey.studio.sticker.shutterWindow': 'Окно со ставнями',
|
||||
'journey.studio.sticker.bougainvillea': 'Бугенвиллея',
|
||||
'journey.studio.sticker.strawHat': 'Соломенная шляпа',
|
||||
'journey.studio.sticker.windmill': 'Ветряная мельница',
|
||||
'journey.studio.sticker.santoriniChurch': 'Часовня на Санторини',
|
||||
'journey.studio.sticker.waves': 'Волны',
|
||||
'journey.studio.sticker.sun': 'Солнце',
|
||||
'journey.studio.sticker.seaTurtle': 'Морская черепаха',
|
||||
'journey.studio.sticker.scallopShell': 'Раковина гребешка',
|
||||
'journey.studio.sticker.starfish': 'Морская звезда',
|
||||
'journey.studio.sticker.tropicalFish': 'Тропическая рыбка',
|
||||
'journey.studio.sticker.coral': 'Коралл',
|
||||
'journey.studio.sticker.sailboat': 'Парусник',
|
||||
'journey.studio.sticker.lighthouse': 'Маяк',
|
||||
'journey.studio.sticker.anchor': 'Якорь',
|
||||
'journey.studio.sticker.lifebuoy': 'Спасательный круг',
|
||||
'journey.studio.sticker.seagull': 'Чайка',
|
||||
'journey.studio.sticker.beachUmbrella': 'Пляжный зонт',
|
||||
'journey.studio.sticker.mountainRange': 'Горный хребет',
|
||||
'journey.studio.sticker.snowPeak': 'Снежная вершина',
|
||||
'journey.studio.sticker.pineTrees': 'Ели',
|
||||
'journey.studio.sticker.mountainLake': 'Горное озеро',
|
||||
'journey.studio.sticker.tent': 'Палатка',
|
||||
'journey.studio.sticker.campfire': 'Костёр',
|
||||
'journey.studio.sticker.cableCar': 'Канатная дорога',
|
||||
'journey.studio.sticker.edelweiss': 'Эдельвейс',
|
||||
'journey.studio.sticker.hikingBoot': 'Походный ботинок',
|
||||
'journey.studio.sticker.compassRose': 'Роза ветров',
|
||||
'journey.studio.sticker.rowHouses': 'Дома в гавани',
|
||||
'journey.studio.sticker.fjord': 'Фьорд',
|
||||
'journey.studio.sticker.northernLights': 'Северное сияние',
|
||||
'journey.studio.sticker.redCabin': 'Красный домик',
|
||||
'journey.studio.sticker.ferry': 'Паром',
|
||||
'journey.studio.sticker.reindeer': 'Северный олень',
|
||||
'journey.studio.sticker.puffin': 'Тупик',
|
||||
'journey.studio.sticker.dalaHorse': 'Далекарлийская лошадка',
|
||||
'journey.studio.sticker.cinnamonBun': 'Булочка с корицей',
|
||||
'journey.studio.sticker.bicycle': 'Велосипед',
|
||||
'journey.studio.sticker.mountFuji': 'Гора Фудзи',
|
||||
'journey.studio.sticker.toriiGate': 'Ворота тории',
|
||||
'journey.studio.sticker.pagoda': 'Пагода',
|
||||
'journey.studio.sticker.cherryBlossom': 'Цветущая сакура',
|
||||
'journey.studio.sticker.paperLantern': 'Бумажный фонарик',
|
||||
'journey.studio.sticker.koi': 'Карп кои',
|
||||
'journey.studio.sticker.bamboo': 'Бамбук',
|
||||
'journey.studio.sticker.foldingFan': 'Веер',
|
||||
'journey.studio.sticker.lotus': 'Цветок лотоса',
|
||||
'journey.studio.sticker.templeArch': 'Арка храма',
|
||||
'journey.studio.sticker.elephant': 'Слон',
|
||||
'journey.studio.sticker.tukTuk': 'Тук-тук',
|
||||
'journey.studio.sticker.espresso': 'Эспрессо',
|
||||
'journey.studio.sticker.cappuccino': 'Капучино',
|
||||
'journey.studio.sticker.croissant': 'Круассан',
|
||||
'journey.studio.sticker.pastelDeNata': 'Паштел-де-ната',
|
||||
'journey.studio.sticker.baguette': 'Багет',
|
||||
'journey.studio.sticker.pretzel': 'Крендель',
|
||||
'journey.studio.sticker.gelato': 'Мороженое в рожке',
|
||||
'journey.studio.sticker.pizzaSlice': 'Кусок пиццы',
|
||||
'journey.studio.sticker.wineGlass': 'Бокал вина',
|
||||
'journey.studio.sticker.spritz': 'Шприц',
|
||||
'journey.studio.sticker.ramen': 'Рамен',
|
||||
'journey.studio.sticker.sushi': 'Суши',
|
||||
'journey.studio.sticker.washiStripes': 'Полосатая лента васи',
|
||||
'journey.studio.sticker.washiDots': 'Лента васи в горошек',
|
||||
'journey.studio.sticker.washiGingham': 'Лента васи в клетку',
|
||||
'journey.studio.sticker.washiFloral': 'Лента васи с цветами',
|
||||
'journey.studio.sticker.washiKraft': 'Лента из крафт-бумаги',
|
||||
'journey.studio.sticker.maskingTape': 'Малярный скотч',
|
||||
'journey.studio.sticker.tornPaper': 'Рваная полоска бумаги',
|
||||
'journey.studio.sticker.stickyNote': 'Стикер для заметок',
|
||||
'journey.studio.sticker.notebookPaper': 'Тетрадный лист',
|
||||
'journey.studio.sticker.photoCorners': 'Фотоуголки',
|
||||
'journey.studio.sticker.paperClip': 'Скрепка',
|
||||
'journey.studio.sticker.sewnLabel': 'Пришитая бирка',
|
||||
'journey.studio.sticker.handCircle': 'Нарисованный от руки круг',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Подчёркивание',
|
||||
'journey.studio.sticker.markerHighlight': 'Полоса маркера',
|
||||
'journey.studio.sticker.handArrow': 'Стрелка',
|
||||
'journey.studio.sticker.curlyArrow': 'Завитая стрелка',
|
||||
'journey.studio.sticker.loopArrow': 'Стрелка с петлёй',
|
||||
'journey.studio.sticker.sparkles': 'Искорки',
|
||||
'journey.studio.sticker.doodleHeart': 'Нарисованное сердечко',
|
||||
'journey.studio.sticker.doodleStars': 'Нарисованные звёздочки',
|
||||
'journey.studio.sticker.squiggle': 'Волнистая линия',
|
||||
'journey.studio.sticker.xMark': 'Крестик на месте клада',
|
||||
'journey.studio.sticker.dottedPath': 'Пунктирный путь',
|
||||
'journey.studio.sticker.sunDivider': 'Разделитель с солнцем',
|
||||
'journey.studio.sticker.starRule': 'Разделитель со звёздами',
|
||||
'journey.studio.sticker.diamondRule': 'Разделитель ар-деко',
|
||||
'journey.studio.sticker.dottedRule': 'Пунктирный разделитель',
|
||||
'journey.studio.sticker.waveRule': 'Волнистый разделитель',
|
||||
'journey.studio.sticker.fleuron': 'Флерон',
|
||||
'journey.studio.sticker.laurelWreath': 'Лавровый венок',
|
||||
'journey.studio.sticker.cornerFlourish': 'Уголок с завитком',
|
||||
'journey.studio.sticker.cornerScroll': 'Уголок с волютами',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
import type { TranslationStrings } from '../types';
|
||||
|
||||
/** The Studio's sticker library: the panel, the inspector, the themes and every sticker's name. */
|
||||
const studioStickers: TranslationStrings = {
|
||||
'journey.studio.stickers': 'Nálepky',
|
||||
'journey.studio.kind.sticker': 'Nálepka',
|
||||
'journey.studio.searchStickers': 'Hľadať nálepky',
|
||||
'journey.studio.stickerThemes': 'Témy nálepiek',
|
||||
'journey.studio.stickersAll': 'Všetky',
|
||||
'journey.studio.stickersRecent': 'Naposledy použité',
|
||||
'journey.studio.stickersHint': 'Kliknutím vložíte nálepku do stredu strany, alebo ju presuňte tam, kam patrí.',
|
||||
'journey.studio.stickerColours': 'Farby',
|
||||
'journey.studio.stickerSlot': 'Farba {index}',
|
||||
'journey.studio.stickerResetColours': 'Pôvodné farby',
|
||||
'journey.studio.stickerMissing': 'Táto nálepka nie je v knižnici tejto verzie TREK.',
|
||||
'journey.studio.stickerPlacement': 'Umiestnenie',
|
||||
'journey.studio.stickerFlip': 'Zrkadliť',
|
||||
'journey.studio.stickerTurnLeft': 'Otočiť doľava',
|
||||
'journey.studio.stickerTurnRight': 'Otočiť doprava',
|
||||
'assistant.step.bookStickers': 'Prezerá nálepky',
|
||||
'journey.studio.stickerTheme.ephemera': 'Cestovné veci',
|
||||
'journey.studio.stickerTheme.landmarks': 'Pamiatky',
|
||||
'journey.studio.stickerTheme.tropical': 'Trópy',
|
||||
'journey.studio.stickerTheme.mediterranean': 'Stredomorie',
|
||||
'journey.studio.stickerTheme.sea': 'More a pobrežie',
|
||||
'journey.studio.stickerTheme.mountains': 'Hory',
|
||||
'journey.studio.stickerTheme.nordic': 'Sever',
|
||||
'journey.studio.stickerTheme.asia': 'Ázia a India',
|
||||
'journey.studio.stickerTheme.food': 'Jedlo a pitie',
|
||||
'journey.studio.stickerTheme.paper': 'Papier a pásky',
|
||||
'journey.studio.stickerTheme.doodles': 'Čmáranice',
|
||||
'journey.studio.stickerTheme.ornaments': 'Ornamenty',
|
||||
'journey.studio.sticker.airplane': 'Lietadlo',
|
||||
'journey.studio.sticker.boardingPass': 'Palubný lístok',
|
||||
'journey.studio.sticker.passport': 'Cestovný pas',
|
||||
'journey.studio.sticker.suitcase': 'Starý kufor',
|
||||
'journey.studio.sticker.rollingSuitcase': 'Kufor do kabíny',
|
||||
'journey.studio.sticker.luggageTag': 'Visačka na batožinu',
|
||||
'journey.studio.sticker.ticket': 'Vstupenka',
|
||||
'journey.studio.sticker.camera': 'Fotoaparát',
|
||||
'journey.studio.sticker.instantPhoto': 'Okamžitá fotka',
|
||||
'journey.studio.sticker.globe': 'Glóbus',
|
||||
'journey.studio.sticker.mapPin': 'Špendlík na mape',
|
||||
'journey.studio.sticker.foldedMap': 'Zložená mapa',
|
||||
'journey.studio.sticker.postageStamp': 'Poštová známka',
|
||||
'journey.studio.sticker.postmark': 'Poštová pečiatka',
|
||||
'journey.studio.sticker.passportStamp': 'Pečiatka v pase',
|
||||
'journey.studio.sticker.hotAirBalloon': 'Teplovzdušný balón',
|
||||
'journey.studio.sticker.sunglasses': 'Slnečné okuliare',
|
||||
'journey.studio.sticker.campervan': 'Obytná dodávka',
|
||||
'journey.studio.sticker.eiffelTower': 'Eiffelova veža',
|
||||
'journey.studio.sticker.arcDeTriomphe': 'Víťazný oblúk',
|
||||
'journey.studio.sticker.colosseum': 'Koloseum',
|
||||
'journey.studio.sticker.pisaTower': 'Šikmá veža v Pise',
|
||||
'journey.studio.sticker.bigBen': 'Big Ben v Londýne',
|
||||
'journey.studio.sticker.towerBridge': 'Tower Bridge v Londýne',
|
||||
'journey.studio.sticker.sagradaFamilia': 'Sagrada Família v Barcelone',
|
||||
'journey.studio.sticker.brandenburgGate': 'Brandenburská brána',
|
||||
'journey.studio.sticker.hagiaSophia': 'Hagia Sofia',
|
||||
'journey.studio.sticker.tajMahal': 'Tádž Mahal',
|
||||
'journey.studio.sticker.pyramids': 'Pyramídy v Gíze',
|
||||
'journey.studio.sticker.statueOfLiberty': 'Socha slobody',
|
||||
'journey.studio.sticker.goldenGate': 'Most Golden Gate',
|
||||
'journey.studio.sticker.christRedeemer': 'Socha Krista Spasiteľa',
|
||||
'journey.studio.sticker.sydneyOperaHouse': 'Opera v Sydney',
|
||||
'journey.studio.sticker.hibiscus': 'Ibištek',
|
||||
'journey.studio.sticker.frangipani': 'Plumérie',
|
||||
'journey.studio.sticker.monsteraLeaf': 'List monstery',
|
||||
'journey.studio.sticker.palmLeaf': 'Palmový list',
|
||||
'journey.studio.sticker.bananaLeaf': 'Banánový list',
|
||||
'journey.studio.sticker.palmTree': 'Palma',
|
||||
'journey.studio.sticker.pineapple': 'Ananás',
|
||||
'journey.studio.sticker.coconutDrink': 'Drink v kokose',
|
||||
'journey.studio.sticker.parrot': 'Papagáj',
|
||||
'journey.studio.sticker.toucan': 'Tukan',
|
||||
'journey.studio.sticker.flamingo': 'Plameniak',
|
||||
'journey.studio.sticker.lemon': 'Citrón',
|
||||
'journey.studio.sticker.lemonBranch': 'Citrónová vetvička',
|
||||
'journey.studio.sticker.lemonVase': 'Váza s citrónmi',
|
||||
'journey.studio.sticker.oliveBranch': 'Olivová ratolesť',
|
||||
'journey.studio.sticker.orangeSlice': 'Plátok pomaranča',
|
||||
'journey.studio.sticker.fig': 'Figy',
|
||||
'journey.studio.sticker.amphora': 'Amfora',
|
||||
'journey.studio.sticker.sardine': 'Sardinka',
|
||||
'journey.studio.sticker.azulejoTile': 'Dlaždica azulejo',
|
||||
'journey.studio.sticker.shutterWindow': 'Okno s okenicami',
|
||||
'journey.studio.sticker.bougainvillea': 'Bugenvilea',
|
||||
'journey.studio.sticker.strawHat': 'Slamený klobúk',
|
||||
'journey.studio.sticker.windmill': 'Veterný mlyn',
|
||||
'journey.studio.sticker.santoriniChurch': 'Kaplnka na Santorini',
|
||||
'journey.studio.sticker.waves': 'Vlny',
|
||||
'journey.studio.sticker.sun': 'Slnko',
|
||||
'journey.studio.sticker.seaTurtle': 'Morská korytnačka',
|
||||
'journey.studio.sticker.scallopShell': 'Mušľa hrebenatky',
|
||||
'journey.studio.sticker.starfish': 'Hviezdica',
|
||||
'journey.studio.sticker.tropicalFish': 'Tropická ryba',
|
||||
'journey.studio.sticker.coral': 'Koral',
|
||||
'journey.studio.sticker.sailboat': 'Plachetnica',
|
||||
'journey.studio.sticker.lighthouse': 'Maják',
|
||||
'journey.studio.sticker.anchor': 'Kotva',
|
||||
'journey.studio.sticker.lifebuoy': 'Záchranný kruh',
|
||||
'journey.studio.sticker.seagull': 'Čajka',
|
||||
'journey.studio.sticker.beachUmbrella': 'Plážový slnečník',
|
||||
'journey.studio.sticker.mountainRange': 'Pohorie',
|
||||
'journey.studio.sticker.snowPeak': 'Zasnežený štít',
|
||||
'journey.studio.sticker.pineTrees': 'Ihličnany',
|
||||
'journey.studio.sticker.mountainLake': 'Horské pleso',
|
||||
'journey.studio.sticker.tent': 'Stan',
|
||||
'journey.studio.sticker.campfire': 'Táborák',
|
||||
'journey.studio.sticker.cableCar': 'Lanovka',
|
||||
'journey.studio.sticker.edelweiss': 'Plesnivec',
|
||||
'journey.studio.sticker.hikingBoot': 'Turistická topánka',
|
||||
'journey.studio.sticker.compassRose': 'Veterná ružica',
|
||||
'journey.studio.sticker.rowHouses': 'Domy v prístave',
|
||||
'journey.studio.sticker.fjord': 'Fjord', // same-as-en
|
||||
'journey.studio.sticker.northernLights': 'Polárna žiara',
|
||||
'journey.studio.sticker.redCabin': 'Červená chata',
|
||||
'journey.studio.sticker.ferry': 'Trajekt',
|
||||
'journey.studio.sticker.reindeer': 'Sob',
|
||||
'journey.studio.sticker.puffin': 'Tupík',
|
||||
'journey.studio.sticker.dalaHorse': 'Koník z Dalarny',
|
||||
'journey.studio.sticker.cinnamonBun': 'Škoricový slimák',
|
||||
'journey.studio.sticker.bicycle': 'Bicykel',
|
||||
'journey.studio.sticker.mountFuji': 'Hora Fudži',
|
||||
'journey.studio.sticker.toriiGate': 'Brána torii',
|
||||
'journey.studio.sticker.pagoda': 'Pagoda', // same-as-en
|
||||
'journey.studio.sticker.cherryBlossom': 'Čerešňový kvet',
|
||||
'journey.studio.sticker.paperLantern': 'Papierový lampión',
|
||||
'journey.studio.sticker.koi': 'Kapor koi',
|
||||
'journey.studio.sticker.bamboo': 'Bambus',
|
||||
'journey.studio.sticker.foldingFan': 'Vejár',
|
||||
'journey.studio.sticker.lotus': 'Lotosový kvet',
|
||||
'journey.studio.sticker.templeArch': 'Chrámový oblúk',
|
||||
'journey.studio.sticker.elephant': 'Slon',
|
||||
'journey.studio.sticker.tukTuk': 'Tuktuk',
|
||||
'journey.studio.sticker.espresso': 'Káva espresso',
|
||||
'journey.studio.sticker.cappuccino': 'Kapučíno',
|
||||
'journey.studio.sticker.croissant': 'Francúzsky croissant',
|
||||
'journey.studio.sticker.pastelDeNata': 'Portugalský košíček',
|
||||
'journey.studio.sticker.baguette': 'Bageta',
|
||||
'journey.studio.sticker.pretzel': 'Praclík',
|
||||
'journey.studio.sticker.gelato': 'Zmrzlina v kornútku',
|
||||
'journey.studio.sticker.pizzaSlice': 'Kúsok pizze',
|
||||
'journey.studio.sticker.wineGlass': 'Pohár vína',
|
||||
'journey.studio.sticker.spritz': 'Benátsky spritz',
|
||||
'journey.studio.sticker.ramen': 'Miska ramenu',
|
||||
'journey.studio.sticker.sushi': 'Suši',
|
||||
'journey.studio.sticker.washiStripes': 'Pruhovaná washi páska',
|
||||
'journey.studio.sticker.washiDots': 'Bodkovaná washi páska',
|
||||
'journey.studio.sticker.washiGingham': 'Kockovaná washi páska',
|
||||
'journey.studio.sticker.washiFloral': 'Kvetovaná washi páska',
|
||||
'journey.studio.sticker.washiKraft': 'Páska z kraftového papiera',
|
||||
'journey.studio.sticker.maskingTape': 'Maliarska páska',
|
||||
'journey.studio.sticker.tornPaper': 'Odtrhnutý pásik papiera',
|
||||
'journey.studio.sticker.stickyNote': 'Lepiaci lístok',
|
||||
'journey.studio.sticker.notebookPaper': 'List zo zošita',
|
||||
'journey.studio.sticker.photoCorners': 'Fotorožky',
|
||||
'journey.studio.sticker.paperClip': 'Kancelárska spinka',
|
||||
'journey.studio.sticker.sewnLabel': 'Našitý štítok',
|
||||
'journey.studio.sticker.handCircle': 'Ručne kreslený kruh',
|
||||
'journey.studio.sticker.underlineSwoosh': 'Podčiarknutie',
|
||||
'journey.studio.sticker.markerHighlight': 'Ťah zvýrazňovača',
|
||||
'journey.studio.sticker.handArrow': 'Šípka',
|
||||
'journey.studio.sticker.curlyArrow': 'Zatočená šípka',
|
||||
'journey.studio.sticker.loopArrow': 'Šípka so slučkou',
|
||||
'journey.studio.sticker.sparkles': 'Iskričky',
|
||||
'journey.studio.sticker.doodleHeart': 'Načmárané srdce',
|
||||
'journey.studio.sticker.doodleStars': 'Načmárané hviezdy',
|
||||
'journey.studio.sticker.squiggle': 'Kľukatá čiara',
|
||||
'journey.studio.sticker.xMark': 'Krížik pri poklade',
|
||||
'journey.studio.sticker.dottedPath': 'Bodkovaná cesta',
|
||||
'journey.studio.sticker.sunDivider': 'Oddeľovač so slnkom',
|
||||
'journey.studio.sticker.starRule': 'Oddeľovač s hviezdami',
|
||||
'journey.studio.sticker.diamondRule': 'Oddeľovač art deco',
|
||||
'journey.studio.sticker.dottedRule': 'Bodkovaný oddeľovač',
|
||||
'journey.studio.sticker.waveRule': 'Vlnitý oddeľovač',
|
||||
'journey.studio.sticker.fleuron': 'Kvetinová ozdoba',
|
||||
'journey.studio.sticker.laurelWreath': 'Vavrínový veniec',
|
||||
'journey.studio.sticker.cornerFlourish': 'Ozdobný roh',
|
||||
'journey.studio.sticker.cornerScroll': 'Roh s volútami',
|
||||
};
|
||||
|
||||
export default studioStickers;
|
||||
@@ -58,7 +58,6 @@ import settings from './settings';
|
||||
import share from './share';
|
||||
import shared from './shared';
|
||||
import storage from './storage';
|
||||
import studioStickers from './studioStickers';
|
||||
import system_notice from './system_notice';
|
||||
import todo from './todo';
|
||||
import tourCollection from './tourCollection';
|
||||
@@ -115,7 +114,6 @@ const locale = {
|
||||
...todo,
|
||||
...notif,
|
||||
...journey,
|
||||
...studioStickers,
|
||||
...oauth,
|
||||
...system_notice,
|
||||
...transport,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user