About characters order

5 views
Skip to first unread message

Simone Nardi

unread,
Dec 30, 2025, 4:36:35 AM (9 days ago) 12/30/25
to gcd-tech
Hi,
Currently, characters follow a grammar of the form:

Group [Name [aliases…] (one-role) (origin) (death) (flashback)…] (group-infos)

As is well known, through syntactic parsing algorithms, it is possible to decompose a structured textual string into an internal representation of characters (AST). Likewise, starting from this structured representation, it is possible to reconstruct an equivalent textual string via a canonical serialization (stringify), thus obtaining a deterministic flow string → structure → string.

The idea is to introduce a new numeric ordering field, for example (order:int), placed before the (role).

This field would be:
  • visible only during the editing phase;
  • not displayed in the reading/view phase;
  • excluded from the canonical serialization.
Persistence would continue to rely on the existing Characters field, stored as a RAW string. During editing, the RAW string would be parsed to expose and manage (order); during saving, it would be reconstructed (stringified), removing this information and producing the canonical form.
In this way, no new persistent fields are introduced, full backward compatibility is preserved, and (order) remains a purely technical attribute, used exclusively for editing and reordering purposes.

Best regards,
Simone

Jochen G.

unread,
Dec 30, 2025, 4:51:16 AM (9 days ago) 12/30/25
to gcd-...@googlegroups.com
I do not get what you want to achieve with that ? The text character
field can be ordered as a text string anyway ?

What am I missing in context ?

Am 30.12.25 um 10:36 schrieb Simone Nardi:
> Hi,
> Currently, characters follow a grammar of the form:
>
> Group [Name [aliases…] (one-role) (origin) (death) (flashback)…] (group-
> infos)
>
> As is well known, through syntactic parsing algorithms, it is possible
> to decompose a structured textual string into an internal representation
> of characters (AST). Likewise, starting from this structured
> representation, it is possible to reconstruct an equivalent textual
> string via a canonical serialization (stringify), thus obtaining a
> deterministic flow string → structure → string.
>
> The idea is to introduce a new numeric ordering field, for example
> (order:int), placed before the (role).
>
> This field would be:
>
> * visible only during the editing phase;
> * not displayed in the reading/view phase;
> * excluded from the canonical serialization.
>
> Persistence would continue to rely on the existing Characters field,
> stored as a RAW string. During editing, the RAW string would be parsed
> to expose and manage (order); during saving, it would be reconstructed
> (stringified), removing this information and producing the canonical form.
> In this way, no new persistent fields are introduced, full backward
> compatibility is preserved, and (order) remains a purely technical
> attribute, used exclusively for editing and reordering purposes.
>
> Best regards,
> Simone
>
> --
> You received this message because you are subscribed to the Google
> Groups "gcd-tech" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> tech+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gcd-
> tech/15c6ed5b-5acf-4c43-b08b-adef3f389bebn%40googlegroups.com <https://
> groups.google.com/d/msgid/gcd-tech/15c6ed5b-5acf-4c43-b08b-
> adef3f389bebn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Simone Nardi

unread,
Dec 30, 2025, 6:19:25 AM (9 days ago) 12/30/25
to gcd-...@googlegroups.com
 Hi Jochen,
It’s possible that I missed some earlier emails.
Here I was referring to the characters within the stories… the well-known "Huey, Dewey, and Louie"  issue.
I was playing around with implementing it on my own.  

Simone

To unsubscribe from this group and stop receiving emails from it, send an email to gcd-tech+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gcd-tech/d1ebc734-2194-4608-9b81-4560f18e0b85%40garcke.de.

Jochen G.

unread,
Dec 30, 2025, 6:43:24 AM (9 days ago) 12/30/25
to gcd-...@googlegroups.com
What you write seems to apply to the text character field ? Which
essentially is deprecated, so not sure we want to modify its usage. I
also do not understand how this would help ?

From the discussion and poll on main, this should be a fully optional
functionality for linked characters. It also needs to support at least
two additional orderings, appearance and importance. I see that as an
additional page, where one can move characters. It should not interfere
in the current workflow.

Syntactic parsing could help in migration of the text character field.
But there I am not the only one who is sceptical regarding that, it
could introduce wrong character entries...

Jochen

