Vroma EditProblems and design

Connect your clips.
Bring the journey into view.

Connect your video footage. Add maps, altitude, estimated travel speed and comments to tell the journey, using each clip’s capture-time connection to GPX (a route file with observation times).

Read the problems I encountered building my tool, my solutions and why they matter. When you want your own tool, use the design and AI instructions based on those problems.

An edit / still connected

The time in your edit.
The time on your journey.

Map a position in the edit back to the capture time of its source. Refer to GPX from there to add the map or values for that moment.

This illustration explains the design. It is not a screenshot of a finished app or verified output.

Connect the clips. Add the journey.DESIGN ILLUSTRATION
CoastGPX · 09:24:18
HillsGPX · 10:36:42
HomewardGPX · 16:05:09
Captured 09:24:18Captured 10:36:42Captured 16:05:09
MapAltitudeTravel speedMark comments

Reorder the clips. Keep their capture times.From the edit position back to the GPX for that moment.

A diagram of the intended experienceNot an application screenshot
Problems / Solutions

Problems I faced, and my solutions.

These are problems I encountered while building Cut/Edit. Each explains the situation, what I changed, why, and its limits. Choose relevant problems when building a tool for your own camera and media.

PE001

Photo and video timestamps are treated as equivalent

Photos and videos store dates differently. A photo’s local clock reading also needs a timezone interpretation.

My solution
Edit reads the internal start date of a video and the EXIF DateTimeOriginal field of a photo. Current normal photo import interprets that field using the Mac’s current timezone.
Reason
Dates should come from the recorded fields rather than names or copy dates.
Conditions and limits
This import path does not use the EXIF timezone offset in its date calculation. Photos taken in a different timezone may not align correctly with video timestamps or capture order.

Read this problem in the full list (Japanese)

PE004

A clock correction is applied twice to a Cut export

A Cut output’s start date already includes its correction. Adding the original’s correction again shifts its GPX and Mark mapping.

My solution
Edit imports ExportManifest.json as information about derived footage and excludes this import path from original-file VromaMedia.json correction.
Reason
The same scene’s capture time should survive the move from trimming to composition.
Conditions and limits
Manifest versions 1 and 2 are accepted. GPX route data are separate and must be imported when needed.

Read this problem in the full list (Japanese)

PE005

Extra frames saved by Cut become part of the film

Cut can save a wider range than requested so the file starts independently. Using the whole MP4 would include the extra footage.

My solution
Edit reads the requested and actual ranges from Cut’s mapping file and converts their difference into the in/out positions of the saved MP4.
Reason
Playback padding and footage intended for the film need separate ranges.
Conditions and limits
If the requested start is 10 seconds in the original but the saved start is 8 seconds, the desired footage starts 2 seconds into the MP4. Older mapping files may lack required range or Mark information.

Read this problem in the full list (Japanese)

PE013

Shortening a scene shifts its captions and sound

Trimming a scene’s beginning or splitting it changes which original moment appears at each local position.

My solution
Edit updates the used source position and the corresponding caption and animation positions. Changes in main-footage duration move later main clips and their connected objects together.
Reason
Text and changes of framing should remain attached to the moments they describe.
Conditions and limits
Overlay footage and main footage follow different rules for moving later items. Music spanning the edit is not simply shortened by the same amount.

Read this problem in the full list (Japanese)

PE022

Background music makes speech difficult to hear

A film can need quieter music only during the intervals containing speech.

My solution
Edit supports volume, fades and mute. Its music-reduction option lowers music around intervals marked as narration or another designated voice source.
Reason
Music changes can follow the intervals that need room for speech.
Conditions and limits
Volume settings range from −60 to +12 dB. Peak display is an estimate, and the processing does not prevent every form of clipping. It does not detect speech content to discover the intervals automatically.

Read this problem in the full list (Japanese)

PE035

Blurring footage also blurs a display above it

A region of footage may need hiding while a caption or photo placed above it should stay clear.

My solution
Edit places a rectangular blur or mosaic as its own object and applies it to imagery below that layer. Position, size and time-dependent changes can be set; strength zero leaves the image unchanged.
Reason
The region to obscure and its relationship to other displays need explicit control.
Conditions and limits
This is not automatic face detection or tracking. Moving subjects require range adjustments, and blur does not guarantee anonymity.

Read this problem in the full list (Japanese)

PE037

Changing a reusable title changes an earlier film

A saved title can serve several films, but a change to the reusable definition should not automatically change an existing placement.

