nx_conflict.nx
buildroot/runtime/nx_conflict.nx
about
nx_conflict.nx -- WRITING arc, rung W-ING-5: CONTRADICTION / CONTINUITY conflict
detection within a scene. Model: mutually-exclusive AXES. Terms that share an
axis id are mutually exclusive values of one attribute (facing: forward/backward/
left/right ; dress-color: red/blue ; posture: standing/sitting ; time: day/night).
If two DIFFERENT terms of the SAME axis both appear in a scene, that is a
conflict -- the case the operator named: "facing forward" + "facing backward".
Same term repeated is NOT a conflict (consistent). Different axes both present
is NOT a conflict (orthogonal). Per-scene by design: a character turning around
BETWEEN scenes is legitimate movement, not a contradiction.
cf_detect(t, a, b, terms, axes, nterms, naxes, out) -> nconflicts
out[c*3+0]=axis id, out[c*3+1]=first term index, out[c*3+2]=second term index
(first conflicting pair per axis; caller allocates out >= naxes*3 i64)
Pure integer, NO syscalls. Reuses nx_ingest whole-word counter (DRY) so
"forwards" never matches "forward".
license_tier: ORIGINAL
module: nishi-core.write.conflict
depends: nishi-core.write.ingest
capability: WRITE_CONFLICT_DETECT
dependencies 2 imports · 4 importers
imports: nx_ingest.nxnx_ingest_scene.nx
imported by: nx_conflict_gate.nxnx_conflict_owned_gate.nxnx_continuity_gate.nxnx_write_run.nx
structs
| none |
consts
| none |
functions
| 26 | func cf_detect(t: *u8, a: i64, b: i64, terms: *u8, axes: *i64, nterms: i64, naxes: i64, out: *i64) -> i64 |
| 61 | func cf_owner_at(t: *u8, a: i64, p: i64, roster: *u8, nnames: i64) -> i64 |
| 80 | func cf_term_owned(t: *u8, a: i64, b: i64, terms: *u8, off: i64, roster: *u8, nnames: i64, c: i64) -> i64 |
| 97 | func cf_detect_owned(t: *u8, a: i64, b: i64, roster: *u8, nnames: i64, terms: *u8, axes: *i64, nterms: i64, naxes: i64, out: *i64) -> i64 |