Am 30.12.25 um 12:19 schrieb Simone Nardi:
>  Hi Jochen,
> It’s possible that I missed some earlier emails.
> Here I was referring to the characters within the stories… the well-
> known "Huey, Dewey, and Louie"  issue.
> I was playing around with implementing it on my own.
>
> Simone
>
> Il giorno mar 30 dic 2025 alle ore 10:51 'Jochen G.' via gcd-tech <gcd-
> te...@googlegroups.com <mailto:gcd-...@googlegroups.com>> ha scritto:
> tech%2Bunsu...@googlegroups.com> <mailto:gcd- <mailto:gcd->
> > tech+uns...@googlegroups.com
> <mailto:tech%2Bunsu...@googlegroups.com>>.
> > To view this discussion visit https://groups.google.com/d/msgid/
> gcd- <https://groups.google.com/d/msgid/gcd->
> > tech/15c6ed5b-5acf-4c43-b08b-adef3f389bebn%40googlegroups.com
> <http://40googlegroups.com> <https://
> > groups.google.com/d/msgid/gcd-tech/15c6ed5b-5acf-4c43-b08b-
> <http://groups.google.com/d/msgid/gcd-tech/15c6ed5b-5acf-4c43-b08b->
> > adef3f389bebn%40googlegroups.com?
> utm_medium=email&utm_source=footer <http://40googlegroups.com?
> utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gcd-tech" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> tech%2Bunsu...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gcd-
> tech/d1ebc734-2194-4608-9b81-4560f18e0b85%40garcke.de <https://
> groups.google.com/d/msgid/gcd-tech/
> d1ebc734-2194-4608-9b81-4560f18e0b85%40garcke.de>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gcd-tech" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> tech+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gcd-
> tech/
> CAN%2BuuQPy_YwDabs%3DNq_YPKEmMKSex-6dXJEVYtOgRNmndfrbCg%40mail.gmail.com
> <https://groups.google.com/d/msgid/gcd-tech/
> CAN%2BuuQPy_YwDabs%3DNq_YPKEmMKSex-6dXJEVYtOgRNmndfrbCg%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Simone Nardi

unread,
Dec 30, 2025, 8:24:01 AM (9 days ago) 12/30/25
to gcd-...@googlegroups.com
Hi Jochen,

brief note of context: I tend to see GCD as the IMDB of comics, with a strong focus on story content and long-term continuity. This probably influences how I approach the problem.

On the technical side, I share the skepticism around syntactic parsing and I don’t see it as something that should be exposed to users. When I referred to “text,” I was actually talking about a JSON-based interchange format, not a replacement for the current field.

What I am currently testing is round-trip stability:
GCD string → JSON → GCD string (repeated multiple times),
to verify that no information is lost and no unintended reordering is introduced. At the moment, this is made harder by the fact that the APIs do not expose the raw GCD character string, so I have to rely on manual copy-and-paste for testing.

The value I see is mainly internal and incremental:

introducing robust middleware-level validation (TypeScript and/or regex-based) between data entry and persistence, with explicit tests per field. Ideally, approvers would no longer fix syntactic issues and could focus purely on content;

if this layer proves reliable, it becomes possible to address database cleanup and consistency in a more systematic, semi-automated way (units, dates, formats, etc.), without affecting the user workflow;

over time, this validation layer could be decoupled from Django if needed, but this is more a scalability consideration than an immediate goal.

I’m not proposing changes to the current usage of the text character field, nor pushing parsing into the UI. I see this primarily as infrastructure and tooling to support migration, validation, and long-term data quality, while keeping everything optional and non-intrusive.

Best regards,
Simone

To unsubscribe from this group and stop receiving emails from it, send an email to gcd-tech+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gcd-tech/19915aa5-293e-441d-a797-f3d2ef3cb0ac%40garcke.de.

Jochen G.

unread,
Dec 31, 2025, 6:29:19 AM (8 days ago) 12/31/25
to gcd-...@googlegroups.com
Hi Simone,

OK, that was the missing context...

I see what you are after. I guess we will have legacy text character
fields for a while, so I can see that this could be worthwhile.

Regards,
Jochen