My solution
Edit keeps a reusable title definition separate from the title data placed in a project. Text and color changes belong to that placement unless saved separately as a reusable definition.
Reason
Changes for one film and changes for future reuse should have distinct destinations.
Conditions and limits
Saving to the title library and changing a title already in a film are separate operations.

Read this problem in the full list (Japanese)

PE028

A GPS gap is drawn as if the route had been observed

A straight line across a long gap can suggest that this path was actually recorded.

My solution
Current Edit uses the same continuity policy for reference maps and output route maps. It separates route lines at unavailable intervals and shows no corresponding current position or speed there.
Reason
Map lines should distinguish usable intervals from intervals whose location cannot be determined.
Conditions and limits
Ordinary movement is not connected across gaps over 60 seconds or calculated speeds above 250 km/h. Recorded stops and inferred stops of at least 30 seconds within 15 metres are separate cases. An inferred stop is not proof of an actual stop.

Read this problem in the full list (Japanese)

PE043

Opening several films mixes their working states

Each film needs its own media selection, changes and recovery data.

My solution
Edit keeps editing state, history and recovery files per tab and saves the open-project list and selected tab. Opening the same project path again selects its existing tab.
Reason
Work should resume in the intended film without borrowing another film’s state.
Conditions and limits
Saving over a path open in another tab is blocked. Restoration failures are shown separately from successfully restored projects.

Read this problem in the full list (Japanese)

PE045

A failed export damages an earlier finished film

The selected destination may already contain a film, or export may be cancelled partway through.

My solution
Edit rejects an existing video name, writes into a temporary MP4 and moves it to the chosen destination only after completion. It removes partial output on failure or cancellation.
Reason
An unfinished output should not replace a completed film.
Conditions and limits
Unlike Cut, Edit does not automatically choose a serial filename. The user chooses another name or destination.

Read this problem in the full list (Japanese)

PE052

Zooming the timeline changes how easy it is to align clips

A fixed time tolerance can feel too large or too small when the timeline zoom changes.

My solution
Edit offers alignment when a dragged edge is within 8 screen points of a main clip’s boundary. Editing positions use the project’s frame intervals, and the alignment aid can be disabled.
Reason
Edges can be aligned by their visible proximity at different zoom levels.
Conditions and limits
The dragged clips are excluded as targets. The threshold is 8 points on screen, not 8 seconds or 8 frames.

Read this problem in the full list (Japanese)

PE063

Inspecting a Mark loses the current editing position

Looking up a comment’s moment should not require moving the film position or losing its selection.

My solution
Edit opens matching footage in a separate source viewer and preserves the film’s position and selection. When several sources contain the timestamp, the user can choose between them.
Reason
Reviewing a record should remain separate from changing the composition.
Conditions and limits
Missing footage is shown as unavailable instead of keeping an older video as a substitute. Changing this viewer’s direction does not change the framing of the film.

Read this problem in the full list (Japanese)

All Edit problems, solutions and reasons (Japanese)

The intended experience

The experience
this design aims to build.

A design for a tool to turn your videos into a film.
Arrange media and add displays using capture times and GPX.

01

Connect the moments you kept.

Arrange clips and adjust their ranges. Keep edit position separate from capture time so reordering preserves the reference to the record.

02

Add the journey from GPX.

Add maps, altitude, estimated travel speed and Mark comments as adjustable objects. Refer to GPX by time even when a clip has no embedded GPS.

03

Save it. Come back to it.

Keep clips, edit ranges, GPX references and added objects in a project. Verify that save/reopen returns to the same moments and records.

Requirements / Reasons

The features to build.
The reasons behind them.

This is a design for building a personal tool with AI, not a feature list for a finished app. Core requirements cover the intended behavior and conditions that preserve records and their references. Convenience proposals are choices, not a requirement to implement everything. No implementation language or media-processing method is prescribed.

Core requirement

E01

Select media and records

Core requirement
Situation
A film may use untrimmed recordings or clips that have already been shortened.
Desired behavior
Select local videos and any GPX or Marks needed. Show readability, location, capture times and record references. Use derived-media mapping when available without requiring Cut. Importing files should not reorder an existing edit.
Reason
Separating import from placement allows new candidates without disrupting work. Missing record information stays visible for informed choices.
Result to check
Untrimmed and derived media can be selected. Imports preserve existing edits and identify unknown dates or unavailable records.
E02

Arrange media and adjust duration

