Wysiwyg text editors: Pressing “Del” next to an empty bullet point removes said bullet point?

Each WYSIWYG text editor I can recall ever using (MS Word, Pages, Notes on Mac & iOS, web pages, etc.) exhibit the following behaviour. Suppose I’m editing the following text:

• Item one
• Item two
• |
Item three

Where | represents the current position of my caret.

If I press “Del” at this point, the following happens:

• Item one
• Item two
Item three

Isn’t the above completely counter to what one would intuitively expect to happen?

(So, what I would always do instead is the following: type a, press Del, press Backspace, which is really annoying).

Why, oh why does this action remove the bullet point in each and every text editor I have ever used?! This has infuriated me for literally decades of my life, and still does 😭!

java – LIBGDX: Shoot a bullet using mouse position

I want to shoot a bullet towards my mouse position but I think that my math is probably wrong since the position the bullets travel to isn’t the right one.
Here’s my code

Vector2 bulletDirection = new Vector2(screenX - player.getX(), Gdx.graphics.getHeight() - (player.getY() - screenY)).nor();
bullet.setPosiion(player.getX(), player.getY());
bullet.translate(bulletDirection.x * flightSpeed, bulletDirection.y * flightSpeed);

Can you tell me what I’m doing wrong? The “bullet” object is my current bullet sprite

bullet physics – How to move a player on a sphere surface using Ammo.js and Three,js

I am moving a rigidbody (the character) on the surface of a sphere, like what is described here.

I am facing the following issue that I am having hard time to solve:
After moving the character, it starts spinning really slightly around it’s Y axis.

As a side note, I am using Ammo.js which is a javascript/webassembly port of Bullet 2.82, but this has no impact on the problem.

To “stick” the player (a dynamic rigidbody with a cylinder shape) to the sphere (a static rigid body with a sphere shape), here is the code, called on each game loop iteration:

function applyAttraction() {
    let sphereOrigin = this.body.getWorldTransform().getOrigin();
    let characterOrigin = this._characterEntity.body.getWorldTransform().getOrigin();

    // compute and apply sphere gravity to character body
    let sphereAttractionForce = new ammo.btVector3(
      characterOrigin.x() - sphereOrigin.x(),
      characterOrigin.y() - sphereOrigin.y(),
      characterOrigin.z() - sphereOrigin.z()
    );
    sphereAttractionForce.normalize();
    sphereAttractionForce.op_mul(gravity);
    this._characterEntity.body.applyForce(sphereAttractionForce, ammo.btVector3(0, 0, 0));

    // align character up with sphere origin
    const gravityDirection = bt2ThreeVec3(sphereAttractionForce).normalize().multiplyScalar(-1);

    // extract up axis of character transform basis
    let characterUp = new THREE.Vector3();
    this._characterEntity.graphic.matrixWorld.extractBasis(
      new THREE.Vector3(),
      characterUp,
      new THREE.Vector3()
    );

    // apply rotation to align up with gravity vector
    let verticalAlignmentRotation = new Quaternion()
      .setFromUnitVectors(characterUp, gravityDirection)
      .multiply(bt2ThreeQuat(this._characterEntity.body.getWorldTransform().getRotation()));

    this._characterEntity.body.getWorldTransform().setRotation(three2BtQuat(verticalAlignmentRotation));
  }

And to move the character on the sphere (I removed the code dealing with the mouse controlled orientation since it is irrelevant to track down the problem). This code is also called on every game loop iteration:

let scalingFactor = 0.02;
    let moveX = inputController.getMoveX();
    let moveZ = inputController.getMoveZ();

    if (moveX === 0 && moveZ === 0) return;

    let movement = new THREE.Vector3(moveX, 0, moveZ).normalize();
    movement.multiplyScalar(scalingFactor);
    let wantedWorldPos = this.graphic.localToWorld(movement);
    this.body
      .getWorldTransform()
      .setOrigin(new ammo.btVector3(wantedWorldPos.x, wantedWorldPos.y, wantedWorldPos.z));

In plain (approximative) English, what I am doing:

  1. Get the direction from the player position to the center of the sphere
  2. Apply a force using that vector: this._characterEntity.body.applyForce(sphereAttractionForce, ammo.btVector3(0, 0, 0));
  3. Align the player Up with the gravity direction, to do so I:
    1. normalize and “flip” gravity vector direction
    2. extract character up vector and compute the quaternion which give the rotation to align this up vector with the gravity vector
    3. compute the new player orientation by applying quaternion from 3.2 to it’s current orientation
  4. Apply movement (from keyboard inputs), in details:
    1. get a vector resulting from the requested movement alongside x and z axis
    2. convert this vector from player local basis to world basis: this.graphic.localToWorld(movement);
    3. set the new transform origin with this new vector