Am 30.12.25 um 14:23 schrieb Simone Nardi:
> Hi Jochen,
>
> Il giorno mar 30 dic 2025 alle ore 12:43 'Jochen G.' via gcd-tech <gcd-
> te...@googlegroups.com <mailto:gcd-...@googlegroups.com>> ha scritto:
>
> What you write seems to apply to the text character field ? Which
> essentially is deprecated, so not sure we want to modify its usage. I
> also do not understand how this would help ?
>
>  From the discussion and poll on main, this should be a fully optional
> functionality for linked characters. It also needs to support at least
> two additional orderings, appearance and importance. I see that as an
> additional page, where one can move characters. It should not interfere
> in the current workflow.
>
> Syntactic parsing could help in migration of the text character field.
> But there I am not the only one who is sceptical regarding that, it
> could introduce wrong character entries...
>
> Jochen
>
> Am 30.12.25 um 12:19 schrieb Simone Nardi:
> >   Hi Jochen,
> > It’s possible that I missed some earlier emails.
> > Here I was referring to the characters within the stories… the well-
> > known "Huey, Dewey, and Louie"  issue.
> > I was playing around with implementing it on my own.
> >
> > Simone
> >
> > Il giorno mar 30 dic 2025 alle ore 10:51 'Jochen G.' via gcd-tech
> <gcd-
> > te...@googlegroups.com <mailto:te...@googlegroups.com> <mailto:gcd-
> > tech%2Bunsu...@googlegroups.com
> <mailto:tech%252Buns...@googlegroups.com>> <mailto:gcd-
> <mailto:gcd-> <mailto:gcd- <mailto:gcd->>
> >      > tech+uns...@googlegroups.com
> <mailto:tech%2Bunsu...@googlegroups.com>
> >     <mailto:tech%2Bunsu...@googlegroups.com
> <mailto:tech%252Buns...@googlegroups.com>>>.
> >      > To view this discussion visit https://groups.google.com/d/
> msgid/ <https://groups.google.com/d/msgid/>
> >     gcd- <https://groups.google.com/d/msgid/gcd- <https://
> groups.google.com/d/msgid/gcd->>
> >      > tech/15c6ed5b-5acf-4c43-b08b-
> adef3f389bebn%40googlegroups.com <http://40googlegroups.com>
> >     <http://40googlegroups.com <http://40googlegroups.com>> <https://
> >      > groups.google.com/d/msgid/gcd-tech/15c6ed5b-5acf-4c43-
> b08b- <http://groups.google.com/d/msgid/gcd-tech/15c6ed5b-5acf-4c43-
> b08b->
> >     <http://groups.google.com/d/msgid/gcd-
> tech/15c6ed5b-5acf-4c43-b08b- <http://groups.google.com/d/msgid/gcd-
> tech/15c6ed5b-5acf-4c43-b08b->>
> >      > adef3f389bebn%40googlegroups.com <http://40googlegroups.com>?
> >     utm_medium=email&utm_source=footer <http://40googlegroups.com
> <http://40googlegroups.com>?
> >     utm_medium=email&utm_source=footer>>.
> >
> >     --
> >     You received this message because you are subscribed to the
> Google
> >     Groups "gcd-tech" group.
> >     To unsubscribe from this group and stop receiving emails from it,
> >     send an email to gcd-tech+u...@googlegroups.com
> <mailto:gcd-tech%2Bunsu...@googlegroups.com> <mailto:gcd-
> <mailto:gcd->
> > tech%2Bunsu...@googlegroups.com
> <mailto:tech%252Buns...@googlegroups.com>>.
> >     To view this discussion visit https://groups.google.com/d/
> msgid/gcd- <https://groups.google.com/d/msgid/gcd->
> >     tech/d1ebc734-2194-4608-9b81-4560f18e0b85%40garcke.de
> <http://40garcke.de> <https://
> > groups.google.com/d/msgid/gcd-tech/ <http://groups.google.com/d/
> msgid/gcd-tech/>
> >     d1ebc734-2194-4608-9b81-4560f18e0b85%40garcke.de
> <http://40garcke.de>>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "gcd-tech" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> CAN%2BuuQPy_YwDabs%3DNq_YPKEmMKSex-6dXJEVYtOgRNmndfrbCg%40mail.gmail.com <http://40mail.gmail.com>
> > <https://groups.google.com/d/msgid/gcd-tech/ <https://
> groups.google.com/d/msgid/gcd-tech/>
> >
> CAN%2BuuQPy_YwDabs%3DNq_YPKEmMKSex-6dXJEVYtOgRNmndfrbCg%40mail.gmail.com?utm_medium=email&utm_source=footer <http://40mail.gmail.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gcd-tech" group.
> To unsubscribe from this group and stop receiving emails from it,
> send an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> tech%2Bunsu...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gcd-
> tech/19915aa5-293e-441d-a797-f3d2ef3cb0ac%40garcke.de <https://
> groups.google.com/d/msgid/gcd-tech/19915aa5-293e-441d-a797-
> f3d2ef3cb0ac%40garcke.de>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "gcd-tech" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to gcd-tech+u...@googlegroups.com <mailto:gcd-
> tech+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/gcd-
> tech/CAN%2BuuQOzPN3xCMuXGHn004r3Em5cM2nHVQp5Ei9rn-
> BgjRfBbw%40mail.gmail.com <https://groups.google.com/d/msgid/gcd-tech/
> CAN%2BuuQOzPN3xCMuXGHn004r3Em5cM2nHVQp5Ei9rn-BgjRfBbw%40mail.gmail.com?
> utm_medium=email&utm_source=footer>.

Simone Nardi

unread,
Dec 31, 2025, 11:09:45 AM (8 days ago) 12/31/25
to gcd-...@googlegroups.com

Hi,
I’ve just published an example of the TypeScript string parser.
As far as I can tell, it’s currently working (until proven otherwise 🙂).
Here’s the link to the GitHub repository:  

https://github.com/ProfNardi/ParserCharacters

Best regards,
Simone


To unsubscribe from this group and stop receiving emails from it, send an email to gcd-tech+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/gcd-tech/70e42e31-134d-4580-b2f7-ca3688650bdf%40garcke.de.
Reply all
Reply to author
Forward
0 new messages