Core requirement
Situation
Capture order may be too long or differ from the story someone wants to tell.
Desired behavior
Select and place videos, reorder them, adjust in/out points, split or remove them. Keep source usage ranges separate from placement in the film. Make operation targets clear; retain edit position and selection while inspecting media.
Reason
People can move between finding scenes and assembling a film without losing their editing position.
Result to check
Order and duration changes leave originals untouched. Returning from source inspection restores the edit position and selection.
E03

Map film time back to capture time

Core requirement
Situation
A mountain scene at 15 seconds in the film may have been captured in the morning. Film position alone cannot locate it.
Desired behavior
Distinguish capture time, source position and film position. Use the original range and offset to preserve time mapping through trimming and reordering. If speed changes are implemented, map through the chosen rate too. Never apply correction twice.
Reason
GPX records capture-time events. Using film time can point to a different location or missing data.
Result to check
The same visible instant refers to the same GPX point and Mark after moving or shortening its clip.
E04

Add GPX-based displays individually

Core requirement
Situation
A film may benefit from showing the route, location or elevation alongside the scenery.
Desired behavior
Design selectable objects for location/route maps, altitude, estimated speed from track points and Mark comments. Let people add, remove and adjust display periods, position and size. Read values using the video’s capture time.
Reason
Showing everything continuously can obscure the scenery. Independent objects let each film choose what to convey without changing its footage.
Result to check
A film can show altitude alone or a map alone. Reordered scenes still use their own records; removing an object leaves GPX unchanged.
E05

Distinguish missing records from estimates

Core requirement
Situation
Location can drop out during a trip, and some points have no altitude.
Desired behavior
Distinguish out-of-range times, unknown dates, gaps and missing altitude. Hide current location or values during unavailable intervals, or show them as unknown. Label estimated speed with units and its method. Display adjustments must not fill gaps with zero or guesses.
Reason
A plausible map position or 0 km/h can falsely suggest a real location or a stop.
Result to check
Missing intervals show no invented point or value. Unknown altitude differs from zero, and display adjustments preserve this treatment.
E06

Separate reference maps from film displays

Core requirement
Situation
Opening a map to find a source scene does not necessarily mean adding that map to the film.
Desired behavior
Separate the reference map from a placed map object. Preview only chosen video, audio and displays. Check timing, position, size and cropping at the output dimensions and aspect ratio.
Reason
Inspection tools must not accidentally become part of the film. A layout seen during editing may differ at another output size.
Result to check
Opening a reference map adds nothing to the film. Output preview shows selected displays, placement, audio and timing.
E07

Save a project and resume the edit

Core requirement
Situation
People want to close an unfinished film and continue from the same state later.
Desired behavior
Save source references, usage ranges, order, time mapping, GPX/Marks and display settings. Restore the edit on reopen. Identify missing sources and allow relinking. Distinguish saved from unsaved changes; cancellation or save failure is not success.
Reason
A finished video cannot reconstruct its editable project. Saving references and settings supports further changes without rewriting originals.
Result to check
Reopening restores the same scenes, order and displays. Disconnected drives cause identifiable missing media, and reconnecting permits continuation.
E08

Export the film that was reviewed

Core requirement
Situation
If maps or captions shift or disappear in the saved video, a preview alone cannot establish completion.
Desired behavior
Confirm destination and output settings, then export video, audio and displays as a film. Use consistent time mapping and compositing rules in preview and output. Identify missing sources and distinguish completion, failure and cancellation. Incomplete files are not finished films.
Reason
The deliverable is the saved video, not the editor view. Its layout and timing need to match what was reviewed.
Result to check
Playback of the export matches the preview’s order, duration, audio and scene-linked displays. Saving a file is separate from publishing or posting.
E09

Keep originals intact and editing reversible

Core requirement
Situation
Changing a film’s order and duration should leave the recorded videos and Vroma records intact.
Desired behavior
Leave original video unchanged and keep ranges, order and displays in project data. Reading alone must not rewrite GPX or Marks. If comment editing is adopted, explain the destination and saving method, track sources and stop overwrites on concurrent changes, preserving both versions. Check tools with copies and avoid silently overwriting originals or existing films or substituting lower-quality media.
Reason
People retain the freedom to make another film or simply revisit the original records.
Result to check
Film editing, saving, reopening and export leave original video unchanged. The same sources can make another film, with overwrite and quality choices visible. If comment editing is adopted, only entered changes update the intended records through the explained method, with both versions available when edits conflict.

Convenience proposal

EX01

Suggest a rough cut in capture order

