C2LC-623: Increase number of path segments to support more complex "drawings".

Metadata

Source
C2LC-623
Type
Task
Priority
N/A
Status
Done
Resolution
N/A
Assignee
N/A
Reporter
Tony Atkins [RtF]
Created
2022-03-25T09:00:30.172-0400
Updated
2022-03-29T15:46:27.122-0400
Versions
N/A
Fixed Versions
  1. Coding Env 1.3
Component
  1. Coding Environment

Description

In C2LC-611, we limited the number of path segments to avoid crashing when running many loops or using the same scene for repeated runs. In recent testing I have noticed the path cleanup kicking in, and wondered if we couldn't adjust this to support a wider range of drawings.

I constructed a path to test various levels:

http://localhost:3000/?v=1.3&t=default&w=Sketchpad&p=sG4sasF4ssE8s144Az1Bzz&c=gdb&d=

In my testing, a path of that complexity is noticeably truncated when the upper limit is 200, but not 300. Other designs require a higher limit, some even have small amounts of cleanup when 600 segments is the limit.

If we're to continue support exploratory activities (drawing, making music), it seems like it should be bumped up to 300 or 400.

Comments

  • Tony Atkins [RtF] commented 2022-03-28T05:34:01.250-0400

    Over the weekend I was thinking about what we're really balancing, which it seems to me is a technical limitation on the length of the URL against the ability to draw as much as you like on the scene without having path segments unexpectedly removed from your drawing.

    To make the discussion a bit more concrete, the original limitation hit at between 10,000 and 11,000 characters. Given that we need four characters per path segment, we could support 2,000 path segments and still have plenty of room to persist everything else.

    By my count, the total number of unique path segments that are possible without overlaps with our current scene dimensions is 326. If we were to come up with some kind of optimisation to eliminate duplicate paths, we could use this as the limit.

    Without something like that, there's really no limit that can completely avoid unexpectedly erasing part of a drawing. I'd argue that we should set the limit as high as possible for now, 2000 segments or perhaps 1500.

    With very little effort and risk, this supports the kind of exploration and repeated journeys through the scene we encouraged early on, which I think is valuable in addition to more structured activities.