The project may be seen here (with the spinning issue I am describing). You may need to move a bit on the sphere (with WASD keys).

china – What is the closest city I can go from a bullet train departing from Beijing?

The trains you want are either “G trains” or “C trains”.
They are both rated at up to 350 kph but G designations are for longer distances and C for shorter routes.
Some information on types and speeds here

“Shorter” is relative. You can get 2 hours G train journeys.
The above page notes

  • G – High-Speed Electric Multiple Units (EMU) Train
    This is the fastest running for long distance in China, the top speed of which could reach 350km/h. Currently, the G-train could finish the 1,068-kilometers Wuhan-Guangzhou High-Speed Railway in 3 hours, the 301-kilometers Shanghai-Nanjing High-Speed Railway in 73 minutes and the 458-kilometers Zhengzhou-Xian High-Speed Railway in 2 hours.

BUT – the definitive guide to how to travel to anywhere from anywhere by train is “The man in seat 61” – be sure to find out where the name comes from :-).

This Seat-61 page tells you just about all there is to know about Chinese train travel.

For a short (75 miles) sharp (30 minutes!) trip (150 mph average) look about half way down that long page for Beijing – Tianjin by train where it says:

  • High-speed 350 km/h C-category trains (sometimes known as Hexie trains) link Beijing South Station & Tianjin every 10-20 minutes, taking just 30 minutes for the 120 km (75 miles) journey. Simply use www.chinahighlights.com/china-trains to find specific train times. The fare is around RMB 58 (£6 or $9) for a 2nd class seat, RMB 69 (£7 or $10) in a first class seat. It’s easy enough to buy tickets at the station on the day of travel.

There will be other routes, but that seems to suit your requirement well.


MAGLEV!!!

For the fastest of all journeys you could take a G train to Shanghai and THEN take the “Maglev” train to the Pudong International airport. Under a 15 minute journey as I recall but daytime speeds of up to 430 kph (they say). The onboard speed gauge and actual train speed seem to not always quite match so actual speed may vary but you will find it very very very fast and noticeably faster than anything else. Cars on the adjacent motorway crawl along at 100 kph as you leap upon them from behind (figuratively anyway) and hurtle past in seconds. Marvellous !
I once got to travel the route 3 times in one day due to travel circumstances. Yee ha :-).

Strangely, Seat-61 seems to not mention the Maglev – maybe it’s not considered a train if it floats in the air with no wheels :-).

Maglev journey video here – looks so smooth it’s almost boring. Great fun in practice. Wikipedia page

Note that maximum speeds vary with time of day due to noise considerations.
According to the Wikipedia page, full speed runs are only from 9-10:45 am and 3-3:45 pm.
Check current arrangements when travelling.


Maglev speed estimation:

I tried using photos and vehicles on a motorway to estimate speed.
If you estimate vehicles as travelling at maximum speed limit you can note the distances they travel per frame and/or per time and compare this to how long the train takes to cover the same distance. There is a significant amount of uncertainty due to parallax errors, different positions of view and deciding where the train is relative to the roadway in any given photo. It gave me results of “about 4 x car speed” which should be ‘about correct’. My DSLR camera will take 12 frames per second when desired, which helps maximise material to take comparison photos from.

I have used this method with reasonable (apparent) success in the past to estimate vehicle speeds on motorways either overtaking us at at high speed or approaching.
For overtakers you simply estimate the time taken for you and them to reach a then distant point starting from the moment they pass you. For oncoming traffic similar but rearranged. Works to within error of estimation of distant location, timing and your mean speed.

Is the boarding process/time the same for any train in China, or does the bullet train have its special boarding process?

As far as steps 5, 6, 7 are described in the graphic, yes, it is the same for all trains.

Identity Check

Since 2012, all passenger trains in China have adopted the “real-name system” where all tickets must be purchased with an associated name (and ID number) and can only be used for the named passenger.

Initially this is was only checked at boarding but to reduce heavy traffic inside the train station, as well as for security measures, nowadays most stations can only be accessed with a ticket and the ID associated to it.

This is strictly enforced almost everywhere (as it also involves the commercial interests of the railway company).

What may be different for HSR (and certain other routes): Many larger stations for more popular routes allow the use of Chinese machine-readable IDs without physical ticket (much like e-Ticket for flights); automated screening (via facial recognition) may be available. But this is not universal for all HSRs at the moment.

There are also stations with dedicated area for HSRs with dedicated lanes that allow faster boarding, which can also be a pain if you are unfamiliar and you may need to exit and enter through another side of the building to transfer trains for example.

Luggage Check & Security Check

This is standard as part of entry process to the station building. I couldn’t remember when it started, but it was a thing since 2008 at latest.