Convenience proposal
Situation
A large collection can make even the first arrangement time-consuming.
Desired behavior
An explicit command to arrange readable capture dates could help. Identify unknown dates and never reorder manual edits merely because records are reloaded.
Reason
This gives a faster starting arrangement while leaving the story order in the person’s control.
Result to check
An explicit capture-order command can rearrange the film. Reloading records alone preserves manual order, and unknown dates remain identifiable.
EX02

Turn Mark comments into caption drafts

Convenience proposal
Situation
Retyping notes made during a trip repeats work.
Desired behavior
Editable caption drafts from comments could help. Allow text and duration changes, keeping original comments separate from edited captions. Reloads must not silently overwrite revised captions.
Reason
This reuses a memory cue while allowing wording that fits the film.
Result to check
A draft appears at the comment’s scene. Caption edits leave the Mark unchanged, and empty comments generate no invented text.
EX03

Reuse display layouts in another film

Convenience proposal
Situation
Positioning maps and sizing altitude text for every film is repetitive.
Desired behavior
Saved display selections and layouts could help. Review aspect ratio and cropping at another output size, and resolve each new source’s records again.
Reason
A layout can be reused; the previous trip’s positions and values cannot.
Result to check
Another film uses the same presentation with its own GPX. Cropping can be reviewed for landscape and portrait output.
EX04

Make heavy media easier to review

Convenience proposal
Situation
High-resolution footage or external drives can make scene inspection slow.
Desired behavior
Lightweight review media could help. Preserve source-time mapping, distinguish review quality from production sources and identify missing originals needed for export.
Reason
This helps scene selection without secretly changing the quality of the finished video.
Result to check
A scene chosen in review media matches the production source. Missing sources are reported without silent lower-quality substitution.
Connect records and footage

Find the same moment after a trim.

Connecting footage to a route and Marks requires keeping the meaning of each time and the source it refers to. Comparing dates in UTC and storing seconds as integer pairs are general methods. The Vroma-specific formats below matter when you choose to use its files.

A route and a remembered moment

GPX is a standard route format. Vroma uses GPX 1.1, defined in the official Topografix specification ↗. Connecting video needs points with observation times as well as coordinates.

A Mark has a time and comment. Vroma pairs names in one folder, such as trip.gpx and trip.marks.csv. Video can stay elsewhere.

Correct the camera’s clock

A moment’s time is the camera’s recorded start time plus a clock correction and the position within the recording. A camera two seconds slow needs +2 seconds. Changing the display timezone does not move the absolute moment.

Do not apply that correction again to an already corrected trimmed clip. Show unknown start times rather than deriving capture dates from a name or copy date.

Protect original video and deliberate record edits

Trimming and film editing leave original video unchanged and save used ranges and added displays separately. Keep which original position corresponds to a derived clip’s zero so the same Mark and place remain reachable.

Adopt comment editing only if your tool needs it. If adopted, track each Mark’s source and save changes the person enters. If another device changed the same comment, preserve both and ask for a conflict decision rather than overwriting it. Reading alone must not rewrite records. Saving can use a button or happen automatically, with that behavior explained to the person.

Formats for a tool that uses Vroma files

Mark CSV: pass a moment and its comment

UTF-8, no header, three columns: UTC ISO 8601 time, local ISO 8601 time with an offset, and comment. Keep fractional seconds and use CSV quoting for commas, quotes and line breaks. Compare the first column. The second is another display of the same moment, not another clock correction.

The CSV has no ID column. Importers create identifiers: Cut uses parsed seconds and comment; Edit uses the first-column timestamp string and comment. Their IDs are not always identical. IDs then appear in Project data or exported mapping. Retain source, time and comment to match moments, and preserve IDs supplied by an export.

VromaMedia.json: pass a clock correction from Studio

Studio saves the correction after matching a video moment to a Mark. Cut/Edit read and use this file. The usual location is the video folder. Load it explicitly if it is stored elsewhere.

schemaVersion: 1 contains entries with the target source, correction seconds seconds, and optional display name cameraName. Source fields are the last filename filename, byte count size, uncorrected start cameraStart, and duration in seconds duration. cameraStart uses Unix seconds since 1970-01-01 UTC.

Names and sizes must match; start times must differ by less than 1ms and durations by at most 0.25 seconds. Renaming loses this match. This neither measures the offset automatically nor compares all video content. Studio has a path that falls back to file creation time. Cut can also use the file creation date when you choose it. Different date sources or file dates changed during copying can produce different start times across apps. Invalid formats and ambiguous matches produce errors.

