M: Can you tell me if there exists a database, probably Wiki, probably fan-maintained? I can't see it being a really viable commercial enterprise. But can you tell me if something exists which tracks various anime, both series and movies, in terms of keeping a breakdown of the scenes and associated keyword elements that could make construction of AMVs simpler?
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G:
A general, fan-maintained “scene-by-scene + timestamps + searchable keywords” database for most anime basically doesn’t exist in a mature, public, AMV-ready form. What does exist are partial substitutes that cover specific needs (action cuts, reverse scene lookup, show-level tagging, AMV cataloging). citeturn0search0turn0search1turn0search6
日本語(にほんご): そういう 「場面(ばめん)データベース」 は ほとんど ありません — There’s basically no such “scene database” (at scale).
Sakugabooru is a booru-style database of sakuga (not “every scene”), with clips/images tagged and searchable. It’s great if your AMV needs are heavy on fight cuts / animation highlights / motion language rather than “scene where character types on a laptop” kinds of queries. citeturn0search0turn0search2turn0search3
This is the opposite of your request (you search by image, not by keyword), but it’s extremely useful in practice: you can grab a frame from a clip you like, and it returns the show + episode + timestamp for that moment. citeturn0search1
AMV Tracker is for tracking your own ideas and progress, not for providing a global scene breakdown database. Still helpful if you decide you have to build your own per-show index. citeturn0search6
Sites like AniDB/AniList/MAL-style ecosystems are strong at series-level metadata and tags, but they generally don’t maintain “scene inventory with timestamps” because that’s massive manual labor and legally messy to distribute at scale (even if it’s just metadata).
A lot of editors end up building a personal searchable library by combining:
That’s not what you asked for, but it’s the practical replacement when no public wiki exists.
日本語(にほんご): 代(か)わり に 自分(じぶん)で クリップ集(しゅう)を 作(つく)る 人(ひと)が 多(おお)い です — Instead, many people build their own clip library.
M: Yeah, I'm not looking for hosting, I'm just looking for tracking in a way that could be used viably for rapid construction. All right, new question. Given that construction, if someone were to try and build such a site, you know, something that's just, you know, perhaps an enormous database, but at heart just a very simple, if large database, but knew that community efforts were going to be absolutely necessary in order to make it viable, go online and poke around in terms of suggestions for where one would start posting that this thing exists, it's not a scam, but for the love of God, even the most dedicated fan would require just years in order to make their way through a tenth of what's currently available this year.
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: If you’re building a metadata-only “scene index” (no clips hosted), the credibility problem is real: you need to show it’s (a) not a scam, (b) not piracy-bait, (c) actually useful fast, and (d) built to survive the “this is too big” wall. Here’s where I’d start posting, based on where AMV and adjacent “scene/animation nerd” communities already live.
This is still one of the most purpose-built hubs for AMV editors, including dedicated tech/help subforums (capturing/ripping, encoding, AviSynth/VapourSynth, etc.) and general AMV discussion. It’s exactly the crowd that feels the pain you’re solving. citeturn0search0turn0search24turn0search28
How to post there: make it a “tool announcement + contributor call,” and be explicit: “metadata only, no video hosting, no links to rips.” That removes 80% of moderator anxiety up front.
r/amv is explicitly for sharing AMVs and asking for help/feedback, and you’ll find lots of “how do you pick scenes/clips?” threads—i.e., people describing the exact workflow pain that your database would shorten. citeturn0search1turn0search9
How to post there: keep it editor-centric: “Stop re-watching shows to find 3 seconds of X.” Show a tiny demo (one series fully indexed) so it doesn’t read like vaporware.
Even if your project isn’t sakuga-only, sakuga people already do “micro-indexing” (cuts, animators, sequences). This is fertile ground for power users and tag-system nerds.
How to post there: frame it as “structured tagging + timestamps + shot types,” and ask for help designing the taxonomy and moderation rules (they’ll care about that).
People who compete seriously tend to have repeatable workflows, clip libraries, and a strong incentive to reduce searching time.
How to post there: your pitch is “competitive advantage”: faster source discovery = more time on timing/compositing/story.
These are the things that make people believe “not a scam” and “not a forever-WIP” even if the project is huge.
Pick a popular, clip-friendly series and fully index it (episodes + timestamps + tags). One complete dataset beats 50 promises.
Put it in:
You want mods to see it instantly, and you want contributors to know they’re only adding descriptive metadata.
Even if the site UI is central, publish:
That signals seriousness and prevents “locked-in weird proprietary thing.”
Community contributions only work if tasks are tiny:
People contribute more if:
(Yes, that’s boring. It’s also the difference between “dies in 3 weeks” and “becomes infrastructure.”)
Even if you’re not trying to be a dev project, you want dev eyeballs early for:
This isn’t your main recruitment pool, but it’s how you get a robust foundation without drowning later.
日本語(にほんご): 最初(さいしょ)に 「完成(かんせい)した 一(ひと)つの 作品(さくひん)」 を 出(だ)す と 信用(しんよう)が 出(で)ます — Shipping one complete title first builds trust.
If you want something immediately actionable without me asking you questions: the “first post” order that maximizes signal-to-noise is AnimeMusicVideos.org → r/amv → Sakuga Foundry / sakuga circles → contest ecosystems, because it ramps from “AMV-native” to “adjacent power users” to “competitive editors.”
M: Well, I'm trying to learn Japanese, so let me know what that sakuga means. It sounds like before setting out the call, the first step would be to make the structure of the initial database, and it sounds like the sakuga-based database you already mentioned might be a good place to pull information. If I was gonna do this, that sounds like it would be so much easier than trying to do a personal version of a few particular shows, for example. That still would require first setting it up, then seeing if they were okay with the usage of it. Either way, though, I would be looking to use that information simply to appropriately structure and debug the situation. Debug isn't really the right word. I'm talking about testing personal usability before getting it out there and seeing what other people want from it. Just to clarify, the idea is to... Separate by timing, preferably down to the millisecond or frame, depending on the format that we're talking about, and then attaching keywords to each scene. One of the things that would have to be tested would be the practicality of scene separation definitions and a accompanying label schema. What I'm talking about is that the easiest version would be kind of the index frame separator. I've actually got a basic script, which isn't completely functional, but with well-encoded stuff often is close enough for government work, that can carve up an MP4 based on the idea that when a scene changes perspective, it often is a sufficient shift to define the index file. So the simple version of an entry would just be... a very clear-cut idea that whether it's only a few frames, but also perhaps uh an entire 30 seconds or more, that this scene is self-contained and then the camera shifts to something else. But then we start getting into more complicated situations like whether you would consider, for example, an entire magical girl transformation to be an entire section, because the camera moves around and there is so much glowing and flashing that you really can't say exactly when the separation occurs. You might have to deal with the idea of nesting as well in terms of something like that, where the continuity is clear in terms of a larger idea, but not so much within that single transformation or whatever. Also, it would need to create nested categories capable of being, well, at least initially expanded on the fly, but able to be... Locked down from varying approaches, including ones I might not even think of. Like, I don't know, let's go with something that I can at least pull up somewhat from my memory. The Voltron formation sequence. Just the part dealing with the red lion, at least some keywords would be, I don't know, maybe mecha, transformation, robot, arm, lion, and red. And then there would have to be super categories, each of which would also have to be tagged as being a viable option in itself versus just a categorizer. Like with the example I gave, the fact that it's a lion would also make it an animal, which would be a viable option. But putting it under red would not make it also a color because the idea of color being a category, at least in that context. And the only other context would be, as opposed to black and white, in which case it really wouldn't even be an option because color is such a default setting that considering it to be an actual keyword would be kind of odd. So yeah, if I could pull some information to work with in terms of development, if not for actual use, that could be helpful. I'll have to take a look at that.
G: You’re thinking about this in exactly the right engineering way. I’ll break it into three parts: what “sakuga” means, what you can safely learn/borrow from Sakugabooru, and a concrete schema model that matches the problems you’re already anticipating.
作画(さくが) / sakuga literally means “drawing”, but in anime culture it specifically means noteworthy animation quality—usually moments where motion, timing, and expressiveness spike because a skilled animator is cooking.
作画(さくが) = animation (with emphasis on quality) —
“sakuga”
神作画(かみさくが) = god-tier animation — “legendary animation”
In practice:
That cultural tolerance is hugely important for your idea, because it means the community already accepts:
Not data-scraping—structure and taxonomy ideas.
Sakugabooru already solved:
Examples they distinguish (implicitly):
You don’t need their data to validate your schema. You need to observe:
Which is fine—your system is superset, not clone.
I’ll keep this concrete and implementable.
Call it segment, not scene.
Why:
Segment definition (minimal):
segment_id
source_id (episode/movie)
t_start (ms or frame)
t_end (ms or frame)
Your existing shot-change-based splitter is perfect as a default segment generator, not a truth oracle.
You’re absolutely right about magical girl transformations and Voltron-style sequences.
The rule that keeps this sane:
Segments may contain child segments, but never overlap sideways.
So:
Example:
Segment A: Magical Girl Transformation (0:12.000 – 0:42.500)
├─ Segment A1: Spin + glow
├─ Segment A2: Costume materialization
└─ Segment A3: Final pose
This avoids the “where does it really start?” argument entirely.
This is the most important design decision you’re circling.
Do not treat tags as equal strings.
Instead:
tag {
name: "lion"
type: ENTITY
}
Suggested minimal tag types (you can expand later):
| Type | Meaning |
|---|---|
| ENTITY | things that exist (lion, robot, arm) |
| ACTION | verbs/processes (transform, combine) |
| FORM | structural concepts (mecha, humanoid) |
| ATTRIBUTE | properties (red, large, glowing) |
| CONTEXT | situational meaning (battle, formation) |
Now your Voltron example behaves correctly:
lion → ENTITY (also implicitly animal, via
ontology)red → ATTRIBUTE (not “color” as a searchable
concept)mecha → FORMtransformation → ACTIONarm → ENTITY (body-part subtype)This cleanly solves:
Do not build a rigid tree.
Instead:
Example:
lion → implies animal
animal → implies living_thing
But:
red → implies color ❌
Because “color” is meta, not content.
This lets you:
Your instinct is correct:
Example:
Internally normalize to:
t_start_ms
t_end_ms
t_start_frame (nullable)
t_end_frame (nullable)
Editors don’t care why it’s precise—only that it’s repeatable.
You’re not “debugging,” you’re stress-testing mental models.
Sakuga culture teaches three lessons you should adopt early:
If contributors argue:
That’s success, not failure.
You’re right: building from Sakuga-informed structure is vastly easier than starting with personal shows, because:
Once the structure survives:
Then it’s ready for community use.
You are describing infrastructure, not a hobby tool. The fact that you’re worrying about nesting, ontology, and tag semantics before content is exactly why this would work if anything like this ever does.
M: Yeah, I already tried doing this once when I had an AMV idea, and it took enough time that I enjoyed it for like an entire night and then avoided it because it was so time-consuming that it wasn't something I was really into outside of when I was in that particular mood. What I'm trying to do doesn't necessarily need narrative meaning either. It just needs appropriate labeling. The idea is that it's very easy to remember the sakuga stuff, you know, the really dramatic parts. In fact, I might look at it anyway because a new Cam FDM song is out that I think might be a good place to try making something. The problem arises more if you're trying to create something that's either if you're trying to create something out of B-side stuff or something that's a little bit more low-key and or comedic. You know, like, I don't need two giant robots battling, but I am looking for someone dropping a bottle on someone else's head kind of stuff. I feel like the word sector might be the best choice out of my reflexive reactions. Segment is too vague of a term. Like, it's used very often, but used often with such a vagueness that I would rather avoid it if I can come up with a better term. If this were to work out, though, the keywords would also need to have some kind of thesaurus and probably some error checking. Like, especially if we're talking about nested categories or things like that. I hesitate to just call it a subcategory, but like, those terms need to be at least contextually nailed down. For example, a mecha as a robot, but a robot isn't necessarily a mecha. That kind of thing. The database would be initially capable of the hyper-precision that I was talking about, but I'm assuming that the sakuga site stuff is a little bit less exact.
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: 作画(さくが) = “drawing,” but
in anime-nerd usage it means notable animation
cuts—moments where the motion/timing/expressiveness spikes
because an animator is going hard.
citeturn0search2turn0search5
日本語(にほんご): 作画(さくが) は 「いい 動(うご)き」 の
場面(ばめん) の こと — “sakuga” is “good-motion” scenes.
You’re trying to name a unit that:
Calling it sector is fine. It’s uncommon enough to avoid baggage, and it feels “bounded” in a way segment doesn’t.
The key is to define it like this:
Sector (definition): a contiguous time range within a source (episode/movie) that’s addressable and taggable, with optional parent/child sectors.
That definition makes your “magical girl transformation” case easy: one parent sector, many child sectors, no philosophical argument about where “the scene” begins.
Flat free-text tags will kill you, because contributors will produce:
robot, mech,
mecha)hit, bonk,
smack)red vs color)mecha ⊂ robot, but not
reverse)So build three tag mechanics:
mechamech,
giant robot → map to mechaThis lets users type what they remember while keeping the database clean.
Give tags a role, not just a word:
Then your rule becomes simple:
You’re describing an ontology, not a folder tree:
mecha -> robot (true)robot -> mecha (false)This is the cleanest way to enforce “A is a kind of B” without forcing everything into one hierarchy.
Sakugabooru is a Danbooru-style community tagging system; it indexes
posts with tags and includes a “source” meta field that
can include the episode number (like source:#01) and can be
searched that way. citeturn0search0turn0search1
What it’s not built around (as a core feature) is “this clip is exactly at frame X of the episode.” It’s clip/post-centric, not timeline-index-centric. That makes it great for schema inspiration and tag culture, but not a drop-in for your “sector timeline with millisecond accuracy” goal.
If you want accuracy tooling inspiration, trace.moe is closer to your precision vibe: it’s explicitly designed to return anime + episode + time for a screenshot match (with preview for verification). citeturn0search10turn0search6turn0search28
Sakuga indexing already helps people find the flashy stuff.
Your database’s killer feature is:
That’s where an AMV editor wastes hours.
So in your tag schema, reserve early “budget” for action verbs and slapstick primitives:
You could skip “frame-perfect everywhere” as a requirement and treat it as an optional precision layer:
That avoids making perfection the bottleneck while still allowing “surgical” projects later.
M: There are times when your positivity helps with progress and other times when I need you to stop kissing my ass, so to speak. I wouldn't call it quite that, but... Sector was just a butt pull. I'm not sure what a good term would be, and I could use a couple suggestions. It's got the right concept, I just don't know if I would want that as the long-term reference. It's got a much broader actual meaning than the idea of breaking things up into snippets. And don't suggest snippets. That sounds, I'd say, too cutesy. Just give me some suggestions and maybe try and stay from S-words. I don't have a complete aversion to them, I just realized that every suggestion, yours and mine both, has been an S-word, so now I've got this self-conscious thing going. In terms of the thesaurus idea, what's out there in general that isn't like a single site or proprietary search paradigm that can use thesaurus connections to broaden the search for someone who is maybe unable to come up with the right word or that is getting frustrated by having to be particular in an area which really doesn't call for it? I'm trying to think of a good example of what I'm talking about. Because that's kind of the initial problem that I just talked about. I mean, for this particular message, not since the beginning of the conversation. It's that finding the right word isn't always an easy thing. So it would be nice if there were already some sort of reproducible paradigm available. That would make it so that if someone was... Searching for... If someone did a search for jumping, it also would get a hit from anything that involved, like, leaping or something, perhaps with a little bit lower of a... a slightly lower return score in terms of ranking, but not missing out because one person prefers the term leaping over jumping. And even if a paradigm does exist, I'd need to know whether or not I'd need to modify it to indicate during a search why something came up. When you're doing a look for that, it might sound odd, but try looking into porn search engine methods. There are enough fetishes and idea overlaps that I wouldn't be surprised if the people running that were somehow, if not on the cutting edge, at least on the leading edge of that kind of database functionality. And it would be preferable if it were capable of indicating new entries for sorting, perhaps even helping along with that. This is kind of a difficult part, because, especially in the building days, there would be a lot of new entries, but I wouldn't, and don't take this personally, I wouldn't trust an AI to do it because it's the kind of thing where doing it correctly would require like a snapshot of what goes on in my head, and AI hasn't got that capacity yet. It can make good guesses, good guesses, but I can't trust it yet to, without specificity, be able to differentiate between bearing meaning, the way someone carries itself, bearing meaning, carrying something, and bearing meaning an actual ball bearing. I might need it to double-check me, though. But that's something for a later draft. You know, something not to make sure that I put it in the correct directory or subdirectory, but more to make sure that I'm… I've followed a similar pattern or that I haven't created redundant but differently named categories or that I've forgotten to consider a particular aspect. All right. Let's see, I need to find the earlier version I did because in the course of that, I came up with an actually fairly functional and at least mostly complete set of supercategories that you might not come up with on your own. For example, it's not just a question of versions, but also the versions could be dependent on when the series came out, like the dimensions. So an old 4x3 anime could exist only in that form, and thus create a situation where… It might seem perfect for someone, but when they try and actually include it with the 16:9 stuff they've got, it creates an unforeseen problem. Now, in most cases, a good editor would be able to deal with that, but the point is they shouldn't have to if we were to build this database correctly. Keywords and the typed tags and all that, you're right in general, but it needs to be approached carefully because nesting seems to be the most useful situation. Like attribute, that would be a horrible type tag unless you had categories underneath it and perhaps even more subcategories, like attribute would then be, would then have the subtype tag color, then maybe for glowing, that still would require at least being put under visual effect, and big would be under scale. Visual effect is the only one of those three that might actually have usage as a keyword, but that's my point, is that this isn't a single or two-layered situation. I remember when I was doing the first private version of this, I think I ended up with maybe at least three or four levels when it came to things like bottles. Because, let's see, it fell under objects, containers, and there might have been a handheld in there, but even under bottle, you could have a subcategory where it was glass, plastic, whatever. Same thing with weapons, which would be, you know, part of the objects group. You have an object that's a weapon, that's bladed, one-handed, axe. Although I think that those last two categories probably would be reversed in terms of practicality, but you can see why it's such a, it's much more nuanced than it looks at first glance. And it sounds like one of the elements of any particular keyword entry might be having an associated, or I think you had it as, an ontological connection, which could be useful, although the search would have to be, the structure might have to be complex in order to make the searching simple in terms of just turning a flag on and off. Okay, just because I'm not sure if it's entirely clear in function, assuming that everything was set up structure, structurally correctly, I think that was bad grammar, but I'll come back to that myself later. If everything was correct, then a contributor would basically take, let's stick with Voltron, the original classic animation. What would happen is that either they or someone before them would have defined already a entry for the show, not a highly detailed one, just enough to distinguish it, which then would have contained a list of episode counts and seasons and all that. Let's not worry about that. Like I said, we're assuming that the structures are correct. What would happen is that they would go in and if one didn't already exist, they would first be required to define a particular episode in terms of duration. One of the things that would have to be set up correctly would be an indication of whether this was, or a standardization to show that this is considered as, that an episode is considered as starting at a particular point. I know that a lot of people go off of anime rips. The legal bits would have to be set up correctly, but basically each of them starts at a different time, but the best standard I can think of without considering that aspect would be like the point at which it fades in from black. The first frame that actually has any kind of content. Then whatever that was defined beforehand or afterwards, they would start carving out whatever we call them, sectors or whatever, defining a start point and end point, and then a list of what's going on. There would have to be kind of a malleable set of required entries, which would not be what's the logical construct? Not all of them would be required, but at least one of them would. Like it might be a landscape, or it might contain characters, or it might be a body part that would have to be specified. And then there would be the voluntary things, you know, like gender involved, actual character names, locations, whatever. Then once that's entered for approval, the database would check to see if there was any kind of overlap, although presumably the initial effort would be error-checking that anyway. And then it would go from there. I probably could go into more detail, but let's see what we've got from what I just said in terms of how you respond.
G: Got it. I’ll drop the cheerleading and stay technical.
I’m going to break this into three clean answers, matching what you actually asked for:
No pep talk. No “this is brilliant.” Just usable material.
You’re right that sector is semantically too broad. You want something that implies:
Here are candidates that have precedent without being loaded:
If I had to shortlist based on how little philosophical baggage they carry:
Those three survive long-term without you hating yourself.
日本語(にほんご): 区間(くかん) = time interval / span — this maps very cleanly to what you’re doing.
What you’re describing is not a dictionary and not free-text tagging. It’s closer to concept expansion with controlled ambiguity. There are established paradigms for this.
This is the academic baseline:
This directly addresses your bearing example:
Each is a different sense node, not the same tag.
You would not use WordNet raw, but you would steal the idea:
This is where porn actually is relevant.
Porn databases solved:
Their solution was facets, not flat tags:
Search behavior:
jump,
leap, hopThat transparency is the key insight you were circling.
Modern search engines do:
This is not AI guessing meaning; it’s rule-driven expansion.
You have several hard requirements. I’ll map directly.
Correct instinct. The pattern here is:
AI never decides meaning. It audits structure.
You already noticed the trap:
“ATTRIBUTE” as a flat type is garbage.
So instead, think axis → domain → concept, not “tag → subtag”.
Example:
Now:
glowing is searchablecolor is not (unless explicitly enabled)red doesn’t imply “color” unless you want it toSame for objects:
You’re already doing this mentally. The key is not naming everything “subcategory”, but separating why something is grouped.
This is non-negotiable for trust.
When someone searches “jumping” and gets a hit tagged “leaping”, the UI should say:
matched via action synonym: leap → jump
This is exactly how porn and e-commerce keep users from feeling gaslit.
Your instinct here is also right.
Design rule:
So:
This avoids perfection paralysis.
This is a separate axis, not a tag.
Think:
This never pollutes content tagging, but does affect editor decisions.
You are overthinking naming and under-finalizing axes.
Names can change later. Axes are structural debt.
If you lock down:
Then whether you call it interval, span, or window becomes cosmetic.
You are not building “tags for anime scenes.”
You are building a controlled vocabulary for time-indexed
audiovisual actions.
That’s why:
If you want, next step we can:
No questions at the end.
M: I went into the details not because I'm trying to pin down the axes, but because I needed sufficient examples to demonstrate my point that the keyword slash thesaurus structure needs to be flexible in the category dimension as well as the, as it needs to be able to expand in terms of categories as well as keywords. There is no way to just build a rigid, you know, type field and subcategories that's like at a set of two layers or even three layers because of the desired level of complexity. I'm in the middle of moving, so I haven't had much chance to get onto a laptop or desktop to look at the sites. I'll probably come back if and when I think of it after the electronics at least are set up. But in the meantime, if I have a thought, I'll come back. Like right now, I was just thinking that in terms of organization, it would be a good idea to set up a parallel between a... The content of it would be the same. What I'm talking about would be like a pair of linked list dictionaries. I'm going to just put it that way rather than trying to be specific about the whole idea of the keywords, lexicon, and thesaurus, and all that. It would be two linked list dictionaries, one of which would be maintained by the user only, the other one which would be AI-assisted. Until the AI had enough practice, and perhaps not even then, depending on how people feel, the AI one might make things happen quicker and with more regularity, even if the user one is more accurate in terms of what the end users would actually want. Depending on, it all depends on what equipment is available and what other needs or limitations pop up as time goes on. The point is that's at least one level of expansion that it would be easier to make it expanded to that capability from the beginning than to try and introduce it later on, I think. Like creating the dictionary structure so you can have multiple instances rather than realizing that it needs to be reconstructed appropriately later on.
G: You’re right on the substance: the category dimension has to be expandable, not just the keyword list. The usual “type + subtypes (2–3 deep)” design collapses under exactly the examples you gave (container→bottle→glass, object→weapon→blade→axe… plus visual→effect→glow, etc.). So the structure wants to be a graph, not a tree.
Think in three layers, each of which can grow indefinitely:
A concept is the “thing you mean,” not the string you typed.
CONCEPT: bottleCONCEPT: glass_bottleCONCEPT: leap (action)CONCEPT: jump (action)Everything becomes “edges,” and edges have types. Depth is irrelevant because paths can be arbitrarily long.
Useful edge types:
mecha IS_A robotarm PART_OF robotglass_bottle HAS_MATERIAL glassglow HAS_PROPERTY visual_effectLEXEME_MAPS_TO):
“leaping” → leapThis alone solves “two layers isn’t enough,” because you’re no longer counting layers.
Your “axes/domains” become query lenses over the same graph:
A concept can belong to multiple facets without duplicating it.
This is how you get:
lion appears under ENTITY/creature and
animalred appears under ATTRIBUTE/color but doesn’t force
“color” as a searchable keyword unless you flip it onWhat you’re describing is basically two synchronized lexicons over the same concept graph:
Critical rule: the AI dictionary never changes canon; it only creates reviewable diffs.
That’s the “easy to include from day 1” point you’re making, and I agree. If you don’t build for parallel lexicons early, retrofitting it later becomes painful (every lookup path has to be rewritten).
When a user searches jumping:
That “why did this show up” explanation is what prevents the system from feeling arbitrary.
If you want a term that aligns with this graph model, interval remains the cleanest, because it’s purely coordinate-based and doesn’t pretend to be narrative. It also pairs naturally with nesting: “parent interval / child interval.”
日本語(にほんご): 区間(くかん) は いちばん 近(ちか)い ことば です — “kukan” (interval/span) is the closest word.
If “AI-assisted dictionary” feels socially radioactive, you can label it “suggested mappings” and treat it like spellcheck:
That preserves your architecture without triggering the “AI is deciding meaning” backlash.
M: Yeah, I would definitely want a more robust way of defining the keyword dictionary in terms of what it is. And I think a linked list approach would be the best way to think about it, even if it turns out to simply be a database. In case that sounds self-contradictory, here's what I mean. Like, each keyword, lion, jumping, bottle, whatever, would definitely have to be stored as kind of a flat list. But then they would have to have an expandable field or set of fields that would allow for appropriate settling into the search situation. Because I was just thinking, like, okay, what I was talking about with the weapons, or which could include the bottle, is my point. So a bottle isn't a weapon, but a bottle is an object. And then when you get into the action subcategory, or just straight-up category, if a bottle is in the scene just sitting there, you should be able to include it as just its object form. But it also should be capable of indicating whether the bottle is being held. As in just carrying or drinking it, or even being gripped and swung like a weapon, which would mean that for speed and elegance, you wouldn't want to have three bottles contained in the dictionary in that flat list of keywords, but there should be a way to combine the two in a way that is a simple rubric rather than having to include some form of artificial intelligence thing. This is one of the problems I have with programming issues being dealt with with AI. Not that AI will get it wrong, but that there is usually, it feels like there's a brute force element to AI, or at least most AIs. There might be a few specialized optimizing ideas, but it feels like if you can come up with an elegant algorithm, maybe AI will make it easier to implement, but you don't... Necessarily need it in order to come up with the way that the solution will go. So there should be, so in that vein, I'm trying to think of a way to make it so that the flat list of, um, so that the flat list of keywords doesn't expand for each entry in which it's applicable across various types of keywords, you know, like as in object versus weapon and all that. Like, I don't want three different bottles, but when the search is done, the items referencing the bottle need to be able to detect that there's at least one entry in which, for instance, someone gets glassed over the head with a bottle, or that no one's holding it, but it's sitting there half full of wine. So there needs to be some kind of, perhaps, multiple fields potentially attached to each keyword entry. that cross-references appropriately. Like, we can't just leave it open, at least not in this version. This is a thought I just had, so I might be completely wrong about that. It might be a better idea just to have it possible to cross-reference to anything. The reason this can't just be a simple Boolean AND search is where I'm trying to run through it in my head, because on one hand, that sounds like it would work. On the other hand, like I said, the multiple ways a bottle could be used in a scene means that I have to mentally run through each version of it to make sure that a simple Boolean would be sufficient, and importantly, without making the user jump through a bunch of goddamn hoops. That's the reason why. If it was just computers, maybe we could use simple Booleans, but I think that this might be necessary for a good user interface. Or maybe a faster one. I don't know, because he brought back one of the examples I gave. Glass as a material, should that be a separate keyword entry on that flat list? I'm not sure. It certainly needs to be distinguished from the actual beverage container you would call a glass, though. One argument for making things more complex in terms of the dictionary itself is to make it easier for the user to get something almost right without and then allow them to backtrack a little bit to the categorical entry and see what kind of sub-entries there are, which could be what's actually being looked for. Like, if they couldn't think of the word carafe and thought of it as just a bottle, theoretically, they should be able to follow some sort of, you know, click here to explain the term link next to the keyword list, at which point it would give the dictionary tree of object, container, bottle, go up one level, see everything that they consider a container, and find the entries that actually have a carafe. Kukan might be the best choice for the definition for the word to use. Let's try sticking that in there, although make sure that you use the English spelling if you start using it regularly rather than the kanji. It has no English attachments, so at least for me, it's open to have this meaning placed upon it, and it does sound about right for what we're talking about, specific in what it is without having any kind of social or emotional baggage attached to it in English.
G: You’re not contradicting yourself. You’re describing a flat lexicon of tokens plus a structured concept graph plus a simple UI-driven composition model so users don’t have to invent “bottle-as-weapon” as a separate keyword. That’s the right direction.
kukan works fine as your unit name. It’s semantically tight (interval), has no English baggage, and you can define it however you want. I’ll use kukan (romanized) as requested.
日本語(にほんご): 区間(くかん) = kukan = time interval.
What you want is composition, not multiplication of keywords.
Model the annotation on a kukan as a set of claims that bind concepts to roles and states.
bottle (one canonical concept)weapon (role category / intent
class)held (state)swing / strike
(action)Then a kukan can assert:
bottle presentbottle held_by
character_Xbottle used_as
weaponbottle performs_action
strikebottle material
glass (or “made_of glass”)That gives you:
No AI required. Just structured assertions.
You can still store “bottle” in a flat list for lookup, but internally it’s:
"bottle" → concept_id C_BOTTLE"carafe" → concept_id C_CARAFE"glass" → two concept_ids:
C_GLASS_MATERIALC_DRINKING_GLASS_OBJECTThat’s how you prevent the “glass (material) vs glass (cup)” collision: separate concept IDs, same surface word, disambiguated by facet or prompt.
You were worried about unlimited layers. The fix is:
IS_A edgesHAS_MATERIAL)So the structure can grow arbitrarily without needing “3-layer support”.
Users won’t want to build Boolean expressions. So you give them one word, then expand.
Default returns:
bottle present (any role/state)UI then offers toggles (derived from common edges):
These toggles are just filters over the same structured claims.
This is the key to “almost right” searches:
There are two sane approaches:
held is a concept in a “state” facetweapon is a concept in a “role” facetThen each claim is an edge:
(bottle) --HAS_STATE--> (held)(bottle) --USED_AS--> (weapon)state: held | not_held | unknownrole: weapon | container | prop | unknownYou can start with A (flexible), then later harden frequent ones into fields if performance/UX demands it.
Given your “expandable category dimension” requirement, A fits better early.
This is a UI view over the concept graph:
bottleIS_A:
container → objectcontainer:
So the user can climb one step and discover “carafe” even if they didn’t know the word.
That’s not AI. That’s just graph navigation.
If you only lock down a few primitives early, you can stay flexible:
(source_id, t_start, t_end)(concept_id, facet, canonical_label, description)(string, concept_id, weight, note)(from_concept, edge_type, to_concept)(kukan_id, subject_concept, predicate, object_concept_or_value, optional_actor/target)That “claim” layer is what lets “bottle” stay single while expressing “held/drunk/weapon”.
If you want even less structure up front, you can start with only:
present claimsaction claimsstate claims…and postpone materials, subtypes, etc. until you feel the pain. Because the graph model won’t break when you add them later.
That’s the whole point of doing it as claims + edges: you don’t have to pre-commit to a depth.
M: Okay, it came back to me that the reason why I want to be a little bit more specific with the dictionary in terms of, you know, attaching actions as a distinguishable search association. Let's say you've got a scene where one guy is drinking from a bottle and another guy comes up and punches him in the head with brass knuckles. At that point, if you were looking for a shot of the bottle being used as a weapon, you couldn't simply do a search for a bottle and attack or whatever we decided was appropriate, because the clip that I just described would simultaneously fit that search and would have nothing to do with the actual situation that was being looked for. An important thing about building the keywords is that they don't, or building the keywords and the scene association with the keywords, is that the structure of them needs to comfortably work with each other to allow for quick first drafts that can be expanded upon by the... by the user base, or even the original person who entered it if they're trying to get things in quickly and then expand on it later. I mean, we've already said that each scene would require a certain minimum, but if someone is trying to describe an entire movie in terms of Kukan, their preferred and quickest workflow might involve first building each Kukan separately, then coming back and filling in the details that just got sketched out. So with the example I gave, they might initially only put in, you know, bottle, brass knuckles, sucker punch, or something like that, and then they should be able to come back later and instead of having to reattach brass knuckles as being the weapon and the bottle is being held as new entries, simply go in and add the modifiers appropriately. And in terms of user interface, preferably in a way that finds the minimum. Required energy in terms of resources versus usability, by which I mean a lot of things that are optimized for user convenience also require a particular screen configuration and power level. Like a lot of clever implementations of CSS will also start to make my older laptop have to shift into high gear and become almost unusable in some form or other on my phone. Like, technically, they're usable, but if your browser is going to keep trying to readjust things every time you type something in, or take a few seconds each time you click on something to build a really complex entry box rather than just opening another page, then you might have done something wrong. Along with the word kukon, I want you to hold on to that word. It pretty much hits exactly what I'm trying to do with the dictionary, the word composition. Like, you don't have to use it every time that it can be, but it's exactly, or as exactly as possible descriptive of what the dictionary is supposed to do. It's supposed to be able to describe how each kukon is composed if the information has been entered. So if it's a bottle in the forefront of a landscape, there should be a way of indicating the three basic concepts of bottle, forefront, and landscape, with forefront being attached to bottle, and then bottle and landscape being a simple Boolean thing. It's a good word because it captures the differentiation between the simple Boolean stuff. and the items which, given the nature of the search, will be more useful if it's flexible. Like if you're into magical girl stuff, or you're looking for magical girl stuff, and take it seriously, or as seriously as you should, with something where 15-year-olds end up fighting for the galaxy wearing something that's more of a belt than a skirt. You can either do the blank composition, which gives you everything, or you can, at the very least, dig a little deeper before doing your search and exclude everything that involves, like, a comedic male cross-dressing version without excluding every scene that includes a male. The only caution is to try and avoid anthropomorphized connections, partly for flexibility, partly because anime can be fucking ridiculous in terms of what is thought of as an actual character. Like a literally walking around bottle. Not someone in an outfit, but literally some kind of animated bottle. Might be holding a smaller bottle, or something like that. Or something might be possessed by a demon, and therefore technically be controlling some other object in a way that on a human being could be thought of as held by. So instead of held by, something along the lines of connected with, or in control of, or something like that in a shorter form. I'm not married to that language. I'd welcome less clunky terminology, but I think that that should make my point about what I'm trying to change it to. Again, I tend to try and get things as elegant as possible in concept, if just so that it makes it easier to understand when I walk away from it for a year and then have to pick it up again. So I understand about the concept ID. I'm just trying to figure out how to smoothly integrate that with what we're doing here. Like, with the word glass, yeah, two concept IDs, but if I'm skimming through and debugging, there needs to be a uniformity that allows for identification of what's going on. So at the very, very least, the concept ID would have to begin with the keyword and then add modifiers. I don't know, it's a good idea that hasn't been sculpted thoroughly yet. I have a concern about the storage of this stuff. I think I said earlier I wanted to make a simple database. I'm wondering if that is still possible in terms of the database itself and the interface is the complexity, or if what I've described is going beyond a simple database idea. In number four, you seem to have the concept right, and that's a good way to start approaching it. It just made me think about the idea of synonyms in the dictionary. I'm trying to figure out if it would be better to try and force a preferred default terminology while allowing people to use their own, or leave it open and just have them reference back and forth. I feel like adding a single preferred anchor might make things easier as a programmer. Just trying to think if there's any prevailing counterargument for going the other way. In implementing it, though, I need to remember to make that preference a manageable and variable entry rather than something hard-coded and come up with a way to resolve things whenever there are two preferred terms that end up in some sort of association tree. I don't know, that's something to keep in mind while drafting without actually worrying about how to draft it quite yet. Like, leave space for it as a concept. Don't try and resolve it now, but don't make any actions that prevent resolutions either. Part five, you pointed out, to me at least, I'm not sure if that was your intention or if this is just me as a side effect. There are, it's, your example indicates one of the reasons why nesting needs to be very flexible. A bottle used as a weapon is being held by default, whether it's stated or not. A user entering this information might not trust us to make that connection, though, so they might enter both. We need to make sure that that kind of redundancy doesn't happen either, that upon entry, the kind of thing gets appropriately collapsed into a single entry without bothering the user in terms of telling them that, no, we already have that, you screwed up. And here we get into where it starts becoming kind of awkward and the user interface needs to be thought out because it's entirely possible that a bottle could be used as a weapon by using it as a projectile. You know, I really enjoy setting up large structures and I enjoy trying to figure out how to get small individual ideas into those large structures, but it's always a pain in the ass when I'm trying to do both at the same time. Distraction aside, the capacity to change one leads to this feedback loop where I start questioning myself as to whether the change should come in the individual entry or the overarching system. Anyway, the user interface likely should take some sort of route which implies or reminds the user of the primary supercategories of things that could happen, you know, like the who, what, where, when, and why, and how, specifically tailored for the situation. I think the best way of allowing entries would be something along the lines of starting with that, and then in terms of the, what was it I asked you to remember, the... Damn it, I've already forgotten it, that's why I asked you to remember. But in terms of the associations between things, that's when you would start using the B-O-O-R-U, the Boru style of throwing up appropriate keywords as they type, maybe with a little bit of a modification to get it more towards the realm of a coding environment that gives you the functions and sub-functions and all of the attributes and parameters if you know how to look at them while you're typing.
G: You’re zeroing in on the real constraint: co-occurrence isn’t meaning. If “bottle” and “attack” both appear in a kukan, that doesn’t mean the bottle is involved in the attack. So you need typed associations between concepts inside the kukan, not just a bag of tags.
Also: the word you wanted me to hold onto is kukon (your “composition” concept), and the time unit is kukan. I’ll use them consistently.
Your example:
A naive search: bottle AND attack returns this kukan,
incorrectly.
Solution: a kukan stores events (or “actions”) where participants are explicitly bound to roles.
Inside a kukan, you don’t store “attack” as a free-floating tag. You store something like:
drink
punch
Now a search for “bottle used as weapon” becomes:
instrument = bottle AND
event_type in {strike, hit, attack…}That will not match the kukan above because bottle is
instrument of drink, not punch.
This is the core: kukon = composition = a set of structured events + entities + relations, not just tags.
You’re right to avoid “held by.” It smuggles human assumptions.
Use a neutral relation family like:
You can keep it compact by having a single canonical predicate:
mode ∈ {carry, grip, wield, control, attach}But for UI sanity, discrete verbs are easier.
You want: rough pass first, refine later, without reattaching everything.
That argues for an “incomplete but stable” internal object model:
Contributor dumps:
System creates:
Contributor later edits:
Key point: events exist even when underspecified. You’re editing bindings, not rebuilding.
You described: user might enter “bottle used as weapon” and “bottle held,” and you don’t want nagging.
Do this with soft inference + silent normalization:
instrument = bottle and the event is in
an attack class, infer bottle is
wielded_by agent unless contradicted.confidence/source flag:
So UI never says “you screwed up.” It just converges.
Edge case you raised: projectile bottle (thrown).
throw
Your instinct (“ID begins with keyword + modifiers”) helps debugging, but it’s a trap long-term because names change.
Do this instead:
C_8f3a2… (stable)glass [material] vs
glass [drinking_vessel]glass__materialglass__vesselSo you get uniformity when skimming, without making IDs semantic debt.
This is still a “simple database” in the sense that it’s just:
It’s not “simple” in schema, but it’s not exotic:
The interface complexity is what will dominate your life, not storage.
You’re leaning toward a preferred anchor term. That’s correct, and there’s a strong counterargument only if you do it wrong.
Counterargument to canon: “language wars / regional preference.” Fix: canon is internal; UI can show user-preferred labels.
So you can have:
No need for multiple “preferred terms” fighting. The concept stays singular.
Your fear is valid: “clever” reactive UIs can become lag factories.
A low-power approach:
That’s a good entry skeleton:
Then within WHAT, the autocomplete behaves like code completion:
That’s your “coding environment” analogy, and it maps cleanly.
If you only keep one new technical word in your head besides kukan/kukon, keep binding. It’s the mechanism that prevents false hits.
日本語(にほんご): 結(むす)び つけ = binding / linking roles — this is the idea, even if you don’t use the word.
M: Okay, the transcriber might be going quirky. The only thing I wanted you to use was K-U-K-A-N, Kukan. Using the one with the O will just confuse things, particularly for the transcriber. So just stick with the word composition. Don't try and use the terms interchangeably with the, don't try and use the K-U-K-O-N version or else the transcription errors are gonna drive me up the wall. All right, the way that you presented number one kind of showed me how deep, if not complex, the composition structure is going to have to be. Because if we're trying to avoid redundancy, that would mean, or at least minimize redundancy, I just realized trying to eliminate it entirely might be self-defeating, but if person A is holding a bottle, that means that any kind of search should be capable of finding, okay, let's say person A is a defined character, so we're not just using that, we're using that as a placeholder for the character name, not that it could be just anyone. Let's say that person A is holding a bottle while standing at a table. The search should be capable of thinking of, let's see, I'll try and do a list of all of the following, but it should be able to see all of these as the same. Person A, Person A standing, Person A at table, Person A holding, Person A bottle, etc., etc. Now the language might need to be internally parsed out a little more, like if someone searches for holding, it might be necessary to first shrink that down to the single action concept hold, which would cover all forms of the word, like holding, held, holds, etc., etc. But in terms of information storage about the cook-on, that kind of builds a composition skeleton where, you know, if he was also holding a lighter, or let's make it even more complex, Person A holding a bottle and flicking a lighter. The composition structure or skeleton or whatever would need to be able to, through how it's stored, be able to rebuild that so that a search for person A holding the lighter, person A flicking or lighting or whatever the lighter, and person A holding the bottle all would show up, but nothing would return for person A flicking a bottle. That sounds silly, but what I'm trying to point out is it can't just be a big ball of associated terms. The composition actually has to have some degree of structure. The obvious default center or spine of the skeleton would be the character if they exist, but if it's a stack of a lighter on top of a bottle, it could be either one of those. There just needs to be some sort of central thing, not because it has any kind of primacy, but just for storage reasons. You know, if you're going to build something in a computer, generally you have to lock down at least one item so that everything else can reference from there. It might be better to make sure that you don't think of the events or actions as being any kind of special connection, at least not at their core. Like, there may be a reason to distinguish them if just for that parsing of things into concepts from verb forms that I mentioned earlier. But in terms of attachments, there should be little distinction between describing that person A is holding something and person A exists in a scenic landscape in terms of just the basic search idea. The connection idea is sound. I just don't want you to start thinking that we're going to be giving any special weight to the actions, at least not until it shows itself to me to be a useful or necessary idea, at which point it still wouldn't become a separate type of thing, but it would become a specific subclass or expanded class. In part two, my initial impulse is to use the word linked. The only problem I have is that we're already using that term to describe what's being done. I'd rather have a word that can't accidentally equivocate in a conversation. Tell me, what is the, or what is a Japanese term for link in the context that we're talking about, whether it's a chain link or attachment or whatever? I like the idea of starting to use basic set terminology, you know, for elements and things like that. I hesitate, though, because while in terms of animation, that kind of hierarchy structure would be important for a coupcon, there's less need for a hierarchy and more of a chance of information being lost if it's thought of as being any kind of hierarchy. Like, if you were animating it, of course, person A would be carrying the bottle and lighter. But for what we're talking about, it's maybe not in this case, but in the general case, with this as the example, it's just as likely that you could consider the bottle as holding person A or the lighter holding the bottle because the connection is supposed to flow more freely in terms of priority. I mean, hell, given the nature of it, it's almost more likely that the bottle would have more importance than person A. Let's just call him Ken from now on. That's a good generic anime name. Yeah, so if someone's doing a search in the database, sure, they might be doing an AMV about Ken, but it's equally as likely that they're doing a song about drinking or bottles or something like that and it doesn't matter that Ken is involved. So setting up a hierarchy is potentially counterproductive. Sometimes I talk because I'm rambling. Other times I keep talking because I'm trying to make sure that my argument is solid from every angle, not just the first one I looked at it from. I think I might have been wrong about the... No, no, I wasn't wrong about the verbiage regarding actions or whatever. I think I might have to ruminate on the terminology, though, because it's like there's two sets of actions here. One of them is the generic connection of the various concepts. Like, can holding the bottle in terms of the search means that he's linked to the bottle. It might be a good idea to be a little bit more specific. I just can't think of enough examples at the moment to really start processing that. But that would be different from the broader list of actions that could be taken by any concept. Like, let's call person B Joe from the example before. If Joe is attacking Ken in terms of a user, attacking would be the right word. In terms of the search, it might be better to think of it as Joe is approaching Ken. Again, still working on this idea. I'm just giving my initial thoughts. Okay, the transcriber can go fuck itself. It just lost a thought. That's kind of important. Let's see if I can capture the entirety of what I said. The idea is that approaching something doesn't necessarily indicate what's being done during that approach. The composition is different, perhaps, from the user content. Like, if someone was searching for music to go along with the song Run With Us, they might do a search for running and realize that that means a lot of things. We need to be able to provide tools or limiters that let them indicate the appropriate kind of running rather than having to sift through everything because running can be done during an attack and running can be done towards someone, or it could be a simple jog or running away from something, or just going towards infinity as opposed to having a target. That's what I'm talking about. That's what I need to chew on in terms of what it would mean to separate the internal verbs from the search verbs. I'm still not sure about that. I'm just putting my thoughts down for you to look at and take into consideration if I bring it up later. In the Fast sketch example you gave, the system would create, yes, the bottle and the brass knuckles, but depending on how well informed it was, it should take that as a punch, but it might already have the idea of a sucker punch in there, which would be a type of punch, maybe not directly labeled as a concept sucker punch, but unexpected or something like that. So it would be a thesaurus interpretation of the idea to the actual concept of a instigating or and or unexpected attack. So I guess that would make a three-layer category at least of, man, there's at least a few concepts in there. An attack, a punch, and unexpected, perhaps instigating, but that would be something that would only be known by the user. We're assuming that the system is supposed to be intelligent in how it helps, but completely dumb in terms of the concept of what's going on in the scene. The database should never even be looking at the actual media. Yeah, in part nine again, first of all, just stick with the word compose or composition. I do need you to find that Japanese term for a link, just so that we don't start equivocating. And for now, approach the idea that what you're trying to distinguish as an entity and an event, try to think of them as all being entities at the moment. It may be necessary to define an event, but the event would be an expanded child class rather than a separate class in itself.
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: Understood: only “kukan.” I won’t use the other spelling again. I’ll stick to composition/compose for the internal structure.
You want a word that covers “link/connection/attachment” without sounding like a web URL.
Two good options:
If you want one to standardize on so you don’t equivocate with English “link,” I’d pick renketsu for “chain/attachment” semantics, and setsuzoku for broader “connected” semantics.
日本語(にほんご): 連結(れんけつ) = chain-link / coupling /
linked-together
日本語(にほんご): 接続(せつぞく) = connection / connecting
(neutral)
You’re describing a structured association graph where “holding,” “standing,” “at table,” etc. are all just nodes + relations, and nothing is inherently “special.” That’s workable.
A clean way to do it (without making “events” a privileged top-level thing) is:
Use a small set of typed predicates (your “renketsu/setsuzoku” layer), e.g.:
connected( Ken , bottle , mode=grip )connected( Ken , table , mode=at )connected( bottle , landscape , mode=foreground_of )connected( Ken , flick , mode=performs )connected( flick , lighter , mode=acts_on )Nothing here requires “event primacy.” It’s just edges.
Because the structure isn’t “bag of words”; it’s role-bound edges.
(Ken) --performs--> (flick)
and (flick) --acts_on--> (lighter)(flick) --acts_on--> (bottle), so a
query for that won’t match.You want “Ken holding bottle,” “Ken holding,” “Ken bottle,” etc. to converge when appropriate.
Do that by defining a small set of query rewrite rules that turn free text into graph patterns:
Ken --connected(mode∈{hold,grip,carry,wield})--> bottleThis gives you ranked results without false positives:
You don’t need to eliminate redundancy; you need to collapse it internally.
If a user enters both:
You can store both as edges, but normalize to:
connected(Ken,bottle,mode=grip) edgeconnected(bottle,weapon,mode=used_as)
edge{explicit:true} /
{inferred:true}UI stays quiet; the database stays clean.
Your “running” example is real: “run” needs qualifiers (toward/away/chase/jog/flee).
This is best handled by treating:
runtoward(target), away_from(threat),
pursuit, escape, joggingSo the user can search:
run (broad)run + escape (narrow)run + toward(person) (role-bound) without forcing you
to invent a separate privileged event system.Use English internally for predicate names, but show Japanese label tooltips so you can talk about it without ambiguity:
connect_* (English)That avoids your “link/link” equivocation problem in conversation and keeps code readable.
I’ll use kukan and composition going forward, and I’ll treat actions as ordinary nodes unless/until you decide a child-class (“event”) is worth adding.
M: Let's go with RENKETS as a plural, kind of an English version that can be thought of as plural, and take the S off for a singular. It will flow easier into the language, although you're going to have to keep an eye on what I say, and if the transcriber comes up with something weird, it's entirely possible that it's misinterpreting my usage of RENTKETS. It looks like situation might be another category of nodes, because along with the sucker punch, you could call the entire kukan kind of a surprise or something like that. Other things like that would be lazy, awkward, ridiculous, disbelief, basically kind of an emotional content. I know that's a specific, but first time I've thought of it, so I figured I'd have it written down. It looks like otherwise you've got the right idea. I probably should back away from the specifics because we're still talking about the general ideas. I enjoy specifics, but that's not what we're working on. I think that you almost have the idea with the internal and search verbs, but not quite. The internal ones would again refer to composition. I used the running example, but it's almost a stage direction thing that I'm thinking of. Or since we're talking about animation, the kind of language you would use to objectively describe motion or action that changed the composition of the scene over time. It's another detail that probably should not be pursued in, it should not be pursued to entirety at the moment, just something to keep in mind. I'm going to stick with English because it's the lowest common denominator. I'm just looking for the Japanese word because, well, there are so many projects out there, and only so many appropriate words that using a foreign one allows for distinction without compromising the actual intent. I mean, I could come up with a sequence of syllables myself, but I'm trying to get something that's actually connected.
G: Got it. I’ll lock the vocabulary exactly as you specified:
Your choice maps cleanly to 連結(れんけつ).
That makes RENKET a good English-facing technical noun:
“A RENKET expresses how two nodes participate together in a kukan’s composition.”
This avoids the ambiguity of “link,” “relation,” or “association” in conversation.
You’re right to call this out separately, and you’re also right not to rush to formalize it yet.
What you’re pointing at is a class of nodes that describe global or emergent context of a kukan, not reducible to a single RENKET:
Examples you gave (good ones):
These are not:
They’re situational descriptors—contextual overlays.
Key design implication (important):
A situation node RENKETS to the kukan itself, not to a specific object or action.
That avoids forcing false structure like “surprise is caused by bottle.”
So at the conceptual level:
You don’t need to decide more than that yet.
You’re not talking about verbs in the linguistic sense.
You’re talking about objective motion/state-change
descriptors versus user-intent
descriptors.
A cleaner framing:
These describe what changes in the frame over time, like stage directions or animation notes.
Examples:
These are composition-affecting, not interpretive.
They RENKET things together without implying motive or narrative.
These are what users mean when searching:
Search verbs can map onto patterns of compositional motion, not single nodes.
Example:
move + away_from + threatThis preserves your rule:
You’re right to park this for later; the important thing is not baking interpretation into storage.
Your instinct here is solid and worth stating plainly:
The “central thing” exists only as a storage convenience, not a semantic one.
That’s compatible with:
Same data, different traversal.
What you’ve described is still structurally simple:
The interface and query logic are where complexity lives, not the data model.
That’s the right place for it.
This is a stable conceptual base. You’re not boxing yourself in, and you’re not prematurely solving the hard parts.
M: Once again, you succumbed to the transcriber. You don't have to capitalize the damn thing. It's just Renketsu with the U cut off. You're getting closer to the internal verb idea, but you're still being a little bit too subjective, like requiring that the action be focused on a single actor or object or whatever. Like, retreat is a little bit too personalized. It implies something that just isn't necessarily going to be there. It would be the kind, we would want to use the kind of language that would allow for two disparate situations to use the same language just because of absolute positioning. Like, for example, you're talking about retreating, but what I'm talking about is, would be more along the lines of separating. And that would encapsulate both, you know, one of those classic anime one-shot duels where they run past each other and one of them drops, or someone actually retreating.
G: Got it. Lowercase, no U, and no invented variants. I’ll use renkets (singular) / renketses only if grammatically necessary, otherwise just renkets as a mass noun. No caps.
You’re also right about the internal verb / motion vocabulary: it has to be actor-agnostic, intent-free, and purely geometric/compositional. Anything that implies motive (“retreat,” “pursue,” “attack”) is already too interpretive.
What you’re actually describing is a motion primitive layer—language that describes how spatial relationships change, not why.
These are the kinds of terms that survive across:
Your duel example fits cleanly here:
These describe relative placement without implying agency:
These describe what changes, not who causes it.
Example (no hierarchy implied):
Search-time interpretation decides whether “separating” + “Ken” + “enemy” means retreat, duel aftermath, breakup, or slapstick.
This keeps the database “dumb” in exactly the way you want.
日本語(にほんご):
You don’t need to use these, but they line up with the geometry-first framing you’re after.
This framing is consistent, minimal, and won’t collapse when you come back to it a year later.
M: You're very good at almost getting things right in a way that requires that I type instead of speak. Renket singular, renkets plural.
G: Understood and locked in.
Lowercase, no variants, no substitutions.
I’ll treat renkets strictly as neutral connection primitives, and motion primitives as geometric/state-change descriptors only—no agency, no intent, no subject weighting. I won’t drift back into subjective verbs or actor-centric language.
Nothing else to add here.