After the terrorist attacks at Kunming and Ürümqi train stations in 2014, the security at stations becomes remarkably stricter and many stations underwent renovations to seal off the station building as a “sterile” area. Additionally, the pat-down/metal detector checks are introduced generally. This is also when much more oppressive policies were introduced in Xinjiang.

But this check can still be quite lax at many stations, as long as you don’t have obviously banned items (e.g. knives). But it does increase the wait queue at peak times, during which many people are just waved through at some stations.

During sensitive periods (e.g. Congress/CPPCC sessions, Olympics), certain trains, HSR or otherwise, will also be subject depending on the destination (e.g. Beijing, Xinjiang).

What may be different for HSR (and certain other routes): Train stations serving HSRs may have more stringent security practices, even though the safety rules are technically the same. But HSR-serving stations are usually large and considered an important location, and sometimes are inspected by higher up officials, so there is a greater desire to at least appear more secure.

Does it take one hour to board a bullet train in China, and if so, why?

There is an airport-style luggage, security, and ID check. Boarding itself doesn’t exactly take one hour, just as boarding an airplane doesn’t really require being there 2 hours in advance, but you need to plan for potential waiting queues, finding your way and walking to the platform, hence the advice to go there early.

air travel – Is the bullet train in China typically cheaper than taking a domestic flight?

Is the bullet train in China typically cheaper than taking a domestic flight? (assume the passenger is flying economy)

I read some conflicting reports, e.g. https://www.tripadvisor.com/ShowTopic-g294211-i642-k8194341-Train_vs_flying_in_china-China.html:

High-speed train tickets are often more expensive than flying. For all longer routes, I flew, save time and money. I found flyIng in China to be on time and efficient, prices are very cheap, US$60-$120 one way on most routes, bottom line, flying is cheaper and faster.

vs. https://www.thechinaguide.com/blog/traveling-by-train-in-china:

China’s high-speed trains are super fast and comfortable, making them a good alternative to flying when traveling in China, especially as domestic flights are often more expensive and subject to delays.

dnd 5e – Is an arrow (bolt, bullet) considered a ‘weapon’ or ‘ammunition’ if shot/fired as intended?

As stated in the title: is an arrow, bolt, or other object that is generally used as ammunition, count as a weapon when determining bonus effects from other feats/abilities? For example:

Dreadful Strikes – 1d4 psychic damage – TCoE, pg. 58

When you hit a creature with a weapon, you can deal an extra 1d4 psychic damage to the target, which can take this extra damage only once per turn.

It seems clear that hitting a creature with a sword via melee, or even a thrown weapon, like a dart or dagger, would benefit from this feature. But since Arrows and Bolts are “considered” ammunition, they would not (unless used in some other improvised way).

opengl – Problem with bullet movement

I trying to draw “bullets” in my game. But I think something wrong with velocity computation. Sometimes “bullets” going in the right way but sometimes not. CameraFront constructed with euler angles. Can you help? Thanks in advance

So it is how I create bullets ->

Bullet_tracer makeBulletTracer(v3 cameraFront,v3 startP, v3 endP)
{

Bullet_tracer result = {};

//assert((gTracersCount + 1) <= MAX_BULLET_TRACERS);

mat4 model = indentity();
model = scale(model, v3(.5f,.5f,1.5f));
v3 up = v3(0.0f,1.0f,0.0f);
v3 right = normalize(cross(cameraFront,up));
mat4 M = rows3x3(right,up,cameraFront);
model = model * M;
model = translate(model, startP + v3(0.0f,3.0f,0.0f));
result.model = model;
result.velocity = cameraFront;
gTracersCount++;
return result;

}

its how I draw them

for(u32 tracerIndex = 0; tracerIndex < gTracersCount; tracerIndex++)
{
    Bullet_tracer *tracer = gameState->tracers + tracerIndex;
    
    v3 p = getTranslationPart(tracer->model);
     v3 offset = (p + tracer->velocity) * input->dtForFrame * 0.01f;
    tracer->model = translate(tracer->model, offset);
    
    passUniformMatrix(opengl.shaderProgram,tracer->model,false,"model");
    glDrawArrays(GL_TRIANGLES, 0, 36);
}

microsoft word 2016 – First character of a bullet list automatically aligned at right with no option to change it

I’ve been working 100 hours and more in the same text document. Suddenly, today, I tried to copy-paste a block of text from the web into a bullet list and realized there was a problem I never saw before on Word 2016. Now, the problem is in my whole document and I cannot do any type of list.

enter image description here

In the two screenshots that follow below, I enabled the option “Show All (CTRL+*)” to see what was the problem more precisely. When I hover my mouse on the arrow, there is no information label and no way to remove it.

enter image description here

enter image description here

Is this a bug? Is there a way to remove this option? Or to modify directly the settings about how bullet lists are made and interact in this particular text file?