ExportManifest.json: retain positions through a trim

For compatibility with existing Cut output, keep MP4 files and this mapping file together. Cut writes schemaVersion: 1; Edit reads 1 and 2. Within clips, outputFile is the output name and creationDate is the corrected capture time of the output’s first actual frame. It need not equal the original start or requested start.

requested is the wanted range; actual is the saved range extended to playable boundaries. Both refer to positions in the original or grouped recording before trimming, not to output zero. Divide integer value by timescale to obtain seconds. Edit uses the difference between ranges to find the wanted portion within the output.

Numeric dates in this mapping use seconds since 2001-01-01 UTC, unlike the Unix epoch in VromaMedia.json. Edit also has a path for ISO 8601 strings. A display timezone change must not add another offset to the absolute time.

Optional marks include identifier id, UTC ISO 8601 date, comment, and sourceTime in seconds within the output video. When absent, use the original GPX and Mark CSV. Your own tool need not adopt this format unless you want that compatibility.

stationary: represent a stop without inventing observations

Vroma’s extension attaches an OS-confirmed finite stop interval to an existing observed point. It does not add new location observations for times without measurements. This differs from estimating a stop because two ordinary GPX points are close.

Put one stationary element in the extensions directly inside the observed trkpt, using namespace https://www.tsuyukimakoto.com/xmlns/vroma/gpx/1. Start from and end until are attributes of that element. The current writer uses UTC ISO 8601 timestamps with fractional seconds, for example <vroma:stationary from="2026-10-07T01:00:00.000Z" until="2026-10-07T01:02:00.000Z" />, with prefix vroma declared for that namespace. Require observation time ≤ from < until, stop no later than the next observation, and exclude the end instant. Match namespace and element name rather than prefix spelling. Invalid or duplicate declarations do not establish a stop. Do not write estimates back as observed GPX points.

When you want your own tool

Give the material to your AI.

Give AI this page’s URL to read the problems, solutions, reasons and design conditions. Add your goal and how it can access copies of your records. If it cannot retrieve the URL, copy the page material instead.

The instructions below start the conversation. If the URL is unreadable, also use “Copy problems and design material”.

Vroma Edit / AI instructions
Build a personal tool for my camera, media and working environment, using these problems, solutions, reasons and design conditions as references.
https://www.tsuyukimakoto.com/products/vroma/en/edit/
If you cannot retrieve the URL, use the text I provide. The author’s solutions are implementation examples; do not require the same language or processing method. Explain the methods you choose and why.
Tool and purpose: [specify]
Camera, media formats, OS and working environment: [specify]
Media, film purpose, order and displays: [specify]
Locations of record copies and how you can read them: [specify]
Compatibility with existing Cut/Edit output: [only if needed; do not assume it]
First derive necessary conditions from the problems and identify unknowns without guessing. Proceed with design, implementation and checks using small copies.
Leave original video unchanged. Adopt comment editing only if needed; if adopted, track sources when saving changes people enter and protect concurrent changes from silent overwrites. UTC comparison is general time handling; use Vroma-specific formats only for chosen integrations.
Check the same Mark and moment, clock correction, gaps, capture time after reordering/trimming and saving/reopening editing state. Report implemented behavior, unsupported conditions and checked results separately.

Read all Edit problems and solutions in the full catalog (Japanese). The material copy covers this page. Provide the catalog URL or its text too when using the full list.

Check your own records

Check the tool you built
with copies of your own records.

Keep originals and start with copies of a small range.
Check what works and what is still unsupported.

What to checkWhat to look for in your records
The same Mark, the same momentCheck which moment in your original video a Mark refers to. The same capture time and GPX reference must survive clock correction, trimming and reordering.
No GPS in the videoUse capture time to refer to the GPX you brought back even when your own video has no location or altitude. Show unreadable times instead of inventing them.
Originals and film outputKeep originals and check copies. Play the film to check media, used ranges, order, added displays and audio. Treat GPX gaps and out-of-range times as unknown.
Save and resume editingSource and Mark references must survive save/reopen. Capture times, GPX references and added displays must also survive reordering.
Saving and concurrent changes if comment editing is adoptedCheck this if comment editing is adopted. Reading alone leaves records unchanged. Entered changes update the intended source through the explained saving method. Conflicting edits to the same Mark stop the overwrite and keep both versions available.
Choose by purpose

Choose what you want to do.

Use Chrova to revisit your photos and videos. Explore the Cut design when you want shorter scenes.